public static function createDatabase()
 {
     try {
         if (file_exists(self::$path . self::$databaseTextPlain) == false) {
             throw new Exception("The file " . self::$path . self::$databaseTextPlain . " not exists.");
         }
         self::$handleDatabase = file(self::$path . self::$databaseTextPlain, FILE_SKIP_EMPTY_LINES);
         $items = NULL;
         $tempWait = self::WAIT_CATEGORIE;
         $counts = array("section" => -1, "index" => -1);
         $items["fileHash"] = md5_file(self::$path . self::$databaseTextPlain);
         foreach (self::$handleDatabase as $line) {
             $arrayResult = self::getBytesFromLine($line);
             switch ($tempWait) {
                 case self::WAIT_CATEGORIE:
                     if (is_numeric($arrayResult[0]) == false) {
                         continue;
                     }
                     $items[$arrayResult[0]] = array();
                     $counts["section"] += 1;
                     $tempWait = self::WAIT_ITEM;
                     break;
                 case self::WAIT_ITEM:
                     if ($arrayResult[0] == "end") {
                         $tempWait = self::WAIT_CATEGORIE;
                         continue;
                     }
                     if (is_numeric($arrayResult[0]) == false) {
                         continue;
                     }
                     $arrayResult = str_replace("'", "", $arrayResult);
                     switch ($counts["section"]) {
                         case 0:
                         case 1:
                         case 2:
                         case 3:
                         case 4:
                         case 5:
                             // 29 season 2
                             // 19 97d
                             switch (sizeof($arrayResult)) {
                                 case 30:
                                 case 29:
                                 case 28:
                                 case 25:
                                     $key = array("Index" => 0, "X" => 3, "Y" => 4, "Name" => 8);
                                     break;
                                 case 19:
                                     $key = array("Index" => 0, "X" => 1, "Y" => 2, "Name" => 6);
                                     break;
                                 default:
                                     throw new Exception("O item(kor) não é compativel com o sistema ou esta danificado (Categoria: {$counts["section"]}, Index: {$arrayResult[0]} {" . sizeof($arrayResult) . "}).");
                             }
                             $items[$counts["section"]][$arrayResult[0]] = array("Index" => $arrayResult[$key["Index"]], "X" => $arrayResult[$key["X"]], "Y" => $arrayResult[$key["Y"]], "Name" => $arrayResult[$key["Name"]]);
                             break;
                         case 6:
                             //25 season 2
                             // 16 97d
                             switch (sizeof($arrayResult)) {
                                 case 27:
                                 case 26:
                                 case 25:
                                 case 22:
                                     $key = array("Index" => 0, "X" => 3, "Y" => 4, "Name" => 8);
                                     break;
                                 case 16:
                                     $key = array("Index" => 0, "X" => 1, "Y" => 2, "Name" => 6);
                                     break;
                                 default:
                                     throw new Exception("O item(kor) não é compativel com o sistema ou esta danificado (Categoria: {$counts["section"]}, Index: {$arrayResult[0]} {" . sizeof($arrayResult) . "}).");
                             }
                             $items[$counts["section"]][$arrayResult[0]] = array("Index" => $arrayResult[$key["Index"]], "X" => $arrayResult[$key["X"]], "Y" => $arrayResult[$key["Y"]], "Name" => $arrayResult[$key["Name"]]);
                             break;
                         case 7:
                         case 8:
                         case 9:
                         case 10:
                         case 11:
                             //25 season 2
                             // 17 97d
                             switch (sizeof($arrayResult)) {
                                 case 27:
                                 case 26:
                                 case 25:
                                 case 21:
                                     $key = array("Index" => 0, "X" => 3, "Y" => 4, "Name" => 8);
                                     break;
                                 case 17:
                                     $key = array("Index" => 0, "X" => 1, "Y" => 2, "Name" => 6);
                                     break;
                                 default:
                                     throw new Exception("O item(kor) não é compativel com o sistema ou esta danificado (Categoria: {$counts["section"]}, Index: {$arrayResult[0]} {" . sizeof($arrayResult) . "}).");
                             }
                             $items[$counts["section"]][$arrayResult[0]] = array("Index" => $arrayResult[$key["Index"]], "X" => $arrayResult[$key["X"]], "Y" => $arrayResult[$key["Y"]], "Name" => $arrayResult[$key["Name"]]);
                             break;
                         case 12:
                             //23 season 2
                             //20 97d
                             switch (sizeof($arrayResult)) {
                                 case 25:
                                 case 24:
                                 case 23:
                                     $key = array("Index" => 0, "X" => 3, "Y" => 4, "Name" => 8);
                                     break;
                                 case 20:
                                 case 19:
                                     $key = array("Index" => 0, "X" => 1, "Y" => 2, "Name" => 6);
                                     break;
                                 default:
                                     throw new Exception("O item(kor) não é compativel com o sistema ou esta danificado (Categoria: {$counts["section"]}, Index: {$arrayResult[0]} {" . sizeof($arrayResult) . "}.");
                             }
                             $items[$counts["section"]][$arrayResult[0]] = array("Index" => $arrayResult[$key["Index"]], "X" => $arrayResult[$key["X"]], "Y" => $arrayResult[$key["Y"]], "Name" => $arrayResult[$key["Name"]]);
                             break;
                         case 13:
                             //24 season 2
                             //17 97d
                             switch (sizeof($arrayResult)) {
                                 case 26:
                                 case 25:
                                 case 24:
                                     $key = array("Index" => 0, "X" => 3, "Y" => 4, "Name" => 8);
                                     break;
                                 case 17:
                                     $key = array("Index" => 0, "X" => 1, "Y" => 2, "Name" => 6);
                                     break;
                                 default:
                                     throw new Exception("O item(kor) não é compativel com o sistema ou esta danificado (Categoria: {$counts["section"]}, Index: {$arrayResult[0]} {" . sizeof($arrayResult) . "}).");
                             }
                             $items[$counts["section"]][$arrayResult[0]] = array("Index" => $arrayResult[$key["Index"]], "X" => $arrayResult[$key["X"]], "Y" => $arrayResult[$key["Y"]], "Name" => $arrayResult[$key["Name"]]);
                             break;
                         case 14:
                             //11 season 2
                             //9 97d
                             switch (sizeof($arrayResult)) {
                                 case 11:
                                     $key = array("Index" => 0, "X" => 3, "Y" => 4, "Name" => 8);
                                     break;
                                 case 9:
                                     $key = array("Index" => 0, "X" => 1, "Y" => 2, "Name" => 6);
                                     break;
                                 default:
                                     throw new Exception("O item(kor) não é compativel com o sistema ou esta danificado (Categoria: {$counts["section"]}, Index: {$arrayResult[0]} {" . sizeof($arrayResult) . "}).");
                             }
                             $items[$counts["section"]][$arrayResult[0]] = array("Index" => $arrayResult[$key["Index"]], "X" => $arrayResult[$key["X"]], "Y" => $arrayResult[$key["Y"]], "Name" => $arrayResult[$key["Name"]]);
                             break;
                         case 15:
                             switch (sizeof($arrayResult)) {
                                 case 20:
                                 case 19:
                                 case 18:
                                     $key = array("Index" => 0, "X" => 3, "Y" => 4, "Name" => 8);
                                     break;
                                 case 15:
                                     $key = array("Index" => 0, "X" => 1, "Y" => 2, "Name" => 6);
                                     break;
                                 default:
                                     throw new Exception("O item(kor) não é compativel com o sistema ou esta danificado (Categoria: {$counts["section"]}, Index: {$arrayResult[0]} {" . sizeof($arrayResult) . "}).");
                             }
                             //18 season 2
                             //15 97d
                             $items[$counts["section"]][$arrayResult[0]] = array("Index" => $arrayResult[$key["Index"]], "X" => $arrayResult[$key["X"]], "Y" => $arrayResult[$key["Y"]], "Name" => $arrayResult[$key["Name"]]);
                             break;
                     }
                     break;
             }
             //print_r($arrayResult);
         }
         //print_r($items);
         $handle = fopen(self::$path . self::$databaseSerialized, "w");
         fwrite($handle, serialize($items));
         fclose($handle);
         if (file_exists(self::$path . self::$databaseSerialized) == false) {
             throw new Exception("Não foi possivel criar o banco de dados!<br />Verifique as permissões de escrita na pasta: modules/classes/ldItemClass/data/.");
         }
     } catch (Exception $msg) {
         exit($msg->getMessage());
     }
 }
 private function loadOptionsVirtualVault()
 {
     global $ldTpl, $VIRTUAL_VAULT;
     /**
      * Find serial query:
      * SELECT * FROM [MuOnline_DKT].[dbo].[ExtWareHouseVirtual] WHERE (CHARINDEX (0x375F9300, Item) = 4)
      */
     require_once "ldItemClass/ldItemDatabase.class.php";
     require_once "ldItemClass/ldItemOptionsDatabase.class.php";
     require_once "ldItemClass/ldItemMake.class.php";
     require_once "ldItemClass/ldItemParse.class.php";
     require_once "ldItemClass/ldVault.class.php";
     require_once "ldItemClass/ldInventory.class.php";
     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 ($_GET['action'] == "details") {
         try {
             switch ($_GET['vault']) {
                 case "game":
                     if ($_GET['key'] < 0 || $_GET['key'] > 120) {
                         throw new Exception("loadOptionsVirtualVault() :: Invalid key");
                     }
                     $this->ldVault = new ldVault($_SESSION['LOGIN']);
                     $this->ldVault->getVault();
                     $this->ldVault->cutCode();
                     $this->ldVault->structureVault();
                     $shortcut = $this->ldVault->codeGroup[$_GET['key']];
                     if ($shortcut['Details']['IsItem'] == false) {
                         throw new Exception(LDPU_VIRTUAL_VAULT_ITEM_NOT_FOUND);
                     }
                     $response .= "<table style=\"width: 100%\">";
                     $response .= "<tr>";
                     $response .= "<td>";
                     $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_ITEM . ":</em> <strong>{$shortcut['Details']['ItemName']}</strong><br />";
                     $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_LEVEL . ":</em> <strong>+{$shortcut['Details']['ItemLevel']}</strong><br />";
                     $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_OPTION . ":</em> <strong>+" . $shortcut['Details']['ItemOption'] * 4 . "</strong><br />";
                     $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_LUCK . ":</em> <strong>" . ($shortcut['Details']['ItemLuck'] == true ? LDPU_YES : LDPU_NOT) . "</strong><br />";
                     $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_SKILL . ":</em> <strong>" . ($shortcut['Details']['ItemSkill'] == true ? LDPU_YES : LDPU_NOT) . "</strong><br />";
                     if ($this->ldVault->dbVersion > 1) {
                         $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_ANCIENT . ":</em> <strong>" . ($shortcut['Details']['ItemAncient'] > 0 ? LDPU_YES : LDPU_NOT) . "</strong><br />";
                     }
                     $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_DURABILITY . ":</em> <strong>" . $shortcut['Details']['ItemDurability'] . "</strong><br />";
                     if ($VIRTUAL_VAULT['SHOW_SERIAL'] == true) {
                         $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_SERIAL . ":</em> <strong>0x" . $shortcut['Details']['ItemSerial'] . "</strong><br />";
                     }
                     if ($shortcut['Details']['ItemExcellents'][6] == 0) {
                         $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_EXCELLENT . ":</em> <strong>" . LDPU_NOT . "</strong><br />";
                     } else {
                         $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_EXCELLENT . ":</em><strong><br />";
                         if ($shortcut['Details']['ItemExcellents'][0] == true) {
                             $response .= "<em> - " . ldItemOptionsDatabase::getExcellents($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt0 . "</em><br />";
                         }
                         if ($shortcut['Details']['ItemExcellents'][1] == true) {
                             $response .= "<em> - " . ldItemOptionsDatabase::getExcellents($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt1 . "</em><br />";
                         }
                         if ($shortcut['Details']['ItemExcellents'][2] == true) {
                             $response .= "<em> - " . ldItemOptionsDatabase::getExcellents($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt2 . "</em><br />";
                         }
                         if ($shortcut['Details']['ItemExcellents'][3] == true) {
                             $response .= "<em> - " . ldItemOptionsDatabase::getExcellents($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt3 . "</em><br />";
                         }
                         if ($shortcut['Details']['ItemExcellents'][4] == true) {
                             $response .= "<em> - " . ldItemOptionsDatabase::getExcellents($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt4 . "</em><br />";
                         }
                         if ($shortcut['Details']['ItemExcellents'][5] == true) {
                             $response .= "<em> - " . ldItemOptionsDatabase::getExcellents($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt5 . "</em><br />";
                         }
                         $response .= "</strong>";
                     }
                     if ($this->ldVault->dbVersion > 2) {
                         $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_REFINE . ":</em> <strong>" . ($shortcut['Details']['ItemRefine'] > 0 ? ldItemOptionsDatabase::getRefine($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt0 . ", " . ldItemOptionsDatabase::getRefine($shortcut['Details']['ItemIdSection'], $shortcut['Details']['ItemIdIndex'])->opt1 : LDPU_NOT) . "</strong><br />";
                     }
                     if ($this->ldVault->dbVersion > 2) {
                         $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_HARMONY . ":</em> <strong>" . ($shortcut['Details']['HarmonyType'] > 0 ? ldItemOptionsDatabase::getHarmony($shortcut['Details']['ItemIdSection'], $shortcut['Details']['HarmonyType'], $shortcut['Details']['HarmonyLevel']) : LDPU_NOT) . "</strong><br />";
                     }
                     if ($this->ldVault->dbVersion > 2 && $VIRTUAL_VAULT['SOCKET_OPTIONS'] == true) {
                         $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_SOCKET . ":</em><br />";
                         $socketOptions = ldItemOptionsDatabase::getSocket();
                         if ($VIRTUAL_VAULT['MUSERVER_MANUFACTURER'] == 1) {
                             foreach ($shortcut['Details']['Sockect'] as &$socket) {
                                 if ($socket != $socketOptions["notSocket"] && $socket != $socketOptions["emptySocket"]) {
                                     $socket++;
                                 }
                             }
                         }
                         if ($shortcut['Details']['Sockect'][0] == $socketOptions["notSocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 1: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />";
                         } elseif ($shortcut['Details']['Sockect'][0] == $socketOptions["emptySocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 1: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />";
                         } else {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 1: <strong>" . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][0] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][0] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][0] % 0x32]["socketsArgs"][1] . "</strong><br />";
                         }
                         if ($shortcut['Details']['Sockect'][1] == $socketOptions["notSocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 2: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />";
                         } elseif ($shortcut['Details']['Sockect'][1] == $socketOptions["emptySocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 2: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />";
                         } else {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 2: <strong>" . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][1] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][1] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][1] % 0x32]["socketsArgs"][2] . "</strong><br />";
                         }
                         if ($shortcut['Details']['Sockect'][2] == $socketOptions["notSocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 3: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />";
                         } elseif ($shortcut['Details']['Sockect'][2] == $socketOptions["emptySocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 3: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />";
                         } else {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 3: <strong>" . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][2] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][2] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][2] % 0x32]["socketsArgs"][3] . "</strong><br />";
                         }
                         if ($shortcut['Details']['Sockect'][3] == $socketOptions["notSocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 4: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />";
                         } elseif ($shortcut['Details']['Sockect'][3] == $socketOptions["emptySocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 4: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />";
                         } else {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 4: <strong>" . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][3] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][3] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][3] % 0x32]["socketsArgs"][4] . "</strong><br />";
                         }
                         if ($shortcut['Details']['Sockect'][4] == $socketOptions["notSocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 5: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />";
                         } elseif ($shortcut['Details']['Sockect'][4] == $socketOptions["emptySocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 5: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />";
                         } else {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 5: <strong>" . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][4] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][4] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$shortcut['Details']['Sockect'][4] % 0x32]["socketsArgs"][5] . "</strong><br />";
                         }
                     }
                     $response .= "</td>";
                     $response .= "<td align=\"right\" valign=\"top\">";
                     $response .= "<input type=\"button\" class=\"button\" value=\"" . LDPU_VIRTUAL_VAULT_TEXT_SEND_TO_VAULT_VIRTUAL . "\" onclick=\"jQuery.post('?page=paneluser&option=VIRTUAL_VAULT&action=send&to=virtual&key={$_GET['key']}', function(response) { jQuery('#detailsVault').html( response ); }, 'html');\" />";
                     $response .= "</td>";
                     $response .= "</tr>";
                     $response .= "</table>";
                     break;
                 case "virtual":
                     if (is_numeric($_GET['key']) == false) {
                         throw new Exception("loadOptionsVirtualVault() :: Invalid key");
                     }
                     $getItemQ = $this->query("SELECT [Number],[Item],[dbVersion] FROM [" . DATABASE_ACCOUNTS . "].[dbo].[ExtWareHouseVirtual] WHERE [AccountId] = '{$_SESSION['LOGIN']}' AND [Number] = " . (int) $_GET['key']);
                     if (mssql_num_rows($getItemQ) == 0) {
                         throw new Exception(LDPU_VIRTUAL_VAULT_ITEM_NOT_FOUND);
                     }
                     $getItem = mssql_fetch_object($getItemQ);
                     ldItemParse::parseHexItem(bin2hex($getItem->Item), $getItem->dbVersion);
                     $response .= "<table style=\"width: 100%\">";
                     $response .= "<tr>";
                     $response .= "<td>";
                     $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_ITEM . ":</em> <strong>" . ldItemParse::$dumpTemp['ItemName'] . "</strong><br />";
                     $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_LEVEL . ":</em> <strong>+" . ldItemParse::$dumpTemp['ItemLevel'] . "</strong><br />";
                     $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_OPTION . ":</em> <strong>+" . ldItemParse::$dumpTemp['ItemOption'] * 4 . "</strong><br />";
                     $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_LUCK . ":</em> <strong>" . (ldItemParse::$dumpTemp['ItemLuck'] == true ? LDPU_YES : LDPU_NOT) . "</strong><br />";
                     $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_SKILL . ":</em> <strong>" . (ldItemParse::$dumpTemp['ItemSkill'] == true ? LDPU_YES : LDPU_NOT) . "</strong><br />";
                     if ($getItem->dbVersion > 1) {
                         $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_ANCIENT . ":</em> <strong>" . (ldItemParse::$dumpTemp['ItemAncient'] > 0 ? LDPU_YES : LDPU_NOT) . "</strong><br />";
                     }
                     $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_DURABILITY . ":</em> <strong>" . ldItemParse::$dumpTemp['ItemDurability'] . "</strong><br />";
                     if ($VIRTUAL_VAULT['SHOW_SERIAL'] == true) {
                         $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_SERIAL . ":</em> <strong>0x" . strtoupper(ldItemParse::$dumpTemp['ItemSerial']) . "</strong><br />";
                     }
                     if (ldItemParse::$dumpTemp['ItemExcellents'][6] == 0) {
                         $response .= "<em>" . LDPU_VIRTUAL_VAULT_TEXT_EXCELLENT . ":</em> <strong>" . LDPU_NOT . "</strong><br />";
                     } else {
                         $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_EXCELLENT . ":</em><strong><br />";
                         if (ldItemParse::$dumpTemp['ItemExcellents'][0] == true) {
                             $response .= "<em> - " . ldItemOptionsDatabase::getExcellents(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt0 . "</em><br />";
                         }
                         if (ldItemParse::$dumpTemp['ItemExcellents'][1] == true) {
                             $response .= "<em> - " . ldItemOptionsDatabase::getExcellents(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt1 . "</em><br />";
                         }
                         if (ldItemParse::$dumpTemp['ItemExcellents'][2] == true) {
                             $response .= "<em> - " . ldItemOptionsDatabase::getExcellents(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt2 . "</em><br />";
                         }
                         if (ldItemParse::$dumpTemp['ItemExcellents'][3] == true) {
                             $response .= "<em> - " . ldItemOptionsDatabase::getExcellents(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt3 . "</em><br />";
                         }
                         if (ldItemParse::$dumpTemp['ItemExcellents'][4] == true) {
                             $response .= "<em> - " . ldItemOptionsDatabase::getExcellents(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt4 . "</em><br />";
                         }
                         if (ldItemParse::$dumpTemp['ItemExcellents'][5] == true) {
                             $response .= "<em> - " . ldItemOptionsDatabase::getExcellents(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt5 . "</em><br />";
                         }
                         $response .= "</strong>";
                     }
                     if ($getItem->dbVersion > 2) {
                         $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_REFINE . ":</em> <strong>" . (ldItemParse::$dumpTemp['ItemRefine'] > 0 ? ldItemOptionsDatabase::getRefine(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt0 . " ," . ldItemOptionsDatabase::getRefine(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['ItemIdIndex'])->opt1 : LDPU_NOT) . "</strong><br />";
                     }
                     if ($getItem->dbVersion > 2) {
                         $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_HARMONY . ":</em> <strong>" . (ldItemParse::$dumpTemp['HarmonyType'] > 0 ? ldItemOptionsDatabase::getHarmony(ldItemParse::$dumpTemp['ItemIdSection'], ldItemParse::$dumpTemp['HarmonyType'], ldItemParse::$dumpTemp['HarmonyLevel']) : LDPU_NOT) . "</strong><br />";
                     }
                     if ($getItem->dbVersion > 2 && $VIRTUAL_VAULT['SOCKET_OPTIONS'] == true) {
                         $response .= "<br /><em>" . LDPU_VIRTUAL_VAULT_TEXT_SOCKET . ":</em><br />";
                         $socketOptions = ldItemOptionsDatabase::getSocket();
                         if ($VIRTUAL_VAULT['MUSERVER_MANUFACTURER'] == 1) {
                             foreach (ldItemParse::$dumpTemp['Sockect'] as &$socket) {
                                 if ($socket != $socketOptions["notSocket"] && $socket != $socketOptions["emptySocket"]) {
                                     $socket++;
                                 }
                             }
                         }
                         if (ldItemParse::$dumpTemp['Sockect'][0] == $socketOptions["notSocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 1: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />";
                         } elseif (ldItemParse::$dumpTemp['Sockect'][0] == $socketOptions["emptySocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 1: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />";
                         } else {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 1: <strong>" . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][0] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][0] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][0] % 0x32]["socketsArgs"][1] . "</strong><br />";
                         }
                         if (ldItemParse::$dumpTemp['Sockect'][1] == $socketOptions["notSocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 2: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />";
                         } elseif (ldItemParse::$dumpTemp['Sockect'][1] == $socketOptions["emptySocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 2: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />";
                         } else {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 2: <strong>" . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][1] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][1] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][1] % 0x32]["socketsArgs"][2] . "</strong><br />";
                         }
                         if (ldItemParse::$dumpTemp['Sockect'][2] == $socketOptions["notSocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 3: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />";
                         } elseif (ldItemParse::$dumpTemp['Sockect'][2] == $socketOptions["emptySocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 3: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />";
                         } else {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 3: <strong>" . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][2] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][2] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][2] % 0x32]["socketsArgs"][3] . "</strong><br />";
                         }
                         if (ldItemParse::$dumpTemp['Sockect'][3] == $socketOptions["notSocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 4: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />";
                         } elseif (ldItemParse::$dumpTemp['Sockect'][3] == $socketOptions["emptySocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 4: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />";
                         } else {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 4: <strong>" . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][3] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][3] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][3] % 0x32]["socketsArgs"][4] . "</strong><br />";
                         }
                         if (ldItemParse::$dumpTemp['Sockect'][4] == $socketOptions["notSocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 5: " . $socketOptions["socketTypeNumber"][$socketOptions["notSocket"]]["socketName"] . "<br />";
                         } elseif (ldItemParse::$dumpTemp['Sockect'][4] == $socketOptions["emptySocket"]) {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 5: " . $socketOptions["socketTypeNumber"][$socketOptions["emptySocket"]]["socketName"] . "<br />";
                         } else {
                             $response .= "<em> - " . LDPU_VIRTUAL_VAULT_TEXT_SOCKET_NAME . " 5: <strong>" . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][4] % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][4] % 0x32]["socketName"] . " + " . $socketOptions["socketTypeNumber"][ldItemParse::$dumpTemp['Sockect'][4] % 0x32]["socketsArgs"][5] . "</strong><br />";
                         }
                     }
                     $response .= "</td>";
                     $response .= "<td align=\"right\" valign=\"top\">";
                     $response .= "<input type=\"button\" class=\"button\" value=\"" . LDPU_VIRTUAL_VAULT_TEXT_SEND_TO_VAULT_GAME . "\" onclick=\"jQuery.post('?page=paneluser&option=VIRTUAL_VAULT&action=send&to=game&key={$_GET['key']}', function(response) { jQuery('#detailsVault').html( response ); }, 'html');\" /><br />";
                     //$response .= "<input type=\"button\" class=\"button\" value=\"Anunciar item\" onclick=\"jQuery.post('?page=paneluser&option=VIRTUAL_VAULT&action=sell&key={$_GET['key']}', function(response) { jQuery('#detailsVault').html( response ); }, 'html');\" />";
                     $response .= "</td>";
                     $response .= "</tr>";
                     $response .= "</table>";
                     break;
             }
             throw new Exception($response);
         } catch (Exception $e) {
             exit($e->getMessage());
         }
     } elseif ($_GET['action'] == "send") {
         try {
             if ($this->checkOnlineAccount($_SESSION['LOGIN']) == 1) {
                 throw new Exception("<div class='qdestaques2'>" . LDPU_YOU_MUST_BE_OFFLINE . "</div>");
             }
             switch ($_GET['to']) {
                 case "virtual":
                     if ($_GET['key'] < 0 || $_GET['key'] > 120) {
                         throw new Exception("loadOptionsVirtualVault() :: Invalid key");
                     }
                     $this->ldVault = new ldVault($_SESSION['LOGIN']);
                     $this->ldVault->getVault();
                     $this->ldVault->cutCode();
                     $this->ldVault->structureVault();
                     if ($this->ldVault->codeGroup[$_GET['key']]['Details']['IsItem'] == false) {
                         throw new Exception(LDPU_VIRTUAL_VAULT_ITEM_NOT_FOUND);
                     }
                     $insert = $this->query("INSERT INTO [" . DATABASE_ACCOUNTS . "].[dbo].[ExtWareHouseVirtual] ([AccountId] ,[Item], [dbVersion]) VALUES ('{$_SESSION['LOGIN']}', 0x{$this->ldVault->codeGroup[$_GET['key']]['Code']}, {$this->ldVault->dbVersion}); SELECT IDENT_CURRENT('[" . DATABASE_ACCOUNTS . "].[dbo].[ExtWareHouseVirtual]') as [Number];");
                     if ($insert == true) {
                         $insert = mssql_fetch_object($insert);
                         $insert = (int) $insert->Number;
                         $jqueryTmp = "jQuery('#itemsVaultGame li#liItemVaultGame_{$_GET['key']}').fadeOut('slow', function() { jQuery(this).remove(); } );\n                                              jQuery('#itemsVaultVirtual').fadeIn('slow').prepend('<li id=\"liItemVaultVirtual_{$insert}\" onclick=\"Verify(\\'?page=paneluser&option=VIRTUAL_VAULT&action=details&vault=virtual&key={$insert}\\', \\'detailsVault\\', \\'get\\');\">{$this->ldVault->codeGroup[$_GET['key']]['Details']['ItemName']} +{$this->ldVault->codeGroup[$_GET['key']]['Details']['ItemLevel']} +" . $this->ldVault->codeGroup[$_GET['key']]['Details']['ItemOption'] * 4 . "</li>');";
                         $this->ldVault->insertItemInSlot($this->ldVault->dbVersion > 2 ? str_repeat("F", 32) : str_repeat("F", 20), $_GET['key']);
                         $this->ldVault->writeVault(true);
                         throw new Exception("<script type=\"text/javascript\">\n                                                     jQuery(document).ready(function(){\n                                                        {$jqueryTmp} \n                                                     });\n                                                     </script>");
                     } else {
                         throw new Exception(LDPU_VIRTUAL_VAULT_TEXT_SEND_ERROR);
                     }
                     break;
                 case "game":
                     if (is_numeric($_GET['key']) == false) {
                         throw new Exception("loadOptionsVirtualVault() :: Invalid key");
                     }
                     $getItemQ = $this->query("SELECT [Number],[Item],[dbVersion] FROM [" . DATABASE_ACCOUNTS . "].[dbo].[ExtWareHouseVirtual] WHERE [AccountId] = '{$_SESSION['LOGIN']}' AND [Number] = " . (int) $_GET['key']);
                     if (mssql_num_rows($getItemQ) == 0) {
                         throw new Exception(LDPU_VIRTUAL_VAULT_ITEM_NOT_FOUND);
                     }
                     $getItem = mssql_fetch_object($getItemQ);
                     $this->ldVault = new ldVault($_SESSION['LOGIN']);
                     $this->ldVault->getVault();
                     $this->ldVault->cutCode();
                     $this->ldVault->structureVault();
                     ldItemParse::parseHexItem(bin2hex($getItem->Item), $getItem->dbVersion);
                     $slotFree = $this->ldVault->searchSlotsInVault(ldItemParse::$dumpTemp['Item']['X'], ldItemParse::$dumpTemp['Item']['Y']);
                     if ($slotFree > -1) {
                         $this->ldVault->insertItemInSlot(bin2hex($getItem->Item), $slotFree);
                         if ($this->ldVault->writeVault(true) == true) {
                             $this->query("DELETE FROM [" . DATABASE_ACCOUNTS . "].[dbo].[ExtWareHouseVirtual] WHERE [AccountId] = '{$_SESSION['LOGIN']}' AND [Number] = " . (int) $_GET['key']);
                             throw new Exception("<script type=\"text/javascript\">\n                                                         jQuery(document).ready(function(){\n                                                            jQuery('#liItemVaultVirtual_{$_GET['key']}').fadeOut('slow', function() { jQuery(this).remove(); } );\n                                                            jQuery('#itemsVaultGame').fadeIn('slow').prepend('<li id=\"liItemVaultGame_{$slotFree}\" onclick=\"Verify(\\'?page=paneluser&option=VIRTUAL_VAULT&action=details&vault=game&key={$slotFree}\\', \\'detailsVault\\', \\'get\\');\">" . ldItemParse::$dumpTemp['ItemName'] . " +" . ldItemParse::$dumpTemp['ItemLevel'] . " +" . ldItemParse::$dumpTemp['ItemOption'] * 4 . "</li>');\n                                                         });\n                                                         </script>");
                         }
                     } else {
                         throw new Exception("<div class='qdestaques'>" . LDPU_VIRTUAL_VAULT_TEXT_SEND_ERROR_NO_SPACE . "</div>");
                     }
                     break;
             }
             throw new Exception("");
         } catch (Exception $e) {
             exit($e->getMessage());
         }
     } else {
         $this->ldVault = new ldVault($_SESSION['LOGIN']);
         $this->ldVault->getVault();
         $this->ldVault->cutCode();
         $this->ldVault->structureVault();
         foreach ($this->ldVault->codeGroup as $key => $item) {
             if ($item['Details']['IsItem'] == true) {
                 $liItemsVaultGame .= "<li id=\"liItemVaultGame_{$key}\" onclick=\"Verify('?page=paneluser&option=VIRTUAL_VAULT&action=details&vault=game&key={$key}', 'detailsVault', 'get');\">{$item['Details']['ItemName']} +{$item['Details']['ItemLevel']} +" . $item['Details']['ItemOption'] * 4 . "</li>\n";
             }
         }
         $getVirtualVaultQ = $this->query("SELECT [Number],[Item],[dbVersion] FROM [" . DATABASE_ACCOUNTS . "].[dbo].[ExtWareHouseVirtual] WHERE [AccountId] = '{$_SESSION['LOGIN']}' ORDER BY [Number] DESC");
         while ($getVirtualVault = mssql_fetch_object($getVirtualVaultQ)) {
             ldItemParse::parseHexItem(bin2hex($getVirtualVault->Item), $getVirtualVault->dbVersion);
             $liItemsVaultVirtual .= "<li id=\"liItemVaultVirtual_{$getVirtualVault->Number}\" onclick=\"Verify('?page=paneluser&option=VIRTUAL_VAULT&action=details&vault=virtual&key={$getVirtualVault->Number}', 'detailsVault', 'get');\">" . ldItemParse::$dumpTemp['ItemName'] . " +" . ldItemParse::$dumpTemp['ItemLevel'] . " +" . ldItemParse::$dumpTemp['ItemOption'] * 4 . "</li>\n";
         }
     }
     $ldTpl->set("liItemsVaultVirtual", $liItemsVaultVirtual);
     $ldTpl->set("liItemsVaultGame", $liItemsVaultGame);
 }
 private function optionLoadGoldenArcher()
 {
     global $ldTpl;
     $tmpResponse = null;
     if ($_GET['action'] == "createSerial") {
         require_once "ldItemClass/ldItemOptionsDatabase.class.php";
         require_once "ldItemClass/ldItemDatabase.class.php";
         require_once "ldItemClass/ldItemMake.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);
         $tmpResponse .= "<div style='padding: 10px;'>";
         $tmpResponse .= "<ul><li>Digite abaixo os dados do item que você deseja gerar.</li></ul><br />";
         $tmpResponse .= "<form action='?page=paneladmin&option=GOLDEN_ARCHER&action=createSerialWrite' method='post'>";
         $tmpResponse .= "<table style='width: 100%;'>";
         $tmpResponse .= "<tr><td style='width: 150px;'><strong>O serial equivale ao item:</strong></td><td><select name='item'>";
         foreach (ldItemDatabase::$dbItem as $indexCategorie => $categorie) {
             if (is_array($categorie) == false) {
                 continue;
             }
             foreach ($categorie as $indexItem => $item) {
                 $tmpResponse .= "<option value='" . $indexCategorie . "," . $indexItem . "'>" . $item["Name"] . "</option>\n";
             }
         }
         $tmpResponse .= "</select></td></tr>";
         $tmpResponse .= "<tr><td style='width: 150px;'><strong>Level:</strong></td><td><select name='itemLevel'>";
         for ($iLevel = 0; $iLevel < 16; $iLevel++) {
             $tmpResponse .= "<option value='" . $iLevel . "'>+" . $iLevel . "</option>\n";
         }
         $tmpResponse .= "</select></td></tr>";
         $tmpResponse .= "<tr><td style='width: 150px;'><strong>Adicional:</strong></td><td><select name='itemOption'>";
         for ($iOption = 0; $iOption < 8; $iOption++) {
             $tmpResponse .= "<option value='" . $iOption . "'>+" . $iOption * 4 . "</option>\n";
         }
         $tmpResponse .= "</select></td></tr>";
         $tmpResponse .= "<tr><td style='width: 150px;'><strong>Skill:</strong></td><td><input name='itemSkill' type='checkbox' value='1'></td></tr>";
         $tmpResponse .= "<tr><td style='width: 150px;'><strong>Luck:</strong></td><td><input name='itemLuck' type='checkbox' value='1'></td></tr>";
         $tmpResponse .= "<tr>\n                                    <td style='width: 150px;'><strong>Excelente:</strong></td><td>\n                                        <input name='excellent1' type='checkbox' value='1'> Opção excelente 1<br />\n                                        <input name='excellent2' type='checkbox' value='1'> Opção excelente 2<br />\n                                        <input name='excellent3' type='checkbox' value='1'> Opção excelente 3<br />\n                                        <input name='excellent4' type='checkbox' value='1'> Opção excelente 4<br />\n                                        <input name='excellent5' type='checkbox' value='1'> Opção excelente 5<br />\n                                        <input name='excellent6' type='checkbox' value='1'> Opção excelente 6\n                                    </td>\n                                 </tr>";
         $tmpResponse .= "<tr>\n                                    <td style='width: 150px;'><strong>Anciente:</strong></td><td>\n                                        <select name='ancient'>\n                                            <option value='0'>Não</option>\n                                            <option value='1'>Ancient 1</option>\n                                            <option value='2'>Ancient 2</option>\n                                        </select>\n                                    </td>\n                                 </tr>";
         $tmpResponse .= "<tr><td style='width: 150px;'><strong>Refine:</strong></td><td><input name='refine' type='checkbox' value='1'></td></tr>";
         $tmpResponse .= "<tr><td style='width: 150px;'><strong>Harmony:</strong></td><td><select name='harmony'>";
         for ($iHarmonyFamily = 1; $iHarmonyFamily < 4; $iHarmonyFamily++) {
             for ($iHarmonyType = 0; $iHarmonyType < 16; $iHarmonyType++) {
                 for ($iHarmonyLevel = 0; $iHarmonyLevel < 16; $iHarmonyLevel++) {
                     $tmpResponse .= "<option value='" . $iHarmonyType . "," . $iHarmonyLevel . "'>" . ldItemOptionsDatabase::getHarmony($iHarmonyFamily, $iHarmonyType, $iHarmonyLevel) . "</option>\n";
                 }
             }
         }
         $tmpResponse .= "</select>(Atenção para não selecionar uma opção não suportada pelo item)</td></tr>";
         $socketOptions = ldItemOptionsDatabase::getSocket();
         foreach ($socketOptions["socketTypeNumber"] as $socketType => $socket) {
             for ($socketArgs = 1; $socketArgs <= 5; $socketArgs++) {
                 if ($socketOptions["socketTypeNumber"][$socketType]["socketTypeName"] == "No socket" || $socketOptions["socketTypeNumber"][$socketType]["socketTypeName"] == "Empty socket") {
                     continue;
                 }
                 $tmpSocket[$socketArgs] .= "<option value='" . ($socketType + ($socketArgs - 1) * 50) . "'>" . $socketOptions["socketTypeNumber"][$socketType]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$socketType]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$socketType]["socketsArgs"][$socketArgs] . "</option>\n";
             }
         }
         $tmpResponse .= "<tr>\n                                    <td style='width: 150px;'><strong>Sockets:</strong></td>\n                                    <td>\n                                        Socket 1: <select name='socket1'><option value='" . $socketOptions["notSocket"] . "'>No Socket</option><option value='" . $socketOptions["emptySocket"] . "'>Empty Socket</option>{$tmpSocket[1]}</select><br />\n                                        Socket 2: <select name='socket2'><option value='" . $socketOptions["notSocket"] . "'>No Socket</option><option value='" . $socketOptions["emptySocket"] . "'>Empty Socket</option>{$tmpSocket[2]}</select><br />\n                                        Socket 3: <select name='socket3'><option value='" . $socketOptions["notSocket"] . "'>No Socket</option><option value='" . $socketOptions["emptySocket"] . "'>Empty Socket</option>{$tmpSocket[3]}</select><br />\n                                        Socket 4: <select name='socket4'><option value='" . $socketOptions["notSocket"] . "'>No Socket</option><option value='" . $socketOptions["emptySocket"] . "'>Empty Socket</option>{$tmpSocket[4]}</select><br />\n                                        Socket 5: <select name='socket5'><option value='" . $socketOptions["notSocket"] . "'>No Socket</option><option value='" . $socketOptions["emptySocket"] . "'>Empty Socket</option>{$tmpSocket[5]}</select><br />\n                                    </td>\n                                 </tr>";
         $tmpResponse .= "<tr><td colspan='2'><strong>Tenha bastante atenção ao selecionar as opções acima para não selecionar alguma opção que o item desejado não tenha suporte para a mesma dentro do jogo.</strong></td></tr>";
         $tmpResponse .= "<tr><td style='width: 150px;'><strong>Login contemplado:</strong></td><td><input name='memb___id' type='text' value='' maxlength='10'></td></tr>";
         $tmpResponse .= "<tr><td colspan='2'><input type='submit' value='Criar serial' class='button' /></td></tr>";
         $tmpResponse .= "</table>";
         $tmpResponse .= "</form>";
         $tmpResponse .= "</div>";
     } elseif ($_GET['action'] == "createSerialWrite") {
         if (empty($_POST['memb___id']) == true) {
             $tmpResponse .= "<div style='padding: 10px;'>";
             $tmpResponse .= "<ul>";
             $tmpResponse .= "<li><strong>Preencha o login corretamente!</strong></li>";
             $tmpResponse .= "</ul>";
             $tmpResponse .= "</div>";
         } else {
             $_POST['item'] = explode(",", $_POST['item']);
             $_POST['harmony'] = explode(",", $_POST['harmony']);
             $serialFinal = $this->createSerial();
             $this->query("INSERT INTO [dbo].[webGoldenArcher] ([username],[pserial1],[pserial2],[pserial3],[status],[itemCategorie],[itemIndex],[itemLevel],[itemOption],[itemSkill],[itemLuck],[excellent1],[excellent2],[excellent3],[excellent4],[excellent5],[excellent6],[ancient],[refine],[harmonyType],[harmonyLevel],[socketOp1],[socketOp2],[socketOp3],[socketOp4],[socketOp5])\n                                  VALUES\n                                       ('" . $_POST['memb___id'] . "'\n                                       ,'" . $serialFinal[0] . "'\n                                       ,'" . $serialFinal[1] . "'\n                                       ,'" . $serialFinal[2] . "'\n                                       ,0\n                                       ," . (int) $_POST['item'][0] . "\n                                       ," . (int) $_POST['item'][1] . "\n                                       ," . (int) $_POST['itemLevel'] . "\n                                       ," . (int) $_POST['itemOption'] . "\n                                       ," . (int) $_POST['itemSkill'] . "\n                                       ," . (int) $_POST['itemLuck'] . "\n                                       ," . (int) $_POST['excellent1'] . "\n                                       ," . (int) $_POST['excellent2'] . "\n                                       ," . (int) $_POST['excellent3'] . "\n                                       ," . (int) $_POST['excellent4'] . "\n                                       ," . (int) $_POST['excellent5'] . "\n                                       ," . (int) $_POST['excellent6'] . "\n                                       ," . (int) $_POST['ancient'] . "\n                                       ," . (int) $_POST['refine'] . "\n                                       ," . (int) $_POST['harmony'][0] . "\n                                       ," . (int) $_POST['harmony'][1] . "\n                                       ," . (int) $_POST['socket1'] . "\n                                       ," . (int) $_POST['socket2'] . "\n                                       ," . (int) $_POST['socket3'] . "\n                                       ," . (int) $_POST['socket4'] . "\n                                       ," . (int) $_POST['socket5'] . ")");
             $tmpResponse .= "<div style='padding: 10px;'>";
             $tmpResponse .= "<ul>";
             $tmpResponse .= "<li><strong>Serial gerado com sucesso!</strong></li>";
             $tmpResponse .= "<li>Serial: <strong>" . $serialFinal[0] . "-" . $serialFinal[1] . "-" . $serialFinal[2] . "</strong></li>";
             $tmpResponse .= "</ul>";
             $tmpResponse .= "</div>";
         }
     }
     $ldTpl->set("RESPONSE_WRITE", $tmpResponse);
 }
 public function insertItem()
 {
     global $sqlMu, $language;
     try {
         if (isset($_GET['account']) == false || empty($_GET['account']) == true) {
             throw new Exception("MNG_ACC_EV_EMPTY_FIELDS");
         }
         $checkAccount = $sqlMu->prepare("SELECT memb___id FROM [dbo].[MEMB_INFO] WHERE [memb___id] = :memb___id");
         $checkAccount->bindValue(":memb___id", $_GET['account'], sqlServerStatement::PARAM_STR);
         $checkAccount->execute();
         if ($checkAccount->rowsCount() == 0) {
             header("Location: ?call=managerAccounts&subCall=editVault");
         }
         require_once "ldItem/ldItemDatabase.class.php";
         require_once "ldItem/ldItemOptionsDatabase.class.php";
         require_once "ldItem/ldItemMake.class.php";
         require_once "ldItem/ldItemParse.class.php";
         require_once "ldItem/ldVault.class.php";
         require_once "ldItem/ldInventory.class.php";
         ldItemDatabase::setDatabases("application/", "item.txt", "class/ldItem/data/item.serialize.txt");
         if (ldItemDatabase::checkDatabaseExists() == false) {
             ldItemDatabase::createDatabase();
         }
         if (ldItemDatabase::checkDatabaseExists() == false) {
             throw new Exception("DATABASE_CANT_LOAD");
         }
         $settings = new Settings("managerAccounts");
         $this->ldVault = new ldVault($_GET['account'], $settings->dbversion);
         $this->ldVault->getVault();
         $this->ldVault->cutCode();
         $this->ldVault->structureVault();
         if ($this->ldVault->codeGroup[$_GET['slot']]['Details']['IsFree'] == false) {
             throw new Exception("Sexy.error('" . $language->sentence['MNG_ACC_EV_SEXY_HAVE_ITEM_SLOT'] . "');");
         }
         $HexItem = NULL;
         $harmony = explode(":", isset($_POST['itemHarmony']) ? $_POST['itemHarmony'] : '');
         $properties = array("Level" => $_POST['itemLevel'], "Option" => $_POST['itemOption'], "Skill" => isset($_POST['skillOp']) && $_POST['skillOp'] == 1 ? true : false, "Luck" => isset($_POST['luckOp']) && $_POST['luckOp'] == 1 ? true : false, "Serial" => isset($_POST['itemSerialText']) ? $_POST['itemSerialText'] : "FFFFFFFF", "Durability" => 255, "Excellent" => array(isset($_POST['excOp0']) && $_POST['excOp0'] == 1 ? true : false, isset($_POST['excOp1']) && $_POST['excOp1'] == 1 ? true : false, isset($_POST['excOp2']) && $_POST['excOp2'] == 1 ? true : false, isset($_POST['excOp3']) && $_POST['excOp3'] == 1 ? true : false, isset($_POST['excOp4']) && $_POST['excOp4'] == 1 ? true : false, isset($_POST['excOp5']) && $_POST['excOp5'] == 1 ? true : false), "Ancient" => isset($_POST['itemAncient']) && $_POST['itemAncient'] > -1 ? $_POST['itemAncient'] : 0, "Refine" => isset($_POST['refineOp']) && $_POST['refineOp'] == 1 ? true : false, "HarmonyType" => isset($_POST['itemHarmony']) && $_POST['itemHarmony'] > -1 ? $harmony[0] : 0, "HarmonyLevel" => isset($_POST['itemHarmony']) && $_POST['itemHarmony'] > -1 ? $harmony[1] : 0, "SocketOption" => array(isset($_POST['socketOp0']) ? $_POST['socketOp0'] : 255, isset($_POST['socketOp1']) ? $_POST['socketOp1'] : 255, isset($_POST['socketOp2']) ? $_POST['socketOp2'] : 255, isset($_POST['socketOp3']) ? $_POST['socketOp3'] : 255, isset($_POST['socketOp4']) ? $_POST['socketOp4'] : 255));
         if (ldItemMake::makeHexItem($HexItem, $_POST['itemIndex'], $_POST['itemSection'], $settings->dbversion, $properties) == false) {
             throw new Exception("Sexy.error('ItemMaker error.');");
         }
         $slot = $this->ldVault->searchSlotsInVault(ldItemDatabase::$dbItem[$_POST['itemSection']][$_POST['itemIndex']]['X'], ldItemDatabase::$dbItem[$_POST['itemSection']][$_POST['itemIndex']]['Y'], $_GET['slot']);
         if ($slot == -1) {
             $slot = $this->ldVault->searchSlotsInVault(ldItemDatabase::$dbItem[$_POST['itemSection']][$_POST['itemIndex']]['X'], ldItemDatabase::$dbItem[$_POST['itemSection']][$_POST['itemIndex']]['Y']);
             if ($slot > -1) {
                 throw new Exception("Sexy.error('" . sprintf($language->sentence['MNG_ACC_EV_SEXY_ITEM_SLOT_NO_SPACE_TRY'], $slot) . "'); \$('#slot_{$slot}').addClass('slotAttention');");
             } else {
                 throw new Exception("Sexy.error('" . $language->sentence['MNG_ACC_EV_SEXY_ITEM_SLOT_NO_SPACE'] . "');");
             }
         } else {
             $this->ldVault->insertItemInSlot($HexItem, $slot);
             $this->ldVault->writeVault(true);
             throw new Exception("\$('#slot_{$slot}').unbind('click').removeClass('slot').addClass('slotNoEmpty').width(32*" . ldItemDatabase::$dbItem[$_POST['itemSection']][$_POST['itemIndex']]['X'] . ").height( ((32*" . ldItemDatabase::$dbItem[$_POST['itemSection']][$_POST['itemIndex']]['Y'] . ")/2)+6 ).css({'padding-top': \$('#slot_{$slot}').height()-12, 'z-index': 50}).html('" . ldItemDatabase::$dbItem[$_POST['itemSection']][$_POST['itemIndex']]['Name'] . "');\n                                     \$('#slot_{$slot}').click(function(){ callModifyItem({$slot}); });\n                                     \$('.slot').removeClass('slotAttention');\n                                     var boxDetails{$slot} = \"<div class='boxDetails'>\\\n                                                <h2 " . (in_array(true, $this->ldVault->codeGroup[$slot]['Details']['ItemExcellents'], true) ? "class='Gcolor'>" . $language->sentence['MNG_ACC_EV_TOOLTIP_EXCELLENT'] . " " : ">") . "" . utf8_encode($this->ldVault->codeGroup[$slot]['Details']['ItemName']) . "</h2>\\\n                                                <p class='info'>\\\n                                                    " . $language->sentence['MNG_ACC_EV_TOOLTIP_LEVEL'] . ": +" . $this->ldVault->codeGroup[$slot]['Details']['ItemLevel'] . "<br />\\\n                                                    " . $language->sentence['MNG_ACC_EV_TOOLTIP_LUCK'] . ": " . ($this->ldVault->codeGroup[$slot]['Details']['ItemLuck'] == true ? "Sim" : "N&atilde;o") . "<br />\\\n                                                    " . $language->sentence['MNG_ACC_EV_TOOLTIP_SKILL'] . ": " . ($this->ldVault->codeGroup[$slot]['Details']['ItemSkill'] == true ? "Sim" : "N&atilde;o") . "<br />\\\n                                                    " . $language->sentence['MNG_ACC_EV_TOOLTIP_ADDITIONAL'] . ": +" . $this->ldVault->codeGroup[$slot]['Details']['ItemOption'] * 4 . "<br />\\\n                                                    " . $language->sentence['MNG_ACC_EV_TOOLTIP_DURABILITY'] . ": " . $this->ldVault->codeGroup[$slot]['Details']['ItemDurability'] . "<br />\\\n                                                    " . $language->sentence['MNG_ACC_EV_TOOLTIP_SERIAL'] . ": " . $this->ldVault->codeGroup[$slot]['Details']['ItemSerial'] . "<br />\\\n                                                    " . $language->sentence['MNG_ACC_EV_TOOLTIP_ANCIENT'] . ": " . ldItemParse::getAncientName($this->ldVault->codeGroup[$slot]['Details']['ItemAncient'], $this->ldVault->codeGroup[$slot]['Details']['ItemIdSection'], $this->ldVault->codeGroup[$slot]['Details']['ItemIdIndex']) . "\\\n                                                </p>\\\n                                                <p class='blue'>\\\n                                                   " . ($this->ldVault->codeGroup[$slot]['Details']['ItemExcellents'][5] == true ? ldItemParse::getExcellentName(5, $this->ldVault->codeGroup[$slot]['Details']['ItemIdSection'], $this->ldVault->codeGroup[$slot]['Details']['ItemIdIndex']) : "") . "\\\n                                                    " . ($this->ldVault->codeGroup[$slot]['Details']['ItemExcellents'][4] == true ? ldItemParse::getExcellentName(4, $this->ldVault->codeGroup[$slot]['Details']['ItemIdSection'], $this->ldVault->codeGroup[$slot]['Details']['ItemIdIndex']) : "") . "\\\n                                                    " . ($this->ldVault->codeGroup[$slot]['Details']['ItemExcellents'][3] == true ? ldItemParse::getExcellentName(3, $this->ldVault->codeGroup[$slot]['Details']['ItemIdSection'], $this->ldVault->codeGroup[$slot]['Details']['ItemIdIndex']) : "") . "\\\n                                                    " . ($this->ldVault->codeGroup[$slot]['Details']['ItemExcellents'][2] == true ? ldItemParse::getExcellentName(2, $this->ldVault->codeGroup[$slot]['Details']['ItemIdSection'], $this->ldVault->codeGroup[$slot]['Details']['ItemIdIndex']) : "") . "\\\n                                                    " . ($this->ldVault->codeGroup[$slot]['Details']['ItemExcellents'][1] == true ? ldItemParse::getExcellentName(1, $this->ldVault->codeGroup[$slot]['Details']['ItemIdSection'], $this->ldVault->codeGroup[$slot]['Details']['ItemIdIndex']) : "") . "\\\n                                                    " . ($this->ldVault->codeGroup[$slot]['Details']['ItemExcellents'][0] == true ? ldItemParse::getExcellentName(0, $this->ldVault->codeGroup[$slot]['Details']['ItemIdSection'], $this->ldVault->codeGroup[$slot]['Details']['ItemIdIndex']) : "") . "\\\n                                                </p>\\\n                                                " . ($this->ldVault->codeGroup[$slot]['Details']['ItemRefine'] > 0 ? "<p class='purple'>\\\n                                                    " . $language->sentence['MNG_ACC_EV_TOOLTIP_OPTION_REFINE'] . ": " . ldItemParse::getRefineName($this->ldVault->codeGroup[$slot]['Details']['ItemIdSection'], $this->ldVault->codeGroup[$slot]['Details']['ItemIdIndex']) . "\\\n                                                </p>\\" : "\\") . "\n                                                " . ($this->ldVault->codeGroup[$slot]['Details']['HarmonyType'] > 0 ? "<p class='yellow'>\\\n                                                    " . $language->sentence['MNG_ACC_EV_TOOLTIP_OPTION_HARMONY'] . ": " . ldItemParse::getHarmonyName($this->ldVault->codeGroup[$slot]['Details']['ItemIdSection'], $this->ldVault->codeGroup[$slot]['Details']['ItemIdIndex'], $this->ldVault->codeGroup[$slot]['Details']['HarmonyType'], $this->ldVault->codeGroup[$slot]['Details']['HarmonyLevel']) . "\\\n                                                </p>\\" : "\\") . "\n                                                <p class='blue'>\\\n                                                    " . $language->sentence['MNG_ACC_EV_TOOLTIP_OPTION_SOCKET'] . ":<br />\\\n                                                    1: " . ldItemParse::getSocketName(0, $this->ldVault->codeGroup[$slot]['Details']['Sockect'][0]) . "<br />\\\n                                                    2: " . ldItemParse::getSocketName(1, $this->ldVault->codeGroup[$slot]['Details']['Sockect'][1]) . "<br />\\\n                                                    3: " . ldItemParse::getSocketName(2, $this->ldVault->codeGroup[$slot]['Details']['Sockect'][2]) . "<br />\\\n                                                    4: " . ldItemParse::getSocketName(3, $this->ldVault->codeGroup[$slot]['Details']['Sockect'][3]) . "<br />\\\n                                                    5: " . ldItemParse::getSocketName(4, $this->ldVault->codeGroup[$slot]['Details']['Sockect'][4]) . "\\\n                                                </p>\\\n                                            </div>\";\n                                        \$('#slot_{$slot}').tooltip(boxDetails{$slot}, { hook: true, width: 200, mode: 'auto', tooltipClass: 'sexy-tooltipCM'});\n                                     ");
         }
     } catch (Exception $e) {
         echo "<script>" . $e->getMessage() . "</script>";
     }
 }
 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);
     }
 }