Advertisement
fox1759

createaccount.php

Mar 31st, 2015
364
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 28.50 KB | None | 0 0
  1. <?php
  2.  
  3. $location = array(
  4.     'GER' =>'Europe',
  5. //  'USA' =>'North America'
  6. );
  7. $default = 'all';
  8.  
  9. $worlds = array();
  10. $worlds[0] = array('GER', $config['server']['worldType']);
  11. /*
  12. $worlds[1] = array('GER', 'optional');
  13. $worlds[2] = array('GER', 'hardcore');
  14. $worlds[3] = array('USA', 'open');
  15. $worlds[4] = array('USA', 'optional');
  16. $worlds[5] = array('USA', 'hardcore');
  17. */
  18. $town = array(
  19.     1 => array(
  20.         "name" => "Venore",
  21.         "x" => 32957,
  22.         "y" => 32076,
  23.         "z" => 7
  24.     ),
  25.     2 => array(
  26.         "name" => "Thais",
  27.         "x" => 32369,
  28.         "y" => 32241,
  29.         "z" => 7
  30.     ),
  31.     4 => array(
  32.         "name" => "Carlin",
  33.         "x" => 32360,
  34.         "y" => 31782,
  35.         "z" => 7
  36.     )
  37. );
  38.  
  39. $voc = array(); // if empty, Rook Sample will be used
  40. $voc[1] = 'Sorcerer';
  41. $voc[2] = 'Druid';
  42. $voc[3] = 'Paladin';
  43. $voc[4] = 'Knight';
  44.  
  45. $suggestname = NULL; // not available
  46. $version = '860'; // for download link
  47.  
  48. foreach($worlds as $k =>$v) // remove invalid worlds
  49.     if(!isset($location[$v[0]]) || !isset($config['site']['worlds'][$k]))
  50.         unset($worlds[$k]);
  51.  
  52. $tmp = array();
  53. foreach($location as $k =>$v) // remove invalid/unused locations
  54.     foreach($worlds as $i =>$j)
  55.         if($j[0] == $k) {
  56.             $tmp[$k] = $v;
  57.             break;
  58.         }
  59. $location = $tmp; unset($tmp);
  60.  
  61. if(isset($_POST['step']) && $_POST['step'] == 'docreate') {
  62.     $e = array();
  63.  
  64.     if(isset($_POST['captcha'])){
  65.         if($_POST['captcha'] <> $_SESSION['security_code']){
  66.             $e['captcha'] = 'Wrong captcha code!';
  67.         }
  68.     }
  69.  
  70.     $s = isset($_POST['accountname']) ? $_POST['accountname'] : '';
  71.     if($s == '')
  72.         $e['acc'] = 'Please enter an account name!';
  73.     elseif(strlen($s) < 6)
  74.         $e['acc'] = 'This account name is too short!';
  75.     elseif(strlen($s) > 10)
  76.         $e['acc'] = 'This account name is too long!';
  77.     else {
  78.         $s = strtoupper($s);
  79.  
  80.         if(!ctype_alnum($s))
  81.             $e['acc'] = 'This account name has an invalid format. Your account name may only consist of numbers 0-9 and letters A-Z!';
  82.         elseif(!preg_match('/[A-Z0-9]/', $s))
  83.             $e['acc'] = 'Your account name must include at least one letter A-Z!';
  84.         else {
  85.             $con = mysql_pconnect($config['server']['sqlHost'], $config['server']['sqlUser'], $config['server']['sqlPass']) or die('MySQL connection error.');
  86.             mysql_select_db($config['server']['sqlDatabase']);
  87.  
  88.             if(mysql_num_rows(mysql_query('SELECT id FROM accounts WHERE name=\''.mysql_escape_string($s).'\' LIMIT 1')) != 0)
  89.                 $e['acc'] = 'This account name is already used. Please select another one!';
  90.         }
  91.     }
  92.    
  93.     $s = isset($_POST['name']) ? trim($_POST['name']) : '';
  94.  
  95.    
  96.     if(!isset($_POST['world']) || empty($_POST['world']))
  97.         $e['world'] = 'Please select a game world for your character!';
  98.  
  99.     $s = isset($_POST['email']) ? $_POST['email'] : '';
  100.  
  101.     if($s == '')
  102.         $e['email'] = 'Please enter your email address!';
  103.     elseif(strlen($s) > 49)
  104.         $e['email'] = 'Your email address is too long!';
  105.     elseif(!filter_var($s, FILTER_VALIDATE_EMAIL))
  106.         $e['email'] = 'This email address has an invalid format. Please enter a correct email address!';
  107.     else {
  108.         if(!isset($con)) {
  109.             $con = mysql_pconnect($config['server']['sqlHost'], $config['server']['sqlUser'], $config['server']['sqlPass']) or die('MySQL connection error.');
  110.             mysql_select_db($config['server']['sqlDatabase']);
  111.         }
  112.         if(mysql_num_rows(mysql_query('SELECT id FROM accounts WHERE email=\''.mysql_escape_string($s).'\' LIMIT 1')) != 0)
  113.             $e['email'] = 'This email address is already used. Please enter another email address!';
  114.     }
  115.  
  116.     $s1 = isset($_POST['password1']) ? $_POST['password1'] : '';
  117.     $s2 = isset($_POST['password2']) ? $_POST['password2'] : '';
  118.  
  119.     if(empty($s2))
  120.         $e['pass'] = 'Please enter the password again!';
  121.     elseif($s1 != $s2)
  122.         $e['pass'] = 'The two passwords do not match!';
  123.     else {
  124.         $err = array();
  125.         if(strlen($s1) < 6 || strlen($s1) > 29)
  126.             $err[] = 'The password must have at least 8 and less than 30 letters!';
  127.         if(!ctype_alnum($s1))
  128.             $err[] = 'The password contains invalid letters!';
  129.  
  130.         if(count($err) != 0) {
  131.             $e['pass'] = '';
  132.             for($i=0; $i < count($err); $i++)
  133.                 $e['pass'] .= ($i == 0 ? '' : '<br/>').$err[$i];
  134.         }
  135.     }
  136.  
  137.     if(!isset($_POST['agreerules']) || empty($_POST['agreerules']))
  138.         $e['rules'] = 'You have to agree to the Tibia Rules in order to create an account!';
  139.  
  140.     if(count($e) == 0) {
  141.         $worldid = NULL;
  142.         foreach($config['site']['worlds'] as $id =>$name)
  143.             if($worlds[$id] && $name == $_POST['world']) {
  144.                 $worldid = $id;
  145.                 break;
  146.             }
  147.         if($worldid === FALSE)
  148.             $e['world'] = 'Please select a valid game world.';
  149.     }
  150.  
  151.     if(count($e) != 0) {
  152.         $main_content = '<div class="SmallBox"><div class="MessageContainer"><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"/></div><div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="ErrorMessage"><div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></div><div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></div><div class="AttentionSign" style="background-image:url('.$layout_name.'/images/content/attentionsign.gif)"/></div><b>The Following Errors Have Occurred:</b><br/>';
  153.         foreach($e as $error) $main_content .= $error.'<br/>';
  154.         $main_content .= '</div><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"/></div><div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div></div></div><br/>';
  155.     }
  156.     else {
  157.         $random = rand(1, 9999999);
  158.         $n = $random;
  159.         $cur = array();
  160.  
  161.         $q = mysql_query('SELECT id FROM accounts');
  162.         while ($r = mysql_fetch_array($q, MYSQL_NUM))
  163.             $cur[] = $r[0];
  164.  
  165.         while(true)
  166.         {
  167.             if(!in_array($n, $cur))
  168.                 break;
  169.  
  170.             $n++;
  171.  
  172.             if($n > 9999999)
  173.                 $n = 1;
  174.  
  175.             if($n == $random)
  176.                 die('Failed to create account.');
  177.         }
  178.  
  179.         if(mysql_query("INSERT INTO accounts (id,name,password,email,created,premdays) VALUES($n,'".$_POST['accountname']."','".($config['server']['encryptionType'] == 'plain' ? $_POST['password1'] : hash($config['server']['encryptionType'], $_POST['password1']))."','".$_POST['email']."',".time().", '".$config['site']['newaccount_premdays']."')") === true) {
  180.        
  181.         }
  182.         else die('Failed to create account.');
  183.         $main_content = '<div class="SmallBox"><div class="MessageContainer"><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"/></div><div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="Message"><div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></div><div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></div><table><tr><td class="LabelV">Note:</td><td style="width:100%"><p>Your account and character have been created successfully.</p></td></tr></table></div><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"/></div><div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div></div></div><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"></div><div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></div><div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></div><br/><div class="TableContainer"><table class="Table4" cellpadding="0" cellspacing="0"><div class="CaptionContainer"><div class="CaptionInnerContainer"><span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></span><span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></span><span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span><span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></span><div class="Text">Download Client</div><span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></span><span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span><span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></span><span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></span></div></div><tr><td><div class="InnerTableContainer"><table style="width:100%"><tr><td><table width="100%" cellpadding=0 cellspacing=0><tr><td style="vertical-align:top"><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td><table style="width:100%;text-align:center"><tr><td><a href="http://clients.tibiaking.com/client/windows/'.$version.'" type="application/octet-stream" target="_top"><img style="width:180px;height:180px;border:0px" src="account/download_windows.png"/></a></td><td><a href="http://clients.tibiaking.com/client/linux/'.$version.'" type="application/octet-stream" target="_top"><img style="width:180px;height:180px;border:0px" src="account/download_linux.png"/><br/></a></td></tr><tr><td valign="top"><a href="http://clients.tibiaking.com/client/windows/'.$version.'" type="application/octet-stream" target="_top">Windows Tibia Client '.(sprintf('%01.2f', $version / 100)).'</a></td><td valign="top"><a href="http://clients.tibiaking.com/client/linux/'.$version.'" type="application/octet-stream" target="_top">Linux Tibia Client '.(sprintf('%01.2f', $version / 100)).'</a></td></tr><tr><td colspan="2">[<span class="HelpLink" onClick="window.open(\'http://www.tibia.com/support/content/help.php?subtopic=requirementes\', \'Help\', \'width=380px, height=310px, scrollbars=yes\')"><a>system requirements</a></span>]</td></tr></table></td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td><td style="vertical-align:top"><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td style="text-align:center"><img style="width:254px;height:218px;margin:7px" src="account/successful_download.jpg"/></td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr></table><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td class="LabelV">Disclaimer</td></tr><tr><td>The software and any related documentation is provided "as is" without warranty of any kind. The entire risk arising out of use of the software remains with you. In no event shall CipSoft GmbH be liable for any damages to your computer or loss of data.</td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr></table></div></table></div></td></tr>';
  184.         return;
  185.     }
  186. } else $_POST['step'] = '';
  187.  
  188. $main_content .= '<script type="text/javascript" src="account/jquery.js"></script>
  189. <script type="text/javascript" src="account/create_character.js"></script>
  190. <script type="text/javascript">var PreselectServerLocation="'.$default.'";var g_FormName="CreateAccountAndCharacter";var g_FieldName="accountname";document.getElementById("ActiveSubmenuItemIcon_createaccount").style.visibility = "visible";';
  191. foreach($worlds as $k =>$v) // create dynamic server list
  192.     $main_content .= 'ServerList.push(new Array(\''.$config['site']['worlds'][$k].'\', \''.$v[0].'\', \''.$v[1].'\'));';
  193. $main_content .= '</script><div style="position:relative;top:0px;left:0px"><form action="?subtopic=createaccount" method=post name="CreateAccountAndCharacter"><div class="TableContainer"><table class="Table5" cellpadding="0" cellspacing="0"><div class="CaptionContainer"><div class="CaptionInnerContainer"><span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span><span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span><span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span><span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span><div class="Text">Create New Account</div><span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span><span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span><span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span><span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span></div></div><tr><td><div class="InnerTableContainer"><table style="width:100%"><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td class="LabelV150" width="20%"><span id="accountname_label"'.(isset($e['acc']) ? ' class="red"' : '').'><b>Account Name:</b></span></td><td><input id="accountname" name="accountname" autocomplete="off" class="CipAjaxInput" style="width:206px;float:left" value="'.(isset($_POST['accountname']) ? htmlspecialchars(substr($_POST['accountname'], 0, 30)) : '').'" size="30" maxlength="30" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_accountname.php\',PostData: \'a_AccountName=\'+this.value,Method: \'POST\'})"/><div id="accountname_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step'] != 'docreate' || isset($e['acc']) ? 'n' : '').'ok.gif)"></div></td></tr><tr><td></td><td><span id="accountname_errormessage" class="FormFieldError">'.(isset($e['acc']) ? $e['acc'] : '').'</span></td></tr><tr><td class="LabelV150"><span id="email_label"'.(isset($e['email']) ? ' class="red"' : '').'><b>Email Address:</b></span></td><td><input id="email" name="email" class="CipAjaxInput" style="width:206px;float:left" value="'.(isset($_POST['email']) ? htmlspecialchars(substr($_POST['email'], 0, 50)) : '').'" autocomplete="off" size="30" maxlength="50" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_email.php\',PostData: \'a_EMail=\'+this.value,Method: \'POST\'})"/><div id="email_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step'] != 'docreate' || isset($e['email']) ? 'n' : '').'ok.gif)"></div></td></tr><tr><td></td><td><span id="email_errormessage" class="FormFieldError">'.(isset($e['email']) ? $e['email'] : '').'</span></td></tr><tr><td class="LabelV150"><span id="password1_label"'.(isset($e['pass']) ? ' class="red"' : '').'><b>Password:</b></span></td><td><input id="password1" type="password" autocomplete="off" name="password1" style="width:206px;float:left" value="'.(isset($_POST['password1']) ? htmlspecialchars(substr($_POST['password1'], 0, 30)) : '').'" size="30" maxlength="30" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_password.php\',PostData: \'a_Password1=\'+getElementById(\'password1\').value+\'&a_Password2=\'+getElementById(\'password2\').value,Method: \'POST\'})"/><div id="password1_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step'] != 'docreate' || isset($e['pass']) ? 'n' : '').'ok.gif)"></div></td></tr><tr><td class="LabelV150"><span id="password2_label"'.(isset($e['pass']) ? ' class="red"' : '').'><b>Password Again:</b></span></td><td><input id="password2" type="password" name="password2" style="width:206px;float:left" value="'.(isset($_POST['password2']) ? htmlspecialchars(substr($_POST['password2'], 0, 30)) : '').'" size="30" maxlength="30" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_password.php\',PostData: \'a_Password1=\'+getElementById(\'password1\').value+\'&a_Password2=\'+getElementById(\'password2\').value,Method: \'POST\'})"/><div id="password2_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step'] != 'docreate' || isset($e['pass']) ? 'n' : '').'ok.gif)"></div></td></tr><tr><td></td><td><span id="password_errormessage" class="FormFieldError">'.(isset($e['pass']) ? $e['pass'] : '').'</span></td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td class="LabelV150" width="20%"><span id="charactername_label"'.(isset($e['name']) ? ' class="red"' : '').'><b></div>';
  194. $main_content .= '</table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%">';
  195. if(count($location)>1) { // show server location filter
  196.     $main_content .= '<tr id="filterbox_location"><td class="LabelV150"><span'.(isset($e['world']) ? ' class="red"' : '').'>World Location:</span></td><td><table width="100%"><tr><td width="33%" valign="top"><script>CreateFilterOption(\'server_location\', \'all\', \'all\')</script>&nbsp;&nbsp;</td>';
  197.     $i=0;
  198.     foreach($location as $k =>$v) {
  199.         $i++;
  200.         $main_content .= '<td '.($i == count($location) ? '' : 'width="33%" ').'valign="top"><script>CreateFilterOption(\'server_location\', \''.$k.'\', \''.$v.'\')</script>&nbsp;&nbsp;</td>';
  201.     }
  202.     $main_content .= '</tr></table></td></tr>';
  203. }
  204. $main_content .= '<tr id="filterbox_pvp"><td class="LabelV150"><span'.(isset($e['world']) ? ' class="red"' : '').'><b>World Type:</b></span></td><td><div>';
  205.  
  206. $optional=true; $open=true; $hardcore=true;
  207.  
  208. foreach($worlds as $k =>$v) { // remove selection if there's no valid worlds
  209.     if($optional && $v[1] == 'optional')
  210.         unset($optional);
  211.     elseif($open && $v[1] == 'open')
  212.         unset($open);
  213.     elseif($hardcore && $v[1] == 'hardcore')
  214.         unset($hardcore);
  215.     elseif(!$optional && !$open && !$hardcore)
  216.         break;
  217. }
  218.  
  219. $n = 0;
  220. foreach(array($optional, $open, $hardcore) as $k)
  221.     if(!$k)
  222.         $n++;
  223. $main_content .= '<table width="'.round(33.33 *  $n).'%"><tr>';
  224. if(!$optional)
  225.     $main_content .= '<td width="'.(100 / $n).'%" align="center" valign="top"><b><script>CreateFilterOption(\'server_pvp_type\', \'optional\', \'Optional PvP\')</script></b>&nbsp;&nbsp;Only if both sides agree, characters can be fought<br/><br/></td>';
  226. if(!$open)
  227.     $main_content .= '<td width="'.(100 / $n).'%" align="center" valign="top"><b><script>CreateFilterOption(\'server_pvp_type\', \'open\', \'Open PvP\')</script></b>&nbsp;&nbsp;Killing other characters is possible, but restricted<br/><br/></td>';
  228. if(!$hardcore)
  229.     $main_content .= '<td align="center" valign="top"><b><script>CreateFilterOption(\'server_pvp_type\', \'hardcore\', \'Hardcore PvP\')</script></b>&nbsp;&nbsp;Killing other characters is not restricted at all<br/><br/></td>';
  230.  
  231. $main_content .= '</tr></table></div></td></tr><tr><td class="LabelV150"><span'.(isset($e['world']) ? ' class="red"' : '').'><b>World Name:</b></span></td><td><div id="js_world_box" style="display:none"><table width="100%"><tr id="world_list_tr" style="text-align:left"></tr></table><span onClick="ToggleVisibility(\'js_world_box\', \'suggested_world_box\'); UpdateServerList(); "><small>[<a style="cursor:pointer">suggest game world</a>]</small></span></div><div id="suggested_world_box">Suggested world: <span id="suggested_world_div"></span><br/><span onClick="ToggleVisibility(\'suggested_world_box\', \'js_world_box\'); "><small>[<a style="cursor:pointer">change game world</a></span>]</small></div></td></tr><tr><td><table id="js_world_box" width="100%"><tr id="world_list_tr"></tr></table><table id="plain_world_box" width="100%"><tr><td>';
  232. foreach($worlds as $k =>$v)
  233.     $main_content .= '<input id="server_static_'.$config['site']['worlds'][$k].'" type="radio" name="world" value="'.$config['site']['worlds'][$k].'"'.($config['site']['worlds'][$k] == $_POST['world'] ? ' checked="checked"' : '').'><label for="server_static_'.$config['site']['worlds'][$k].'">'.$config['site']['worlds'][$k].'</label><br/>';
  234. $main_content .= '</td></tr></table></td></tr>'.(isset($e['world']) ? '<tr><td></td><td><span class="FormFieldError">'.$e['world'].'</span></td></tr>' : '').'</table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr>';
  235.  
  236. $main_content .= '<tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td><b>Please fill the captcha:</b></td></tr><tr><td><img src="captcha.php" /></td></tr><tr><td><input type="text" name="captcha" /><span id="captcha_errormessage" class="FormFieldError">'.(isset($e['captcha']) ? $e['captcha'] : '').'</span></td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr>';
  237.  
  238. $main_content .= '<tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td><b>Please select all of the following check boxes:</b></td></tr><tr><td><input type="checkbox" name="agreerules" value="true"  onClick="if(this.checked == true) {  document.getElementById(\'agreerules_errormessage\').innerHTML = \'\';} else {  document.getElementById(\'agreerules_errormessage\').innerHTML = \'You have to agree to the Tibia Rules in order to create an account!\';}"'.($_POST['step'] == 'docreate' && !isset($e['rules']) ? ' checked="checked"' : '').'/>I agree to the <a href="?subtopic=tibiarules" target="_blank">Rules</a>.</td></tr><tr><td><span id="agreeprivacy_errormessage" class="FormFieldError">'.(isset($e['privacy']) ? $e['privacy'] : '').'</span></td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr>';
  239.  
  240. $main_content .= '<script type="text/javascript">PreselectWorld="';
  241. if(isset($_POST['world']) && !empty($_POST['world']))
  242.     foreach($config['site']['worlds'] as $id =>$name)
  243.         if($worlds[$id] && $name == $_POST['world']) {
  244.             $main_content .= $name;
  245.             break;
  246.         }
  247. $main_content .= '";InitializeCharacterCreator(PreselectServerLocation, \''.(!$optional ? 'optional' : (!$open ? 'open' : 'hardcore')).'\')</script></table></div></table></div></td></tr></div><center><table border="0" cellspacing="0" cellpadding="0"><tr><td style="border:0px"><input type="hidden" name=step value=docreate><input type="hidden" name=noframe value=""><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)"><div onMouseOver="MouseOverBigButton(this)" onMouseOut="MouseOutBigButton(this)"><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif)"></div><input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif"></div></div></td><tr></form></table></center><script type="text/javascript" language="javascript">document.forms[\'CreateAccountAndCharacter\'].elements[\'accountname\'].focus();</script><script type="text/javascript" src="account/generic.js"></script><script type="text/javascript" src="account/ajaxcip.js"></script>';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement