Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
 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 loadSelect()
 {
     global $sqlManager;
     try {
         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");
         }
         if (isset($_POST['type']) == true && $_POST['type'] == "item" && $_POST['value'] >= 0) {
             foreach (ldItemDatabase::$dbItem[$_POST['value']] as $item) {
                 echo "<option value='{$item["Index"]}'>{$item["Name"]}</option>";
             }
         } elseif (isset($_POST['type']) == true && $_POST['type'] == "details") {
             $jqueryTemp = NULL;
             $jqueryTemp .= "\$('#excText5').html('" . ldItemOptionsDatabase::getExcellents($_POST['section'], $_POST['index'])->opt5 . "');";
             $jqueryTemp .= "\$('#excText4').html('" . ldItemOptionsDatabase::getExcellents($_POST['section'], $_POST['index'])->opt4 . "');";
             $jqueryTemp .= "\$('#excText3').html('" . ldItemOptionsDatabase::getExcellents($_POST['section'], $_POST['index'])->opt3 . "');";
             $jqueryTemp .= "\$('#excText2').html('" . ldItemOptionsDatabase::getExcellents($_POST['section'], $_POST['index'])->opt2 . "');";
             $jqueryTemp .= "\$('#excText1').html('" . ldItemOptionsDatabase::getExcellents($_POST['section'], $_POST['index'])->opt1 . "');";
             $jqueryTemp .= "\$('#excText0').html('" . ldItemOptionsDatabase::getExcellents($_POST['section'], $_POST['index'])->opt0 . "');";
             for ($i = 0; $i < 16; $i++) {
                 for ($il = 0; $il < 16; $il++) {
                     $tempOption = ldItemOptionsDatabase::getHarmony($_POST['section'], $i, $il);
                     if (substr($tempOption, 0, 9) == "No option") {
                         continue;
                     }
                     $optHarmony .= "<option value=\\'" . $i . ":" . $il . "\\'>" . $tempOption . "</option>\\n";
                 }
             }
             $jqueryTemp .= "\$('#itemHarmony').html('<option value=\\'-1\\'>No effect</option>{$optHarmony}');";
             $optionSocket = array(NULL, NULL, NULL, NULL, NULL);
             $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;
                     }
                     $optionSocket[$socketArgs] .= "<option value=\\'" . ($socketType + ($socketArgs - 1) * 50) . "\\'>" . $socketOptions["socketTypeNumber"][$socketType]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$socketType]["socketName"] . " + " . $socketOptions["socketTypeNumber"][$socketType]["socketsArgs"][$socketArgs] . "</option>";
                 }
             }
             $jqueryTemp .= "\$('#socketOp0').html('<option value=\\'255\\'>No Socket Option</option><option value=\\'254\\'>Avaliable slot</option>{$optionSocket[1]}');";
             $jqueryTemp .= "\$('#socketOp1').html('<option value=\\'255\\'>No Socket Option</option><option value=\\'254\\'>Avaliable slot</option>{$optionSocket[2]}');";
             $jqueryTemp .= "\$('#socketOp2').html('<option value=\\'255\\'>No Socket Option</option><option value=\\'254\\'>Avaliable slot</option>{$optionSocket[3]}');";
             $jqueryTemp .= "\$('#socketOp3').html('<option value=\\'255\\'>No Socket Option</option><option value=\\'254\\'>Avaliable slot</option>{$optionSocket[4]}');";
             $jqueryTemp .= "\$('#socketOp4').html('<option value=\\'255\\'>No Socket Option</option><option value=\\'254\\'>Avaliable slot</option>{$optionSocket[5]}');";
             $jqueryTemp .= "\$('#refineText').html('" . ldItemOptionsDatabase::getRefine($_POST['section'], $_POST['index'])->opt0 . " / " . ldItemOptionsDatabase::getRefine($_POST['section'], $_POST['index'])->opt1 . "');";
             echo "<script type=\"text/javascript\">\n                       \$(document).ready(function(){\n                            {$jqueryTemp}\n                       });\n                      </script>";
         } else {
             throw new Exception("Error");
         }
     } catch (Exception $e) {
         echo $e->getMessage();
     }
 }
 /**
  * @desc get socket option name from database.
  * @return null.
  */
 public static function getSocketName($level, $socket)
 {
     switch ($socket) {
         case 255:
             return "No Socket Option";
         case 254:
             return "Avaliable";
     }
     $socketOptions = ldItemOptionsDatabase::getSocket();
     return $socketOptions["socketTypeNumber"][$socket % 0x32]["socketTypeName"] . ": " . $socketOptions["socketTypeNumber"][$socket % 0x32]["socketName"] . " +" . $socketOptions["socketTypeNumber"][$socket % 0x32]["socketsArgs"][$level + 1];
 }