private function loadOptionsGoldenArcher()
 {
     if ($_GET['action'] == "check") {
         try {
             if ($this->checkOnlineAccount($_SESSION['LOGIN']) == 1) {
                 throw new Exception(LDPU_YOU_MUST_BE_OFFLINE, 1);
             }
             if (empty($_GET['serial']) == true) {
                 throw new Exception(LDPU_GOLDEN_ARCHER_FILL_SERIAL, 1);
             }
             $this->serial = $_GET['serial'];
             $this->serial = str_replace("-", "", $this->serial);
             if (strlen($this->serial) != 12) {
                 throw new Exception(LDPU_GOLDEN_ARCHER_INVALID_SERIAL, 1);
             }
             $this->serial = array(substr($this->serial, 0, 4), substr($this->serial, 4, 4), substr($this->serial, 8, 4));
             $itemSerial = $this->query("SELECT [id],[username],[status],[itemCategorie],[itemIndex],[itemLevel],[itemOption],[itemSkill],[itemLuck],[excellent1],[excellent2],[excellent3],[excellent4],[excellent5],[excellent6],[ancient],[refine],[harmonyType],[harmonyLevel],[socketOp1],[socketOp2],[socketOp3],[socketOp4],[socketOp5] FROM [dbo].[webGoldenArcher] WHERE [pserial1] = '" . $this->serial[0] . "' AND [pserial2] = '" . $this->serial[1] . "' AND [pserial3] = '" . $this->serial[2] . "'");
             if (mssql_num_rows($itemSerial) == 0) {
                 throw new Exception(LDPU_GOLDEN_ARCHER_INVALID_SERIAL, 1);
             }
             $itemSerial = mssql_fetch_object($itemSerial);
             if ($itemSerial->username != $_SESSION['LOGIN']) {
                 throw new Exception(LDPU_GOLDEN_ARCHER_SERIAL_NOT_BELONG, 1);
             }
             if ($itemSerial->status == 1) {
                 throw new Exception(LDPU_GOLDEN_ARCHER_SERIAL_IS_ACTIVE, 1);
             }
             require_once "ldItemClass/ldItemDatabase.class.php";
             require_once "ldItemClass/ldItemMake.class.php";
             require_once "ldItemClass/ldItemParse.class.php";
             require_once "ldItemClass/ldVault.class.php";
             // Gerar / Carregar banco de dados
             ldItemDatabase::setDatabases("modules/", "item.txt", "classes/ldItemClass/data/item.serialize.txt");
             if (ldItemDatabase::checkDatabaseExists() == false) {
                 ldItemDatabase::createDatabase();
             }
             if (ldItemDatabase::checkDatabaseExists() == false) {
                 exit(LDPU_VIRTUAL_VAULT_CANT_LOAD_DB);
             }
             if (isset(ldItemDatabase::$dbItem[$itemSerial->itemCategorie][$itemSerial->itemIndex]) == false) {
                 throw new Exception(LDPU_GOLDEN_ARCHER_ITEM_NOT_EXISTS, 1);
             }
             $dbVersion = $this->query("SELECT [DbVersion] FROM [" . DATABASE_CHARACTERS . "].[dbo].[warehouse] WHERE [AccountId] = '" . $_SESSION['LOGIN'] . "'");
             if (mssql_num_rows($dbVersion) == 0) {
                 throw new Exception(LDPU_GOLDEN_ARCHER_ACCOUNT_NOT_VAULT, 1);
             }
             $dbVersion = mssql_fetch_object($dbVersion)->DbVersion;
             $HexItem = NULL;
             $optionsItem = array("Level" => $itemSerial->itemLevel, "Option" => $itemSerial->itemOption, "Skill" => $itemSerial->itemSkill, "Luck" => $itemSerial->itemLuck, "Serial" => true, "Excellent" => array($itemSerial->excellent1, $itemSerial->excellent2, $itemSerial->excellent3, $itemSerial->excellent4, $itemSerial->excellent5, $itemSerial->excellent6), "Ancient" => $itemSerial->ancient, "Refine" => $itemSerial->refine, "HarmonyType" => $itemSerial->harmonyType, "HarmonyLevel" => $itemSerial->harmonyLevel, "SocketOption" => array($itemSerial->socketOp1, $itemSerial->socketOp2, $itemSerial->socketOp3, $itemSerial->socketOp4, $itemSerial->socketOp5));
             if (ldItemMake::makeHexItem($HexItem, $itemSerial->itemIndex, $itemSerial->itemCategorie, $dbVersion, $optionsItem) == true) {
                 $ldVault = new ldVault($_SESSION['LOGIN'], $dbVersion);
                 $ldVault->getVault();
                 $ldVault->cutCode();
                 $ldVault->structureVault();
                 ldItemParse::parseHexItem($HexItem, $dbVersion);
                 $slot = $ldVault->searchSlotsInVault(ldItemParse::$dumpTemp['Item']['X'], ldItemParse::$dumpTemp['Item']['Y']);
                 if ($slot != -1) {
                     $ldVault->insertItemInSlot($HexItem, $slot);
                 } else {
                     throw new Exception(LDPU_GOLDEN_ARCHER_VAULT_NOT_SPACE, 1);
                 }
                 $ldVault->structureVault();
                 $ldVault->writeVault(true);
                 unset($ldVault);
             } else {
                 throw new Exception(LDPU_GOLDEN_ARCHER_ERROR_MAKE_ITEM, 1);
             }
             unset($HexItem);
             $updateStatus = $this->query("UPDATE [dbo].[webGoldenArcher] SET [status] = 1 WHERE [id] = '" . $itemSerial->id . "'");
             throw new Exception(ldItemDatabase::$dbItem[$itemSerial->itemCategorie][$itemSerial->itemIndex]["Name"], 0);
         } catch (Exception $e) {
             switch ($e->getCode()) {
                 case 1:
                     echo "<p class=\"white\">" . $e->getMessage() . "</p>";
                     break;
                 case 0:
                     echo "<p class=\"yellow\">" . LDPU_GOLDEN_ARCHER_REGISTER_SUCCESS . "</p><p class=\"yellow\">" . LDPU_GOLDEN_ARCHER_ITEM_RECEIVER . ": " . $e->getMessage() . "</p>";
                     break;
             }
         }
         exit;
     }
 }
 private function registerNow()
 {
     global $REGISTER_SETTINGS, $TABLES_CONFIGS, $PANELUSER_MODULE, $Config_SMTP;
     $login = $_POST['login'];
     $senha = $_POST['senha'];
     $resenha = $_POST['resenha'];
     $email = $_POST['email'];
     $reemail = $_POST['reemail'];
     $nome = $_POST['nome'];
     $telefone = $_POST['telefone'];
     $sexo = $_POST['sexo'];
     $nascimento_dia = $_POST['nascimento_dia'];
     $nascimento_mes = $_POST['nascimento_mes'];
     $nascimento_ano = $_POST['nascimento_ano'];
     $pergunta = $_POST['pergunta'];
     $resposta = $_POST['resposta'];
     $codigo = $_POST['codigo'];
     if (empty($login) || empty($senha) || empty($resenha) || empty($email) || empty($reemail) || empty($nome) || empty($telefone) || empty($sexo) || empty($nascimento_dia) || empty($nascimento_mes) || empty($nascimento_ano) || empty($pergunta) || empty($resposta)) {
         $errorTmp .= REGISTER_EMPTY_INPUTS . "<br />";
     }
     if ($codigo != $_SESSION["SecurityCode"]) {
         $error_tmp .= REGISTER_INCORRECT_SECURITY_CODE . "<br />";
     }
     if (eregi("[^a-zA-Z0-9_!=?&-]", $login) == true) {
         $error_tmp .= REGISTER_DO_NOT_USE_SYMBOLS_LOGIN . "<br />";
     }
     if (strlen($login) > 10) {
         $error_tmp .= REGISTER_LOGIN_INVALID_SIZE . "<br />";
     }
     if ($REGISTER_SETTINGS['USERNAME']['FORCELOWER'] == true) {
         $login = strtolower($login);
     }
     if (eregi("[^a-zA-Z0-9_!=?&-]", $senha) == true) {
         $error_tmp .= REGISTER_DO_NOT_USE_SYMBOLS_PASSWORD . "<br />";
     }
     if (eregi("[^a-zA-Z0-9_!=?&-]", $resenha) == true) {
         $error_tmp .= REGISTER_DO_NOT_USE_SYMBOLS_REPASSWORD . "<br />";
     }
     if ($REGISTER_SETTINGS['EMAIL_REPEAT'] == false) {
         if (mssql_num_rows($this->query("SELECT 1 FROM " . DATABASE_ACCOUNTS . ".dbo.MEMB_INFO WHERE mail_addr='" . $email . "'")) > 0) {
             $error_tmp .= REGISTER_EMAIL_IN_USE . "<br />";
         }
     }
     if (mssql_num_rows($this->query("SELECT memb___id FROM " . DATABASE_ACCOUNTS . ".dbo.MEMB_INFO WHERE memb___id='" . $login . "'")) > 0) {
         $error_tmp .= REGISTER_LOGIN_IN_USE . "<br />";
     }
     if ($senha != $resenha) {
         $error_tmp .= REGISTER_PASSWORD_NOT_MATCH . "<br />";
     }
     if ($email != $reemail) {
         $error_tmp .= REGISTER_EMAIL_NOT_MATCH . "<br />";
     }
     if (filter_var($email, FILTER_VALIDATE_EMAIL) == false) {
         $error_tmp .= REGISTER_WRITE_VALID_EMAIL . "<br />";
     }
     if (isset($error_tmp) == true) {
         return $this->tpmResult = "<div class=\"quadros\">" . $error_tmp . "</div>";
     } else {
         $data = date('d/m/Y G:i');
         $nascimento = "{$nascimento_dia}/{$nascimento_mes}/{$nascimento_ano}";
         if (USE_MD5 == 1) {
             $senha_query = "CONVERT(varbinary(16),'0x00')";
         } else {
             $senha_query = "'{$senha}'";
         }
         $this->query("INSERT INTO " . DATABASE_ACCOUNTS . ".dbo.MEMB_INFO (memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_deta,tel__numb,mail_addr,phon_numb,fpas_ques,fpas_answ,job__code,data,aniversario,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code) VALUES ('{$login}',{$senha_query},'{$nome}','1','s-n','11111','','{$telefone}','{$email}','','{$pergunta}','{$resposta}','1','{$data}','{$nascimento}','2003-11-23','2003-11-23','2003-11-23','2003-11-23','1','0','1')");
         if (USE_MD5 == 1) {
             $this->query("exec dbo.webPwdHashWrite '" . $login . "','" . $senha . "'");
         }
         if (VI_CURR_INFO == true) {
             $this->query("INSERT INTO " . DATABASE_ACCOUNTS . ".dbo.VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name,memb_guid,sno__numb,Bill_Section,Bill_value,Bill_Hour,Surplus_Point,Surplus_Minute,Increase_Days )  VALUES ('2005','1',1234,'{$login}','{$nome}',1,'7','6','3','6','6','2003-11-23 10:36:00','0' )");
         }
         if ($TABLES_CONFIGS['WEBCASH']['table'] != "MEMB_INFO") {
             $this->query("INSERT INTO " . $TABLES_CONFIGS['WEBCASH']['database'] . ".dbo." . $TABLES_CONFIGS['WEBCASH']['table'] . " \n                                    (" . $TABLES_CONFIGS['WEBCASH']['columnUsername'] . ",   \n                                    " . $TABLES_CONFIGS['WEBCASH']['columnAmount'] . ",   \n                                    " . $TABLES_CONFIGS['WEBCASH']['columnAmount2'] . ")\n                                  VALUES\n                                    ('" . $login . "', " . (int) $REGISTER_SETTINGS['BONUS_CASH']['AMOUNT'] . ", " . (int) $REGISTER_SETTINGS['BONUS_CASH']['AMOUNT2'] . ");\n                                  ");
         } else {
             $this->query("UPDATE " . $TABLES_CONFIGS['WEBCASH']['database'] . ".dbo." . $TABLES_CONFIGS['WEBCASH']['table'] . " \n                                    SET " . $TABLES_CONFIGS['WEBCASH']['columnUsername'] . " = '{$login}',   \n                                    " . $TABLES_CONFIGS['WEBCASH']['columnAmount'] . " = " . (int) $REGISTER_SETTINGS['BONUS_CASH']['AMOUNT'] . ",   \n                                    " . $TABLES_CONFIGS['WEBCASH']['columnAmount2'] . " = " . (int) $REGISTER_SETTINGS['BONUS_CASH']['AMOUNT2'] . "\n                                    WHERE " . $TABLES_CONFIGS['WEBCASH']['columnUsername'] . " = '{$login}'");
         }
         if ($TABLES_CONFIGS['WEBVIPS']['table'] != "MEMB_INFO") {
             $this->query("INSERT INTO " . $TABLES_CONFIGS['WEBVIPS']['database'] . ".dbo." . $TABLES_CONFIGS['WEBVIPS']['table'] . " \n                                    (" . $TABLES_CONFIGS['WEBVIPS']['columnUsername'] . ",\n                                    " . $TABLES_CONFIGS['WEBVIPS']['columnType'] . ",\n                                    " . $TABLES_CONFIGS['WEBVIPS']['columnDateBegin'] . ",\n                                    " . $TABLES_CONFIGS['WEBVIPS']['columnDateEnd'] . ")\n                                  VALUES\n                                    ('" . $login . "', 0, '0', '0');\n                                  ");
         }
         if ($REGISTER_SETTINGS['BONUS_VIP']['ACTIVE'] == true) {
             $timeStampBegin = strtotime("now");
             $timeStampEnd = strtotime("+ " . $REGISTER_SETTINGS['BONUS_VIP']['DAYS'] . " days");
             $this->query("UPDATE " . $TABLES_CONFIGS['WEBVIPS']['database'] . ".dbo." . $TABLES_CONFIGS['WEBVIPS']['table'] . " SET \n                                    " . $TABLES_CONFIGS['WEBVIPS']['columnType'] . " = " . $REGISTER_SETTINGS['BONUS_VIP']['TYPE'] . ",\n                                    " . $TABLES_CONFIGS['WEBVIPS']['columnDateBegin'] . " = '" . $timeStampBegin . "',\n                                    " . $TABLES_CONFIGS['WEBVIPS']['columnDateEnd'] . " = '" . $timeStampEnd . "'\n                                    WHERE " . $TABLES_CONFIGS['WEBVIPS']['columnUsername'] . " = '" . $login . "'");
             $tempRespost .= sprintf("<div class='qdestaques2'>" . REGISTER_SUCCESS_REGISTER_BONUS_VIP . "</div>", $REGISTER_SETTINGS['BONUS_VIP']['DAYS'], $PANELUSER_MODULE['BUY_VIPS']['NAME_FLATS'][$REGISTER_SETTINGS['BONUS_VIP']['TYPE']], date("d-m-Y g:i a", $timeStampEnd));
         }
         if ($REGISTER_SETTINGS['BONUS_ITEM']['ACTIVE'] == true) {
             require_once "ldItemClass/ldItemDatabase.class.php";
             require_once "ldItemClass/ldItemMake.class.php";
             require_once "ldItemClass/ldItemParse.class.php";
             require_once "ldItemClass/ldVault.class.php";
             // Gerar / Carregar banco de dados
             ldItemDatabase::setDatabases("modules/", "item.txt", "classes/ldItemClass/data/item.serialize.txt");
             if (ldItemDatabase::checkDatabaseExists() == false) {
                 ldItemDatabase::createDatabase();
             }
             if (ldItemDatabase::checkDatabaseExists() == false) {
                 exit(LDPU_VIRTUAL_VAULT_CANT_LOAD_DB);
             }
             //var_dump(ldItemDatabase::$dbItem);
             switch ($REGISTER_SETTINGS['BONUS_ITEM']['VERSION']) {
                 case 1:
                     $length = 1200;
                     break;
                 case 2:
                     $length = 1200;
                     break;
                 case 3:
                     if (constant("VESION_MUSERVER") == 6) {
                         $length = 3840;
                     } else {
                         $length = 1920;
                     }
                     break;
             }
             $this->query("INSERT INTO [" . DATABASE_CHARACTERS . "].[dbo].[warehouse] ([AccountID], [Items], [Money], [EndUseDate], [DbVersion]) VALUES ('" . $login . "',cast(REPLICATE(char(0xff)," . $length . ") as varbinary(" . $length . ")),0, getdate()," . (int) $REGISTER_SETTINGS['BONUS_ITEM']['VERSION'] . ")");
             if (isset($REGISTER_SETTINGS['BONUS_ITEM']['ITEMS'][$_POST['registerBonus']]) && $_POST['registerBonus'] != -1) {
                 $tempRespost .= sprintf("<div class='qdestaques2'>" . REGISTER_SUCCESS_REGISTER_BONUS_ITEMS . "</div>", $REGISTER_SETTINGS['BONUS_ITEM']['ITEMS'][$_POST['registerBonus']]["Name"]);
                 foreach ($REGISTER_SETTINGS['BONUS_ITEM']['ITEMS'][$_POST['registerBonus']]["Items"] as $item) {
                     //var_dump( ldItemDatabase::$dbItem[ $item["idCategorie"] ][ $item["idItem"] ]["Name"] );
                     $HexItem = NULL;
                     if (ldItemMake::makeHexItem($HexItem, $item["idItem"], $item["idCategorie"], $REGISTER_SETTINGS['BONUS_ITEM']['VERSION'], $item["options"]) == true) {
                         $ldVault = new ldVault($login, $REGISTER_SETTINGS['BONUS_ITEM']['VERSION']);
                         $ldVault->getVault();
                         $ldVault->cutCode();
                         $ldVault->structureVault();
                         ldItemParse::parseHexItem($HexItem, $REGISTER_SETTINGS['BONUS_ITEM']['VERSION']);
                         $slot = $ldVault->searchSlotsInVault(ldItemParse::$dumpTemp['Item']['X'], ldItemParse::$dumpTemp['Item']['Y']);
                         if ($slot != -1) {
                             $ldVault->insertItemInSlot($HexItem, $slot);
                         }
                         $ldVault->structureVault();
                         $ldVault->writeVault(true);
                         unset($ldVault);
                     }
                     unset($HexItem);
                 }
             }
         }
         if ($REGISTER_SETTINGS['EMAIL_ACTIVE'] == true) {
             $hash = md5(microtime() . $login);
             $linkActive = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["PHP_SELF"] . "?page=register&activeAccount=" . $login . "&hash=" . $hash;
             $this->query("UPDATE [" . DATABASE_ACCOUNTS . "].[dbo].[MEMB_INFO] SET [bloc_code] = 1, [hashActivate] = '{$hash}' WHERE [memb___id] = '{$login}'");
             date_default_timezone_set("America/Sao_Paulo");
             $mail = new PHPMailer();
             $body .= sprintf(CREATE_ACCOUNT_ACTIVE_EMAIL_BODY, $login, $senha, $pergunta, $resposta, $linkActive, $linkActive);
             $body = eregi_replace("[\\]", '', $body);
             $mail->IsSMTP();
             $mail->SMTPDebug = $Config_SMTP['Debug'];
             $mail->Host = $Config_SMTP['Server'];
             $mail->Port = $Config_SMTP['Port'];
             $mail->From = $Config_SMTP['From'];
             $mail->Username = $Config_SMTP['User'];
             $mail->Password = $Config_SMTP['Password'];
             $mail->FromName = TITLE_SITE;
             $mail->Subject = CREATE_ACCOUNT_ACTIVE_EMAIL_SUBJECT;
             $mail->MsgHTML($body);
             $mail->AddAddress($email, $login);
             if ($mail->Send()) {
                 $emailSend = "<div class='qdestaques2'><strong>" . CREATE_ACCOUNT_EMAIL_SEND_INFO_ACTIVE_SUCCESS . "</strong></div>";
             } else {
                 $emailSend = "<div class='qdestaques'><strong>" . CREATE_ACCOUNT_EMAIL_SEND_INFO_ACTIVE_ERROR . "</strong></div>";
             }
         } else {
             date_default_timezone_set("America/Sao_Paulo");
             $mail = new PHPMailer();
             $body .= sprintf(CREATE_ACCOUNT_EMAIL_BODY, $login, $senha, $pergunta, $resposta);
             $body = eregi_replace("[\\]", '', $body);
             $mail->IsSMTP();
             $mail->SMTPDebug = $Config_SMTP['Debug'];
             $mail->Host = $Config_SMTP['Server'];
             $mail->Port = $Config_SMTP['Port'];
             $mail->From = $Config_SMTP['From'];
             $mail->Username = $Config_SMTP['User'];
             $mail->Password = $Config_SMTP['Password'];
             $mail->FromName = TITLE_SITE;
             $mail->Subject = CREATE_ACCOUNT_EMAIL_SUBJECT;
             $mail->MsgHTML($body);
             $mail->AddAddress($email, $login);
             if ($mail->Send()) {
                 $emailSend = "<div class='qdestaques2'><strong>" . CREATE_ACCOUNT_EMAIL_SEND_INFO_SUCCESS . "</strong></div>";
             } else {
                 $emailSend = "<div class='qdestaques'><strong>" . CREATE_ACCOUNT_EMAIL_SEND_INFO_ERROR . "</strong></div>";
             }
         }
         return $this->tpmResult = sprintf("<div class=\"quadros\">" . REGISTER_SUCCESS_REGISTER . "</div>" . $tempRespost . $emailSend, $login, $senha, $pergunta, $resposta);
     }
 }