Esempio n. 1
0
function bbcode_callbacks_wow($item)
{
    global $item_datasite;
    wowhead_tt();
    require_once "scripts/id_tab.php";
    require_once "scripts/get_lib.php";
    return "<a href=\"{$item_datasite}{$item[1]}\" target=\"_blank\"\r\nonmouseover=\"toolTip('" . addslashes(get_item_tooltip($item[1])) . "','item_tooltip')\" onmouseout=\"toolTip()\">\r\n<img src=\"" . get_item_icon($item[1]) . "\" class=\"icon_border\" alt=\"\" /></a>";
}
Esempio n. 2
0
 function reverse_ids()
 {
     $this->item = get_item_name($this->item_id);
     $this->icon = get_item_icon($this->item_id);
     if (is_null($this->icon) || $this->icon == "") {
         # if no icon, use the ? icon
         $this->icon = "07_15";
     }
 }
Esempio n. 3
0
function bbcode_callbacks_wow($item)
{
    global $base_datasite, $item_datasite;
    wowhead_tt();
    require_once "scripts/id_tab.php";
    require_once "scripts/get_lib.php";
    return '
    <a href="' . $base_datasite . $item_datasite . $item[1] . '" target="_blank" onmouseover="oldtoolTip(\'' . addslashes(get_item_tooltip($item[1])) . '\',\'old_item_tooltip\')" onmouseout="oldtoolTip()">
      <img src="' . get_item_icon($item[1]) . '" class="icon_border" alt="" />
    </a>';
}
Esempio n. 4
0
function edit()
{
    global $output, $world_db, $realm_id, $item_datasite, $lang_id_tab, $quest_datasite, $action_permission, $user_lvl, $creature_datasite, $sqlw;
    //wowhead_tt();
    valid_login($action_permission['view']);
    if (!isset($_GET['entry'])) {
        redirect("item.php?error=1");
    }
    /*$sql = new SQL;
     $sql->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);*/
    $entry = $sqlw->quote_smart($_GET['entry']);
    $deplang = get_lang_id();
    // this_is_junk: ArcEmu stores the quantity you get when you buy an item in the vendors table
    //               Both MaNGOS databases that I have (UDB 371 and YTDB 507 have ZERO items with requiredhonorrank that is not ZERO.
    //               Same for requiredcityrank.
    //               I don't know what socketcontent_* does in MaNGOS, it's ZERO unless it equals socketcolor_*
    //                  which is probably why ArcEmu has Unknown columns after each socket_color_* field.
    //               ArcEmu doesn't have a scriptname field.
    //               ArcEmu doesn't seem to have a field like DisenchantID
    //               I'm not sure what minmoneyloot and maxmoneyloot actually do.
    //$result = $sql->query("SELECT `items`.`entry`,`class`,`subclass`,`field4`,IFNULL(".($deplang<>0?"name_loc$deplang":"NULL").",`name1`) as name,`displayid`,`Quality`,`Flags`,`BuyPrice`,`SellPrice`,`InventoryType`,`AllowableClass`,`AllowableRace`,`ItemLevel`,`RequiredLevel`,`RequiredSkill`,`RequiredSkillRank`,`requiredspell`,`RequiredFaction`,`RequiredFactionStanding`,`unique`,`maxcount`,`ContainerSlots`,`stat_type1`,`stat_value1`,`stat_type2`,`stat_value2`,`stat_type3`,`stat_value3`,`stat_type4`,`stat_value4`,`stat_type5`,`stat_value5`,`stat_type6`,`stat_value6`,`stat_type7`,`stat_value7`,`stat_type8`,`stat_value8`,`stat_type9`,`stat_value9`,`stat_type10`,`stat_value10`,`dmg_min1`,`dmg_max1`,`dmg_type1`,`dmg_min2`,`dmg_max2`,`dmg_type2`,`armor`,`holy_res`,`fire_res`,`nature_res`,`frost_res`,`shadow_res`,`arcane_res`,`delay`,`ammo_type`,`Range`,`spellid_1`,`spelltrigger_1`,`spellcharges_1`,`spellcooldown_1`,`spellcategory_1`,`spellcategorycooldown_1`,`spellid_2`,`spelltrigger_2`,`spellcharges_2`,`spellcooldown_2`,`spellcategory_2`,`spellcategorycooldown_2`,`spellid_3`,`spelltrigger_3`,`spellcharges_3`,`spellcooldown_3`,`spellcategory_3`,`spellcategorycooldown_3`,`spellid_4`,`spelltrigger_4`,`spellcharges_4`,`spellcooldown_4`,`spellcategory_4`,`spellcategorycooldown_4`,`spellid_5`,`spelltrigger_5`,`spellcharges_5`,`spellcooldown_5`,`spellcategory_5`,`spellcategorycooldown_5`,`bonding`,items.`description`,`Page_id`,`Page_language`,`Page_Material`,`quest_id`,`lock_id`,`lock_Material`,`sheathid`,`RandomProp`,`RandomSuffix`,`block`,`itemset`,`MaxDurability`,`zonenameid`,`Mapid`,`BagFamily`,`TotemCategory`,`socket_Color_1`,`socket_Color_2`,`socket_Color_3`,`socket_Bonus`,`GemProperties`,`ReqDisenchantSkill`,`ArmorDamageModifier`,itempetfood.`Food_Type` FROM items LEFT JOIN items_localized ON items.entry = items_localized.entry LEFT JOIN itempetfood ON items.entry = itempetfood.entry WHERE items.entry = '$entry'");
    $result = $sqlw->query("SELECT `items`.`entry`,`class`,`subclass`,`field4`,`name1`,`displayid`,`Quality`,`Flags`,`BuyPrice`,`SellPrice`,`InventoryType`,`AllowableClass`,`AllowableRace`,`ItemLevel`,`RequiredLevel`,`RequiredSkill`,`RequiredSkillRank`,`requiredspell`,`RequiredFaction`,`RequiredFactionStanding`,`unique`,`maxcount`,`ContainerSlots`,`stat_type1`,`stat_value1`,`stat_type2`,`stat_value2`,`stat_type3`,`stat_value3`,`stat_type4`,`stat_value4`,`stat_type5`,`stat_value5`,`stat_type6`,`stat_value6`,`stat_type7`,`stat_value7`,`stat_type8`,`stat_value8`,`stat_type9`,`stat_value9`,`stat_type10`,`stat_value10`,`dmg_min1`,`dmg_max1`,`dmg_type1`,`dmg_min2`,`dmg_max2`,`dmg_type2`,`armor`,`holy_res`,`fire_res`,`nature_res`,`frost_res`,`shadow_res`,`arcane_res`,`delay`,`ammo_type`,`Range`,`spellid_1`,`spelltrigger_1`,`spellcharges_1`,`spellcooldown_1`,`spellcategory_1`,`spellcategorycooldown_1`,`spellid_2`,`spelltrigger_2`,`spellcharges_2`,`spellcooldown_2`,`spellcategory_2`,`spellcategorycooldown_2`,`spellid_3`,`spelltrigger_3`,`spellcharges_3`,`spellcooldown_3`,`spellcategory_3`,`spellcategorycooldown_3`,`spellid_4`,`spelltrigger_4`,`spellcharges_4`,`spellcooldown_4`,`spellcategory_4`,`spellcategorycooldown_4`,`spellid_5`,`spelltrigger_5`,`spellcharges_5`,`spellcooldown_5`,`spellcategory_5`,`spellcategorycooldown_5`,`bonding`,items.`description`,`Page_id`,`Page_language`,`Page_Material`,`quest_id`,`lock_id`,`lock_Material`,`sheathid`,`RandomProp`,`RandomSuffix`,`block`,`itemset`,`MaxDurability`,`zonenameid`,`Mapid`,`BagFamily`,`TotemCategory`,`socket_Color_1`,`socket_Color_2`,`socket_Color_3`,`socket_Bonus`,`GemProperties`,`ReqDisenchantSkill`,`ArmorDamageModifier` FROM items WHERE items.entry = '{$entry}'");
    if ($result) {
        $item = $sqlw->fetch_assoc($result);
        require_once "libs/get_lib.php";
        //$tooltip = get_item_tooltip($entry);
        $output .= "<script type=\"text/javascript\" src=\"libs/js/tab.js\"></script>\r\n   <center>\r\n    <br /><br /><br />\r\n    <form method=\"post\" action=\"item.php?action=do_update\" name=\"form1\">\r\n    <input type=\"hidden\" name=\"backup_op\" value=\"0\"/>\r\n    <input type=\"hidden\" name=\"type\" value=\"edit\"/>\r\n    <input type=\"hidden\" name=\"entry\" value=\"{$entry}\"/>\r\n\r\n<div class=\"jtab-container\" id=\"container\">\r\n  <ul class=\"jtabs\">\r\n    <li><a href=\"#\" onclick=\"return showPane('pane1', this)\" id=\"tab1\">" . lang('item_edit', 'general_tab') . "</a></li>\r\n    <li><a href=\"#\" onclick=\"return showPane('pane2', this)\">" . lang('item_edit', 'additional_tab') . "</a></li>\r\n    <li><a href=\"#\" onclick=\"return showPane('pane3', this)\">" . lang('item_edit', 'stats_tab') . "</a></li>\r\n  <li><a href=\"#\" onclick=\"return showPane('pane4', this)\">" . lang('item_edit', 'damage_tab') . "</a></li>\r\n  <li><a href=\"#\" onclick=\"return showPane('pane5', this)\">" . lang('item_edit', 'spell_tab') . "</a></li>\r\n  <li><a href=\"#\" onclick=\"return showPane('pane7', this)\">" . lang('item_edit', 'sock_tab') . "</a></li>\r\n  <li><a href=\"#\" onclick=\"return showPane('pane6', this)\">" . lang('item_edit', 'req_tab') . "</a></li>\r\n  <li><a href=\"#\" onclick=\"return showPane('pane8', this)\">" . lang('item_edit', 'info') . "</a></li>";
        if ($item['DisenchantID']) {
            $output .= "<li><a href=\"#\" onclick=\"return showPane('pane9', this)\">" . lang('item_edit', 'disenchant_tab') . "</a></li>";
        }
        $output .= "</ul>\r\n  <div class=\"jtab-panes\">";
        $output .= "<div id=\"pane1\">\r\n    <br /><br />\r\n<table class=\"lined\" style=\"width: 720px;\">\r\n<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'general') . ":</td></tr>\r\n<tr>\r\n <td>" . makeinfocell(lang('item_edit', 'entry'), lang('item_edit', 'entry_desc')) . "</td>\r\n <td>";
        // this_is_junk: I re-enabled display of item ID, even if it isn't guaranteed to work with wowhead. :P
        $output .= maketooltip($entry, "{$item_datasite}{$entry}", $tooltip, "item_tooltip");
        $output .= "</td>\r\n <td>" . makeinfocell(lang('item_edit', 'display_id'), lang('item_edit', 'display_id_desc')) . "</td>\r\n <td><input type=\"text\" name=\"displayid\" size=\"8\" maxlength=\"11\" value=\"{$item['displayid']}\" /></td>\r\n\r\n <td>" . makeinfocell(lang('item_edit', 'req_level'), lang('item_edit', 'req_level_desc')) . "</td>\r\n <td><input type=\"text\" name=\"RequiredLevel\" size=\"8\" maxlength=\"4\" value=\"{$item['RequiredLevel']}\" /></td>\r\n\r\n <td>" . makeinfocell(lang('item_edit', 'item_level'), lang('item_edit', 'item_level_desc')) . "</td>\r\n <td><input type=\"text\" name=\"ItemLevel\" size=\"8\" maxlength=\"4\" value=\"{$item['ItemLevel']}\" /></td>\r\n</tr>\r\n\r\n<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'names') . ":</td></tr>\r\n<tr>\r\n <td>" . makeinfocell(lang('item_edit', 'item_name'), lang('item_edit', 'item_name_desc')) . "</td>\r\n <td colspan=\"3\"><input type=\"text\" name=\"name\" size=\"30\" maxlength=\"225\" value=\"" . htmlentities($item['name1']) . "\" /></td>\r\n\r\n <td>" . makeinfocell(lang('item_edit', 'description'), lang('item_edit', 'description_desc')) . "</td>\r\n <td colspan=\"3\"><input type=\"text\" name=\"description\" size=\"30\" maxlength=\"225\" value=\"" . htmlentities($item['description']) . "\" /></td>\r\n</tr>\r\n\r\n<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'type') . ":</td></tr>\r\n   <tr>";
        $class = array(0 => "", 1 => "", 2 => "", 4 => "", 5 => "", 6 => "", 7 => "", 9 => "", 11 => "", 12 => "", 13 => "", 14 => "", 15 => "");
        $class[$item['class']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'class'), lang('item_edit', 'class_desc')) . "</td>\r\n  <td colspan=\"3\"><select name=\"class\">\r\n    <option value=\"0\" {$class[0]}>0 - " . lang('item', 'consumable') . "</option>\r\n    <option value=\"1\" {$class[1]}>1 - " . lang('item', 'bag') . "</option>\r\n    <option value=\"2\" {$class[2]}>2 - " . lang('item', 'weapon') . "</option>\r\n    <option value=\"4\" {$class[4]}>4 - " . lang('item', 'armor') . "</option>\r\n    <option value=\"5\" {$class[5]}>5 - " . lang('item', 'reagent') . "</option>\r\n    <option value=\"6\" {$class[6]}>6 - " . lang('item', 'projectile') . "</option>\r\n    <option value=\"7\" {$class[7]}>7 - " . lang('item', 'trade_goods') . "s</option>\r\n    <option value=\"9\" {$class[9]}>9 - " . lang('item', 'recipe') . "</option>\r\n    <option value=\"11\" {$class[11]}>11 - " . lang('item', 'quiver') . "</option>\r\n    <option value=\"12\" {$class[12]}>12 - " . lang('item', 'quest') . "</option>\r\n    <option value=\"13\" {$class[13]}>13 - " . lang('item', 'key') . "</option>\r\n    <option value=\"14\" {$class[14]}>14 - " . lang('item', 'permanent') . "</option>\r\n    <option value=\"15\" {$class[15]}>15 - " . lang('item', 'misc_short') . "</option>\r\n     </select></td>";
        unset($class);
        $subclass = array(0 => array(0 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => ""), 1 => array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => ""), 2 => array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "", 8 => "", 10 => "", 11 => "", 12 => "", 13 => "", 14 => "", 15 => "", 16 => "", 17 => "", 18 => "", 19 => "", 20 => ""), 4 => array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "", 8 => "", 9 => ""), 6 => array(2 => "", 3 => ""), 7 => array(0 => "", 1 => "", 2 => "", 3 => ""), 9 => array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "", 8 => "", 9 => "", 10 => ""), 11 => array(2 => "", 3 => ""), 13 => array(0 => "", 1 => ""));
        $subclass[$item['class']][$item['subclass']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'subclass'), lang('item_edit', 'subclass_desc')) . "</td>\r\n  <td colspan=\"3\"><select name=\"subclass\">\r\n    <option value=\"0\" {$subclass[0][0]}>0 - " . lang('item', 'none') . "</option>\r\n    <optgroup label=\"Class 0: " . lang('item', 'consumable') . "\">\r\n    <option value=\"0\" {$subclass[0][0]}>0 - " . lang('item', 'consumable') . "</option>\r\n    <option value=\"3\" {$subclass[0][3]}>3 - " . lang('item', 'potion') . "</option>\r\n    <option value=\"4\" {$subclass[0][4]}>4 - " . lang('item', 'scroll') . "</option>\r\n    <option value=\"5\" {$subclass[0][5]}>5 - " . lang('item', 'bandage') . "</option>\r\n    <option value=\"6\" {$subclass[0][6]}>6 - " . lang('item', 'healthstone') . "</option>\r\n    <option value=\"7\" {$subclass[0][7]}>7 - " . lang('item', 'combat_effect') . "</option>\r\n  <optgroup label=\"Class 1: " . lang('item', 'bag') . "\">\r\n    <option value=\"0\" {$subclass[1][0]}>0 - " . lang('item', 'bag') . "</option>\r\n    <option value=\"1\" {$subclass[1][1]}>1 - " . lang('item', 'soul_shards') . "</option>\r\n    <option value=\"2\" {$subclass[1][2]}>2 - " . lang('item', 'herbs') . "</option>\r\n    <option value=\"3\" {$subclass[1][3]}>3 - " . lang('item', 'enchanting') . "</option>\r\n    <option value=\"4\" {$subclass[1][4]}>4 - " . lang('item', 'engineering') . "</option>\r\n    <option value=\"5\" {$subclass[1][5]}>5 - " . lang('item', 'gems') . "</option>\r\n    <option value=\"6\" {$subclass[1][6]}>6 - " . lang('item', 'mining') . "</option>\r\n  <optgroup label=\"Class 2: " . lang('item', 'weapon') . "\">\r\n    <option value=\"0\" {$subclass[2][0]}>0 - " . lang('item', 'axe_1h') . "</option>\r\n    <option value=\"1\" {$subclass[2][2]}>1 - " . lang('item', 'axe_2h') . "</option>\r\n    <option value=\"2\" {$subclass[2][2]}>2 - " . lang('item', 'bow') . "</option>\r\n    <option value=\"3\" {$subclass[2][2]}>3 - " . lang('item', 'rifle') . "</option>\r\n    <option value=\"4\" {$subclass[2][4]}>4 - " . lang('item', 'mace_1h') . "</option>\r\n    <option value=\"5\" {$subclass[2][5]}>5 - " . lang('item', 'mace_2h') . "</option>\r\n    <option value=\"6\" {$subclass[2][6]}>6 - " . lang('item', 'polearm') . "</option>\r\n    <option value=\"7\" {$subclass[2][7]}>7 - " . lang('item', 'sword_1h') . "</option>\r\n    <option value=\"8\" {$subclass[2][8]}>8 - " . lang('item', 'sword_2h') . "</option>\r\n    <option value=\"10\" {$subclass[2][10]}>10 - " . lang('item', 'staff') . "</option>\r\n    <option value=\"11\" {$subclass[2][11]}>11 - " . lang('item', 'exotic_1h') . "</option>\r\n    <option value=\"12\" {$subclass[2][12]}>12 - " . lang('item', 'exotic_2h') . "</option>\r\n    <option value=\"13\" {$subclass[2][13]}>13 - " . lang('item', 'fist_weapon') . "</option>\r\n    <option value=\"14\" {$subclass[2][14]}>14 - " . lang('item', 'misc_weapon') . "</option>\r\n    <option value=\"15\" {$subclass[2][15]}>15 - " . lang('item', 'dagger') . "</option>\r\n    <option value=\"16\" {$subclass[2][16]}>16 - " . lang('item', 'thrown') . "</option>\r\n    <option value=\"17\" {$subclass[2][17]}>17 - " . lang('item', 'spear') . "</option>\r\n    <option value=\"18\" {$subclass[2][18]}>18 - " . lang('item', 'crossbow') . "</option>\r\n    <option value=\"19\" {$subclass[2][19]}>19 - " . lang('item', 'wand') . "</option>\r\n    <option value=\"20\" {$subclass[2][20]}>20 - " . lang('item', 'fishing_pole') . "</option>\r\n  </optgroup>\r\n  <optgroup label=\"Class 4: " . lang('item', 'armor') . "\">\r\n    <option value=\"0\" {$subclass[4][0]}>0 - " . lang('item', 'misc') . "</option>\r\n    <option value=\"1\" {$subclass[4][1]}>1 - " . lang('item', 'cloth') . "</option>\r\n    <option value=\"2\" {$subclass[4][2]}>2 - " . lang('item', 'leather') . "</option>\r\n    <option value=\"3\" {$subclass[4][3]}>3 - " . lang('item', 'mail') . "</option>\r\n    <option value=\"4\" {$subclass[4][4]}>4 - " . lang('item', 'plate') . "</option>\r\n    <option value=\"5\" {$subclass[4][5]}>5 - " . lang('item', 'buckler') . "</option>\r\n    <option value=\"6\" {$subclass[4][6]}>6 - " . lang('item', 'shield') . "</option>\r\n    <option value=\"7\" {$subclass[4][7]}>7 - " . lang('item', 'libram') . "</option>\r\n    <option value=\"8\" {$subclass[4][8]}>8 - " . lang('item', 'idol') . "</option>\r\n    <option value=\"9\" {$subclass[4][9]}>9 - " . lang('item', 'totem') . "</option>\r\n  </optgroup>\r\n  <optgroup label=\"Class 6: " . lang('item', 'projectile') . "\">\r\n    <option value=\"2\" {$subclass[6][2]}>2 - " . lang('item', 'arrows') . "</option>\r\n    <option value=\"3\" {$subclass[6][3]}>3 - " . lang('item', 'bullets') . "</option>\r\n  </optgroup>\r\n  <optgroup label=\"Class 7: " . lang('item', 'trade_goods') . "\">\r\n    <option value=\"0\" {$subclass[7][0]}>0 - " . lang('item', 'trade_goods') . "</option>\r\n    <option value=\"1\" {$subclass[7][1]}>1 - " . lang('item', 'parts') . "</option>\r\n    <option value=\"2\" {$subclass[7][2]}>2 - " . lang('item', 'explosives') . "</option>\r\n    <option value=\"3\" {$subclass[7][3]}>3 - " . lang('item', 'devices') . "</option>\r\n  </optgroup>\r\n  <optgroup label=\"Class 9: " . lang('item', 'recipe') . "\">\r\n    <option value=\"0\" {$subclass[9][0]}>0 - " . lang('item', 'book') . "</option>\r\n    <option value=\"1\" {$subclass[9][1]}>1 - " . lang('item', 'LW_pattern') . "</option>\r\n    <option value=\"2\" {$subclass[9][2]}>2 - " . lang('item', 'tailoring_pattern') . "</option>\r\n    <option value=\"3\" {$subclass[9][3]}>3 - " . lang('item', 'ENG_Schematic') . "</option>\r\n    <option value=\"4\" {$subclass[9][4]}>4 - " . lang('item', 'BS_plans') . "</option>\r\n    <option value=\"5\" {$subclass[9][5]}>5 - " . lang('item', 'cooking_recipe') . "</option>\r\n    <option value=\"6\" {$subclass[9][6]}>6 - " . lang('item', 'alchemy_recipe') . "</option>\r\n    <option value=\"7\" {$subclass[9][7]}>7 - " . lang('item', 'FA_manual') . "</option>\r\n    <option value=\"8\" {$subclass[9][8]}>8 - " . lang('item', 'ench_formula') . "</option>\r\n    <option value=\"9\" {$subclass[9][9]}>9 - " . lang('item', 'fishing_manual') . "</option>\r\n    <option value=\"10\" {$subclass[9][10]}>10 - " . lang('item', 'JC_formula') . "</option>\r\n  </optgroup>\r\n  <optgroup label=\"Class 11: " . lang('item', 'quiver') . "\">\r\n    <option value=\"2\" {$subclass[11][2]}>2 - " . lang('item', 'quiver') . "</option>\r\n    <option value=\"3\" {$subclass[11][3]}>3 - " . lang('item', 'ammo_pouch') . "</option>\r\n  </optgroup>\r\n  <optgroup label=\"Class 13: " . lang('item', 'key') . "\">\r\n    <option value=\"0\" {$subclass[13][0]}>0 - " . lang('item', 'key') . "</option>\r\n    <option value=\"1\" {$subclass[13][1]}>1 - " . lang('item', 'lockpick') . "</option>\r\n  </optgroup>\r\n </select></td>\r\n</tr>\r\n<tr>";
        unset($subclass);
        $quality = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "");
        $quality[$item['Quality']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'quality'), lang('item_edit', 'quality_desc')) . "</td>\r\n   <td colspan=\"2\"><select name=\"Quality\">\r\n    <option value=\"0\" {$quality[0]}>0 - " . lang('item', 'poor') . "</option>\r\n    <option value=\"1\" {$quality[1]}>1 - " . lang('item', 'common') . "</option>\r\n    <option value=\"2\" {$quality[2]}>2 - " . lang('item', 'uncommon') . "</option>\r\n    <option value=\"3\" {$quality[3]}>3 - " . lang('item', 'rare') . "</option>\r\n    <option value=\"4\" {$quality[4]}>4 - " . lang('item', 'epic') . "</option>\r\n    <option value=\"5\" {$quality[5]}>5 - " . lang('item', 'legendary') . "</option>\r\n    <option value=\"6\" {$quality[6]}>6 - " . lang('item', 'artifact') . "</option>\r\n    <option value=\"7\" {$quality[7]}>7 - " . lang('item', 'heirloom') . "</option>\r\n     </select></td>";
        unset($quality);
        $inv_type = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "", 8 => "", 9 => "", 10 => "", 11 => "", 12 => "", 13 => "", 14 => "", 15 => "", 16 => "", 17 => "", 18 => "", 19 => "", 20 => "", 21 => "", 22 => "", 23 => "", 24 => "", 25 => "", 26 => "");
        $inv_type[$item['InventoryType']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'inv_type'), lang('item_edit', 'inv_type_desc')) . "</td>\r\n    <td colspan=\"2\"><select name=\"InventoryType\">\r\n    <option value=\"0\" {$inv_type[0]}>0 - " . lang('item', 'other') . "</option>\r\n    <option value=\"1\" {$inv_type[1]}>1 - " . lang('item', 'head') . "</option>\r\n    <option value=\"2\" {$inv_type[2]}>2 - " . lang('item', 'neck') . "</option>\r\n    <option value=\"3\" {$inv_type[3]}>3 - " . lang('item', 'shoulder') . "</option>\r\n    <option value=\"4\" {$inv_type[4]}>4 - " . lang('item', 'shirt') . "</option>\r\n    <option value=\"5\" {$inv_type[5]}>5 - " . lang('item', 'chest') . "</option>\r\n    <option value=\"6\" {$inv_type[6]}>6 - " . lang('item', 'belt') . "</option>\r\n    <option value=\"7\" {$inv_type[7]}>7 - " . lang('item', 'legs') . "</option>\r\n    <option value=\"8\" {$inv_type[8]}>8 - " . lang('item', 'feet') . "</option>\r\n    <option value=\"9\" {$inv_type[9]}>9 - " . lang('item', 'belt') . "</option>\r\n    <option value=\"10\" {$inv_type[10]}>10 - " . lang('item', 'gloves') . "</option>\r\n    <option value=\"11\" {$inv_type[11]}>11 - " . lang('item', 'finger') . "</option>\r\n    <option value=\"12\" {$inv_type[12]}>12 - " . lang('item', 'trinket') . "</option>\r\n    <option value=\"13\" {$inv_type[13]}>13 - " . lang('item', 'one_hand') . "</option>\r\n    <option value=\"14\" {$inv_type[14]}>14 - " . lang('item', 'off_hand') . "</option>\r\n    <option value=\"15\" {$inv_type[15]}>15 - " . lang('item', 'bow') . "</option>\r\n    <option value=\"16\" {$inv_type[16]}>16 - " . lang('item', 'back') . "</option>\r\n    <option value=\"17\" {$inv_type[17]}>17 - " . lang('item', 'two_hand') . "</option>\r\n    <option value=\"18\" {$inv_type[18]}>18 - " . lang('item', 'bag') . "</option>\r\n    <option value=\"19\" {$inv_type[19]}>19 - " . lang('item', 'tabard') . "</option>\r\n    <option value=\"20\" {$inv_type[20]}>20 - " . lang('item', 'robe') . "</option>\r\n    <option value=\"21\" {$inv_type[21]}>21 - " . lang('item', 'main_hand') . "</option>\r\n    <option value=\"22\" {$inv_type[22]}>22 - " . lang('item', 'off_misc') . "</option>\r\n    <option value=\"23\" {$inv_type[23]}>23 - " . lang('item', 'tome') . "</option>\r\n    <option value=\"24\" {$inv_type[24]}>24 - " . lang('item', 'projectile') . "</option>\r\n    <option value=\"25\" {$inv_type[25]}>25 - " . lang('item', 'thrown') . "</option>\r\n    <option value=\"26\" {$inv_type[26]}>26 - " . lang('item', 'rifle') . "</option>\r\n     </select></td>\r\n\r\n     <td>" . makeinfocell(lang('item_edit', 'flags'), lang('item_edit', 'flags_desc')) . "</td>\r\n     <td><input type=\"text\" name=\"Flags\" size=\"10\" maxlength=\"30\" value=\"{$item['Flags']}\" /></td>\r\n     </tr>\r\n\r\n     <tr>\r\n     <td>" . makeinfocell(lang('item_edit', 'item_set'), lang('item_edit', 'item_set_desc')) . "</td>\r\n     <td><input type=\"text\" name=\"itemset\" size=\"10\" maxlength=\"30\" value=\"{$item['itemset']}\" /></td>";
        unset($inv_type);
        $bonding = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "");
        $bonding[$item['bonding']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'bonding'), lang('item_edit', 'bonding_desc')) . "</td>\r\n   <td colspan=\"3\"><select name=\"bonding\">\r\n    <option value=\"0\" {$bonding[0]}>0 - " . lang('item', 'no_bind') . "</option>\r\n    <option value=\"1\" {$bonding[1]}>1 - " . lang('item', 'bop') . "</option>\r\n    <option value=\"2\" {$bonding[2]}>2 - " . lang('item', 'boe') . "</option>\r\n    <option value=\"3\" {$bonding[3]}>3 - " . lang('item', 'bou') . "</option>\r\n    <option value=\"4\" {$bonding[4]}>4 - " . lang('item', 'quest_item') . "</option>\r\n    <option value=\"5\" {$bonding[5]}>5 - " . lang('item', 'quest_item') . "1</option>\r\n     </select></td>\r\n\r\n<td>" . makeinfocell(lang('item_edit', 'start_quest'), lang('item_edit', 'start_quest_desc')) . "</td>\r\n<td><input type=\"text\" name=\"startquest\" size=\"10\" maxlength=\"30\" value=\"{$item['quest_id']}\" /></td>\r\n\r\n</tr>\r\n</table>\r\n<br />" . lang('item_edit', 'short_rules_desc') . "<br /><br />\r\n</div>";
        unset($bonding);
        $split_buy = substr($item['BuyPrice'], 0, -4) . " " . substr($item['BuyPrice'], -4, 2) . " " . substr($item['BuyPrice'], -2) . "";
        $split_sell = substr($item['SellPrice'], 0, -4) . " " . substr($item['SellPrice'], -4, 2) . " " . substr($item['SellPrice'], -2) . "";
        $output .= "<div id=\"pane2\">\r\n  <br /><br /><table class=\"lined\" style=\"width: 720px;\">\r\n  <tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'vendor') . ":</td></tr>\r\n  <tr>\r\n   <td>" . makeinfocell(lang('item_edit', 'buy_price'), lang('item_edit', 'buy_price_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"BuyPrice\" size=\"8\" maxlength=\"30\" value=\"{$split_buy}\" /></td>\r\n   <td>" . makeinfocell(lang('item_edit', 'sell_price'), lang('item_edit', 'sell_price_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"SellPrice\" size=\"8\" maxlength=\"30\" value=\"{$split_sell}\" /></td>\r\n   <td></td><td></td>\r\n   <td></td><td></td>\r\n  </tr>\r\n\r\n  <tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'container') . ":</td></tr>\r\n  <tr>\r\n\r\n    <td>" . makeinfocell(lang('item_edit', 'max_count'), lang('item_edit', 'max_count_desc')) . "</td>\r\n    <td><input type=\"text\" name=\"maxcount\" size=\"6\" maxlength=\"5\" value=\"{$item['maxcount']}\" /></td>\r\n\r\n    <td>" . makeinfocell(lang('item_edit', 'bag_family'), lang('item_edit', 'bag_family_desc')) . "</td>";
        $bagfamily = array(0 => "", 1 => "", 2 => "", 3 => "", 6 => "", 7 => "", 8 => "", 9 => "", 10 => "", 12 => "");
        $bagfamily[$item['BagFamily']] = " selected=\"selected\" ";
        $output .= "<td><select name=\"BagFamily\">\r\n    <option value=\"0\" {$bagfamily[0]}>0 - " . lang('item', 'none') . "</option>\r\n    <option value=\"1\" {$bagfamily[1]}>1 - " . lang('item', 'arrows') . "</option>\r\n    <option value=\"2\" {$bagfamily[2]}>2 - " . lang('item', 'bullets') . "</option>\r\n    <option value=\"3\" {$bagfamily[3]}>3 - " . lang('item', 'soul_shards') . "</option>\r\n    <option value=\"6\" {$bagfamily[6]}>6 - " . lang('item', 'herbs') . "</option>\r\n    <option value=\"7\" {$bagfamily[7]}>7 - " . lang('item', 'enchanting') . "</option>\r\n    <option value=\"8\" {$bagfamily[8]}>8 - " . lang('item', 'engineering') . "</option>\r\n    <option value=\"9\" {$bagfamily[9]}>9 - " . lang('item', 'keys') . "</option>\r\n    <option value=\"10\" {$bagfamily[10]}>10 - " . lang('item', 'gems') . "</option>\r\n    <option value=\"12\" {$bagfamily[12]}>12 - " . lang('item', 'mining') . "</option>\r\n     </select></td>\r\n  <td>" . makeinfocell(lang('item_edit', 'bag_slots'), lang('item_edit', 'bag_slots_desc')) . "</td>\r\n  <td><input type=\"text\" name=\"ContainerSlots\" size=\"10\" maxlength=\"3\" value=\"{$item['ContainerSlots']}\" /></td>\r\n\r\n    <td></td>\r\n    <td></td>\r\n  </tr>\r\n  <tr>\r\n\r\n  <tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'materials') . ":</td></tr>";
        unset($bagfamily);
        $Material = array(-1 => "", 0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "", 8 => "");
        $Material[$item['lock_Material']] = " selected=\"selected\" ";
        $output .= "<tr>\r\n  <td>" . makeinfocell(lang('item_edit', 'material'), lang('item_edit', 'material_desc')) . "</td>\r\n   <td colspan=\"2\"><select name=\"Material\">\r\n    <option value=\"-1\" {$Material[-1]}>-1 - " . lang('item_edit', 'consumables') . "</option>\r\n    <option value=\"0\" {$Material[0]}>0 - " . lang('item_edit', 'none') . "</option>\r\n    <option value=\"1\" {$Material[1]}>1 - " . lang('item_edit', 'metal') . "</option>\r\n    <option value=\"2\" {$Material[2]}>2 - " . lang('item_edit', 'wood') . "</option>\r\n    <option value=\"3\" {$Material[3]}>3 - " . lang('item_edit', 'liquid') . "</option>\r\n    <option value=\"4\" {$Material[4]}>4 - " . lang('item_edit', 'jewelry') . "</option>\r\n    <option value=\"5\" {$Material[5]}>5 - " . lang('item_edit', 'chain') . "</option>\r\n    <option value=\"6\" {$Material[6]}>6 - " . lang('item_edit', 'plate') . "</option>\r\n    <option value=\"7\" {$Material[7]}>7 - " . lang('item_edit', 'cloth') . "</option>\r\n    <option value=\"8\" {$Material[8]}>8 - " . lang('item_edit', 'leather') . "</option>\r\n     </select></td>";
        unset($Material);
        $PageMaterial = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "");
        $PageMaterial[$item['Page_Material']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'page_material'), lang('item_edit', 'page_material_desc')) . "</td>\r\n   <td colspan=\"2\"><select name=\"PageMaterial\">\r\n    <option value=\"0\" {$PageMaterial[0]}>0 - " . lang('item_edit', 'none') . "</option>\r\n    <option value=\"1\" {$PageMaterial[1]}>1 - " . lang('item_edit', 'parchment') . "</option>\r\n    <option value=\"2\" {$PageMaterial[2]}>2 - " . lang('item_edit', 'stone') . "</option>\r\n    <option value=\"3\" {$PageMaterial[3]}>3 - " . lang('item_edit', 'marble') . "</option>\r\n    <option value=\"4\" {$PageMaterial[4]}>4 - " . lang('item_edit', 'silver') . "</option>\r\n    <option value=\"5\" {$PageMaterial[5]}>5 - " . lang('item_edit', 'bronze') . "</option>\r\n     </select></td>";
        unset($PageMaterial);
        $output .= "<td>" . makeinfocell(lang('item_edit', 'max_durability'), lang('item_edit', 'max_durability_desc')) . "</td>\r\n  <td><input type=\"text\" name=\"MaxDurability\" size=\"8\" maxlength=\"30\" value=\"{$item['MaxDurability']}\" /></td>\r\n</tr>\r\n\r\n<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'RandomProperty') . ":</td></tr>\r\n<tr>\r\n   <td colspan=\"2\">" . makeinfocell(lang('item_edit', 'RandomProperty'), lang('item_edit', 'RandomProperty_desc')) . "</td>\r\n   <td colspan=\"2\"><input type=\"text\" name=\"RandomProperty\" size=\"8\" maxlength=\"30\" value=\"{$item['RandomProp']}\" /></td>\r\n\r\n   <td colspan=\"2\">" . makeinfocell(lang('item_edit', 'RandomSuffix'), lang('item_edit', 'RandomSuffix_desc')) . "</td>\r\n   <td colspan=\"2\"><input type=\"text\" name=\"RandomSuffix\" size=\"8\" maxlength=\"10\" value=\"{$item['RandomSuffix']}\" /></td>\r\n</tr>\r\n\r\n\r\n<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'other') . ":</td></tr>\r\n  <tr>\r\n   <td>" . makeinfocell(lang('item_edit', 'area'), lang('item_edit', 'area_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"area\" size=\"8\" maxlength=\"10\" value=\"{$item['zonenameid']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'map'), lang('item_edit', 'map_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"Map\" size=\"8\" maxlength=\"10\" value=\"{$item['Mapid']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'page_text'), lang('item_edit', 'page_text_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"PageText\" size=\"6\" maxlength=\"30\" value=\"{$item['Page_id']}\" /></td>\r\n\r\n   <td></td>\r\n   <td></td>\r\n  </tr>\r\n  <tr>\r\n\r\n    <tr>\r\n\r\n   <td colspan=\"2\">" . makeinfocell(lang('item_edit', 'req_skill_disenchant'), lang('item_edit', 'req_skill_disenchant_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"RequiredDisenchantSkill\" size=\"10\" maxlength=\"10\" value=\"{$item['ReqDisenchantSkill']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'lock_id'), lang('item_edit', 'lock_id_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"lock_id\" size=\"8\" maxlength=\"30\" value=\"{$item['lock_id']}\" /></td>\r\n   <td colspan=\"2\"></td>\r\n   <td></td>\r\n  </tr>";
        $LanguageID = array(0 => "", 1 => "", 2 => "", 3 => "", 6 => "", 7 => "", 8 => "", 9 => "", 10 => "", 11 => "", 12 => "", 13 => "", 14 => "", 33 => "");
        $LanguageID[$item['page_Language']] = " selected=\"selected\" ";
        $output .= "<tr>\r\n  <td>" . makeinfocell(lang('item_edit', 'lang_id'), lang('item_edit', 'lang_id_desc')) . "</td>\r\n   <td colspan=\"2\"><select name=\"LanguageID\">\r\n    <option value=\"0\" {$LanguageID[0]}>0 - " . lang('item_edit', 'other') . "</option>\r\n    <option value=\"1\" {$LanguageID[1]}>1 - Orcish</option>\r\n    <option value=\"2\" {$LanguageID[2]}>2 - Darnassian</option>\r\n    <option value=\"3\" {$LanguageID[3]}>3 - Taurahe</option>\r\n    <option value=\"6\" {$LanguageID[6]}>6 - Dwarvish</option>\r\n    <option value=\"7\" {$LanguageID[7]}>7 - Common</option>\r\n    <option value=\"8\" {$LanguageID[8]}>8 - Demonic</option>\r\n    <option value=\"9\" {$LanguageID[9]}>9 - Titan</option>\r\n    <option value=\"10\" {$LanguageID[10]}>10 - Thelassian</option>\r\n    <option value=\"11\" {$LanguageID[11]}>11 - Draconic</option>\r\n    <option value=\"12\" {$LanguageID[12]}>12 - Kalimag</option>\r\n    <option value=\"13\" {$LanguageID[13]}>13 - Gnomish</option>\r\n    <option value=\"14\" {$LanguageID[14]}>14 - Troll</option>\r\n    <option value=\"33\" {$LanguageID[33]}>33 - Gutterspeak</option>\r\n     </select></td>";
        unset($LanguageID);
        $sheath = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 7 => "");
        $sheath[$item['sheathid']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'sheath'), lang('item_edit', 'sheath_desc')) . "</td>\r\n   <td colspan=\"2\"><select name=\"sheath\">\r\n    <option value=\"0\" {$sheath[0]}>0 - " . lang('item_edit', 'other') . "</option>\r\n    <option value=\"1\" {$sheath[1]}>1 - " . lang('item', 'sword_2h') . "</option>\r\n    <option value=\"2\" {$sheath[2]}>2 - " . lang('item', 'staff') . "</option>\r\n    <option value=\"3\" {$sheath[3]}>3 - " . lang('item', 'sword_1h') . "</option>\r\n    <option value=\"4\" {$sheath[4]}>4 - " . lang('item', 'shield') . "</option>\r\n    <option value=\"5\" {$sheath[5]}>5 - " . lang('item', 'rod') . "</option>\r\n    <option value=\"7\" {$sheath[7]}>7 - " . lang('item', 'off_hand') . "</option>\r\n     </select></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'totem_category'), lang('item_edit', 'totem_category_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"TotemCategory\" size=\"8\" maxlength=\"10\" value=\"{$item['TotemCategory']}\" /></td>\r\n  </tr>\r\n\r\n   </table><br /><br />\r\n    </div>";
        unset($sheath);
        $output .= "<div id=\"pane3\">\r\n   <br /><br /><table class=\"lined\" style=\"width: 720px;\">\r\n  <tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'stats') . ":</td></tr>\r\n  <tr>\r\n\r\n  <td>" . makeinfocell(lang('item_edit', 'stat_type') . " 1", lang('item_edit', 'stat_type_desc')) . "</td>\r\n   <td><select name=\"stat_type1\">";
        output_status_options($item['stat_type1']);
        $output .= "</select></td>\r\n\r\n  <td><input type=\"text\" name=\"stat_value1\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value1']}\" /></td>\r\n  <td>" . makeinfocell(lang('item_edit', 'stat_type') . " 2", lang('item_edit', 'stat_type_desc')) . "</td>\r\n   <td><select name=\"stat_type2\">";
        output_status_options($item['stat_type2']);
        $output .= "</select></td>\r\n\r\n   <td><input type=\"text\" name=\"stat_value2\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value2']}\" /></td>\r\n  </tr>\r\n <tr>\r\n  <td>" . makeinfocell(lang('item_edit', 'stat_type') . " 3", lang('item_edit', 'stat_type_desc')) . "</td>\r\n  <td><select name=\"stat_type3\">";
        output_status_options($item['stat_type3']);
        $output .= "</select></td>\r\n\r\n  <td><input type=\"text\" name=\"stat_value3\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value3']}\" /></td>\r\n  <td>" . makeinfocell(lang('item_edit', 'stat_type') . " 4", lang('item_edit', 'stat_type_desc')) . "</td>\r\n   <td><select name=\"stat_type4\">";
        output_status_options($item['stat_type4']);
        $output .= "</select></td>\r\n\r\n   <td><input type=\"text\" name=\"stat_value4\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value4']}\" /></td>\r\n  </tr>\r\n<tr>\r\n <td>" . makeinfocell(lang('item_edit', 'stat_type') . " 5", lang('item_edit', 'stat_type_desc')) . "</td>\r\n <td><select name=\"stat_type5\">";
        output_status_options($item['stat_type5']);
        $output .= "</select></td>\r\n\r\n   <td><input type=\"text\" name=\"stat_value5\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value5']}\" /></td>\r\n  <td>" . makeinfocell(lang('item_edit', 'stat_type') . " 6", lang('item_edit', 'stat_type_desc')) . "</td>\r\n   <td><select name=\"stat_type6\">";
        output_status_options($item['stat_type1']);
        $output .= "</select></td>\r\n\r\n   <td><input type=\"text\" name=\"stat_value6\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value6']}\" /></td>\r\n  </tr>\r\n<tr>\r\n <td>" . makeinfocell(lang('item_edit', 'stat_type') . " 7", lang('item_edit', 'stat_type_desc')) . "</td>\r\n   <td><select name=\"stat_type7\">";
        output_status_options($item['stat_type7']);
        $output .= "</select></td>\r\n  <td><input type=\"text\" name=\"stat_value7\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value7']}\" /></td>\r\n  <td>" . makeinfocell(lang('item_edit', 'stat_type') . " 8", lang('item_edit', 'stat_type_desc')) . "</td>\r\n   <td><select name=\"stat_type8\">";
        output_status_options($item['stat_type8']);
        $output .= "</select></td>\r\n\r\n   <td><input type=\"text\" name=\"stat_value8\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value8']}\" /></td>\r\n  </tr>\r\n<tr>\r\n  <td>" . makeinfocell(lang('item_edit', 'stat_type') . " 9", lang('item_edit', 'stat_type_desc')) . "</td>\r\n  <td><select name=\"stat_type9\">";
        output_status_options($item['stat_type9']);
        $output .= "</select></td>\r\n  <td><input type=\"text\" name=\"stat_value9\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value9']}\" /></td>\r\n  <td>" . makeinfocell(lang('item_edit', 'stat_type') . " 10", lang('item_edit', 'stat_type_desc')) . "</td>\r\n   <td><select name=\"stat_type10\">";
        output_status_options($item['stat_type10']);
        $output .= "</select></td>\r\n\r\n   <td><input type=\"text\" name=\"stat_value10\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value10']}\" /></td>\r\n  </tr>\r\n\r\n  <tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'resis_armor') . ":</td></tr>\r\n   <tr>\r\n   <td colspan=\"2\">" . makeinfocell(lang('item', 'armor'), lang('item_edit', 'armor_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"armor\" size=\"10\" maxlength=\"30\" value=\"{$item['armor']}\" /></td>\r\n\r\n   <td colspan=\"2\">" . makeinfocell(lang('item', 'block'), lang('item_edit', 'block_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"block\" size=\"10\" maxlength=\"30\" value=\"{$item['block']}\" /></td>\r\n   </tr>\r\n   <tr>\r\n   <td colspan=\"2\">" . makeinfocell(lang('item', 'res_holy'), lang('item_edit', 'res_holy_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"holy_res\" size=\"10\" maxlength=\"30\" value=\"{$item['holy_res']}\" /></td>\r\n\r\n   <td colspan=\"2\">" . makeinfocell(lang('item', 'res_fire'), lang('item_edit', 'res_fire_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"fire_res\" size=\"10\" maxlength=\"30\" value=\"{$item['fire_res']}\" /></td>\r\n   </tr>\r\n   <tr>\r\n   <td colspan=\"2\">" . makeinfocell(lang('item', 'res_nature'), lang('item_edit', 'res_nature_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"nature_res\" size=\"10\" maxlength=\"30\" value=\"{$item['nature_res']}\" /></td>\r\n\r\n   <td colspan=\"2\">" . makeinfocell(lang('item', 'res_frost'), lang('item_edit', 'res_frost_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"frost_res\" size=\"10\" maxlength=\"30\" value=\"{$item['frost_res']}\" /></td>\r\n   </tr>\r\n   <tr>\r\n   <td colspan=\"2\">" . makeinfocell(lang('item', 'res_shadow'), lang('item_edit', 'res_shadow_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"shadow_res\" size=\"10\" maxlength=\"30\" value=\"{$item['shadow_res']}\" /></td>\r\n\r\n   <td colspan=\"2\">" . makeinfocell(lang('item', 'res_arcane'), lang('item_edit', 'res_arcane_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"arcane_res\" size=\"10\" maxlength=\"30\" value=\"{$item['arcane_res']}\" /></td>\r\n   </tr>\r\n\r\n    </table><br /><br />\r\n    </div>";
        $output .= "<div id=\"pane4\">\r\n     <br /><br /><table class=\"lined\" style=\"width: 720px;\">\r\n  <tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'weapon_properties') . ":</td></tr>\r\n<tr>\r\n <td>" . makeinfocell(lang('item_edit', 'delay'), lang('item_edit', 'delay_desc')) . "</td>\r\n <td colspan=\"2\"><input type=\"text\" name=\"delay\" size=\"10\" maxlength=\"11\" value=\"{$item['delay']}\" /></td>\r\n\r\n <td>" . makeinfocell(lang('item_edit', 'ranged_mod'), lang('item_edit', 'ranged_mod_desc')) . "</td>\r\n <td colspan=\"2\"><input type=\"text\" name=\"RangedModRange\" size=\"10\" maxlength=\"40\" value=\"{$item['Range']}\" /></td>\r\n</tr>\r\n<tr>\r\n <td>" . makeinfocell(lang('item_edit', 'armor_dmg_mod'), lang('item_edit', 'armor_dmg_mod_desc')) . "</td>\r\n <td colspan=\"2\"><input type=\"text\" name=\"ArmorDamageModifier\" size=\"10\" maxlength=\"40\" value=\"{$item['ArmorDamageModifier']}\" /></td>";
        $ammo_type = array(0 => "", 2 => "", 3 => "");
        $ammo_type[$item['ammo_type']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'ammo_type'), lang('item_edit', 'ammo_type_desc')) . "</td>\r\n   <td colspan=\"2\"><select name=\"ammo_type\">\r\n    <option value=\"0\" {$ammo_type[0]}>0 - " . lang('item', 'none') . "</option>\r\n    <option value=\"2\" {$ammo_type[2]}>2 - " . lang('item', 'arrows') . "</option>\r\n    <option value=\"3\" {$ammo_type[3]}>3 - " . lang('item', 'bullets') . "</option>\r\n     </select></td>\r\n</tr>\r\n<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'weapon_damage') . ":</td></tr>\r\n<tr>";
        unset($ammo_type);
        $output .= "<td>" . makeinfocell(lang('item_edit', 'damage_type') . " 1", lang('item_edit', 'damage_type_desc')) . "</td>\r\n   <td colspan=\"2\"><select name=\"dmg_type1\">";
        output_dmgtype_options($item['dmg_type1']);
        $output .= "</select></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'dmg_min_max'), lang('item_edit', 'dmg_min_max_desc')) . "</td>\r\n   <td colspan=\"4\"><input type=\"text\" name=\"dmg_min1\" size=\"8\" maxlength=\"45\" value=\"{$item['dmg_min1']}\" /> - <input type=\"text\" name=\"dmg_max1\" size=\"8\" maxlength=\"45\" value=\"{$item['dmg_max1']}\" /></td>\r\n\r\n</tr>\r\n<tr>\r\n  <td>" . makeinfocell(lang('item_edit', 'damage_type') . " 2", lang('item_edit', 'damage_type_desc')) . "</td>\r\n   <td colspan=\"2\"><select name=\"dmg_type2\">";
        output_dmgtype_options($item['dmg_type2']);
        $output .= "</select></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'dmg_min_max'), lang('item_edit', 'dmg_min_max_desc')) . "</td>\r\n   <td colspan=\"4\"><input type=\"text\" name=\"dmg_min2\" size=\"8\" maxlength=\"45\" value=\"{$item['dmg_min2']}\" /> - <input type=\"text\" name=\"dmg_max2\" size=\"8\" maxlength=\"45\" value=\"{$item['dmg_max2']}\" /></td>\r\n\r\n</tr>\r\n</table><br /><br />\r\n    </div>";
        $output .= "<div id=\"pane5\">\r\n     <br /><br /><table class=\"lined\" style=\"width: 720px;\">\r\n<tr>\r\n   <td colspan=\"2\">" . lang('item_edit', 'item_spell') . " 1</td>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_id'), lang('item_edit', 'spell_id_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellid_1\" size=\"6\" maxlength=\"30\" value=\"{$item['spellid_1']}\" /></td>";
        $spelltrigger_1 = array(0 => "", 1 => "", 2 => "", 4 => "");
        $spelltrigger_1[$item['spelltrigger_1']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'spell_trigger'), lang('item_edit', 'spell_trigger_desc')) . "</td>\r\n   <td><select name=\"spelltrigger_1\">\r\n    <option value=\"0\" {$spelltrigger_1[0]}>0: " . lang('item', 'spell_use') . "</option>\r\n    <option value=\"1\" {$spelltrigger_1[1]}>1: " . lang('item', 'spell_equip') . "</option>\r\n    <option value=\"2\" {$spelltrigger_1[2]}>2: " . lang('item', 'spell_coh') . "</option>\r\n    <option value=\"4\" {$spelltrigger_1[4]}>4: " . lang('item', 'soul_stone') . "</option>\r\n    </select></td>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_charges'), lang('item_edit', 'spell_charges_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcharges_1\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcharges_1']}\" /></td>\r\n</tr>\r\n<tr>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_cooldown'), lang('item_edit', 'spell_cooldown_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcooldown_1\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcooldown_1']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_category'), lang('item_edit', 'spell_category_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcategory_1\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategory_1']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_category_cooldown'), lang('item_edit', 'spell_category_cooldown_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcategorycooldown_1\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategorycooldown_1']}\" /></td>\r\n\r\n   <td></td>\r\n   <td></td>\r\n</tr>\r\n<tr><td colspan=\"6\" class=\"hidden\"></td></tr>\r\n<tr>\r\n   <td colspan=\"2\">" . lang('item_edit', 'item_spell') . " 2</td>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_id'), lang('item_edit', 'spell_id_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellid_2\" size=\"6\" maxlength=\"30\" value=\"{$item['spellid_2']}\" /></td>";
        unset($spelltrigger_1);
        $spelltrigger_2 = array(0 => "", 1 => "", 2 => "", 4 => "");
        $spelltrigger_2[$item['spelltrigger_2']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'spell_trigger'), lang('item_edit', 'spell_trigger_desc')) . "</td>\r\n   <td><select name=\"spelltrigger_2\">\r\n    <option value=\"0\" {$spelltrigger_2[0]}>0: " . lang('item', 'spell_use') . "</option>\r\n    <option value=\"1\" {$spelltrigger_2[1]}>1: " . lang('item', 'spell_equip') . "</option>\r\n    <option value=\"2\" {$spelltrigger_2[2]}>2: " . lang('item', 'spell_coh') . "</option>\r\n    <option value=\"4\" {$spelltrigger_2[4]}>4: " . lang('item', 'soul_stone') . "</option>\r\n    </select></td>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_charges'), lang('item_edit', 'spell_charges_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcharges_2\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcharges_2']}\" /></td>\r\n</tr>\r\n<tr>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_cooldown'), lang('item_edit', 'spell_cooldown_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcooldown_2\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcooldown_2']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_category'), lang('item_edit', 'spell_category_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcategory_2\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategory_2']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_category_cooldown'), lang('item_edit', 'spell_category_cooldown_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcategorycooldown_2\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategorycooldown_2']}\" /></td>\r\n\r\n   <td></td>\r\n   <td></td>\r\n</tr>\r\n<tr><td colspan=\"6\" class=\"hidden\"></td></tr>\r\n<tr>\r\n   <td colspan=\"2\">" . lang('item_edit', 'item_spell') . " 3</td>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_id'), lang('item_edit', 'spell_id_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellid_3\" size=\"6\" maxlength=\"30\" value=\"{$item['spellid_3']}\" /></td>";
        unset($spelltrigger_2);
        $spelltrigger_3 = array(0 => "", 1 => "", 2 => "", 4 => "");
        $spelltrigger_3[$item['spelltrigger_3']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'spell_trigger'), lang('item_edit', 'spell_trigger_desc')) . "</td>\r\n   <td><select name=\"spelltrigger_3\">\r\n    <option value=\"0\" {$spelltrigger_3[0]}>0: " . lang('item', 'spell_use') . "</option>\r\n    <option value=\"1\" {$spelltrigger_3[1]}>1: " . lang('item', 'spell_equip') . "</option>\r\n    <option value=\"2\" {$spelltrigger_3[2]}>2: " . lang('item', 'spell_coh') . "</option>\r\n    <option value=\"4\" {$spelltrigger_3[4]}>4: " . lang('item', 'soul_stone') . "</option>\r\n    </select></td>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_charges'), lang('item_edit', 'spell_charges_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcharges_3\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcharges_3']}\" /></td>\r\n</tr>\r\n<tr>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_cooldown'), lang('item_edit', 'spell_cooldown_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcooldown_3\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcooldown_3']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_category'), lang('item_edit', 'spell_category_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcategory_3\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategory_3']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_category_cooldown'), lang('item_edit', 'spell_category_cooldown_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcategorycooldown_3\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategorycooldown_3']}\" /></td>\r\n\r\n   <td></td>\r\n   <td></td>\r\n</tr>\r\n<tr><td colspan=\"6\" class=\"hidden\"></td></tr>\r\n<tr>\r\n   <td colspan=\"2\">" . lang('item_edit', 'item_spell') . " 4</td>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_id'), lang('item_edit', 'spell_id_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellid_4\" size=\"6\" maxlength=\"30\" value=\"{$item['spellid_4']}\" /></td>";
        unset($spelltrigger_3);
        $spelltrigger_4 = array(0 => "", 1 => "", 2 => "", 4 => "");
        $spelltrigger_4[$item['spelltrigger_4']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'spell_trigger'), lang('item_edit', 'spell_trigger_desc')) . "</td>\r\n   <td><select name=\"spelltrigger_4\">\r\n    <option value=\"0\" {$spelltrigger_4[0]}>0: " . lang('item', 'spell_use') . "</option>\r\n    <option value=\"1\" {$spelltrigger_4[1]}>1: " . lang('item', 'spell_equip') . "</option>\r\n    <option value=\"2\" {$spelltrigger_4[2]}>2: " . lang('item', 'spell_coh') . "</option>\r\n    <option value=\"4\" {$spelltrigger_4[4]}>4: " . lang('item', 'soul_stone') . "</option>\r\n    </select></td>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_charges'), lang('item_edit', 'spell_charges_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcharges_4\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcharges_4']}\" /></td>\r\n</tr>\r\n<tr>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_cooldown'), lang('item_edit', 'spell_cooldown_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcooldown_4\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcooldown_4']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_category'), lang('item_edit', 'spell_category_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcategory_4\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategory_4']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_category_cooldown'), lang('item_edit', 'spell_category_cooldown_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcategorycooldown_4\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategorycooldown_4']}\" /></td>\r\n\r\n   <td></td>\r\n   <td></td>\r\n</tr>\r\n<tr><td colspan=\"6\" class=\"hidden\"></td></tr>\r\n<tr>\r\n   <td colspan=\"2\">" . lang('item_edit', 'item_spell') . " 5</td>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_id'), lang('item_edit', 'spell_id_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellid_5\" size=\"6\" maxlength=\"30\" value=\"{$item['spellid_5']}\" /></td>";
        unset($spelltrigger_4);
        $spelltrigger_5 = array(0 => "", 1 => "", 2 => "", 4 => "");
        $spelltrigger_5[$item['spelltrigger_5']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'spell_trigger'), lang('item_edit', 'spell_trigger_desc')) . "</td>\r\n   <td><select name=\"spelltrigger_5\">\r\n    <option value=\"0\" {$spelltrigger_5[0]}>0: " . lang('item', 'spell_use') . "</option>\r\n    <option value=\"1\" {$spelltrigger_5[1]}>1: " . lang('item', 'spell_equip') . "</option>\r\n    <option value=\"2\" {$spelltrigger_5[2]}>2: " . lang('item', 'spell_coh') . "</option>\r\n    <option value=\"4\" {$spelltrigger_5[4]}>4: " . lang('item', 'soul_stone') . "</option>\r\n    </select></td>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_charges'), lang('item_edit', 'spell_charges_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcharges_5\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcharges_5']}\" /></td>\r\n</tr>\r\n<tr>\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_cooldown'), lang('item_edit', 'spell_cooldown_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcooldown_5\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcooldown_5']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_category'), lang('item_edit', 'spell_category_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcategory_5\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategory_5']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'spell_category_cooldown'), lang('item_edit', 'spell_category_cooldown_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"spellcategorycooldown_5\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategorycooldown_5']}\" /></td>\r\n\r\n   <td></td>\r\n   <td></td>\r\n</tr>\r\n\r\n</table>\r\n    </div>";
        unset($spelltrigger_5);
        $output .= "<div id=\"pane6\">\r\n    <br /><br /><table class=\"lined\" style=\"width: 720px;\">\r\n   <tr>";
        $AllowableClass = array(-1 => "", 1 => "", 2 => "", 4 => "", 8 => "", 16 => "", 32 => "", 64 => "", 128 => "", 256 => "", 512 => "", 1024 => "");
        if ($item['AllowableClass'] == -1) {
            $AllowableClass[-1] = " selected=\"selected\" ";
        } else {
            if ($item['AllowableClass'] & 1) {
                $AllowableClass[1] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 2) {
                $AllowableClass[2] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 4) {
                $AllowableClass[4] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 8) {
                $AllowableClass[8] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 16) {
                $AllowableClass[16] = " selected=\"selected\" ";
            }
            //if ($item['AllowableClass'] & 32) $AllowableClass[32] = " selected=\"selected\" ";
            if ($item['AllowableClass'] & 64) {
                $AllowableClass[64] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 128) {
                $AllowableClass[128] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 256) {
                $AllowableClass[256] = " selected=\"selected\" ";
            }
            //if ($item['AllowableClass'] & 512) $AllowableClass[512] = " selected=\"selected\" ";
            if ($item['AllowableClass'] & 1024) {
                $AllowableClass[1024] = " selected=\"selected\" ";
            }
        }
        $output .= "<td>" . makeinfocell(lang('item_edit', 'allow_class'), lang('item_edit', 'allow_class_desc')) . "</td>\r\n   <td><select multiple=\"multiple\" name=\"AllowableClass[]\" size=\"5\">\r\n    <option value=\"-1\" {$AllowableClass[-1]}>-1 - " . lang('item_edit', 'all') . "</option>\r\n    <option value=\"1\" {$AllowableClass[1]}>1 - " . lang('id_tab', 'warrior') . "</option>\r\n    <option value=\"2\" {$AllowableClass[2]}>2 - " . lang('id_tab', 'paladin') . "</option>\r\n    <option value=\"4\" {$AllowableClass[4]}>4 - " . lang('id_tab', 'hunter') . "</option>\r\n    <option value=\"8\" {$AllowableClass[8]}>8 - " . lang('id_tab', 'rogue') . "</option>\r\n    <option value=\"16\" {$AllowableClass[16]}>16 - " . lang('id_tab', 'priest') . "</option>\r\n    <!-- option value=\"32\" {$AllowableClass[32]}>32 - FUTURE_1</option -->\r\n    <option value=\"64\" {$AllowableClass[64]}>64 - " . lang('id_tab', 'shaman') . "</option>\r\n    <option value=\"128\" {$AllowableClass[128]}>128 - " . lang('id_tab', 'mage') . "</option>\r\n    <option value=\"256\" {$AllowableClass[256]}>256 - " . lang('id_tab', 'warlock') . "</option>\r\n    <!-- option value=\"512\" {$AllowableClass[512]}>512 - FUTURE_2</option -->\r\n    <option value=\"1024\" {$AllowableClass[1024]}>1024 - " . lang('id_tab', 'druid') . "</option>\r\n     </select></td>";
        unset($AllowableClass);
        $AllowableRace = array(-1 => "", 1 => "", 2 => "", 4 => "", 8 => "", 16 => "", 32 => "", 64 => "", 128 => "", 256 => "", 512 => "");
        if ($item['AllowableRace'] == -1) {
            $AllowableRace[-1] = " selected=\"selected\" ";
        } else {
            if ($item['AllowableRace'] & 1) {
                $AllowableRace[1] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 2) {
                $AllowableRace[2] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 4) {
                $AllowableRace[4] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 8) {
                $AllowableRace[8] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 16) {
                $AllowableRace[16] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 32) {
                $AllowableRace[32] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 64) {
                $AllowableRace[64] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 128) {
                $AllowableRace[128] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 256) {
                $AllowableRace[256] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 512) {
                $AllowableRace[512] = " selected=\"selected\" ";
            }
        }
        $output .= "<td>" . makeinfocell(lang('item_edit', 'allow_race'), lang('item_edit', 'allow_race_desc')) . "</td>\r\n   <td><select multiple=\"multiple\" name=\"AllowableRace[]\" size=\"5\">\r\n    <option value=\"-1\" {$AllowableRace[-1]}>-1 - " . lang('item_edit', 'all') . "</option>\r\n    <option value=\"1\" {$AllowableRace[1]}>1 - " . lang('id_tab', 'human') . "</option>\r\n    <option value=\"2\" {$AllowableRace[2]}>2 - " . lang('id_tab', 'orc') . "</option>\r\n    <option value=\"4\" {$AllowableRace[4]}>4 - " . lang('id_tab', 'dwarf') . "</option>\r\n    <option value=\"8\" {$AllowableRace[8]}>8 - " . lang('id_tab', 'nightelf') . "</option>\r\n    <option value=\"16\" {$AllowableRace[16]}>16 - " . lang('id_tab', 'undead') . "</option>\r\n    <option value=\"32\" {$AllowableRace[32]}>32 - " . lang('id_tab', 'tauren') . "</option>\r\n    <option value=\"64\" {$AllowableRace[64]}>64 - " . lang('id_tab', 'gnome') . "</option>\r\n    <option value=\"128\" {$AllowableRace[128]}>128 - " . lang('id_tab', 'troll') . "</option>\r\n    <option value=\"256\" {$AllowableRace[256]}>256 - " . lang('id_tab', 'draenei') . "</option>\r\n    <option value=\"512\" {$AllowableRace[512]}>512 - " . lang('id_tab', 'bloodelf') . "</option>\r\n     </select></td>\r\n</tr>\r\n<tr>\r\n   <td>" . makeinfocell(lang('item_edit', 'req_skill'), lang('item_edit', 'req_skill_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"RequiredSkill\" size=\"15\" maxlength=\"30\" value=\"{$item['RequiredSkill']}\" /></td>\r\n\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'req_skill_rank'), lang('item_edit', 'req_skill_rank_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"RequiredSkillRank\" size=\"15\" maxlength=\"30\" value=\"{$item['RequiredSkillRank']}\" /></td>\r\n</tr>\r\n<tr>\r\n   <td>" . makeinfocell(lang('item_edit', 'req_spell'), lang('item_edit', 'req_spell_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"requiredspell\" size=\"15\" maxlength=\"30\" value=\"{$item['requiredspell']}\" /></td>\r\n\r\n   <td></td>\r\n   <td></td>\r\n</tr>\r\n<tr>\r\n   <td>" . makeinfocell(lang('item_edit', 'req_rep_faction'), lang('item_edit', 'req_rep_faction_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"RequiredReputationFaction\" size=\"15\" maxlength=\"30\" value=\"{$item['RequiredFaction']}\" /></td>";
        unset($AllowableRace);
        $RequiredReputationRank = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "");
        $RequiredReputationRank[$item['RequiredFactionStanding']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'req_rep_rank'), lang('item_edit', 'req_rep_rank_desc')) . "</td>\r\n      <td><select name=\"RequiredReputationRank\">\r\n    <option value=\"0\" {$RequiredReputationRank[0]}>0 - " . lang('item_edit', 'hated') . "</option>\r\n    <option value=\"1\" {$RequiredReputationRank[1]}>1 - " . lang('item_edit', 'hostile') . "</option>\r\n    <option value=\"2\" {$RequiredReputationRank[2]}>2 - " . lang('item_edit', 'unfriendly') . "</option>\r\n    <option value=\"3\" {$RequiredReputationRank[3]}>3 - " . lang('item_edit', 'neutral') . "</option>\r\n    <option value=\"4\" {$RequiredReputationRank[4]}>4 - " . lang('item_edit', 'friendly') . "</option>\r\n    <option value=\"5\" {$RequiredReputationRank[5]}>5 - " . lang('item_edit', 'honored') . "</option>\r\n    <option value=\"6\" {$RequiredReputationRank[6]}>6 - " . lang('item_edit', 'reverted') . "</option>\r\n    <option value=\"7\" {$RequiredReputationRank[7]}>7 - " . lang('item_edit', 'exalted') . "</option>\r\n     </select></td>\r\n</tr>\r\n\r\n   </table><br /><br />\r\n    </div>";
        unset($RequiredReputationRank);
        $output .= "<div id=\"pane7\">\r\n    <br /><br /><table class=\"lined\" style=\"width: 720px;\">\r\n<tr>";
        $socketColor_1 = array(0 => "", 1 => "", 2 => "", 4 => "", 8 => "");
        $socketColor_1[$item['socket_Color_1']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'socket_color') . " 1", lang('item_edit', 'socket_color_desc')) . "</td>\r\n      <td><select name=\"socketColor_1\">\r\n        <option value=\"0\" {$socketColor_1[0]}>0: " . lang('item', 'none') . "</option>\r\n        <option value=\"1\" {$socketColor_1[1]}>1: " . lang('item', 'socket_meta') . "</option>\r\n        <option value=\"2\" {$socketColor_1[2]}>2: " . lang('item', 'socket_red') . "</option>\r\n        <option value=\"4\" {$socketColor_1[4]}>4: " . lang('item', 'socket_yellow') . "</option>\r\n        <option value=\"8\" {$socketColor_1[8]}>8: " . lang('item', 'socket_blue') . "</option>\r\n      </select></td>\r\n   <td></td>\r\n   <td></td>\r\n</tr>\r\n<tr>";
        unset($socketColor_1);
        $socketColor_2 = array(0 => "", 1 => "", 2 => "", 4 => "", 8 => "");
        $socketColor_2[$item['socket_Color_2']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell(lang('item_edit', 'socket_color') . " 2", lang('item_edit', 'socket_color_desc')) . "</td>\r\n      <td><select name=\"socketColor_2\">\r\n        <option value=\"0\" {$socketColor_2[0]}>0: " . lang('item', 'none') . "</option>\r\n        <option value=\"1\" {$socketColor_2[1]}>1: " . lang('item', 'socket_meta') . "</option>\r\n        <option value=\"2\" {$socketColor_2[2]}>2: " . lang('item', 'socket_red') . "</option>\r\n        <option value=\"4\" {$socketColor_2[4]}>4: " . lang('item', 'socket_yellow') . "</option>\r\n        <option value=\"8\" {$socketColor_2[8]}>8: " . lang('item', 'socket_blue') . "</option>\r\n      </select></td>\r\n\r\n   <td></td>\r\n   <td></td>\r\n</tr>\r\n<tr>";
        unset($socketColor_2);
        $socketColor_3 = array(0 => "", 1 => "", 2 => "", 4 => "", 8 => "");
        $socketColor_3[$item['socket_Color_3']] = " selected=\"selected\" ";
        // this_is_junk: socket bonus comes from SpellItemEnchantment.dbc... to display it correctly we need that dbc in the CoreManager DB.
        //               gem properties does it too.
        $output .= "<td>" . makeinfocell(lang('item_edit', 'socket_color') . " 3", lang('item_edit', 'socket_color_desc')) . "</td>\r\n      <td><select name=\"socketColor_3\">\r\n        <option value=\"0\" {$socketColor_3[0]}>0: " . lang('item', 'none') . "</option>\r\n        <option value=\"1\" {$socketColor_3[1]}>1: " . lang('item', 'socket_meta') . "</option>\r\n        <option value=\"2\" {$socketColor_3[2]}>2: " . lang('item', 'socket_red') . "</option>\r\n        <option value=\"4\" {$socketColor_3[4]}>4: " . lang('item', 'socket_yellow') . "</option>\r\n        <option value=\"8\" {$socketColor_3[8]}>8: " . lang('item', 'socket_blue') . "</option>\r\n      </select></td>\r\n\r\n   <td></td>\r\n   <td></td>\r\n</tr>\r\n\r\n<tr>\r\n   <td>" . makeinfocell(lang('item_edit', 'socket_bonus'), lang('item_edit', 'socket_bonus_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"socketBonus\" size=\"15\" maxlength=\"10\" value=\"{$item['socket_Bonus']}\" /></td>\r\n\r\n   <td>" . makeinfocell(lang('item_edit', 'gem_properties'), lang('item_edit', 'gem_properties_desc')) . "</td>\r\n   <td><input type=\"text\" name=\"GemProperties\" size=\"15\" maxlength=\"10\" value=\"{$item['GemProperties']}\" /></td>\r\n</tr>\r\n\r\n   </table><br /><br />\r\n    </div>";
        $output .= "<div id=\"pane8\">\r\n    <br /><br /><table class=\"lined\" style=\"width: 720px;\">";
        // DROPPED BY
        // this_is_junk: ArcEmu doesn't have a field to match groupid
        $result2 = $sqlw->query("SELECT entryid,normal10percentchance,normal25percentchance,heroic10percentchance,heroic25percentchance FROM loot_creatures WHERE itemid = {$item['entry']} ORDER BY normal10percentchance DESC");
        if ($sqlw->num_rows($result2)) {
            $output .= "<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'dropped_by') . ": " . lang('item_edit', 'top_x') . "</td></tr>";
            $output .= "<tr>\r\n    <th width=\"1%\">ID</th>\r\n    <th width=\"35%\">" . lang('item_edit', 'mob_name') . "</th>\r\n    <th width=\"10%\">" . lang('item_edit', 'mob_minlevel') . "</th>\r\n    <th width=\"10%\">" . lang('item_edit', 'mob_maxlevel') . "</th>\r\n    <th width=\"6%\">" . lang('item_edit', 'norm10_drop_chance') . "</th>\r\n    <th width=\"6%\">" . lang('item_edit', 'norm25_drop_chance') . "</th>\r\n    <th width=\"6%\">" . lang('item_edit', 'hero10_drop_chance') . "</th>\r\n    <th width=\"7%\">" . lang('item_edit', 'hero25_drop_chance') . "</th>\r\n  </tr>";
            while ($info = $sqlw->fetch_assoc($result2)) {
                //$result3 = $sql->query("SELECT creature_names.entry,IFNULL(".($deplang<>0?"name_loc$deplang":"NULL").",`creature_names`.`name`) as name FROM creature_names LEFT JOIN creature_names_localized ON creature_names.entry = creature_names_localized.id LEFT JOIN loot_creatures ON creature_names.entry = loot_creatures.entryid WHERE itemid = {$info[0]} LIMIT 1");
                $result3 = $sqlw->query("SELECT creature_names.entry,`name`,creature_proto.minlevel,creature_proto.maxlevel FROM creature_names LEFT JOIN creature_proto ON creature_names.entry = creature_proto.entry WHERE creature_names.entry = " . $info['entryid'] . " LIMIT 1");
                while ($mob = $sqlw->fetch_assoc($result3)) {
                    $output .= "<tr><td>";
                    if ($user_lvl >= $action_permission['delete']) {
                        $output .= "<a class=\"tooltip\" href=\"creature.php?action=edit&amp;entry=" . $mob['entry'] . "&amp;error=4\" target=\"_blank\">" . $mob['entry'] . "</a>";
                    } else {
                        $output .= $mob['entry'];
                    }
                    $output .= "</td>\r\n          <td><a class=\"tooltip\" href=\"{$creature_datasite}" . $mob['entry'] . " target=\"_blank\">" . $mob['name'] . "</a></td>\r\n          <td>" . $mob['minlevel'] . "</td>\r\n          <td>" . $mob['maxlevel'] . "</td>\r\n          <td>" . $info['normal10percentchance'] . "%</td>\r\n          <td>" . $info['normal25percentchance'] . "%</td>\r\n          <td>" . $info['heroic10percentchance'] . "%</td>\r\n          <td>" . $info['heroic25percentchance'] . "%</td>";
                }
            }
        }
        // SOLD BY
        //$result2 = $sql->query("SELECT creature_names.entry,IFNULL(".($deplang<>0?"name_loc$deplang":"NULL").",`creature_names`.`name`) as name FROM creature_names LEFT JOIN creature_names_localized ON creature_names.entry = creature_names_localized.id WHERE creature_names.entry IN (SELECT entry FROM vendors WHERE item = {$item['entry']}) LIMIT 5");
        $result2 = $sqlw->query("SELECT creature_names.entry,`creature_names`.`name` FROM creature_names LEFT JOIN creature_names_localized ON creature_names.entry = creature_names_localized.id WHERE creature_names.entry IN (SELECT entry FROM vendors WHERE item = {$item['entry']})");
        if ($sqlw->num_rows($result2)) {
            $output .= "<tr class=\"large_bold\"><td colspan=\"9\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'sold_by') . "</td></tr>";
            $output .= "<tr>\r\n    <th width=\"1%\">ID</th>\r\n    <th width=\"80%\" align=\"left\">" . lang('item_edit', 'mob_name') . "</th>\r\n  </tr>";
            while ($mob = $sqlw->fetch_row($result2)) {
                $output .= "<tr>\r\n        <td width=\"10%\">";
                if ($user_lvl >= $action_permission['delete']) {
                    $output .= "<a class=\"tooltip\" href=\"creature.php?action=edit&amp;entry={$mob['0']}&amp;error=4\" target=\"_blank\">{$mob['0']}</a>";
                } else {
                    $output .= "{$mob['0']}";
                }
                $output .= "\r\n        \r\n        <td width=\"80%\" colspan=\"8\" align=\"left\">\r\n          <a class=\"tooltip\" href=\"{$creature_datasite}{$mob['0']}\" target=\"_blank\">{$mob['1']}</a></td>\r\n        </td></tr>";
            }
        }
        // QUEST ITEM
        //$result2 = $sql->query("SELECT quests.entry,IFNULL(".($deplang<>0?"title_loc$deplang":"NULL").",`quests`.`title`) as title,QuestLevel FROM quests LEFT JOIN quests_localized ON quests.entry = quests_localized.entry WHERE ( SrcItem = {$item['entry']} OR ReqItemId1 = {$item['entry']} OR
        $result2 = $sqlw->query("SELECT quests.entry,`quests`.`title`,QuestLevel FROM quests LEFT JOIN quests_localized ON quests.entry = quests_localized.entry WHERE ( SrcItem = {$item['entry']} OR ReqItemId1 = {$item['entry']} OR\r\n              ReqItemId2 = {$item['entry']} OR ReqItemId3 = {$item['entry']} OR ReqItemId4 = {$item['entry']} ) ORDER BY QuestLevel DESC");
        if ($sqlw->num_rows($result2)) {
            $output .= "<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'involved_in_quests') . ":</td></tr>";
            $output .= "<tr>\r\n    <th width=\"1%\">ID</th>\r\n    <th width=\"80%\">" . lang('item_edit', 'mob_name') . "</th>\r\n  </tr>";
            while ($quest = $sqlw->fetch_row($result2)) {
                $output .= "<tr><td width=\"20%\">id: {$quest['0']}</td>\r\n        <td width=\"80%\" colspan=\"6\" align=\"left\"><a class=\"tooltip\" href=\"{$quest_datasite}{$quest['0']}\" target=\"_blank\">({$quest['2']}) {$quest['1']}</a></td><td></td></tr>";
            }
        }
        // QUEST REWARD
        $result2 = $sqlw->query("SELECT quests.entry,IFNULL(" . ($deplang != 0 ? "title_loc{$deplang}" : "NULL") . ",`quests`.`title`) as title,QuestLevel FROM quests LEFT JOIN quests_localized ON quests.entry = quests_localized.entry WHERE ( RewChoiceItemId1 = {$item['entry']} OR RewChoiceItemId2 = {$item['entry']} OR\r\n              RewChoiceItemId3 = {$item['entry']} OR RewChoiceItemId4 = {$item['entry']} OR RewChoiceItemId5 = {$item['entry']} OR RewChoiceItemId6 = {$item['entry']} OR RewItemId1 = {$item['entry']} OR\r\n              RewItemId2 = {$item['entry']} OR RewItemId3 = {$item['entry']} OR RewItemId4 = {$item['entry']} )\r\n              ORDER BY QuestLevel DESC");
        if ($sqlw->num_rows($result2)) {
            $output .= "<tr class=\"large_bold\"><td colspan=\"9\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'reward_from_quest') . ":</td></tr>";
            while ($quest = $sqlw->fetch_row($result2)) {
                $output .= "<tr><td width=\"20%\">id: {$quest['0']}</td>\r\n        <td width=\"80%\" colspan=\"7\" align=\"left\"><a class=\"tooltip\" href=\"{$quest_datasite}{$quest['0']}\" target=\"_blank\">({$quest['2']}) {$quest['1']}</a></td></tr>";
            }
        }
        $output .= "</tr></table><br /><br />\r\n    </div>";
        if ($item['DisenchantID']) {
            $output .= "<div id=\"pane9\">\r\n  <br /><br /><table class=\"lined\" style=\"width: 720px;\">\r\n  <tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'disenchant_templ') . ": {$item['DisenchantID']}</td></tr>\r\n  <tr><td colspan=\"6\">";
            $cel_counter = 0;
            $row_flag = 0;
            $output .= "<table class=\"hidden\" align=\"center\"><tr>";
            $result1 = $sqlw->query("SELECT item,ChanceOrQuestChance,`groupid`,mincountOrRef,maxcount,lootcondition,condition_value1, condition_value2 FROM disenchant_loot_template WHERE entry = {$item['DisenchantID']} ORDER BY ChanceOrQuestChance DESC");
            while ($item = $sqlw->fetch_row($result1)) {
                $cel_counter++;
                $tooltip = get_item_name($item[0]) . " ({$item['0']})<br />" . lang('item_edit', 'drop_chance') . ": {$item['1']}%<br />" . lang('item_edit', 'quest_drop_chance') . ": {$item['2']}%<br />" . lang('item_edit', 'drop_chance') . ": {$item['3']}-{$item['4']}<br />" . lang('item_edit', 'lootcondition') . ": {$item['5']}<br />" . lang('item_edit', 'condition_value1') . ": {$item['6']}<br />" . lang('item_edit', 'condition_value2') . ": {$item['7']}";
                $output .= "<td>";
                $output .= maketooltip("<img src=\"" . get_item_icon($item[0]) . "\" class=\"icon_border\" alt=\"\" />", "{$item_datasite}{$item['0']}", $tooltip, "item_tooltip");
                $output .= "<br /><input type=\"checkbox\" name=\"del_de_items[]\" value=\"{$item['0']}\" /></td>";
                if ($cel_counter >= 16) {
                    $cel_counter = 0;
                    $output .= "</tr><tr>";
                    $row_flag++;
                }
            }
            if ($row_flag) {
                $output .= "<td colspan=\"" . (16 - $cel_counter) . "\"></td>";
            }
            $output .= "</td></tr></table>\r\n </td>\r\n</tr>\r\n<tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">" . lang('item_edit', 'add_items_to_templ') . ":</td></tr>\r\n<tr>\r\n<td>" . makeinfocell(lang('item_edit', 'loot_item_id'), lang('item_edit', 'loot_item_id_desc')) . "</td>\r\n  <td><input type=\"text\" name=\"de_item\" size=\"8\" maxlength=\"10\" value=\"\" /></td>\r\n<td>" . makeinfocell(lang('item_edit', 'loot_drop_chance'), lang('item_edit', 'loot_drop_chance_desc')) . "</td>\r\n  <td><input type=\"text\" name=\"de_ChanceOrQuestChance\" size=\"8\" maxlength=\"11\" value=\"0\" /></td>\r\n<td>" . makeinfocell(lang('item_edit', 'loot_quest_drop_chance'), lang('item_edit', 'loot_quest_drop_chance_desc')) . "</td>\r\n  <td><input type=\"text\" name=\"de_groupid\" size=\"8\" maxlength=\"10\" value=\"0\" /></td>\r\n</tr>\r\n<tr>\r\n<td>" . makeinfocell(lang('item_edit', 'min_count'), lang('item_edit', 'min_count_desc')) . "</td>\r\n  <td><input type=\"text\" name=\"de_mincountOrRef\" size=\"8\" maxlength=\"3\" value=\"1\" /></td>\r\n<td>" . makeinfocell(lang('item_edit', 'max_count'), lang('item_edit', 'max_count_desc')) . "</td>\r\n  <td><input type=\"text\" name=\"de_maxcount\" size=\"8\" maxlength=\"3\" value=\"1\" /></td>\r\n</tr>\r\n<tr>\r\n<td>" . makeinfocell(lang('item_edit', 'lootcondition'), lang('item_edit', 'lootcondition_desc')) . "</td>\r\n  <td><input type=\"text\" name=\"de_lootcondition\" size=\"8\" maxlength=\"3\" value=\"0\" /></td>\r\n<td>" . makeinfocell(lang('item_edit', 'condition_value1'), lang('item_edit', 'condition_value1_desc')) . "</td>\r\n  <td><input type=\"text\" name=\"de_condition_value1\" size=\"8\" maxlength=\"3\" value=\"0\" /></td>\r\n<td>" . makeinfocell(lang('item_edit', 'condition_value2'), lang('item_edit', 'condition_value2_desc')) . "</td>\r\n  <td><input type=\"text\" name=\"de_condition_value2\" size=\"8\" maxlength=\"3\" value=\"0\" /></td>\r\n</tr>\r\n</table>\r\n</div>";
        }
        $output .= "</div>\r\n</div>\r\n<br />\r\n</form>\r\n\r\n<script type=\"text/javascript\">setupPanes(\"container\", \"tab1\")</script>";
        unset($socketColor_3);
        $output .= "\r\n          <table class=\"hidden\">\r\n            <tr>\r\n              <td>";
        if ($user_lvl >= $action_permission['delete']) {
            makebutton(lang('item_edit', 'del_item'), "item.php?action=delete&amp;entry={$entry}\" type=\"wrn", 180);
        }
        $output .= "\r\n              </td>\r\n              <td>";
        if ($user_lvl >= $action_permission['update']) {
            makebutton(lang('item_edit', 'update'), "javascript:do_submit('form1',0)\" type=\"wrn", 180);
        }
        $output .= "\r\n              </td>\r\n              <td>";
        if ($user_lvl >= $action_permission['insert']) {
            makebutton(lang('item_edit', 'export_sql'), "javascript:do_submit('form1',1)", 180);
        }
        $output .= "\r\n              </td></tr><tr>\r\n              <td>";
        makebutton(lang('global', 'back'), "javascript:window.history.back()", 130);
        $output .= "\r\n              </td>\r\n              <td>";
        makebutton(lang('item_edit', 'new_search'), "item.php", 130);
        $output .= "\r\n              </td>\r\n            </tr>\r\n          </table>\r\n        </center>\r\n";
    } else {
        error(lang('item_edit', 'item_not_found'));
        exit;
    }
}
Esempio n. 5
0
function char_main(&$sqlr, &$sqlc)
{
    global $output, $lang_global, $lang_char, $lang_item, $realm_id, $realm_db, $characters_db, $world_db, $server, $mmfpm_db, $action_permission, $user_lvl, $user_name, $user_id, $item_datasite, $spell_datasite, $showcountryflag;
    // this page uses wowhead tooltops
    wowhead_tt();
    // we need at least an id or we would have nothing to show
    if (empty($_GET['id'])) {
        error($lang_global['empty_fields']);
    }
    // this is multi realm support, as of writing still under development
    //  this page is already implementing it
    if (empty($_GET['realm'])) {
        $realmid = $realm_id;
    } else {
        $realmid = $sqlr->quote_smart($_GET['realm']);
        if (is_numeric($realmid)) {
            $sqlc->connect($characters_db[$realmid]['addr'], $characters_db[$realmid]['user'], $characters_db[$realmid]['pass'], $characters_db[$realmid]['name']);
        } else {
            $realmid = $realm_id;
        }
    }
    $id = $sqlc->quote_smart($_GET['id']);
    if (is_numeric($id)) {
    } else {
        error($lang_global['empty_fields']);
    }
    $result = $sqlc->query('SELECT account, race FROM characters WHERE guid = ' . $id . ' LIMIT 1');
    if ($sqlc->num_rows($result)) {
        //resrict by owner's gmlvl
        $owner_acc_id = $sqlc->result($result, 0, 'account');
        $query = $sqlr->query('SELECT gmlevel, username FROM account WHERE id = ' . $owner_acc_id . '');
        $owner_gmlvl = $sqlr->result($query, 0, 'gmlevel');
        $owner_name = $sqlr->result($query, 0, 'username');
        if ($user_lvl || $server[$realmid]['both_factions']) {
            $side_v = 0;
            $side_p = 0;
        } else {
            $side_p = in_array($sqlc->result($result, 0, 'race'), array(2, 5, 6, 8, 10)) ? 1 : 2;
            $result_1 = $sqlc->query('SELECT race FROM characters WHERE account = ' . $user_id . ' LIMIT 1');
            if ($sqlc->num_rows($result)) {
                $side_v = in_array($sqlc->result($result_1, 0, 'race'), array(2, 5, 6, 8, 10)) ? 1 : 2;
            } else {
                $side_v = 0;
            }
            unset($result_1);
        }
        if ($user_lvl >= $owner_gmlvl && ($side_v === $side_p || !$side_v)) {
            $result = $sqlc->query('SELECT account, data, name, race, class, gender, level, zone, map, online, totaltime, 
									arenaPoints, totalHonorPoints, totalKills, 
									health, 
									power1, power2, power3, power4, power5, power6, power7
								FROM characters 
								WHERE guid = ' . $id . '');
            $char = $sqlc->fetch_assoc($result);
            $char_data = explode(' ', $char['data']);
            $online = $char['online'] ? $lang_char['online'] : $lang_char['offline'];
            if ($char_data[CHAR_DATA_OFFSET_GUILD_ID]) {
                $guild_name = $sqlc->result($sqlc->query('SELECT name FROM guild WHERE guildid =' . $char_data[CHAR_DATA_OFFSET_GUILD_ID] . ''), 0, 'name');
                $guild_name = '<a href="guild.php?action=view_guild&amp;realm=' . $realmid . '&amp;error=3&amp;id=' . $char_data[CHAR_DATA_OFFSET_GUILD_ID] . '" >' . $guild_name . '</a>';
                $mrank = $char_data[CHAR_DATA_OFFSET_GUILD_RANK] + 1;
                $guild_rank = $sqlc->result($sqlc->query('SELECT rname FROM guild_rank WHERE guildid =' . $char_data[CHAR_DATA_OFFSET_GUILD_ID] . ' AND rid=' . $mrank . ''), 0, 'rname');
            } else {
                $guild_name = $lang_global['none'];
                $guild_rank = $lang_global['none'];
            }
            $block = unpack('f', pack('L', $char_data[CHAR_DATA_OFFSET_BLOCK]));
            $block = round($block[1], 2);
            $dodge = unpack('f', pack('L', $char_data[CHAR_DATA_OFFSET_DODGE]));
            $dodge = round($dodge[1], 2);
            $parry = unpack('f', pack('L', $char_data[CHAR_DATA_OFFSET_PARRY]));
            $parry = round($parry[1], 2);
            $crit = unpack('f', pack('L', $char_data[CHAR_DATA_OFFSET_MELEE_CRIT]));
            $crit = round($crit[1], 2);
            $ranged_crit = unpack('f', pack('L', $char_data[CHAR_DATA_OFFSET_RANGE_CRIT]));
            $ranged_crit = round($ranged_crit[1], 2);
            $maxdamage = unpack('f', pack('L', $char_data[CHAR_DATA_OFFSET_MAXDAMAGE]));
            $maxdamage = round($maxdamage[1], 0);
            $mindamage = unpack('f', pack('L', $char_data[CHAR_DATA_OFFSET_MINDAMAGE]));
            $mindamage = round($mindamage[1], 0);
            $maxrangeddamage = unpack('f', pack('L', $char_data[CHAR_DATA_OFFSET_MAXRANGEDDAMAGE]));
            $maxrangeddamage = round($maxrangeddamage[1], 0);
            $minrangeddamage = unpack('f', pack('L', $char_data[CHAR_DATA_OFFSET_MINRANGEDDAMAGE]));
            $minrangeddamage = round($minrangeddamage[1], 0);
            $spell_crit = 100;
            for ($i = 0; $i < 6; ++$i) {
                $temp = unpack('f', pack('L', $char_data[CHAR_DATA_OFFSET_SPELL_CRIT + 1 + $i]));
                if ($temp[1] < $spell_crit) {
                    $spell_crit = $temp[1];
                }
            }
            $spell_crit = round($spell_crit, 2);
            $spell_damage = 9999;
            for ($i = 0; $i < 6; ++$i) {
                if ($char_data[CHAR_DATA_OFFSET_SPELL_DAMAGE + 1 + $i] < $spell_damage) {
                    $spell_damage = $char_data[CHAR_DATA_OFFSET_SPELL_DAMAGE + 1 + $i];
                }
            }
            $rage = round($char['power2'] / 10);
            $expertise = '' . $char_data[CHAR_DATA_OFFSET_EXPERTISE] . ' / ' . $char_data[CHAR_DATA_OFFSET_OFFHAND_EXPERTISE] . '';
            $EQU_HEAD = $char_data[CHAR_DATA_OFFSET_EQU_HEAD];
            $EQU_NECK = $char_data[CHAR_DATA_OFFSET_EQU_NECK];
            $EQU_SHOULDER = $char_data[CHAR_DATA_OFFSET_EQU_SHOULDER];
            $EQU_SHIRT = $char_data[CHAR_DATA_OFFSET_EQU_SHIRT];
            $EQU_CHEST = $char_data[CHAR_DATA_OFFSET_EQU_CHEST];
            $EQU_BELT = $char_data[CHAR_DATA_OFFSET_EQU_BELT];
            $EQU_LEGS = $char_data[CHAR_DATA_OFFSET_EQU_LEGS];
            $EQU_FEET = $char_data[CHAR_DATA_OFFSET_EQU_FEET];
            $EQU_WRIST = $char_data[CHAR_DATA_OFFSET_EQU_WRIST];
            $EQU_GLOVES = $char_data[CHAR_DATA_OFFSET_EQU_GLOVES];
            $EQU_FINGER1 = $char_data[CHAR_DATA_OFFSET_EQU_FINGER1];
            $EQU_FINGER2 = $char_data[CHAR_DATA_OFFSET_EQU_FINGER2];
            $EQU_TRINKET1 = $char_data[CHAR_DATA_OFFSET_EQU_TRINKET1];
            $EQU_TRINKET2 = $char_data[CHAR_DATA_OFFSET_EQU_TRINKET2];
            $EQU_BACK = $char_data[CHAR_DATA_OFFSET_EQU_BACK];
            $EQU_MAIN_HAND = $char_data[CHAR_DATA_OFFSET_EQU_MAIN_HAND];
            $EQU_OFF_HAND = $char_data[CHAR_DATA_OFFSET_EQU_OFF_HAND];
            $EQU_RANGED = $char_data[CHAR_DATA_OFFSET_EQU_RANGED];
            $EQU_TABARD = $char_data[CHAR_DATA_OFFSET_EQU_TABARD];
            /*
            // reserved incase we want to use back minimanagers' built in tooltip, instead of wowheads'
            // minimanagers' item tooltip needs updating, but it can show enchantments and sockets.
            
                  $equiped_items = array
                  (
                     1 => array(($EQU_HEAD      ? get_item_tooltip($EQU_HEAD)      : 0),($EQU_HEAD      ? get_item_icon($EQU_HEAD)      : 0),($EQU_HEAD      ? get_item_border($EQU_HEAD)      : 0)),
                     2 => array(($EQU_NECK      ? get_item_tooltip($EQU_NECK)      : 0),($EQU_NECK      ? get_item_icon($EQU_NECK)      : 0),($EQU_NECK      ? get_item_border($EQU_NECK)      : 0)),
                     3 => array(($EQU_SHOULDER  ? get_item_tooltip($EQU_SHOULDER)  : 0),($EQU_SHOULDER  ? get_item_icon($EQU_SHOULDER)  : 0),($EQU_SHOULDER  ? get_item_border($EQU_SHOULDER)  : 0)),
                     4 => array(($EQU_SHIRT     ? get_item_tooltip($EQU_SHIRT)     : 0),($EQU_SHIRT     ? get_item_icon($EQU_SHIRT)     : 0),($EQU_SHIRT     ? get_item_border($EQU_SHIRT)     : 0)),
                     5 => array(($EQU_CHEST     ? get_item_tooltip($EQU_CHEST)     : 0),($EQU_CHEST     ? get_item_icon($EQU_CHEST)     : 0),($EQU_CHEST     ? get_item_border($EQU_CHEST)     : 0)),
                     6 => array(($EQU_BELT      ? get_item_tooltip($EQU_BELT)      : 0),($EQU_BELT      ? get_item_icon($EQU_BELT)      : 0),($EQU_BELT      ? get_item_border($EQU_BELT)      : 0)),
                     7 => array(($EQU_LEGS      ? get_item_tooltip($EQU_LEGS)      : 0),($EQU_LEGS      ? get_item_icon($EQU_LEGS)      : 0),($EQU_LEGS      ? get_item_border($EQU_LEGS)      : 0)),
                     8 => array(($EQU_FEET      ? get_item_tooltip($EQU_FEET)      : 0),($EQU_FEET      ? get_item_icon($EQU_FEET)      : 0),($EQU_FEET      ? get_item_border($EQU_FEET)      : 0)),
                     9 => array(($EQU_WRIST     ? get_item_tooltip($EQU_WRIST)     : 0),($EQU_WRIST     ? get_item_icon($EQU_WRIST)     : 0),($EQU_WRIST     ? get_item_border($EQU_WRIST)     : 0)),
                    10 => array(($EQU_GLOVES    ? get_item_tooltip($EQU_GLOVES)    : 0),($EQU_GLOVES    ? get_item_icon($EQU_GLOVES)    : 0),($EQU_GLOVES    ? get_item_border($EQU_GLOVES)    : 0)),
                    11 => array(($EQU_FINGER1   ? get_item_tooltip($EQU_FINGER1)   : 0),($EQU_FINGER1   ? get_item_icon($EQU_FINGER1)   : 0),($EQU_FINGER1   ? get_item_border($EQU_FINGER1)   : 0)),
                    12 => array(($EQU_FINGER2   ? get_item_tooltip($EQU_FINGER2)   : 0),($EQU_FINGER2   ? get_item_icon($EQU_FINGER2)   : 0),($EQU_FINGER2   ? get_item_border($EQU_FINGER2)   : 0)),
                    13 => array(($EQU_TRINKET1  ? get_item_tooltip($EQU_TRINKET1)  : 0),($EQU_TRINKET1  ? get_item_icon($EQU_TRINKET1)  : 0),($EQU_TRINKET1  ? get_item_border($EQU_TRINKET1)  : 0)),
                    14 => array(($EQU_TRINKET2  ? get_item_tooltip($EQU_TRINKET2)  : 0),($EQU_TRINKET2  ? get_item_icon($EQU_TRINKET2)  : 0),($EQU_TRINKET2  ? get_item_border($EQU_TRINKET2)  : 0)),
                    15 => array(($EQU_BACK      ? get_item_tooltip($EQU_BACK)      : 0),($EQU_BACK      ? get_item_icon($EQU_BACK)      : 0),($EQU_BACK      ? get_item_border($EQU_BACK)      : 0)),
                    16 => array(($EQU_MAIN_HAND ? get_item_tooltip($EQU_MAIN_HAND) : 0),($EQU_MAIN_HAND ? get_item_icon($EQU_MAIN_HAND) : 0),($EQU_MAIN_HAND ? get_item_border($EQU_MAIN_HAND) : 0)),
                    17 => array(($EQU_OFF_HAND  ? get_item_tooltip($EQU_OFF_HAND)  : 0),($EQU_OFF_HAND  ? get_item_icon($EQU_OFF_HAND)  : 0),($EQU_OFF_HAND  ? get_item_border($EQU_OFF_HAND)  : 0)),
                    18 => array(($EQU_RANGED    ? get_item_tooltip($EQU_RANGED)    : 0),($EQU_RANGED    ? get_item_icon($EQU_RANGED)    : 0),($EQU_RANGED    ? get_item_border($EQU_RANGED)    : 0)),
                    19 => array(($EQU_TABARD    ? get_item_tooltip($EQU_TABARD)    : 0),($EQU_TABARD    ? get_item_icon($EQU_TABARD)    : 0),($EQU_TABARD    ? get_item_border($EQU_TABARD)    : 0))
                  );
            */
            $sqlm = new SQL();
            $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
            $sqlw = new SQL();
            $sqlw->connect($world_db[$realmid]['addr'], $world_db[$realmid]['user'], $world_db[$realmid]['pass'], $world_db[$realmid]['name']);
            $equiped_items = array(1 => array('', $EQU_HEAD ? get_item_icon($EQU_HEAD, $sqlm, $sqlw) : 0, $EQU_HEAD ? get_item_border($EQU_HEAD, $sqlw) : 0), 2 => array('', $EQU_NECK ? get_item_icon($EQU_NECK, $sqlm, $sqlw) : 0, $EQU_NECK ? get_item_border($EQU_NECK, $sqlw) : 0), 3 => array('', $EQU_SHOULDER ? get_item_icon($EQU_SHOULDER, $sqlm, $sqlw) : 0, $EQU_SHOULDER ? get_item_border($EQU_SHOULDER, $sqlw) : 0), 4 => array('', $EQU_SHIRT ? get_item_icon($EQU_SHIRT, $sqlm, $sqlw) : 0, $EQU_SHIRT ? get_item_border($EQU_SHIRT, $sqlw) : 0), 5 => array('', $EQU_CHEST ? get_item_icon($EQU_CHEST, $sqlm, $sqlw) : 0, $EQU_CHEST ? get_item_border($EQU_CHEST, $sqlw) : 0), 6 => array('', $EQU_BELT ? get_item_icon($EQU_BELT, $sqlm, $sqlw) : 0, $EQU_BELT ? get_item_border($EQU_BELT, $sqlw) : 0), 7 => array('', $EQU_LEGS ? get_item_icon($EQU_LEGS, $sqlm, $sqlw) : 0, $EQU_LEGS ? get_item_border($EQU_LEGS, $sqlw) : 0), 8 => array('', $EQU_FEET ? get_item_icon($EQU_FEET, $sqlm, $sqlw) : 0, $EQU_FEET ? get_item_border($EQU_FEET, $sqlw) : 0), 9 => array('', $EQU_WRIST ? get_item_icon($EQU_WRIST, $sqlm, $sqlw) : 0, $EQU_WRIST ? get_item_border($EQU_WRIST, $sqlw) : 0), 10 => array('', $EQU_GLOVES ? get_item_icon($EQU_GLOVES, $sqlm, $sqlw) : 0, $EQU_GLOVES ? get_item_border($EQU_GLOVES, $sqlw) : 0), 11 => array('', $EQU_FINGER1 ? get_item_icon($EQU_FINGER1, $sqlm, $sqlw) : 0, $EQU_FINGER1 ? get_item_border($EQU_FINGER1, $sqlw) : 0), 12 => array('', $EQU_FINGER2 ? get_item_icon($EQU_FINGER2, $sqlm, $sqlw) : 0, $EQU_FINGER2 ? get_item_border($EQU_FINGER2, $sqlw) : 0), 13 => array('', $EQU_TRINKET1 ? get_item_icon($EQU_TRINKET1, $sqlm, $sqlw) : 0, $EQU_TRINKET1 ? get_item_border($EQU_TRINKET1, $sqlw) : 0), 14 => array('', $EQU_TRINKET2 ? get_item_icon($EQU_TRINKET2, $sqlm, $sqlw) : 0, $EQU_TRINKET2 ? get_item_border($EQU_TRINKET2, $sqlw) : 0), 15 => array('', $EQU_BACK ? get_item_icon($EQU_BACK, $sqlm, $sqlw) : 0, $EQU_BACK ? get_item_border($EQU_BACK, $sqlw) : 0), 16 => array('', $EQU_MAIN_HAND ? get_item_icon($EQU_MAIN_HAND, $sqlm, $sqlw) : 0, $EQU_MAIN_HAND ? get_item_border($EQU_MAIN_HAND, $sqlw) : 0), 17 => array('', $EQU_OFF_HAND ? get_item_icon($EQU_OFF_HAND, $sqlm, $sqlw) : 0, $EQU_OFF_HAND ? get_item_border($EQU_OFF_HAND, $sqlw) : 0), 18 => array('', $EQU_RANGED ? get_item_icon($EQU_RANGED, $sqlm, $sqlw) : 0, $EQU_RANGED ? get_item_border($EQU_RANGED, $sqlw) : 0), 19 => array('', $EQU_TABARD ? get_item_icon($EQU_TABARD, $sqlm, $sqlw) : 0, $EQU_TABARD ? get_item_border($EQU_TABARD, $sqlw) : 0));
            if ($user_lvl > $owner_gmlvl || $owner_name === $user_name) {
                $output .= '
          <!-- start of char.php -->
          <center>
            <div id="tab_content">
              <div id="tab">
                <ul>
                  <li><a href="char_inv.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['inventory'] . '</a></li>
                  <li><a href="char_extra.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['extra'] . '</a></li>
                  ' . ($char['level'] < 10 ? '' : '<li><a href="char_talent.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['talents'] . '</a></li>') . '
                  <li><a href="char_achieve.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['achievements'] . '</a></li>
                  <li><a href="char_rep.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['reputation'] . '</a></li>
                  <li><a href="char_skill.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['skills'] . '</a></li>
                  <li><a href="char_quest.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['quests'] . '</a></li>';
                if (char_get_class_name($char['class']) === 'Hunter') {
                    $output .= '
                  <li><a href="char_pets.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['pets'] . '</a></li>';
                }
                $output .= '
                  <li><a href="char_friends.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['friends'] . '</a></li>
				  <li><a href="char_spell.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['spells'] . '</a></li>
				  <li><a href="char_mail.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['mail'] . '</a></li>
                </ul>
                <ul>';
                // selected char tab at last
                $output .= '
                  <li id="selected"><a href="char.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['char_sheet'] . '</a></li>';
            } else {
                $output .= '
          <center>
            <div id="tab">
              <ul>
                <li id="selected"><a href="char.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['char_sheet'] . '</a></li>
              </ul>
            </div>
            <div id="tab_content">
              <div id="tab">
                <ul>';
            }
            $output .= '
                </ul>
              </div>
              <div id="tab_content2">
                <table class="lined" style="width: 580px;">
                  <tr>
                    <td colspan="2">
                      <div>
                        <img src="' . char_get_avatar_img($char['level'], $char['gender'], $char['race'], $char['class'], 0) . '" alt="avatar" />
                      </div>
                      <div>';
            $a_results = $sqlc->query('SELECT DISTINCT spell FROM character_aura WHERE guid = ' . $id . '');
            if ($sqlc->num_rows($a_results)) {
                while ($aura = $sqlc->fetch_assoc($a_results)) {
                    $output .= '
                        <a style="padding:2px;" href="' . $spell_datasite . $aura['spell'] . '" target="_blank">
                          <img src="' . spell_get_icon($aura['spell'], $sqlm) . '" alt="' . $aura['spell'] . '" width="24" height="24" />
                        </a>';
                }
            }
            $output .= '
                      </div>
                    </td>
                    <td colspan="4">
                      <font class="bold">
                        ' . htmlentities($char['name']) . ' -
                        <img src="img/c_icons/' . $char['race'] . '-' . $char['gender'] . '.gif" onmousemove="toolTip(\'' . char_get_race_name($char['race']) . '\', \'item_tooltip\')" onmouseout="toolTip()" alt="" />
                        <img src="img/c_icons/' . $char['class'] . '.gif" onmousemove="toolTip(\'' . char_get_class_name($char['class']) . '\', \'item_tooltip\')" onmouseout="toolTip()" alt="" />
                        - lvl ' . char_get_level_color($char['level']) . '
                      </font>
                      <br />' . get_map_name($char['map'], $sqlm) . ' - ' . get_zone_name($char['zone'], $sqlm) . '
                      <br />' . $lang_char['honor_points'] . ': ' . $char['totalHonorPoints'] . ' / ' . $char['arenaPoints'] . ' - ' . $lang_char['honor_kills'] . ': ' . $char['totalKills'] . '
                      <br />' . $lang_char['guild'] . ': ' . $guild_name . ' | ' . $lang_char['rank'] . ': ' . htmlentities($guild_rank) . '
                      <br />' . ($char['online'] ? '<img src="img/up.gif" onmousemove="toolTip(\'Online\', \'item_tooltip\')" onmouseout="toolTip()" alt="online" />' : '<img src="img/down.gif" onmousemove="toolTip(\'Offline\', \'item_tooltip\')" onmouseout="toolTip()" alt="offline" />');
            if ($showcountryflag) {
                require_once 'libs/misc_lib.php';
                $country = misc_get_country_by_account($char['account'], $sqlr, $sqlm);
                $output .= ' - ' . ($country['code'] ? '<img src="img/flags/' . $country['code'] . '.png" onmousemove="toolTip(\'' . $country['country'] . '\', \'item_tooltip\')" onmouseout="toolTip()" alt="" />' : '-');
                unset($country);
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td width="6%">';
            if ($equiped_items[1][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_HEAD . '" target="_blank">
                        <img src="' . $equiped_items[1][1] . '" class="' . $equiped_items[1][2] . '" alt="Head" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_head.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td class="half_line" colspan="2" align="center" width="50%">
                      <div class="gradient_p">' . $lang_item['health'] . ':</div>
                      <div class="gradient_pp">' . $char['health'] . '</div>';
            if ($char['class'] == 11) {
                //druid
                $output .= '
                      </br>
                      <div class="gradient_p">' . $lang_item['energy'] . ':</div>
                      <div class="gradient_pp">' . $char['power4'] . '</div>';
            }
            $output .= '
                    </td>
                    <td class="half_line" colspan="2" align="center" width="50%">';
            if ($char['class'] == 1) {
                $output .= '
                      <div class="gradient_p">' . $lang_item['rage'] . ':</div>
                      <div class="gradient_pp">' . $rage . '</div>';
            } elseif ($char['class'] == 4) {
                $output .= '
                      <div class="gradient_p">' . $lang_item['energy'] . ':</div>
                      <div class="gradient_pp">' . $char['power4'] . '</div>';
            } elseif ($char['class'] == 6) {
                // Don't know if FOCUS is the right one need to verify with Death Knight player.
                $output .= '
                      <div class="gradient_p">' . $lang_item['runic'] . ':</div>
                      <div class="gradient_pp">Unknown</div>';
            } elseif ($char['class'] == 11) {
                $output .= '
                      <div class="gradient_p">' . $lang_item['mana'] . ':</div>
                      <div class="gradient_pp">' . $char['power1'] . '</div>
                      </br>
                      <div class="gradient_p">' . $lang_item['rage'] . ':</div>
                      <div class="gradient_pp">' . $rage . '</div>';
            } elseif ($char['class'] == 2 || $char['class'] == 3 || $char['class'] == 5 || $char['class'] == 7 || $char['class'] == 8 || $char['class'] == 9) {
                $output .= '
                      <div class="gradient_p">' . $lang_item['mana'] . ':</div>
                      <div class="gradient_pp">' . $char['power1'] . '</div>';
            }
            $output .= '
                    </td>
                    <td width="6%">';
            if ($equiped_items[10][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_GLOVES . '" target="_blank">
                        <img src="' . $equiped_items[10][1] . '" class="' . $equiped_items[10][2] . '" alt="Gloves" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_gloves.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td width="1%">';
            if ($equiped_items[2][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_NECK . '" target="_blank">
                        <img src="' . $equiped_items[2][1] . '" class="' . $equiped_items[2][2] . '" alt="Neck" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_neck.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td class="half_line" colspan="2" rowspan="3" align="center" width="50%">
                      <div class="gradient_p">
                        ' . $lang_item['strength'] . ':<br />
                        ' . $lang_item['agility'] . ':<br />
                        ' . $lang_item['stamina'] . ':<br />
                        ' . $lang_item['intellect'] . ':<br />
                        ' . $lang_item['spirit'] . ':<br />
                        ' . $lang_item['armor'] . ':
                      </div>
                      <div class="gradient_pp">
                        ' . $char_data[CHAR_DATA_OFFSET_STR] . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_AGI] . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_STA] . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_INT] . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_SPI] . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_ARMOR] . '
                      </div>
                    </td>
                    <td class="half_line" colspan="2" rowspan="3" align="center" width="50%">
                      <div class="gradient_p">
                        ' . $lang_item['res_holy'] . ':<br />
                        ' . $lang_item['res_arcane'] . ':<br />
                        ' . $lang_item['res_fire'] . ':<br />
                        ' . $lang_item['res_nature'] . ':<br />
                        ' . $lang_item['res_frost'] . ':<br />
                        ' . $lang_item['res_shadow'] . ':
                      </div>
                      <div class="gradient_pp">
                        ' . $char_data[CHAR_DATA_OFFSET_RES_HOLY] . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_RES_ARCANE] . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_RES_FIRE] . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_RES_NATURE] . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_RES_FROST] . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_RES_SHADOW] . '
                      </div>
                    </td>
                    <td width="1%">';
            if ($equiped_items[6][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_BELT . '" target="_blank">
                        <img src="' . $equiped_items[6][1] . '" class="' . $equiped_items[6][2] . '" alt="Belt" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_waist.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td width="1%">';
            if ($equiped_items[3][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_SHOULDER . '" target="_blank">
                        <img src="' . $equiped_items[3][1] . '" class="' . $equiped_items[3][2] . '" alt="Shoulder" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_shoulder.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td width="1%">';
            if ($equiped_items[7][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_LEGS . '" target="_blank">
                        <img src="' . $equiped_items[7][1] . '" class="' . $equiped_items[7][2] . '" alt="Legs" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_legs.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td width="1%">';
            if ($equiped_items[15][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_BACK . '" target="_blank">
                        <img src="' . $equiped_items[15][1] . '" class="' . $equiped_items[15][2] . '" alt="Back" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_chest_back.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td width="1%">';
            if ($equiped_items[8][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_FEET . '" target="_blank">
                        <img src="' . $equiped_items[8][1] . '" class="' . $equiped_items[8][2] . '" alt="Feet" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_feet.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td width="1%">';
            if ($equiped_items[5][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_CHEST . '" target="_blank">
                        <img src="' . $equiped_items[5][1] . '" class="' . $equiped_items[5][2] . '" alt="Chest" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_chest_back.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td class="half_line" colspan="2" rowspan="2" align="center" width="50%">
                      <div class="gradient_p">
                        ' . $lang_char['melee_d'] . ':<br />
                        ' . $lang_char['melee_ap'] . ':<br />
                        ' . $lang_char['melee_hit'] . ':<br />
                        ' . $lang_char['melee_crit'] . ':<br />
                        ' . $lang_char['expertise'] . ':<br />
                      </div>
                      <div class="gradient_pp">
                        ' . $mindamage . '-' . $maxdamage . '<br />
                        ' . ($char_data[CHAR_DATA_OFFSET_AP] + $char_data[CHAR_DATA_OFFSET_AP_MOD]) . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_MELEE_HIT] . '<br />
                        ' . $crit . '%<br />
                        ' . $expertise . '<br />
                      </div>
                    </td>
                    <td class="half_line" colspan="2" rowspan="2" align="center" width="50%">
                      <div class="gradient_p">
                        ' . $lang_char['spell_d'] . ':<br />
                        ' . $lang_char['spell_heal'] . ':<br />
                        ' . $lang_char['spell_hit'] . ':<br />
                        ' . $lang_char['spell_crit'] . ':<br />
                        ' . $lang_char['spell_haste'] . '
                      </div>
                      <div class="gradient_pp">
                        ' . $spell_damage . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_SPELL_HEAL] . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_SPELL_HIT] . '<br />
                        ' . $spell_crit . '%<br />
                        ' . $char_data[CHAR_DATA_OFFSET_SPELL_HASTE_RATING] . '
                      </div>
                    </td>
                    <td width="1%">';
            if ($equiped_items[11][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_FINGER1 . '" target="_blank">
                        <img src="' . $equiped_items[11][1] . '" class="' . $equiped_items[11][2] . '" alt="Finger1" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_finger.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td width="1%">';
            if ($equiped_items[4][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_SHIRT . '" target="_blank">
                        <img src="' . $equiped_items[4][1] . '" class="' . $equiped_items[4][2] . '" alt="Shirt" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_shirt.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td width="1%">';
            if ($equiped_items[12][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_FINGER2 . '" target="_blank">
                        <img src="' . $equiped_items[12][1] . '" class="' . $equiped_items[12][2] . '" alt="Finger2" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_finger.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td width="1%">';
            if ($equiped_items[19][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_TABARD . '" target="_blank">
                        <img src="' . $equiped_items[19][1] . '" class="' . $equiped_items[19][2] . '" alt="Tabard" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_tabard.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td class="half_line" colspan="2" rowspan="2" align="center" width="50%">
                      <div class="gradient_p">
                        ' . $lang_char['dodge'] . ':<br />
                        ' . $lang_char['parry'] . ':<br />
                        ' . $lang_char['block'] . ':<br />
                        ' . $lang_char['resilience'] . ':<br />
                      </div>
                      <div class="gradient_pp">
                        ' . $dodge . '%<br />
                        ' . $parry . '%<br />
                        ' . $block . '%<br />
                        ' . $char_data[CHAR_DATA_OFFSET_RESILIENCE] . '<br />
                      </div>
                    </td>
                    <td class="half_line" colspan="2" rowspan="2" align="center" width="50%">
                      <div class="gradient_p">
                        ' . $lang_char['ranged_d'] . ':<br />
                        ' . $lang_char['ranged_ap'] . ':<br />
                        ' . $lang_char['ranged_hit'] . ':<br />
                        ' . $lang_char['ranged_crit'] . ':<br />
                      </div>
                      <div class="gradient_pp">
                        ' . $minrangeddamage . '-' . $maxrangeddamage . '<br />
                        ' . ($char_data[CHAR_DATA_OFFSET_RANGED_AP] + $char_data[CHAR_DATA_OFFSET_RANGED_AP_MOD]) . '<br />
                        ' . $char_data[CHAR_DATA_OFFSET_RANGE_HIT] . '<br />
                        ' . $ranged_crit . '%<br />
                      </div>
                    </td>
                    <td width="1%">';
            if ($equiped_items[13][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_TRINKET1 . '" target="_blank">
                        <img src="' . $equiped_items[13][1] . '" class="' . $equiped_items[13][2] . '" alt="Trinket1" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_trinket.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td width="1%">';
            if ($equiped_items[9][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_WRIST . '" target="_blank">
                        <img src="' . $equiped_items[9][1] . '" class="' . $equiped_items[9][2] . '" alt="Wrist" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_wrist.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td width="1%">';
            if ($equiped_items[14][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_TRINKET2 . '" target="_blank">
                        <img src="' . $equiped_items[14][1] . '" class="' . $equiped_items[14][2] . '" alt="Trinket2" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_trinket.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td></td>
                    <td width="15%">';
            if ($equiped_items[16][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_MAIN_HAND . '" target="_blank">
                        <img src="' . $equiped_items[16][1] . '" class="' . $equiped_items[16][2] . '" alt="MainHand" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_main_hand.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td width="15%">';
            if ($equiped_items[17][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_OFF_HAND . '" target="_blank">
                        <img src="' . $equiped_items[17][1] . '" class="' . $equiped_items[17][2] . '" alt="OffHand" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_off_hand.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td width="15%">';
            if ($equiped_items[18][1]) {
                $output .= '
                      <a style="padding:2px;" href="' . $item_datasite . $EQU_RANGED . '" target="_blank">
                        <img src="' . $equiped_items[18][1] . '" class="' . $equiped_items[18][2] . '" alt="Ranged" />
                      </a>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_ranged.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td width="15%"></td>
                    <td></td>
                  </tr>';
            if ($user_lvl > $owner_gmlvl || $owner_name === $user_name) {
                //total time played
                $tot_time = $char['totaltime'];
                $tot_days = (int) ($tot_time / 86400);
                $tot_time = $tot_time - $tot_days * 86400;
                $total_hours = (int) ($tot_time / 3600);
                $tot_time = $tot_time - $total_hours * 3600;
                $total_min = (int) ($tot_time / 60);
                $output .= '
                  <tr>
                    <td colspan="6">
                      ' . $lang_char['tot_paly_time'] . ': ' . $tot_days . ' ' . $lang_char['days'] . ' ' . $total_hours . ' ' . $lang_char['hours'] . ' ' . $total_min . ' ' . $lang_char['min'] . '
                    </td>
                  </tr>';
            }
            $output .= '
                </table>
              </div>
              <br />
            </div>
            <br />
            <table class="hidden">
              <tr>
                <td>';
            // button to user account page, user account page has own security
            makebutton($lang_char['chars_acc'], 'user.php?action=edit_user&amp;id=' . $owner_acc_id . '', 130);
            $output .= '
                </td>
                <td>';
            // only higher level GM with delete access can edit character
            //  character edit allows removal of character items, so delete permission is needed
            if ($user_lvl > $owner_gmlvl && $user_lvl >= $action_permission['delete']) {
                makebutton($lang_char['edit_button'], 'char_edit.php?id=' . $id . '&amp;realm=' . $realmid . '', 130);
                $output .= '
                </td>
                <td>';
            }
            // only higher level GM with delete access, or character owner can delete character
            if ($user_lvl > $owner_gmlvl && $user_lvl >= $action_permission['delete'] || $owner_name === $user_name) {
                makebutton($lang_char['del_char'], 'char_list.php?action=del_char_form&amp;check%5B%5D=' . $id . '" type="wrn', 130);
                $output .= '
                </td>
                <td>';
            }
            // only GM with update permission can send mail, mail can send items, so update permission is needed
            if ($user_lvl >= $action_permission['update']) {
                makebutton($lang_char['send_mail'], 'mail.php?type=ingame_mail&amp;to=' . $char['name'] . '', 130);
                $output .= '
                </td>
                <td>';
            }
            makebutton($lang_global['back'], 'javascript:window.history.back()" type="def', 130);
            $output .= '
                </td>
              </tr>
            </table>
            <br />
          </center>
          <!-- end of char.php -->';
        } else {
            error($lang_char['no_permission']);
        }
    } else {
        error($lang_char['no_char_found']);
    }
}
Esempio n. 6
0
function char_mail(&$sqlr, &$sqlc)
{
    global $output, $lang_global, $lang_char, $lang_mail, $realm_id, $realm_db, $mmfpm_db, $characters_db, $action_permission, $user_lvl, $user_name, $item_datasite, $itemperpage;
    if (empty($_GET['id'])) {
        error($lang_global['empty_fields']);
    }
    // this is multi realm support, as of writing still under development
    //  this page is already implementing it
    if (empty($_GET['realm'])) {
        $realmid = $realm_id;
    } else {
        $realmid = $sqlr->quote_smart($_GET['realm']);
        if (is_numeric($realmid)) {
            $sqlc->connect($characters_db[$realmid]['addr'], $characters_db[$realmid]['user'], $characters_db[$realmid]['pass'], $characters_db[$realmid]['name']);
        } else {
            $realmid = $realm_id;
        }
    }
    $id = $sqlc->quote_smart($_GET['id']);
    if (is_numeric($id)) {
    } else {
        $id = 0;
    }
    //==========================$_GET and SECURE=================================
    $start = isset($_GET['start']) ? $sqlc->quote_smart($_GET['start']) : 0;
    if (is_numeric($start)) {
    } else {
        $start = 0;
    }
    $order_by = isset($_GET['order_by']) ? $sqlc->quote_smart($_GET['order_by']) : 'id';
    if (preg_match('/^[_[:lower:]]{1,12}$/', $order_by)) {
    } else {
        $order_by = 'id';
    }
    $dir = isset($_GET['dir']) ? $sqlc->quote_smart($_GET['dir']) : 1;
    if (preg_match('/^[01]{1}$/', $dir)) {
    } else {
        $dir = 1;
    }
    $order_dir = $dir ? 'ASC' : 'DESC';
    $dir = $dir ? 0 : 1;
    //==========================$_GET and SECURE end=============================
    // getting character data from database
    $result = $sqlc->query('SELECT account, name, race, class, level, gender
    FROM characters WHERE guid = ' . $id . ' LIMIT 1');
    if ($sqlc->num_rows($result)) {
        $char = $sqlc->fetch_assoc($result);
        // we get user permissions first
        $owner_acc_id = $sqlc->result($result, 0, 'account');
        $result = $sqlr->query('SELECT gmlevel, username FROM account WHERE id = ' . $char['account'] . '');
        $owner_gmlvl = $sqlr->result($result, 0, 'gmlevel');
        $owner_name = $sqlr->result($result, 0, 'username');
        if ($user_lvl > $owner_gmlvl || $owner_name === $user_name) {
            //------------------------Character Tabs---------------------------------
            // we start with a lead of 10 spaces,
            //  because last line of header is an opening tag with 8 spaces
            //  keep html indent in sync, so debuging from browser source would be easy to read
            $output .= '
          <center>
           <div id="tab_content">
              <div id="tab">
                <ul>
                  <li><a href="char.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['char_sheet'] . '</a></li>
                  <li><a href="char_inv.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['inventory'] . '</a></li>
                  <li><a href="char_extra.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['extra'] . '</a></li>
                  ' . ($char['level'] < 10 ? '' : '<li><a href="char_talent.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['talents'] . '</a></li>') . '
                  <li><a href="char_achieve.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['achievements'] . '</a></li>
                  <li><a href="char_rep.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['reputation'] . '</a></li>
                  <li><a href="char_skill.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['skills'] . '</a></li>
				  <li><a href="char_quest.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['quests'] . '</a></li>';
            if (char_get_class_name($char['class']) === 'Hunter') {
                $output .= '
                  <li><a href="char_pets.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['pets'] . '</a></li>';
            }
            $output .= '
                  <li><a href="char_friends.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['friends'] . '</a></li>
				  <li><a href="char_spell.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['spells'] . '</a></li>
                </ul>
                <ul>';
            // selected char tab at last
            $output .= '
                  <li id="selected"><a href="char_mail.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['mail'] . '</a></li>';
            $output .= '
              </ul>
            </div>
            <div id="tab_content2">
              <font class="bold">
                ' . htmlentities($char['name']) . ' -
                <img src="img/c_icons/' . $char['race'] . '-' . $char['gender'] . '.gif"
                  onmousemove="toolTip(\'' . char_get_race_name($char['race']) . '\', \'item_tooltip\')" onmouseout="toolTip()" alt="" />
                <img src="img/c_icons/' . $char['class'] . '.gif"
                  onmousemove="toolTip(\'' . char_get_class_name($char['class']) . '\',\'item_tooltip\')" onmouseout="toolTip()" alt="" /> - lvl ' . char_get_level_color($char['level']) . '
              </font>
              <br /><br />
              <table class="lined" style="width: 100%">';
            //---------------Page Specific Starts Ends here----------------------------
            $query = $sqlc->query('SELECT a.id as id, a.messageType as messagetype, a.sender as sender,
        a.subject as subject, a.itemTextId as itemtextid, a.has_items as hasitems, a.money as money, a.cod as cod, a.checked as checked,
        b.item_template as itemtemplate
        FROM mail a INNER JOIN mail_items b ON a.id = b.mail_id where a.receiver = ' . $id . ' LIMIT ' . $start . ', ' . $itemperpage . '');
            $total_mail = $sqlc->result($sqlc->query('SELECT count(*) FROM mail WHERE receiver= ' . $id . ''), 0);
            $output .= '
                <tr>
                  <td align="left">
                  Total Mails: ' . $total_mail . '
                  </td>
                  <td align="right" width="45%">';
            $output .= generate_pagination('char_mail.php?start=' . $start . '&amp;order_by=' . $order_by . '&amp;dir=' . ($dir ? 0 : 1), $total_mail, $itemperpage, $start);
            $output .= '
                </td>
              </table>
              <table class="lined" style="width: 100%">
                <tr>
                  <th width="5%">' . $lang_mail['mail_type'] . '</th>
                  <th width="10%">' . $lang_mail['sender'] . '</th>
                  <th width="15%">' . $lang_mail['subject'] . '</th>
                  <th width="5%">' . $lang_mail['has_items'] . '</th>
                  <th width="25%">' . $lang_mail['text'] . '</th>
                  <th width="20%">' . $lang_mail['money'] . '</th>
                  <th width="5%">' . $lang_mail['checked'] . '</th>
                </tr>';
            while ($mail = $sqlc->fetch_assoc($query)) {
                $output .= '
                <tr valign=top>
                  <td>' . get_mail_source($mail['messagetype']) . '</td>
                  <td><a href="char.php?id=' . $mail['sender'] . '">' . get_char_name($mail['sender']) . '</a></td>
                  <td>' . $mail['subject'] . '</td>
                  <td>
                    <a style="padding:2px;" href="' . $item_datasite . $mail['itemtemplate'] . '" target="_blank">
                    <img class="bag_icon" src="' . get_item_icon($mail['itemtemplate'], $sqlm) . '" alt="" />
                    </a>
                  </td>
                  <td>' . get_mail_text($mail['itemtextid']) . '</td>
                  <td>
                    ' . substr($mail['money'], 0, -4) . '<img src="img/gold.gif" alt="" align="middle" />
                    ' . substr($mail['money'], -4, 2) . '<img src="img/silver.gif" alt="" align="middle" />
                    ' . substr($mail['money'], -2) . '<img src="img/copper.gif" alt="" align="middle" />
                  </td>
                  <td>' . get_check_state($mail['checked']) . '</td>
                </tr>';
            }
            //---------------Page Specific Data Ends here----------------------------
            //---------------Character Tabs Footer-----------------------------------
            $output .= '
              </table>
            </div>
            <br />
            <table class="hidden">
              <tr>
                <td>';
            // button to user account page, user account page has own security
            makebutton($lang_char['chars_acc'], 'user.php?action=edit_user&amp;id=' . $owner_acc_id . '', 130);
            $output .= '
                </td>
                <td>';
            // only higher level GM with delete access can edit character
            //  character edit allows removal of character items, so delete permission is needed
            if ($user_lvl > $owner_gmlvl && $user_lvl >= $action_permission['delete']) {
                makebutton($lang_char['edit_button'], 'char_edit.php?id=' . $id . '&amp;realm=' . $realmid . '', 130);
                $output .= '
                </td>
                <td>';
            }
            // only higher level GM with delete access, or character owner can delete character
            if ($user_lvl > $owner_gmlvl && $user_lvl >= $action_permission['delete'] || $owner_name === $user_name) {
                makebutton($lang_char['del_char'], 'char_list.php?action=del_char_form&amp;check%5B%5D=' . $id . '" type="wrn', 130);
                $output .= '
                </td>
                <td>';
            }
            // only GM with update permission can send mail, mail can send items, so update permission is needed
            if ($user_lvl >= $action_permission['update']) {
                makebutton($lang_char['send_mail'], 'mail.php?type=ingame_mail&amp;to=' . $char['name'] . '', 130);
                $output .= '
                </td>
                <td>';
            }
            makebutton($lang_global['back'], 'javascript:window.history.back()" type="def', 130);
            $output .= '
                </td>
              </tr>
            </table>
            <br />
          </center>
          <!-- end of char_mail.php -->';
        } else {
            error($lang_char['no_permission']);
        }
    } else {
        error($lang_char['no_char_found']);
    }
}
Esempio n. 7
0
function edit()
{
    global $lang_global, $lang_item_templ, $lang_item, $lang_item_edit, $output, $world_db, $realm_id, $item_datasite, $lang_id_tab, $quest_datasite, $action_permission, $user_lvl, $creature_datasite;
    wowhead_tt();
    valid_login($action_permission['read']);
    if (!isset($_GET['entry'])) {
        redirect("item.php?error=1");
    }
    $sql = new SQL();
    $sql->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);
    $entry = $sql->quote_smart($_GET['entry']);
    $deplang = get_lang_id();
    $result = $sql->query("SELECT `item_template`.`entry`,`class`,`subclass`,`unk0`,IFNULL(" . ($deplang != 0 ? "name_loc{$deplang}" : "NULL") . ",`name`) as name,`displayid`,`Quality`,`Flags`,`BuyCount`,`BuyPrice`,`SellPrice`,`InventoryType`,`AllowableClass`,`AllowableRace`,`ItemLevel`,`RequiredLevel`,`RequiredSkill`,`RequiredSkillRank`,`requiredspell`,`requiredhonorrank`,`RequiredCityRank`,`RequiredReputationFaction`,`RequiredReputationRank`,`maxcount`,`stackable`,`ContainerSlots`,`stat_type1`,`stat_value1`,`stat_type2`,`stat_value2`,`stat_type3`,`stat_value3`,`stat_type4`,`stat_value4`,`stat_type5`,`stat_value5`,`stat_type6`,`stat_value6`,`stat_type7`,`stat_value7`,`stat_type8`,`stat_value8`,`stat_type9`,`stat_value9`,`stat_type10`,`stat_value10`,`dmg_min1`,`dmg_max1`,`dmg_type1`,`dmg_min2`,`dmg_max2`,`dmg_type2`,`armor`,`holy_res`,`fire_res`,`nature_res`,`frost_res`,`shadow_res`,`arcane_res`,`delay`,`ammo_type`,`RangedModRange`,`spellid_1`,`spelltrigger_1`,`spellcharges_1`,`spellppmRate_1`,`spellcooldown_1`,`spellcategory_1`,`spellcategorycooldown_1`,`spellid_2`,`spelltrigger_2`,`spellcharges_2`,`spellppmRate_2`,`spellcooldown_2`,`spellcategory_2`,`spellcategorycooldown_2`,`spellid_3`,`spelltrigger_3`,`spellcharges_3`,`spellppmRate_3`,`spellcooldown_3`,`spellcategory_3`,`spellcategorycooldown_3`,`spellid_4`,`spelltrigger_4`,`spellcharges_4`,`spellppmRate_4`,`spellcooldown_4`,`spellcategory_4`,`spellcategorycooldown_4`,`spellid_5`,`spelltrigger_5`,`spellcharges_5`,`spellppmRate_5`,`spellcooldown_5`,`spellcategory_5`,`spellcategorycooldown_5`,`bonding`,`description`,`PageText`,`LanguageID`,`PageMaterial`,`startquest`,`lockid`,`Material`,`sheath`,`RandomProperty`,`RandomSuffix`,`block`,`itemset`,`MaxDurability`,`area`,`Map`,`BagFamily`,`TotemCategory`,`socketColor_1`,`socketContent_1`,`socketColor_2`,`socketContent_2`,`socketColor_3`,`socketContent_3`,`socketBonus`,`GemProperties`,`RequiredDisenchantSkill`,`ArmorDamageModifier`,`ScriptName`,`DisenchantID`,`FoodType`,`minMoneyLoot`,`maxMoneyLoot` FROM item_template LEFT JOIN locales_item ON item_template.entry = locales_item.entry WHERE item_template.entry = '{$entry}'");
    if ($result) {
        $item = $sql->fetch_assoc($result);
        require_once "scripts/get_lib.php";
        //$tooltip = get_item_tooltip($entry);
        $output .= "<script type=\"text/javascript\" src=\"libs/js/tab.js\"></script>\n   <center>\n    <br /><br /><br />\n    <form method=\"post\" action=\"item.php?action=do_update\" name=\"form1\">\n    <input type=\"hidden\" name=\"backup_op\" value=\"0\"/>\n    <input type=\"hidden\" name=\"type\" value=\"edit\"/>\n    <input type=\"hidden\" name=\"entry\" value=\"{$entry}\"/>\n\n<div class=\"jtab-container\" id=\"container\">\n  <ul class=\"jtabs\">\n    <li><a href=\"#\" onclick=\"return showPane('pane1', this)\" id=\"tab1\">{$lang_item_edit['general_tab']}</a></li>\n    <li><a href=\"#\" onclick=\"return showPane('pane2', this)\">{$lang_item_edit['additional_tab']}</a></li>\n    <li><a href=\"#\" onclick=\"return showPane('pane3', this)\">{$lang_item_edit['stats_tab']}</a></li>\n  <li><a href=\"#\" onclick=\"return showPane('pane4', this)\">{$lang_item_edit['damage_tab']}</a></li>\n  <li><a href=\"#\" onclick=\"return showPane('pane5', this)\">{$lang_item_edit['spell_tab']}</a></li>\n  <li><a href=\"#\" onclick=\"return showPane('pane7', this)\">{$lang_item_edit['sock_tab']}</a></li>\n  <li><a href=\"#\" onclick=\"return showPane('pane6', this)\">{$lang_item_edit['req_tab']}</a></li>\n  <li><a href=\"#\" onclick=\"return showPane('pane8', this)\">{$lang_item_edit['info']}</a></li>";
        if ($item['DisenchantID']) {
            $output .= "<li><a href=\"#\" onclick=\"return showPane('pane9', this)\">{$lang_item_edit['disenchant_tab']}</a></li>";
        }
        $output .= "</ul>\n  <div class=\"jtab-panes\">";
        $output .= "<div id=\"pane1\">\n    <br /><br />\n<table class=\"lined\" style=\"width: 720px;\">\n<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_item_edit['general']}:</td></tr>\n<tr>\n <td>" . makeinfocell($lang_item_edit['entry'], $lang_item_edit['entry_desc']) . "</td>\n <td>";
        //$output .= maketooltip($entry, "$item_datasite$entry", $tooltip, "item_tooltip");
        $output .= "</td>\n <td>" . makeinfocell($lang_item_edit['display_id'], $lang_item_edit['display_id_desc']) . "</td>\n <td><input type=\"text\" name=\"displayid\" size=\"8\" maxlength=\"11\" value=\"{$item['displayid']}\" /></td>\n\n <td>" . makeinfocell($lang_item_edit['req_level'], $lang_item_edit['req_level_desc']) . "</td>\n <td><input type=\"text\" name=\"RequiredLevel\" size=\"8\" maxlength=\"4\" value=\"{$item['RequiredLevel']}\" /></td>\n\n <td>" . makeinfocell($lang_item_edit['item_level'], $lang_item_edit['item_level_desc']) . "</td>\n <td><input type=\"text\" name=\"ItemLevel\" size=\"8\" maxlength=\"4\" value=\"{$item['ItemLevel']}\" /></td>\n</tr>\n\n<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_item_edit['names']}:</td></tr>\n<tr>\n <td>" . makeinfocell($lang_item_edit['item_name'], $lang_item_edit['item_name_desc']) . "</td>\n <td colspan=\"3\"><input type=\"text\" name=\"name\" size=\"30\" maxlength=\"225\" value=\"{$item['name']}\" /></td>\n\n <td>" . makeinfocell($lang_item_edit['script_name'], $lang_item_edit['script_name_desc']) . "</td>\n <td colspan=\"3\"><input type=\"text\" name=\"ScriptName\" size=\"30\" maxlength=\"100\" value=\"{$item['ScriptName']}\" /></td>\n</tr>\n\n<tr>\n <td>" . makeinfocell($lang_item_edit['description'], $lang_item_edit['description_desc']) . "</td>\n <td colspan=\"3\"><input type=\"text\" name=\"description\" size=\"30\" maxlength=\"225\" value=\"{$item['description']}\" /></td>\n <td colspan=\"4\"></td>\n</tr>\n\n<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_item_edit['type']}:</td></tr>\n   <tr>";
        $class = array(0 => "", 1 => "", 2 => "", 4 => "", 5 => "", 6 => "", 7 => "", 9 => "", 11 => "", 12 => "", 13 => "", 14 => "", 15 => "");
        $class[$item['class']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['class'], $lang_item_edit['class_desc']) . "</td>\n  <td colspan=\"3\"><select name=\"class\">\n    <option value=\"0\" {$class[0]}>0 - {$lang_item['consumable']}</option>\n    <option value=\"1\" {$class[1]}>1 - {$lang_item['bag']}</option>\n    <option value=\"2\" {$class[2]}>2 - {$lang_item['weapon']}</option>\n    <option value=\"4\" {$class[4]}>4 - {$lang_item['armor']}</option>\n    <option value=\"5\" {$class[5]}>5 - {$lang_item['reagent']}</option>\n    <option value=\"6\" {$class[6]}>6 - {$lang_item['projectile']}</option>\n    <option value=\"7\" {$class[7]}>7 - {$lang_item['trade_goods']}s</option>\n    <option value=\"9\" {$class[9]}>9 - {$lang_item['recipe']}</option>\n    <option value=\"11\" {$class[11]}>11 - {$lang_item['quiver']}</option>\n    <option value=\"12\" {$class[12]}>12 - {$lang_item['quest']}</option>\n    <option value=\"13\" {$class[13]}>13 - {$lang_item['key']}</option>\n    <option value=\"14\" {$class[14]}>14 - {$lang_item['permanent']}</option>\n    <option value=\"15\" {$class[15]}>15 - {$lang_item['misc_short']}</option>\n     </select></td>";
        unset($class);
        $subclass = array(0 => array(0 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => ""), 1 => array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => ""), 2 => array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "", 8 => "", 10 => "", 11 => "", 12 => "", 13 => "", 14 => "", 15 => "", 16 => "", 17 => "", 18 => "", 19 => "", 20 => ""), 4 => array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "", 8 => "", 9 => ""), 6 => array(2 => "", 3 => ""), 7 => array(0 => "", 1 => "", 2 => "", 3 => ""), 9 => array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "", 8 => "", 9 => "", 10 => ""), 11 => array(2 => "", 3 => ""), 13 => array(0 => "", 1 => ""));
        $subclass[$item['class']][$item['subclass']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['subclass'], $lang_item_edit['subclass_desc']) . "</td>\n  <td colspan=\"3\"><select name=\"subclass\">\n    <option value=\"0\" {$subclass[0][0]}>0 - {$lang_item['none']}</option>\n    <optgroup label=\"Class 0: {$lang_item['consumable']}\">\n    <option value=\"0\" {$subclass[0][0]}>0 - {$lang_item['consumable']}</option>\n    <option value=\"3\" {$subclass[0][3]}>3 - {$lang_item['potion']}</option>\n    <option value=\"4\" {$subclass[0][4]}>4 - {$lang_item['scroll']}</option>\n    <option value=\"5\" {$subclass[0][5]}>5 - {$lang_item['bandage']}</option>\n    <option value=\"6\" {$subclass[0][6]}>6 - {$lang_item['healthstone']}</option>\n    <option value=\"7\" {$subclass[0][7]}>7 - {$lang_item['combat_effect']}</option>\n  <optgroup label=\"Class 1: {$lang_item['bag']}\">\n    <option value=\"0\" {$subclass[1][0]}>0 - {$lang_item['bag']}</option>\n    <option value=\"1\" {$subclass[1][1]}>1 - {$lang_item['soul_shards']}</option>\n    <option value=\"2\" {$subclass[1][2]}>2 - {$lang_item['herbs']}</option>\n    <option value=\"3\" {$subclass[1][3]}>3 - {$lang_item['enchanting']}</option>\n    <option value=\"4\" {$subclass[1][4]}>4 - {$lang_item['engineering']}</option>\n    <option value=\"5\" {$subclass[1][5]}>5 - {$lang_item['gems']}</option>\n    <option value=\"6\" {$subclass[1][6]}>6 - {$lang_item['mining']}</option>\n  <optgroup label=\"Class 2: {$lang_item['weapon']}\">\n    <option value=\"0\" {$subclass[2][0]}>0 - {$lang_item['axe_1h']}</option>\n    <option value=\"1\" {$subclass[2][2]}>1 - {$lang_item['axe_2h']}</option>\n    <option value=\"2\" {$subclass[2][2]}>2 - {$lang_item['bow']}</option>\n    <option value=\"3\" {$subclass[2][2]}>3 - {$lang_item['rifle']}</option>\n    <option value=\"4\" {$subclass[2][4]}>4 - {$lang_item['mace_1h']}</option>\n    <option value=\"5\" {$subclass[2][5]}>5 - {$lang_item['mace_2h']}</option>\n    <option value=\"6\" {$subclass[2][6]}>6 - {$lang_item['polearm']}</option>\n    <option value=\"7\" {$subclass[2][7]}>7 - {$lang_item['sword_1h']}</option>\n    <option value=\"8\" {$subclass[2][8]}>8 - {$lang_item['sword_2h']}</option>\n    <option value=\"10\" {$subclass[2][10]}>10 - {$lang_item['staff']}</option>\n    <option value=\"11\" {$subclass[2][11]}>11 - {$lang_item['exotic_1h']}</option>\n    <option value=\"12\" {$subclass[2][12]}>12 - {$lang_item['exotic_2h']}</option>\n    <option value=\"13\" {$subclass[2][13]}>13 - {$lang_item['fist_weapon']}</option>\n    <option value=\"14\" {$subclass[2][14]}>14 - {$lang_item['misc_weapon']}</option>\n    <option value=\"15\" {$subclass[2][15]}>15 - {$lang_item['dagger']}</option>\n    <option value=\"16\" {$subclass[2][16]}>16 - {$lang_item['thrown']}</option>\n    <option value=\"17\" {$subclass[2][17]}>17 - {$lang_item['spear']}</option>\n    <option value=\"18\" {$subclass[2][18]}>18 - {$lang_item['crossbow']}</option>\n    <option value=\"19\" {$subclass[2][19]}>19 - {$lang_item['wand']}</option>\n    <option value=\"20\" {$subclass[2][20]}>20 - {$lang_item['fishing_pole']}</option>\n  </optgroup>\n  <optgroup label=\"Class 4: {$lang_item['armor']}\">\n    <option value=\"0\" {$subclass[4][0]}>0 - {$lang_item['misc']}</option>\n    <option value=\"1\" {$subclass[4][1]}>1 - {$lang_item['cloth']}</option>\n    <option value=\"2\" {$subclass[4][2]}>2 - {$lang_item['leather']}</option>\n    <option value=\"3\" {$subclass[4][3]}>3 - {$lang_item['mail']}</option>\n    <option value=\"4\" {$subclass[4][4]}>4 - {$lang_item['plate']}</option>\n    <option value=\"5\" {$subclass[4][5]}>5 - {$lang_item['buckler']}</option>\n    <option value=\"6\" {$subclass[4][6]}>6 - {$lang_item['shield']}</option>\n    <option value=\"7\" {$subclass[4][7]}>7 - {$lang_item['libram']}</option>\n    <option value=\"8\" {$subclass[4][8]}>8 - {$lang_item['idol']}</option>\n    <option value=\"9\" {$subclass[4][9]}>9 - {$lang_item['totem']}</option>\n  </optgroup>\n  <optgroup label=\"Class 6: {$lang_item['projectile']}\">\n    <option value=\"2\" {$subclass[6][2]}>2 - {$lang_item['arrows']}</option>\n    <option value=\"3\" {$subclass[6][3]}>3 - {$lang_item['bullets']}</option>\n  </optgroup>\n  <optgroup label=\"Class 7: {$lang_item['trade_goods']}\">\n    <option value=\"0\" {$subclass[7][0]}>0 - {$lang_item['trade_goods']}</option>\n    <option value=\"1\" {$subclass[7][1]}>1 - {$lang_item['parts']}</option>\n    <option value=\"2\" {$subclass[7][2]}>2 - {$lang_item['explosives']}</option>\n    <option value=\"3\" {$subclass[7][3]}>3 - {$lang_item['devices']}</option>\n  </optgroup>\n  <optgroup label=\"Class 9: {$lang_item['recipe']}\">\n    <option value=\"0\" {$subclass[9][0]}>0 - {$lang_item['book']}</option>\n    <option value=\"1\" {$subclass[9][1]}>1 - {$lang_item['LW_pattern']}</option>\n    <option value=\"2\" {$subclass[9][2]}>2 - {$lang_item['tailoring_pattern']}</option>\n    <option value=\"3\" {$subclass[9][3]}>3 - {$lang_item['ENG_Schematic']}</option>\n    <option value=\"4\" {$subclass[9][4]}>4 - {$lang_item['BS_plans']}</option>\n    <option value=\"5\" {$subclass[9][5]}>5 - {$lang_item['cooking_recipe']}</option>\n    <option value=\"6\" {$subclass[9][6]}>6 - {$lang_item['alchemy_recipe']}</option>\n    <option value=\"7\" {$subclass[9][7]}>7 - {$lang_item['FA_manual']}</option>\n    <option value=\"8\" {$subclass[9][8]}>8 - {$lang_item['ench_formula']}</option>\n    <option value=\"9\" {$subclass[9][9]}>9 - {$lang_item['fishing_manual']}</option>\n    <option value=\"10\" {$subclass[9][10]}>10 - {$lang_item['JC_formula']}</option>\n  </optgroup>\n  <optgroup label=\"Class 11: {$lang_item['quiver']}\">\n    <option value=\"2\" {$subclass[11][2]}>2 - {$lang_item['quiver']}</option>\n    <option value=\"3\" {$subclass[11][3]}>3 - {$lang_item['ammo_pouch']}</option>\n  </optgroup>\n  <optgroup label=\"Class 13: {$lang_item['key']}\">\n    <option value=\"0\" {$subclass[13][0]}>0 - {$lang_item['key']}</option>\n    <option value=\"1\" {$subclass[13][1]}>1 - {$lang_item['lockpick']}</option>\n  </optgroup>\n </select></td>\n</tr>\n<tr>";
        unset($subclass);
        $quality = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "");
        $quality[$item['Quality']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['quality'], $lang_item_edit['quality_desc']) . "</td>\n   <td colspan=\"2\"><select name=\"Quality\">\n    <option value=\"0\" {$quality[0]}>0 - {$lang_item['poor']}</option>\n    <option value=\"1\" {$quality[1]}>1 - {$lang_item['common']}</option>\n    <option value=\"2\" {$quality[2]}>2 - {$lang_item['uncommon']}</option>\n    <option value=\"3\" {$quality[3]}>3 - {$lang_item['rare']}</option>\n    <option value=\"4\" {$quality[4]}>4 - {$lang_item['epic']}</option>\n    <option value=\"5\" {$quality[5]}>5 - {$lang_item['legendary']}</option>\n    <option value=\"6\" {$quality[6]}>6 - {$lang_item['artifact']}</option>\n     </select></td>";
        unset($quality);
        $inv_type = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "", 8 => "", 9 => "", 10 => "", 11 => "", 12 => "", 13 => "", 14 => "", 15 => "", 16 => "", 17 => "", 18 => "", 19 => "", 20 => "", 21 => "", 22 => "", 23 => "", 24 => "", 25 => "", 26 => "");
        $inv_type[$item['InventoryType']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['inv_type'], $lang_item_edit['inv_type_desc']) . "</td>\n    <td colspan=\"2\"><select name=\"InventoryType\">\n    <option value=\"0\" {$inv_type[0]}>0 - {$lang_item['other']}</option>\n    <option value=\"1\" {$inv_type[1]}>1 - {$lang_item['head']}</option>\n    <option value=\"2\" {$inv_type[2]}>2 - {$lang_item['neck']}</option>\n    <option value=\"3\" {$inv_type[3]}>3 - {$lang_item['shoulder']}</option>\n    <option value=\"4\" {$inv_type[4]}>4 - {$lang_item['shirt']}</option>\n    <option value=\"5\" {$inv_type[5]}>5 - {$lang_item['chest']}</option>\n    <option value=\"6\" {$inv_type[6]}>6 - {$lang_item['belt']}</option>\n    <option value=\"7\" {$inv_type[7]}>7 - {$lang_item['legs']}</option>\n    <option value=\"8\" {$inv_type[8]}>8 - {$lang_item['feet']}</option>\n    <option value=\"9\" {$inv_type[9]}>9 - {$lang_item['belt']}</option>\n    <option value=\"10\" {$inv_type[10]}>10 - {$lang_item['gloves']}</option>\n    <option value=\"11\" {$inv_type[11]}>11 - {$lang_item['finger']}</option>\n    <option value=\"12\" {$inv_type[12]}>12 - {$lang_item['trinket']}</option>\n    <option value=\"13\" {$inv_type[13]}>13 - {$lang_item['one_hand']}</option>\n    <option value=\"14\" {$inv_type[14]}>14 - {$lang_item['off_hand']}</option>\n    <option value=\"15\" {$inv_type[15]}>15 - {$lang_item['bow']}</option>\n    <option value=\"16\" {$inv_type[16]}>16 - {$lang_item['back']}</option>\n    <option value=\"17\" {$inv_type[17]}>17 - {$lang_item['two_hand']}</option>\n    <option value=\"18\" {$inv_type[18]}>18 - {$lang_item['bag']}</option>\n    <option value=\"19\" {$inv_type[19]}>19 - {$lang_item['tabard']}</option>\n    <option value=\"20\" {$inv_type[20]}>20 - {$lang_item['robe']}</option>\n    <option value=\"21\" {$inv_type[21]}>21 - {$lang_item['main_hand']}</option>\n    <option value=\"22\" {$inv_type[22]}>22 - {$lang_item['off_misc']}</option>\n    <option value=\"23\" {$inv_type[23]}>23 - {$lang_item['tome']}</option>\n    <option value=\"24\" {$inv_type[24]}>24 - {$lang_item['projectile']}</option>\n    <option value=\"25\" {$inv_type[25]}>25 - {$lang_item['thrown']}</option>\n    <option value=\"26\" {$inv_type[26]}>26 - {$lang_item['rifle']}</option>\n     </select></td>\n\n     <td>" . makeinfocell($lang_item_edit['flags'], $lang_item_edit['flags_desc']) . "</td>\n     <td><input type=\"text\" name=\"Flags\" size=\"10\" maxlength=\"30\" value=\"{$item['Flags']}\" /></td>\n     </tr>\n\n     <tr>\n     <td>" . makeinfocell($lang_item_edit['item_set'], $lang_item_edit['item_set_desc']) . "</td>\n     <td><input type=\"text\" name=\"itemset\" size=\"10\" maxlength=\"30\" value=\"{$item['itemset']}\" /></td>";
        unset($inv_type);
        $bonding = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "");
        $bonding[$item['bonding']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['bonding'], $lang_item_edit['bonding_desc']) . "</td>\n   <td colspan=\"3\"><select name=\"bonding\">\n    <option value=\"0\" {$bonding[0]}>0 - {$lang_item['no_bind']}</option>\n    <option value=\"1\" {$bonding[1]}>1 - {$lang_item['bop']}</option>\n    <option value=\"2\" {$bonding[2]}>2 - {$lang_item['boe']}</option>\n    <option value=\"3\" {$bonding[3]}>3 - {$lang_item['bou']}</option>\n    <option value=\"4\" {$bonding[4]}>4 - {$lang_item['quest_item']}</option>\n    <option value=\"5\" {$bonding[5]}>5 - {$lang_item['quest_item']}1</option>\n     </select></td>\n\n<td>" . makeinfocell($lang_item_edit['start_quest'], $lang_item_edit['start_quest_desc']) . "</td>\n<td><input type=\"text\" name=\"startquest\" size=\"10\" maxlength=\"30\" value=\"{$item['startquest']}\" /></td>\n\n</tr>\n</table>\n<br />{$lang_item_edit['short_rules_desc']}<br /><br />\n</div>";
        unset($bonding);
        $output .= "<div id=\"pane2\">\n  <br /><br /><table class=\"lined\" style=\"width: 720px;\">\n  <tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_item_edit['vendor']}:</td></tr>\n  <tr>\n   <td>" . makeinfocell($lang_item_edit['buy_count'], $lang_item_edit['buy_count_desc']) . "</td>\n   <td><input type=\"text\" name=\"BuyCount\" size=\"8\" maxlength=\"3\" value=\"{$item['BuyCount']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['buy_price'], $lang_item_edit['buy_price_desc']) . "</td>\n   <td><input type=\"text\" name=\"BuyPrice\" size=\"8\" maxlength=\"30\" value=\"{$item['BuyPrice']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['sell_price'], $lang_item_edit['sell_price_desc']) . "</td>\n   <td><input type=\"text\" name=\"SellPrice\" size=\"8\" maxlength=\"30\" value=\"{$item['SellPrice']}\" /></td>\n   <td></td><td></td>\n  </tr>\n\n  <tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_item_edit['container']}:</td></tr>\n  <tr>\n\n    <td>" . makeinfocell($lang_item_edit['max_count'], $lang_item_edit['max_count_desc']) . "</td>\n    <td><input type=\"text\" name=\"maxcount\" size=\"6\" maxlength=\"5\" value=\"{$item['maxcount']}\" /></td>\n\n    <td>" . makeinfocell($lang_item_edit['stackable'], $lang_item_edit['stackable_desc']) . "</td>\n    <td><input type=\"text\" name=\"stackable\" size=\"6\" maxlength=\"5\" value=\"{$item['stackable']}\" /></td>\n\n    <td>" . makeinfocell($lang_item_edit['bag_family'], $lang_item_edit['bag_family_desc']) . "</td>";
        $bagfamily = array(0 => "", 1 => "", 2 => "", 3 => "", 6 => "", 7 => "", 8 => "", 9 => "", 10 => "", 12 => "");
        $bagfamily[$item['BagFamily']] = " selected=\"selected\" ";
        $output .= "<td><select name=\"BagFamily\">\n    <option value=\"0\" {$bagfamily[0]}>0 - {$lang_item['none']}</option>\n    <option value=\"1\" {$bagfamily[1]}>1 - {$lang_item['arrows']}</option>\n    <option value=\"2\" {$bagfamily[2]}>2 - {$lang_item['bullets']}</option>\n    <option value=\"3\" {$bagfamily[3]}>3 - {$lang_item['soul_shards']}</option>\n    <option value=\"6\" {$bagfamily[6]}>6 - {$lang_item['herbs']}</option>\n    <option value=\"7\" {$bagfamily[7]}>7 - {$lang_item['enchanting']}</option>\n    <option value=\"8\" {$bagfamily[8]}>8 - {$lang_item['engineering']}</option>\n    <option value=\"9\" {$bagfamily[9]}>9 - {$lang_item['keys']}</option>\n    <option value=\"10\" {$bagfamily[10]}>10 - {$lang_item['gems']}</option>\n    <option value=\"12\" {$bagfamily[12]}>12 - {$lang_item['mining']}</option>\n     </select></td>\n  <td>" . makeinfocell($lang_item_edit['bag_slots'], $lang_item_edit['bag_slots_desc']) . "</td>\n  <td><input type=\"text\" name=\"ContainerSlots\" size=\"10\" maxlength=\"3\" value=\"{$item['ContainerSlots']}\" /></td>\n  </tr>\n  <tr>\n\n  <tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_item_edit['materials']}:</td></tr>";
        unset($bagfamily);
        $Material = array(-1 => "", 0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "", 8 => "");
        $Material[$item['Material']] = " selected=\"selected\" ";
        $output .= "<tr>\n  <td>" . makeinfocell($lang_item_edit['material'], $lang_item_edit['material_desc']) . "</td>\n   <td colspan=\"2\"><select name=\"Material\">\n    <option value=\"-1\" {$Material[-1]}>-1 - {$lang_item_edit['consumables']}</option>\n    <option value=\"0\" {$Material[0]}>0 - {$lang_item_edit['none']}</option>\n    <option value=\"1\" {$Material[1]}>1 - {$lang_item_edit['metal']}</option>\n    <option value=\"2\" {$Material[2]}>2 - {$lang_item_edit['wood']}</option>\n    <option value=\"3\" {$Material[3]}>3 - {$lang_item_edit['liquid']}</option>\n    <option value=\"4\" {$Material[4]}>4 - {$lang_item_edit['jewelry']}</option>\n    <option value=\"5\" {$Material[5]}>5 - {$lang_item_edit['chain']}</option>\n    <option value=\"6\" {$Material[6]}>6 - {$lang_item_edit['plate']}</option>\n    <option value=\"7\" {$Material[7]}>7 - {$lang_item_edit['cloth']}</option>\n    <option value=\"8\" {$Material[8]}>8 - {$lang_item_edit['leather']}</option>\n     </select></td>";
        unset($Material);
        $PageMaterial = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "");
        $PageMaterial[$item['PageMaterial']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['page_material'], $lang_item_edit['page_material_desc']) . "</td>\n   <td colspan=\"2\"><select name=\"PageMaterial\">\n    <option value=\"0\" {$PageMaterial[0]}>0 - {$lang_item_edit['none']}</option>\n    <option value=\"1\" {$PageMaterial[1]}>1 - {$lang_item_edit['parchment']}</option>\n    <option value=\"2\" {$PageMaterial[2]}>2 - {$lang_item_edit['stone']}</option>\n    <option value=\"3\" {$PageMaterial[3]}>3 - {$lang_item_edit['marble']}</option>\n    <option value=\"4\" {$PageMaterial[4]}>4 - {$lang_item_edit['silver']}</option>\n    <option value=\"5\" {$PageMaterial[5]}>5 - {$lang_item_edit['bronze']}</option>\n     </select></td>";
        unset($PageMaterial);
        $output .= "<td>" . makeinfocell($lang_item_edit['max_durability'], $lang_item_edit['max_durability_desc']) . "</td>\n  <td><input type=\"text\" name=\"MaxDurability\" size=\"8\" maxlength=\"30\" value=\"{$item['MaxDurability']}\" /></td>\n</tr>\n\n<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_item_edit['RandomProperty']}:</td></tr>\n<tr>\n   <td colspan=\"2\">" . makeinfocell($lang_item_edit['RandomProperty'], $lang_item_edit['RandomProperty_desc']) . "</td>\n   <td colspan=\"2\"><input type=\"text\" name=\"RandomProperty\" size=\"8\" maxlength=\"30\" value=\"{$item['RandomProperty']}\" /></td>\n\n   <td colspan=\"2\">" . makeinfocell($lang_item_edit['RandomSuffix'], $lang_item_edit['RandomSuffix_desc']) . "</td>\n   <td colspan=\"2\"><input type=\"text\" name=\"RandomSuffix\" size=\"8\" maxlength=\"10\" value=\"{$item['RandomSuffix']}\" /></td>\n</tr>\n\n\n<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_item_edit['other']}:</td></tr>\n  <tr>\n   <td>" . makeinfocell($lang_item_edit['area'], $lang_item_edit['area_desc']) . "</td>\n   <td><input type=\"text\" name=\"area\" size=\"8\" maxlength=\"10\" value=\"{$item['area']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['map'], $lang_item_edit['map_desc']) . "</td>\n   <td><input type=\"text\" name=\"Map\" size=\"8\" maxlength=\"10\" value=\"{$item['Map']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['page_text'], $lang_item_edit['page_text_desc']) . "</td>\n   <td><input type=\"text\" name=\"PageText\" size=\"6\" maxlength=\"30\" value=\"{$item['PageText']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['unk0'], $lang_item_edit['unk0_desc']) . "</td>\n   <td><input type=\"text\" name=\"unk0\" size=\"8\" maxlength=\"10\" value=\"{$item['unk0']}\" /></td>\n  </tr>\n  <tr>\n\n    <tr>\n   <td colspan=\"2\">" . makeinfocell($lang_item_edit['disenchant_id'], $lang_item_edit['disenchant_id_desc']) . "</td>\n   <td><input type=\"text\" name=\"DisenchantID\" size=\"10\" maxlength=\"10\" value=\"{$item['DisenchantID']}\" /></td>\n\n   <td colspan=\"2\">" . makeinfocell($lang_item_edit['req_skill_disenchant'], $lang_item_edit['req_skill_disenchant_desc']) . "</td>\n   <td><input type=\"text\" name=\"RequiredDisenchantSkill\" size=\"10\" maxlength=\"10\" value=\"{$item['RequiredDisenchantSkill']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['lock_id'], $lang_item_edit['lock_id_desc']) . "</td>\n   <td><input type=\"text\" name=\"lockid\" size=\"8\" maxlength=\"30\" value=\"{$item['lockid']}\" /></td>\n  </tr>";
        $LanguageID = array(0 => "", 1 => "", 2 => "", 3 => "", 6 => "", 7 => "", 8 => "", 9 => "", 10 => "", 11 => "", 12 => "", 13 => "", 14 => "", 33 => "");
        $LanguageID[$item['LanguageID']] = " selected=\"selected\" ";
        $output .= "<tr>\n  <td>" . makeinfocell($lang_item_edit['lang_id'], $lang_item_edit['lang_id_desc']) . "</td>\n   <td colspan=\"2\"><select name=\"LanguageID\">\n    <option value=\"0\" {$LanguageID[0]}>0 - {$lang_item_edit['other']}</option>\n    <option value=\"1\" {$LanguageID[1]}>1 - Orcish</option>\n    <option value=\"2\" {$LanguageID[2]}>2 - Darnassian</option>\n    <option value=\"3\" {$LanguageID[3]}>3 - Taurahe</option>\n    <option value=\"6\" {$LanguageID[6]}>6 - Dwarvish</option>\n    <option value=\"7\" {$LanguageID[7]}>7 - Common</option>\n    <option value=\"8\" {$LanguageID[8]}>8 - Demonic</option>\n    <option value=\"9\" {$LanguageID[9]}>9 - Titan</option>\n    <option value=\"10\" {$LanguageID[10]}>10 - Thelassian</option>\n    <option value=\"11\" {$LanguageID[11]}>11 - Draconic</option>\n    <option value=\"12\" {$LanguageID[12]}>12 - Kalimag</option>\n    <option value=\"13\" {$LanguageID[13]}>13 - Gnomish</option>\n    <option value=\"14\" {$LanguageID[14]}>14 - Troll</option>\n    <option value=\"33\" {$LanguageID[33]}>33 - Gutterspeak</option>\n     </select></td>";
        unset($LanguageID);
        $sheath = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 7 => "");
        $sheath[$item['sheath']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['sheath'], $lang_item_edit['sheath_desc']) . "</td>\n   <td colspan=\"2\"><select name=\"sheath\">\n    <option value=\"0\" {$sheath[0]}>0 - {$lang_item_edit['other']}</option>\n    <option value=\"1\" {$sheath[1]}>1 - {$lang_item['sword_2h']}</option>\n    <option value=\"2\" {$sheath[2]}>2 - {$lang_item['staff']}</option>\n    <option value=\"3\" {$sheath[3]}>3 - {$lang_item['sword_1h']}</option>\n    <option value=\"4\" {$sheath[4]}>4 - {$lang_item['shield']}</option>\n    <option value=\"5\" {$sheath[5]}>5 - {$lang_item['rod']}</option>\n    <option value=\"7\" {$sheath[7]}>7 - {$lang_item['off_hand']}</option>\n     </select></td>\n\n   <td>" . makeinfocell($lang_item_edit['totem_category'], $lang_item_edit['totem_category_desc']) . "</td>\n   <td><input type=\"text\" name=\"TotemCategory\" size=\"8\" maxlength=\"10\" value=\"{$item['TotemCategory']}\" /></td>\n  </tr>\n\n   </table><br /><br />\n    </div>";
        unset($sheath);
        $output .= "<div id=\"pane3\">\n   <br /><br /><table class=\"lined\" style=\"width: 720px;\">\n  <tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_item_edit['stats']}:</td></tr>\n  <tr>\n\n  <td>" . makeinfocell($lang_item_edit['stat_type'] . " 1", $lang_item_edit['stat_type_desc']) . "</td>\n   <td><select name=\"stat_type1\">";
        output_status_options($item['stat_type1']);
        $output .= "</select></td>\n\n  <td><input type=\"text\" name=\"stat_value1\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value1']}\" /></td>\n  <td>" . makeinfocell($lang_item_edit['stat_type'] . " 2", $lang_item_edit['stat_type_desc']) . "</td>\n   <td><select name=\"stat_type2\">";
        output_status_options($item['stat_type2']);
        $output .= "</select></td>\n\n   <td><input type=\"text\" name=\"stat_value2\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value2']}\" /></td>\n  </tr>\n <tr>\n  <td>" . makeinfocell($lang_item_edit['stat_type'] . " 3", $lang_item_edit['stat_type_desc']) . "</td>\n  <td><select name=\"stat_type3\">";
        output_status_options($item['stat_type3']);
        $output .= "</select></td>\n\n  <td><input type=\"text\" name=\"stat_value3\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value3']}\" /></td>\n  <td>" . makeinfocell($lang_item_edit['stat_type'] . " 4", $lang_item_edit['stat_type_desc']) . "</td>\n   <td><select name=\"stat_type4\">";
        output_status_options($item['stat_type4']);
        $output .= "</select></td>\n\n   <td><input type=\"text\" name=\"stat_value4\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value4']}\" /></td>\n  </tr>\n<tr>\n <td>" . makeinfocell($lang_item_edit['stat_type'] . " 5", $lang_item_edit['stat_type_desc']) . "</td>\n <td><select name=\"stat_type5\">";
        output_status_options($item['stat_type5']);
        $output .= "</select></td>\n\n   <td><input type=\"text\" name=\"stat_value5\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value5']}\" /></td>\n  <td>" . makeinfocell($lang_item_edit['stat_type'] . " 6", $lang_item_edit['stat_type_desc']) . "</td>\n   <td><select name=\"stat_type6\">";
        output_status_options($item['stat_type1']);
        $output .= "</select></td>\n\n   <td><input type=\"text\" name=\"stat_value6\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value6']}\" /></td>\n  </tr>\n<tr>\n <td>" . makeinfocell($lang_item_edit['stat_type'] . " 7", $lang_item_edit['stat_type_desc']) . "</td>\n   <td><select name=\"stat_type7\">";
        output_status_options($item['stat_type7']);
        $output .= "</select></td>\n  <td><input type=\"text\" name=\"stat_value7\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value7']}\" /></td>\n  <td>" . makeinfocell($lang_item_edit['stat_type'] . " 8", $lang_item_edit['stat_type_desc']) . "</td>\n   <td><select name=\"stat_type8\">";
        output_status_options($item['stat_type8']);
        $output .= "</select></td>\n\n   <td><input type=\"text\" name=\"stat_value8\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value8']}\" /></td>\n  </tr>\n<tr>\n  <td>" . makeinfocell($lang_item_edit['stat_type'] . " 9", $lang_item_edit['stat_type_desc']) . "</td>\n  <td><select name=\"stat_type9\">";
        output_status_options($item['stat_type9']);
        $output .= "</select></td>\n  <td><input type=\"text\" name=\"stat_value9\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value9']}\" /></td>\n  <td>" . makeinfocell($lang_item_edit['stat_type'] . " 10", $lang_item_edit['stat_type_desc']) . "</td>\n   <td><select name=\"stat_type10\">";
        output_status_options($item['stat_type10']);
        $output .= "</select></td>\n\n   <td><input type=\"text\" name=\"stat_value10\" size=\"10\" maxlength=\"6\" value=\"{$item['stat_value10']}\" /></td>\n  </tr>\n\n  <tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_item_edit['resis_armor']}:</td></tr>\n   <tr>\n   <td colspan=\"2\">" . makeinfocell($lang_item['armor'], $lang_item_edit['armor_desc']) . "</td>\n   <td><input type=\"text\" name=\"armor\" size=\"10\" maxlength=\"30\" value=\"{$item['armor']}\" /></td>\n\n   <td colspan=\"2\">" . makeinfocell($lang_item['block'], $lang_item_edit['block_desc']) . "</td>\n   <td><input type=\"text\" name=\"block\" size=\"10\" maxlength=\"30\" value=\"{$item['block']}\" /></td>\n   </tr>\n   <tr>\n   <td colspan=\"2\">" . makeinfocell($lang_item['res_holy'], $lang_item_edit['res_holy_desc']) . "</td>\n   <td><input type=\"text\" name=\"holy_res\" size=\"10\" maxlength=\"30\" value=\"{$item['holy_res']}\" /></td>\n\n   <td colspan=\"2\">" . makeinfocell($lang_item['res_fire'], $lang_item_edit['res_fire_desc']) . "</td>\n   <td><input type=\"text\" name=\"fire_res\" size=\"10\" maxlength=\"30\" value=\"{$item['fire_res']}\" /></td>\n   </tr>\n   <tr>\n   <td colspan=\"2\">" . makeinfocell($lang_item['res_nature'], $lang_item_edit['res_nature_desc']) . "</td>\n   <td><input type=\"text\" name=\"nature_res\" size=\"10\" maxlength=\"30\" value=\"{$item['nature_res']}\" /></td>\n\n   <td colspan=\"2\">" . makeinfocell($lang_item['res_frost'], $lang_item_edit['res_frost_desc']) . "</td>\n   <td><input type=\"text\" name=\"frost_res\" size=\"10\" maxlength=\"30\" value=\"{$item['frost_res']}\" /></td>\n   </tr>\n   <tr>\n   <td colspan=\"2\">" . makeinfocell($lang_item['res_shadow'], $lang_item_edit['res_shadow_desc']) . "</td>\n   <td><input type=\"text\" name=\"shadow_res\" size=\"10\" maxlength=\"30\" value=\"{$item['shadow_res']}\" /></td>\n\n   <td colspan=\"2\">" . makeinfocell($lang_item['res_arcane'], $lang_item_edit['res_arcane_desc']) . "</td>\n   <td><input type=\"text\" name=\"arcane_res\" size=\"10\" maxlength=\"30\" value=\"{$item['arcane_res']}\" /></td>\n   </tr>\n\n    </table><br /><br />\n    </div>";
        $output .= "<div id=\"pane4\">\n     <br /><br /><table class=\"lined\" style=\"width: 720px;\">\n  <tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_item_edit['weapon_properties']}:</td></tr>\n<tr>\n <td>" . makeinfocell($lang_item_edit['delay'], $lang_item_edit['delay_desc']) . "</td>\n <td colspan=\"2\"><input type=\"text\" name=\"delay\" size=\"10\" maxlength=\"11\" value=\"{$item['delay']}\" /></td>\n\n <td>" . makeinfocell($lang_item_edit['ranged_mod'], $lang_item_edit['ranged_mod_desc']) . "</td>\n <td colspan=\"2\"><input type=\"text\" name=\"RangedModRange\" size=\"10\" maxlength=\"40\" value=\"{$item['RangedModRange']}\" /></td>\n</tr>\n<tr>\n <td>" . makeinfocell($lang_item_edit['armor_dmg_mod'], $lang_item_edit['armor_dmg_mod_desc']) . "</td>\n <td colspan=\"2\"><input type=\"text\" name=\"ArmorDamageModifier\" size=\"10\" maxlength=\"40\" value=\"{$item['ArmorDamageModifier']}\" /></td>";
        $ammo_type = array(0 => "", 2 => "", 3 => "");
        $ammo_type[$item['ammo_type']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['ammo_type'], $lang_item_edit['ammo_type_desc']) . "</td>\n   <td colspan=\"2\"><select name=\"ammo_type\">\n    <option value=\"0\" {$ammo_type[0]}>0 - {$lang_item['none']}</option>\n    <option value=\"2\" {$ammo_type[2]}>2 - {$lang_item['arrows']}</option>\n    <option value=\"3\" {$ammo_type[3]}>3 - {$lang_item['bullets']}</option>\n     </select></td>\n</tr>\n<tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_item_edit['weapon_damage']}:</td></tr>\n<tr>";
        unset($ammo_type);
        $output .= "<td>" . makeinfocell($lang_item_edit['damage_type'] . " 1", $lang_item_edit['damage_type_desc']) . "</td>\n   <td colspan=\"2\"><select name=\"dmg_type1\">";
        output_dmgtype_options($item['dmg_type1']);
        $output .= "</select></td>\n\n   <td>" . makeinfocell($lang_item_edit['dmg_min_max'], $lang_item_edit['dmg_min_max_desc']) . "</td>\n   <td colspan=\"4\"><input type=\"text\" name=\"dmg_min1\" size=\"8\" maxlength=\"45\" value=\"{$item['dmg_min1']}\" /> - <input type=\"text\" name=\"dmg_max1\" size=\"8\" maxlength=\"45\" value=\"{$item['dmg_max1']}\" /></td>\n\n</tr>\n<tr>\n  <td>" . makeinfocell($lang_item_edit['damage_type'] . " 2", $lang_item_edit['damage_type_desc']) . "</td>\n   <td colspan=\"2\"><select name=\"dmg_type2\">";
        output_dmgtype_options($item['dmg_type2']);
        $output .= "</select></td>\n\n   <td>" . makeinfocell($lang_item_edit['dmg_min_max'], $lang_item_edit['dmg_min_max_desc']) . "</td>\n   <td colspan=\"4\"><input type=\"text\" name=\"dmg_min2\" size=\"8\" maxlength=\"45\" value=\"{$item['dmg_min2']}\" /> - <input type=\"text\" name=\"dmg_max2\" size=\"8\" maxlength=\"45\" value=\"{$item['dmg_max2']}\" /></td>\n\n</tr>\n</table><br /><br />\n    </div>";
        $output .= "<div id=\"pane5\">\n     <br /><br /><table class=\"lined\" style=\"width: 720px;\">\n<tr>\n   <td colspan=\"2\">{$lang_item_edit['item_spell']} 1</td>\n   <td>" . makeinfocell($lang_item_edit['spell_id'], $lang_item_edit['spell_id_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellid_1\" size=\"6\" maxlength=\"30\" value=\"{$item['spellid_1']}\" /></td>";
        $spelltrigger_1 = array(0 => "", 1 => "", 2 => "", 4 => "");
        $spelltrigger_1[$item['spelltrigger_1']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['spell_trigger'], $lang_item_edit['spell_trigger_desc']) . "</td>\n   <td><select name=\"spelltrigger_1\">\n    <option value=\"0\" {$spelltrigger_1[0]}>0: {$lang_item['spell_use']}</option>\n    <option value=\"1\" {$spelltrigger_1[1]}>1: {$lang_item['spell_equip']}</option>\n    <option value=\"2\" {$spelltrigger_1[2]}>2: {$lang_item['spell_coh']}</option>\n    <option value=\"4\" {$spelltrigger_1[4]}>4: {$lang_item['soul_stone']}</option>\n    </select></td>\n   <td>" . makeinfocell($lang_item_edit['spell_charges'], $lang_item_edit['spell_charges_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcharges_1\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcharges_1']}\" /></td>\n</tr>\n<tr>\n   <td>" . makeinfocell($lang_item_edit['spell_cooldown'], $lang_item_edit['spell_cooldown_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcooldown_1\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcooldown_1']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['spell_category'], $lang_item_edit['spell_category_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcategory_1\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategory_1']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['spell_category_cooldown'], $lang_item_edit['spell_category_cooldown_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcategorycooldown_1\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategorycooldown_1']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['ppm_rate'], $lang_item_edit['ppm_rate_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellppmRate_1\" size=\"6\" maxlength=\"30\" value=\"{$item['spellppmRate_1']}\" /></td>\n</tr>\n<tr><td colspan=\"6\" class=\"hidden\"></td></tr>\n<tr>\n   <td colspan=\"2\">{$lang_item_edit['item_spell']} 2</td>\n   <td>" . makeinfocell($lang_item_edit['spell_id'], $lang_item_edit['spell_id_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellid_2\" size=\"6\" maxlength=\"30\" value=\"{$item['spellid_2']}\" /></td>";
        unset($spelltrigger_1);
        $spelltrigger_2 = array(0 => "", 1 => "", 2 => "", 4 => "");
        $spelltrigger_2[$item['spelltrigger_2']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['spell_trigger'], $lang_item_edit['spell_trigger_desc']) . "</td>\n   <td><select name=\"spelltrigger_2\">\n    <option value=\"0\" {$spelltrigger_2[0]}>0: {$lang_item['spell_use']}</option>\n    <option value=\"1\" {$spelltrigger_2[1]}>1: {$lang_item['spell_equip']}</option>\n    <option value=\"2\" {$spelltrigger_2[2]}>2: {$lang_item['spell_coh']}</option>\n    <option value=\"4\" {$spelltrigger_2[4]}>4: {$lang_item['soul_stone']}</option>\n    </select></td>\n   <td>" . makeinfocell($lang_item_edit['spell_charges'], $lang_item_edit['spell_charges_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcharges_2\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcharges_2']}\" /></td>\n</tr>\n<tr>\n   <td>" . makeinfocell($lang_item_edit['spell_cooldown'], $lang_item_edit['spell_cooldown_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcooldown_2\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcooldown_2']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['spell_category'], $lang_item_edit['spell_category_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcategory_2\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategory_2']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['spell_category_cooldown'], $lang_item_edit['spell_category_cooldown_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcategorycooldown_2\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategorycooldown_2']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['ppm_rate'], $lang_item_edit['ppm_rate_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellppmRate_2\" size=\"6\" maxlength=\"30\" value=\"{$item['spellppmRate_2']}\" /></td>\n</tr>\n<tr><td colspan=\"6\" class=\"hidden\"></td></tr>\n<tr>\n   <td colspan=\"2\">{$lang_item_edit['item_spell']} 3</td>\n   <td>" . makeinfocell($lang_item_edit['spell_id'], $lang_item_edit['spell_id_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellid_3\" size=\"6\" maxlength=\"30\" value=\"{$item['spellid_3']}\" /></td>";
        unset($spelltrigger_2);
        $spelltrigger_3 = array(0 => "", 1 => "", 2 => "", 4 => "");
        $spelltrigger_3[$item['spelltrigger_3']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['spell_trigger'], $lang_item_edit['spell_trigger_desc']) . "</td>\n   <td><select name=\"spelltrigger_3\">\n    <option value=\"0\" {$spelltrigger_3[0]}>0: {$lang_item['spell_use']}</option>\n    <option value=\"1\" {$spelltrigger_3[1]}>1: {$lang_item['spell_equip']}</option>\n    <option value=\"2\" {$spelltrigger_3[2]}>2: {$lang_item['spell_coh']}</option>\n    <option value=\"4\" {$spelltrigger_3[4]}>4: {$lang_item['soul_stone']}</option>\n    </select></td>\n   <td>" . makeinfocell($lang_item_edit['spell_charges'], $lang_item_edit['spell_charges_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcharges_3\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcharges_3']}\" /></td>\n</tr>\n<tr>\n   <td>" . makeinfocell($lang_item_edit['spell_cooldown'], $lang_item_edit['spell_cooldown_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcooldown_3\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcooldown_3']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['spell_category'], $lang_item_edit['spell_category_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcategory_3\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategory_3']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['spell_category_cooldown'], $lang_item_edit['spell_category_cooldown_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcategorycooldown_3\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategorycooldown_3']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['ppm_rate'], $lang_item_edit['ppm_rate_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellppmRate_3\" size=\"6\" maxlength=\"30\" value=\"{$item['spellppmRate_3']}\" /></td>\n</tr>\n<tr><td colspan=\"6\" class=\"hidden\"></td></tr>\n<tr>\n   <td colspan=\"2\">{$lang_item_edit['item_spell']} 4</td>\n   <td>" . makeinfocell($lang_item_edit['spell_id'], $lang_item_edit['spell_id_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellid_4\" size=\"6\" maxlength=\"30\" value=\"{$item['spellid_4']}\" /></td>";
        unset($spelltrigger_3);
        $spelltrigger_4 = array(0 => "", 1 => "", 2 => "", 4 => "");
        $spelltrigger_4[$item['spelltrigger_4']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['spell_trigger'], $lang_item_edit['spell_trigger_desc']) . "</td>\n   <td><select name=\"spelltrigger_4\">\n    <option value=\"0\" {$spelltrigger_4[0]}>0: {$lang_item['spell_use']}</option>\n    <option value=\"1\" {$spelltrigger_4[1]}>1: {$lang_item['spell_equip']}</option>\n    <option value=\"2\" {$spelltrigger_4[2]}>2: {$lang_item['spell_coh']}</option>\n    <option value=\"4\" {$spelltrigger_4[4]}>4: {$lang_item['soul_stone']}</option>\n    </select></td>\n   <td>" . makeinfocell($lang_item_edit['spell_charges'], $lang_item_edit['spell_charges_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcharges_4\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcharges_4']}\" /></td>\n</tr>\n<tr>\n   <td>" . makeinfocell($lang_item_edit['spell_cooldown'], $lang_item_edit['spell_cooldown_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcooldown_4\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcooldown_4']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['spell_category'], $lang_item_edit['spell_category_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcategory_4\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategory_4']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['spell_category_cooldown'], $lang_item_edit['spell_category_cooldown_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcategorycooldown_4\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategorycooldown_4']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['ppm_rate'], $lang_item_edit['ppm_rate_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellppmRate_4\" size=\"6\" maxlength=\"30\" value=\"{$item['spellppmRate_4']}\" /></td>\n</tr>\n<tr><td colspan=\"6\" class=\"hidden\"></td></tr>\n<tr>\n   <td colspan=\"2\">{$lang_item_edit['item_spell']} 5</td>\n   <td>" . makeinfocell($lang_item_edit['spell_id'], $lang_item_edit['spell_id_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellid_5\" size=\"6\" maxlength=\"30\" value=\"{$item['spellid_5']}\" /></td>";
        unset($spelltrigger_4);
        $spelltrigger_5 = array(0 => "", 1 => "", 2 => "", 4 => "");
        $spelltrigger_5[$item['spelltrigger_5']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['spell_trigger'], $lang_item_edit['spell_trigger_desc']) . "</td>\n   <td><select name=\"spelltrigger_5\">\n    <option value=\"0\" {$spelltrigger_5[0]}>0: {$lang_item['spell_use']}</option>\n    <option value=\"1\" {$spelltrigger_5[1]}>1: {$lang_item['spell_equip']}</option>\n    <option value=\"2\" {$spelltrigger_5[2]}>2: {$lang_item['spell_coh']}</option>\n    <option value=\"4\" {$spelltrigger_5[4]}>4: {$lang_item['soul_stone']}</option>\n    </select></td>\n   <td>" . makeinfocell($lang_item_edit['spell_charges'], $lang_item_edit['spell_charges_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcharges_5\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcharges_5']}\" /></td>\n</tr>\n<tr>\n   <td>" . makeinfocell($lang_item_edit['spell_cooldown'], $lang_item_edit['spell_cooldown_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcooldown_5\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcooldown_5']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['spell_category'], $lang_item_edit['spell_category_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcategory_5\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategory_5']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['spell_category_cooldown'], $lang_item_edit['spell_category_cooldown_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellcategorycooldown_5\" size=\"6\" maxlength=\"30\" value=\"{$item['spellcategorycooldown_5']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['ppm_rate'], $lang_item_edit['ppm_rate_desc']) . "</td>\n   <td><input type=\"text\" name=\"spellppmRate_5\" size=\"6\" maxlength=\"30\" value=\"{$item['spellppmRate_5']}\" /></td>\n</tr>\n\n</table>\n    </div>";
        unset($spelltrigger_5);
        $output .= "<div id=\"pane6\">\n    <br /><br /><table class=\"lined\" style=\"width: 720px;\">\n   <tr>";
        $AllowableClass = array(-1 => "", 1 => "", 2 => "", 4 => "", 8 => "", 16 => "", 32 => "", 64 => "", 128 => "", 256 => "", 512 => "", 1024 => "");
        if ($item['AllowableClass'] == -1) {
            $AllowableClass[-1] = " selected=\"selected\" ";
        } else {
            if ($item['AllowableClass'] & 1) {
                $AllowableClass[1] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 2) {
                $AllowableClass[2] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 4) {
                $AllowableClass[4] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 8) {
                $AllowableClass[8] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 16) {
                $AllowableClass[16] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 32) {
                $AllowableClass[32] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 64) {
                $AllowableClass[64] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 128) {
                $AllowableClass[128] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 256) {
                $AllowableClass[256] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 512) {
                $AllowableClass[512] = " selected=\"selected\" ";
            }
            if ($item['AllowableClass'] & 1024) {
                $AllowableClass[1024] = " selected=\"selected\" ";
            }
        }
        $output .= "<td>" . makeinfocell($lang_item_edit['allow_class'], $lang_item_edit['allow_class_desc']) . "</td>\n   <td><select multiple=\"multiple\" name=\"AllowableClass[]\" size=\"5\">\n    <option value=\"-1\" {$AllowableClass[-1]}>-1 - {$lang_item_edit['all']}</option>\n    <option value=\"1\" {$AllowableClass[1]}>1 - {$lang_id_tab['warrior']}</option>\n    <option value=\"2\" {$AllowableClass[2]}>2 - {$lang_id_tab['paladin']}</option>\n    <option value=\"4\" {$AllowableClass[4]}>4 - {$lang_id_tab['hunter']}</option>\n    <option value=\"8\" {$AllowableClass[8]}>8 - {$lang_id_tab['rogue']}</option>\n    <option value=\"16\" {$AllowableClass[16]}>16 - {$lang_id_tab['priest']}</option>\n    <option value=\"32\" {$AllowableClass[32]}>32 - FUTURE_1</option>\n    <option value=\"64\" {$AllowableClass[64]}>64 - {$lang_id_tab['shaman']}</option>\n    <option value=\"128\" {$AllowableClass[128]}>128 - {$lang_id_tab['mage']}</option>\n    <option value=\"256\" {$AllowableClass[256]}>256 - {$lang_id_tab['warlock']}</option>\n    <option value=\"512\" {$AllowableClass[512]}>512 - FUTURE_2</option>\n    <option value=\"1024\" {$AllowableClass[1024]}>1024 - {$lang_id_tab['druid']}</option>\n     </select></td>";
        unset($AllowableClass);
        $AllowableRace = array(-1 => "", 1 => "", 2 => "", 4 => "", 8 => "", 16 => "", 32 => "", 64 => "", 128 => "", 256 => "", 512 => "");
        if ($item['AllowableRace'] == -1) {
            $AllowableRace[-1] = " selected=\"selected\" ";
        } else {
            if ($item['AllowableRace'] & 1) {
                $AllowableRace[1] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 2) {
                $AllowableRace[2] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 4) {
                $AllowableRace[4] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 8) {
                $AllowableRace[8] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 16) {
                $AllowableRace[16] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 32) {
                $AllowableRace[32] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 64) {
                $AllowableRace[64] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 128) {
                $AllowableRace[128] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 256) {
                $AllowableRace[256] = " selected=\"selected\" ";
            }
            if ($item['AllowableRace'] & 512) {
                $AllowableRace[512] = " selected=\"selected\" ";
            }
        }
        $output .= "<td>" . makeinfocell($lang_item_edit['allow_race'], $lang_item_edit['allow_race_desc']) . "</td>\n   <td><select multiple=\"multiple\" name=\"AllowableRace[]\" size=\"5\">\n    <option value=\"-1\" {$AllowableRace[-1]}>-1 - {$lang_item_edit['all']}</option>\n    <option value=\"1\" {$AllowableRace[1]}>1 - {$lang_id_tab['human']}</option>\n    <option value=\"2\" {$AllowableRace[2]}>2 - {$lang_id_tab['orc']}</option>\n    <option value=\"4\" {$AllowableRace[4]}>4 - {$lang_id_tab['dwarf']}</option>\n    <option value=\"8\" {$AllowableRace[8]}>8 - {$lang_id_tab['nightelf']}</option>\n    <option value=\"16\" {$AllowableRace[16]}>16 - {$lang_id_tab['undead']}</option>\n    <option value=\"32\" {$AllowableRace[32]}>32 - {$lang_id_tab['tauren']}</option>\n    <option value=\"64\" {$AllowableRace[64]}>64 - {$lang_id_tab['gnome']}</option>\n    <option value=\"128\" {$AllowableRace[128]}>128 - {$lang_id_tab['troll']}</option>\n    <option value=\"256\" {$AllowableRace[256]}>256 - {$lang_id_tab['draenei']}</option>\n    <option value=\"512\" {$AllowableRace[512]}>512 - {$lang_id_tab['bloodelf']}</option>\n     </select></td>\n</tr>\n<tr>\n   <td>" . makeinfocell($lang_item_edit['req_skill'], $lang_item_edit['req_skill_desc']) . "</td>\n   <td><input type=\"text\" name=\"RequiredSkill\" size=\"15\" maxlength=\"30\" value=\"{$item['RequiredSkill']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['req_skill_rank'], $lang_item_edit['req_skill_rank_desc']) . "</td>\n   <td><input type=\"text\" name=\"RequiredSkillRank\" size=\"15\" maxlength=\"30\" value=\"{$item['RequiredSkillRank']}\" /></td>\n</tr>\n<tr>\n   <td>" . makeinfocell($lang_item_edit['req_spell'], $lang_item_edit['req_spell_desc']) . "</td>\n   <td><input type=\"text\" name=\"requiredspell\" size=\"15\" maxlength=\"30\" value=\"{$item['requiredspell']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['req_honor_rank'], $lang_item_edit['req_honor_rank_desc']) . "</td>\n   <td><input type=\"text\" name=\"requiredhonorrank\" size=\"15\" maxlength=\"30\" value=\"{$item['requiredhonorrank']}\" /></td>\n</tr>\n<tr>\n   <td>" . makeinfocell($lang_item_edit['req_rep_faction'], $lang_item_edit['req_rep_faction_desc']) . "</td>\n   <td><input type=\"text\" name=\"RequiredReputationFaction\" size=\"15\" maxlength=\"30\" value=\"{$item['RequiredReputationFaction']}\" /></td>";
        unset($AllowableRace);
        $RequiredReputationRank = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "");
        $RequiredReputationRank[$item['RequiredReputationRank']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['req_rep_rank'], $lang_item_edit['req_rep_rank_desc']) . "</td>\n      <td><select name=\"RequiredReputationRank\">\n    <option value=\"0\" {$RequiredReputationRank[0]}>0 - {$lang_item_edit['hated']}</option>\n    <option value=\"1\" {$RequiredReputationRank[1]}>1 - {$lang_item_edit['hostile']}</option>\n    <option value=\"2\" {$RequiredReputationRank[2]}>2 - {$lang_item_edit['unfriendly']}</option>\n    <option value=\"3\" {$RequiredReputationRank[3]}>3 - {$lang_item_edit['neutral']}</option>\n    <option value=\"4\" {$RequiredReputationRank[4]}>4 - {$lang_item_edit['friendly']}</option>\n    <option value=\"5\" {$RequiredReputationRank[5]}>5 - {$lang_item_edit['honored']}</option>\n    <option value=\"6\" {$RequiredReputationRank[6]}>6 - {$lang_item_edit['reverted']}</option>\n    <option value=\"7\" {$RequiredReputationRank[7]}>7 - {$lang_item_edit['exalted']}</option>\n     </select></td>\n</tr>\n<tr>\n   <td colspan=\"2\">" . makeinfocell($lang_item_edit['req_city_rank'], $lang_item_edit['req_city_rank_desc']) . "</td>\n   <td colspan=\"2\"><input type=\"text\" name=\"RequiredCityRank\" size=\"15\" maxlength=\"30\" value=\"{$item['RequiredCityRank']}\" /></td>\n</tr>\n\n   </table><br /><br />\n    </div>";
        unset($RequiredReputationRank);
        $output .= "<div id=\"pane7\">\n    <br /><br /><table class=\"lined\" style=\"width: 720px;\">\n<tr>";
        $socketColor_1 = array(0 => "", 1 => "", 2 => "", 4 => "", 8 => "");
        $socketColor_1[$item['socketColor_1']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['socket_color'] . " 1", $lang_item_edit['socket_color_desc']) . "</td>\n      <td><select name=\"socketColor_1\">\n        <option value=\"0\" {$socketColor_1[0]}>0: {$lang_item['none']}</option>\n        <option value=\"1\" {$socketColor_1[1]}>1: {$lang_item['socket_meta']}</option>\n        <option value=\"2\" {$socketColor_1[2]}>2: {$lang_item['socket_red']}</option>\n        <option value=\"4\" {$socketColor_1[4]}>4: {$lang_item['socket_yellow']}</option>\n        <option value=\"8\" {$socketColor_1[8]}>8: {$lang_item['socket_blue']}</option>\n      </select></td>\n   <td>" . makeinfocell($lang_item_edit['socket_content'] . " 1", $lang_item_edit['socket_content_desc']) . "</td>\n   <td><input type=\"text\" name=\"socketContent_1\" size=\"15\" maxlength=\"10\" value=\"{$item['socketContent_1']}\" /></td>\n</tr>\n<tr>";
        unset($socketColor_1);
        $socketColor_2 = array(0 => "", 1 => "", 2 => "", 4 => "", 8 => "");
        $socketColor_2[$item['socketColor_2']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['socket_color'] . " 2", $lang_item_edit['socket_color_desc']) . "</td>\n      <td><select name=\"socketColor_2\">\n        <option value=\"0\" {$socketColor_2[0]}>0: {$lang_item['none']}</option>\n        <option value=\"1\" {$socketColor_2[1]}>1: {$lang_item['socket_meta']}</option>\n        <option value=\"2\" {$socketColor_2[2]}>2: {$lang_item['socket_red']}</option>\n        <option value=\"4\" {$socketColor_2[4]}>4: {$lang_item['socket_yellow']}</option>\n        <option value=\"8\" {$socketColor_2[8]}>8: {$lang_item['socket_blue']}</option>\n      </select></td>\n\n   <td>" . makeinfocell($lang_item_edit['socket_content'] . " 2", $lang_item_edit['socket_content_desc']) . "</td>\n   <td><input type=\"text\" name=\"socketContent_2\" size=\"15\" maxlength=\"10\" value=\"{$item['socketContent_2']}\" /></td>\n</tr>\n<tr>";
        unset($socketColor_2);
        $socketColor_3 = array(0 => "", 1 => "", 2 => "", 4 => "", 8 => "");
        $socketColor_3[$item['socketColor_3']] = " selected=\"selected\" ";
        $output .= "<td>" . makeinfocell($lang_item_edit['socket_color'] . " 3", $lang_item_edit['socket_color_desc']) . "</td>\n      <td><select name=\"socketColor_3\">\n        <option value=\"0\" {$socketColor_3[0]}>0: {$lang_item['none']}</option>\n        <option value=\"1\" {$socketColor_3[1]}>1: {$lang_item['socket_meta']}</option>\n        <option value=\"2\" {$socketColor_3[2]}>2: {$lang_item['socket_red']}</option>\n        <option value=\"4\" {$socketColor_3[4]}>4: {$lang_item['socket_yellow']}</option>\n        <option value=\"8\" {$socketColor_3[8]}>8: {$lang_item['socket_blue']}</option>\n      </select></td>\n\n   <td>" . makeinfocell($lang_item_edit['socket_content'] . " 3", $lang_item_edit['socket_content_desc']) . "</td>\n   <td><input type=\"text\" name=\"socketContent_3\" size=\"15\" maxlength=\"10\" value=\"{$item['socketContent_3']}\" /></td>\n</tr>\n\n<tr>\n   <td>" . makeinfocell($lang_item_edit['socket_bonus'], $lang_item_edit['socket_bonus_desc']) . "</td>\n   <td><input type=\"text\" name=\"socketBonus\" size=\"15\" maxlength=\"10\" value=\"{$item['socketBonus']}\" /></td>\n\n   <td>" . makeinfocell($lang_item_edit['gem_properties'], $lang_item_edit['gem_properties_desc']) . "</td>\n   <td><input type=\"text\" name=\"GemProperties\" size=\"15\" maxlength=\"10\" value=\"{$item['GemProperties']}\" /></td>\n</tr>\n\n   </table><br /><br />\n    </div>";
        $output .= "<div id=\"pane8\">\n    <br /><br /><table class=\"lined\" style=\"width: 720px;\">\n  <tr class=\"large_bold\"><td colspan=\"5\" class=\"hidden\" align=\"left\">{$lang_item_edit['dropped_by']}: {$lang_item_edit['top_x']}</td></tr>\n  <tr>\n    <th width=\"1%\">ID</th>\n    <th width=\"35%\">{$lang_item_edit['mob_name']}</th>\n    <th width=\"10%\">{$lang_item_edit['mob_level']}</th>\n    <th width=\"25%\">{$lang_item_edit['mob_drop_chance']}</th>\n    <th width=\"25%\">{$lang_item_edit['mob_quest_drop_chance']}</th>\n  </tr>";
        $result2 = $sql->query("SELECT entry,ChanceOrQuestChance,`groupid` FROM creature_loot_template WHERE item = {$item['entry']} ORDER BY `groupid`,ChanceOrQuestChance DESC LIMIT 5");
        while ($info = $sql->fetch_row($result2)) {
            $result3 = $sql->query("SELECT creature_template.entry,IFNULL(" . ($deplang != 0 ? "name_loc{$deplang}" : "NULL") . ",`name`) as name,maxlevel FROM creature_template LEFT JOIN locales_creature ON creature_template.entry = locales_creature.entry WHERE lootid = {$info[0]} LIMIT 1");
            while ($mob = $sql->fetch_row($result3)) {
                $output .= "<tr><td>";
                if ($user_lvl >= $action_permission['delete']) {
                    $output .= "<a class=\"tooltip\" href=\"creature.php?action=edit&amp;entry={$mob['0']}&amp;error=4\" target=\"_blank\">{$mob['0']}</a>";
                } else {
                    $output .= "{$mob['0']}";
                }
                $output .= "</td>\n          <td><a class=\"tooltip\" href=\"{$creature_datasite}{$mob['0']}\" target=\"_blank\">{$mob['1']}</a></td>\n          <td>{$mob['2']}</td>\n          <td>{$info['1']}%</td>\n          <td>{$info['2']}%</td></tr>";
            }
        }
        $result2 = $sql->query("SELECT creature_template.entry,IFNULL(" . ($deplang != 0 ? "name_loc{$deplang}" : "NULL") . ",`name`) as name,maxlevel FROM creature_template LEFT JOIN locales_creature ON creature_template.entry = locales_creature.entry WHERE creature_template.entry IN (SELECT entry FROM npc_vendor WHERE item = {$item['entry']}) ORDER BY maxlevel DESC LIMIT 5");
        if ($sql->num_rows($result2)) {
            $output .= "<tr class=\"large_bold\"><td colspan=\"4\" class=\"hidden\" align=\"left\">{$lang_item_edit['sold_by']}: {$lang_item_edit['limit_x']}</td></tr>";
            while ($mob = $sql->fetch_row($result2)) {
                $output .= "<tr>\n        <td width=\"10%\">";
                if ($user_lvl >= $action_permission['delete']) {
                    $output .= "<a class=\"tooltip\" href=\"creature.php?action=edit&amp;entry={$mob['0']}&amp;error=4\" target=\"_blank\">{$mob['0']}</a>";
                } else {
                    $output .= "{$mob['0']}";
                }
                $output .= "\n        <td width=\"10%\">{$mob['2']}</td>\n        <td width=\"80%\" colspan=\"2\" align=\"left\">\n          <a class=\"tooltip\" href=\"{$creature_datasite}{$mob['0']}\" target=\"_blank\">{$mob['1']}</a></td>\n        </td></tr>";
            }
        }
        $result2 = $sql->query("SELECT quest_template.entry,IFNULL(" . ($deplang != 0 ? "title_loc{$deplang}" : "NULL") . ",`title`) as title,QuestLevel FROM quest_template LEFT JOIN locales_quest ON quest_template.entry = locales_quest.entry WHERE ( SrcItemId = {$item['entry']} OR ReqItemId1 = {$item['entry']} OR\n              ReqItemId2 = {$item['entry']} OR ReqItemId3 = {$item['entry']} OR ReqItemId4 = {$item['entry']} OR RewItemId1 = {$item['entry']} OR\n              RewItemId2 = {$item['entry']} OR RewItemId3 = {$item['entry']} OR RewItemId4 = {$item['entry']} ) ORDER BY QuestLevel DESC");
        if ($sql->num_rows($result2)) {
            $output .= "<tr class=\"large_bold\"><td colspan=\"4\" class=\"hidden\" align=\"left\">{$lang_item_edit['involved_in_quests']}:</td></tr>";
            while ($quest = $sql->fetch_row($result2)) {
                $output .= "<tr><td width=\"20%\">id: {$quest['0']}</td>\n        <td width=\"80%\" colspan=\"3\" align=\"left\"><a class=\"tooltip\" href=\"{$quest_datasite}{$quest['0']}\" target=\"_blank\">({$quest['2']}) {$quest['1']}</a></td></tr>";
            }
        }
        $result2 = $sql->query("SELECT quest_template.entry,IFNULL(" . ($deplang != 0 ? "title_loc{$deplang}" : "NULL") . ",`title`) as title,QuestLevel FROM quest_template LEFT JOIN locales_quest ON quest_template.entry = locales_quest.entry WHERE ( RewChoiceItemId1 = {$item['entry']} OR RewChoiceItemId2 = {$item['entry']} OR\n              RewChoiceItemId3 = {$item['entry']} OR RewChoiceItemId4 = {$item['entry']} OR RewChoiceItemId5 = {$item['entry']} OR RewChoiceItemId6 = {$item['entry']} )\n              ORDER BY QuestLevel DESC");
        if ($sql->num_rows($result2)) {
            $output .= "<tr class=\"large_bold\"><td colspan=\"4\" class=\"hidden\" align=\"left\">{$lang_item_edit['reward_from_quest']}:</td></tr>";
            while ($quest = $sql->fetch_row($result2)) {
                $output .= "<tr><td width=\"20%\">id: {$quest['0']}</td>\n        <td width=\"80%\" colspan=\"3\" align=\"left\"><a class=\"tooltip\" href=\"{$quest_datasite}{$quest['0']}\" target=\"_blank\">({$quest['2']}) {$quest['1']}</a></td></tr>";
            }
        }
        $output .= "</tr></table><br /><br />\n    </div>";
        if ($item['DisenchantID']) {
            $output .= "<div id=\"pane9\">\n  <br /><br /><table class=\"lined\" style=\"width: 720px;\">\n  <tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_item_edit['disenchant_templ']}: {$item['DisenchantID']}</td></tr>\n  <tr><td colspan=\"6\">";
            $cel_counter = 0;
            $row_flag = 0;
            $output .= "<table class=\"hidden\" align=\"center\"><tr>";
            $result1 = $sql->query("SELECT item,ChanceOrQuestChance,`groupid`,mincountOrRef,maxcount,lootcondition,condition_value1, condition_value2 FROM disenchant_loot_template WHERE entry = {$item['DisenchantID']} ORDER BY ChanceOrQuestChance DESC");
            while ($item = $sql->fetch_row($result1)) {
                $cel_counter++;
                $tooltip = get_item_name($item[0]) . " ({$item['0']})<br />{$lang_item_edit['drop_chance']}: {$item['1']}%<br />{$lang_item_edit['quest_drop_chance']}: {$item['2']}%<br />{$lang_item_edit['drop_chance']}: {$item['3']}-{$item['4']}<br />{$lang_item_edit['lootcondition']}: {$item['5']}<br />{$lang_item_edit['condition_value1']}: {$item['6']}<br />{$lang_item_edit['condition_value2']}: {$item['7']}";
                $output .= "<td>";
                $output .= maketooltip("<img src=\"" . get_item_icon($item[0]) . "\" class=\"icon_border\" alt=\"\" />", "{$item_datasite}{$item['0']}", $tooltip, "item_tooltip");
                $output .= "<br /><input type=\"checkbox\" name=\"del_de_items[]\" value=\"{$item['0']}\" /></td>";
                if ($cel_counter >= 16) {
                    $cel_counter = 0;
                    $output .= "</tr><tr>";
                    $row_flag++;
                }
            }
            if ($row_flag) {
                $output .= "<td colspan=\"" . (16 - $cel_counter) . "\"></td>";
            }
            $output .= "</td></tr></table>\n </td>\n</tr>\n<tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_item_edit['add_items_to_templ']}:</td></tr>\n<tr>\n<td>" . makeinfocell($lang_item_edit['loot_item_id'], $lang_item_edit['loot_item_id_desc']) . "</td>\n  <td><input type=\"text\" name=\"de_item\" size=\"8\" maxlength=\"10\" value=\"\" /></td>\n<td>" . makeinfocell($lang_item_edit['loot_drop_chance'], $lang_item_edit['loot_drop_chance_desc']) . "</td>\n  <td><input type=\"text\" name=\"de_ChanceOrQuestChance\" size=\"8\" maxlength=\"11\" value=\"0\" /></td>\n<td>" . makeinfocell($lang_item_edit['loot_quest_drop_chance'], $lang_item_edit['loot_quest_drop_chance_desc']) . "</td>\n  <td><input type=\"text\" name=\"de_groupid\" size=\"8\" maxlength=\"10\" value=\"0\" /></td>\n</tr>\n<tr>\n<td>" . makeinfocell($lang_item_edit['min_count'], $lang_item_edit['min_count_desc']) . "</td>\n  <td><input type=\"text\" name=\"de_mincountOrRef\" size=\"8\" maxlength=\"3\" value=\"1\" /></td>\n<td>" . makeinfocell($lang_item_edit['max_count'], $lang_item_edit['max_count_desc']) . "</td>\n  <td><input type=\"text\" name=\"de_maxcount\" size=\"8\" maxlength=\"3\" value=\"1\" /></td>\n</tr>\n<tr>\n<td>" . makeinfocell($lang_item_edit['lootcondition'], $lang_item_edit['lootcondition_desc']) . "</td>\n  <td><input type=\"text\" name=\"de_lootcondition\" size=\"8\" maxlength=\"3\" value=\"0\" /></td>\n<td>" . makeinfocell($lang_item_edit['condition_value1'], $lang_item_edit['condition_value1_desc']) . "</td>\n  <td><input type=\"text\" name=\"de_condition_value1\" size=\"8\" maxlength=\"3\" value=\"0\" /></td>\n<td>" . makeinfocell($lang_item_edit['condition_value2'], $lang_item_edit['condition_value2_desc']) . "</td>\n  <td><input type=\"text\" name=\"de_condition_value2\" size=\"8\" maxlength=\"3\" value=\"0\" /></td>\n</tr>\n</table>\n</div>";
        }
        $output .= "</div>\n</div>\n<br />\n</form>\n\n<script type=\"text/javascript\">setupPanes(\"container\", \"tab1\")</script>";
        unset($socketColor_3);
        $output .= "\n          <table class=\"hidden\">\n            <tr>\n              <td>";
        if ($user_lvl >= $action_permission['delete']) {
            makebutton($lang_item_edit['del_item'], "item.php?action=delete&amp;entry={$entry}\" type=\"wrn", 180);
        }
        $output .= "\n              </td>\n              <td>";
        if ($user_lvl >= $action_permission['update']) {
            makebutton($lang_item_edit['update'], "javascript:do_submit('form1',0)\" type=\"wrn", 180);
        }
        $output .= "\n              </td>\n              <td>";
        if ($user_lvl >= $action_permission['insert']) {
            makebutton($lang_item_edit['export_sql'], "javascript:do_submit('form1',1)", 180);
        }
        $output .= "\n              </td>\n              <td>";
        makebutton($lang_global['back'], "javascript:window.history.back()", 130);
        $output .= "\n              </td>\n              <td>";
        makebutton($lang_item_edit['new_search'], "item.php", 130);
        $output .= "\n              </td>\n            </tr>\n          </table>\n        </center>\n";
    } else {
        error($lang_item_edit['item_not_found']);
        exit;
    }
}
function char_companions(&$sqlr, &$sqlc, &$sqlw)
{
    global $output, $lang_global, $lang_char, $realm_id, $characters_db, $world_db, $action_permission, $user_lvl, $user_name, $item_datasite;
    // this page uses wowhead tooltops
    wowhead_tt();
    //==========================$_GET and SECURE=================================
    // id and multi realm security to prevent sql injection
    require_once './include/char/include/char_multi_realm_security.php';
    //==========================$_GET and SECURE end=============================
    // getting character data from database
    $result = $sqlc->query('
		SELECT account, name, race, class, gender, level
		FROM characters
		WHERE guid = ' . $id . ' 
		LIMIT 1');
    // no point going further if character does not exist
    if ($sqlc->num_rows($result)) {
        $char = $sqlc->fetch_assoc($result);
        // we get user permissions first
        $owner_acc_id = $sqlc->result($result, 0, 'account');
        $result = $sqlr->query('
			SELECT gmlevel, username 
			FROM account 
			WHERE id = ' . $char['account'] . '');
        $owner_gmlvl = $sqlr->result($result, 0, 'gmlevel');
        $owner_name = $sqlr->result($result, 0, 'username');
        // check user permission
        if ($user_lvl > $owner_gmlvl || $owner_name === $user_name) {
            // character sub header
            $output .= '
<center>
<div id="tab_content">
	<h1>' . $lang_char['extra'] . '</h1>
	<br />';
            // character menu tab
            require_once './include/char/include/char_header.php';
            // character info
            require_once './include/char/include/char_info.php';
            //---------------Page Specific Data Starts Here--------------------------
            $output .= '
	<h1>' . $lang_char['char_companions'] . '</h1>
	<br />';
            // character extra menu tab
            require_once './include/char/include/char_extra_header.php';
            $output .= '
	<div id="tab_content2">
		<table class="lined" style="width: 450px;">
			<tr>
				<th width="15%">' . $lang_char['icon'] . '</th>
				<th width="15%">' . $lang_char['quantity'] . '</th>
				<th width="70%">' . $lang_char['name'] . '</th>
			</tr>';
            $sqlw = new SQL();
            $sqlw->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);
            $item = $sqlw->query('
				SELECT entry, description
				FROM item_template
				WHERE BagFamily = 4096');
            while ($template = $sqlw->fetch_assoc($item)) {
                $character = $sqlc->query('
					SELECT item, item_template
					FROM character_inventory
					WHERE guid = ' . $id . ' AND item_template = ' . $template['entry'] . ' ');
                while ($inventory = $sqlc->fetch_assoc($character)) {
                    $instance = $sqlc->query('
						SELECT CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, " ", 15), " ", -1) AS UNSIGNED) AS item
						FROM item_instance
						WHERE guid = ' . $inventory['item'] . ' ');
                    $output .= '
			<tr valign="center">
				<td >
					<a style="padding:2px;" href="' . $item_datasite . $inventory['item_template'] . '" target="_blank">
						<img src="' . get_item_icon($inventory['item_template'], $sqlm) . '" alt="' . $inventory['item_template'] . '" class="icon_border_0" />
					</a>
				</td>
				<td>
					' . $instance['item'] . '
				</td>
				<td>
					<span onmousemove="toolTip(\'' . $template['description'] . '\', \'item_tooltip\')" onmouseout="toolTip()">' . get_item_name($inventory['item_template'], $sqlw) . '</span>
				</td>
			</tr>';
                }
            }
            $output .= '
		</table>';
            unset($template);
            unset($inventory);
            unset($item);
            unset($character);
            unset($instance);
            //---------------Page Specific Data Ends Here--------------------------
            $output .= '
	</div>
</div>
<br />';
            require_once './include/char/include/char_ footer.php';
            $output .= '
<br />
</center>';
        } else {
            error($lang_char['no_permission']);
        }
    } else {
        error($lang_char['no_char_found']);
    }
}
Esempio n. 9
0
function browse_auctions(&$sqlr, &$sqlc)
{
    global $lang_auctionhouse, $lang_global, $lang_item, $output, $characters_db, $world_db, $realm_id, $itemperpage, $item_datasite, $server, $user_lvl, $user_id;
    wowhead_tt();
    $red = "\"#DD5047\"";
    $blue = "\"#0097CD\"";
    $sidecolor = array(1 => $blue, 2 => $red, 3 => $blue, 4 => $blue, 5 => $red, 6 => $red, 7 => $blue, 8 => $red, 10 => $red);
    $hiddencols = array(1, 8, 9, 10);
    //$sqlc = new SQL;
    //$sqlc->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
    //==========================$_GET and SECURE=================================
    $start = isset($_GET['start']) ? $sqlc->quote_smart($_GET['start']) : 0;
    if (is_numeric($start)) {
    } else {
        $start = 0;
    }
    $order_by = isset($_GET['order_by']) ? $sqlc->quote_smart($_GET['order_by']) : "time";
    if (!preg_match("/^[_[:lower:]]{1,15}\$/", $order_by)) {
        $order_by = "time";
    }
    $dir = isset($_GET['dir']) ? $sqlc->quote_smart($_GET['dir']) : 1;
    if (!preg_match("/^[01]{1}\$/", $dir)) {
        $dir = 1;
    }
    $order_dir = $dir ? "ASC" : "DESC";
    $dir = $dir ? 0 : 1;
    //==========================$_GET and SECURE end=============================
    if (!$user_lvl && !$server[$realm_id]['both_factions']) {
        $result = $sqlc->query("\n\t\t\tSELECT `race` FROM `characters` \n\t\t\tWHERE `account` = {$user_id} AND `totaltime` = (SELECT MAX(totaltime) \n\t\t\tFROM `characters` WHERE `account` = {$user_id}) LIMIT 1");
        if ($sqlc->num_rows($result)) {
            $order_side = in_array($sqlc->result($result, 0, 'race'), array(2, 5, 6, 8, 10)) ? " AND `characters`.`race` IN (2,5,6,8,10) " : " AND `characters`.`race` IN (1,3,4,7,11) ";
        } else {
            $order_side = "";
        }
    } else {
        $order_side = "";
    }
    //==========================Browse/Search CHECK==============================
    $search_by = '';
    $search_value = '';
    $search_filter = '';
    $search_class = -1;
    $search_quality = -1;
    if (isset($_GET['search_value']) && isset($_GET['search_by']) || isset($_GET['search_class']) || isset($_GET['search_quality'])) {
        $search_value = $sqlc->quote_smart($_GET['search_value']);
        $search_by = $sqlc->quote_smart($_GET['search_by']);
        $search_class = $sqlc->quote_smart($_GET['search_class']);
        $search_quality = $sqlc->quote_smart($_GET['search_quality']);
        switch ($search_by) {
            case "item_name":
                if (($search_class >= 0 || $search_quality >= 0) && !isset($search_value)) {
                    if ($search_class >= 0) {
                        $search_filter = "AND item_template.class = '{$search_class}'";
                    }
                    if ($search_quality >= 0) {
                        $search_filter = "AND item_template.Quality = '{$search_quality}'";
                    }
                } else {
                    $item_prefix = "";
                    if ($search_class >= 0) {
                        $item_prefix .= "AND item_template.class = '{$search_class}' ";
                    }
                    if ($search_quality >= 0) {
                        $item_prefix .= "AND item_template.Quality = '{$search_quality}' ";
                    }
                    $result = $sqlc->query("\n\t\t\t\t\t\tSELECT `entry` \n\t\t\t\t\t\tFROM `" . $world_db[$realm_id]['name'] . "`.`item_template`\n\t\t\t\t\t\tWHERE `name` LIKE '%{$search_value}%' {$item_prefix}");
                    $search_filter = "AND auction.item_template IN(0";
                    while ($item = $sqlc->fetch_row($result)) {
                        $search_filter .= ", {$item['0']}";
                    }
                    $search_filter .= ")";
                }
                break;
            case "item_id":
                $search_filter = "AND auction.item_template = '{$search_value}'";
                break;
            case "seller_name":
                if (($search_class >= 0 || $search_quality >= 0) && !isset($search_value)) {
                    if ($search_class >= 0) {
                        $search_filter = "AND item_template.class = '{$search_class}'";
                    }
                    if ($search_quality >= 0) {
                        $search_filter = "AND item_template.Quality = '{$search_quality}'";
                    }
                } else {
                    $item_prefix = "";
                    if ($search_class >= 0) {
                        $item_prefix .= "AND item_template.class = '{$search_class}' ";
                    }
                    if ($search_quality >= 0) {
                        $item_prefix .= "AND item_template.Quality = '{$search_quality}' ";
                    }
                    $result = $sqlc->query("\n\t\t\t\t\t\tSELECT `guid` \n\t\t\t\t\t\tFROM `characters` \n\t\t\t\t\t\tWHERE `name` LIKE '%{$search_value}%'");
                    $search_filter = $item_prefix;
                    $search_filter .= "AND auction.itemowner IN(0";
                    while ($char = $sqlc->fetch_row($result)) {
                        $search_filter .= ", {$char['0']}";
                    }
                    $search_filter .= ")";
                    $search_filter .= $item_prefix;
                }
                break;
            case "buyer_name":
                if (($search_class >= 0 || $search_quality >= 0) && !isset($search_value)) {
                    if ($search_class >= 0) {
                        $search_filter = "AND item_template.class = '{$search_class}'";
                    }
                    if ($search_quality >= 0) {
                        $search_filter = "AND item_template.Quality = '{$search_quality}'";
                    }
                } else {
                    $item_prefix = "";
                    if ($search_class >= 0) {
                        $item_prefix .= "AND item_template.class = '{$search_class}' ";
                    }
                    if ($search_quality >= 0) {
                        $item_prefix .= "AND item_template.Quality = '{$search_quality}' ";
                    }
                    $result = $sqlc->query("\n\t\t\t\t\t\tSELECT guid \n\t\t\t\t\t\tFROM `characters` \n\t\t\t\t\t\tWHERE name LIKE '%{$search_value}%'");
                    $search_filter = $item_prefix;
                    $search_filter .= "AND auction.buyguid IN(-1";
                    while ($char = $sqlc->fetch_row($result)) {
                        $search_filter .= ", {$char['0']}";
                    }
                    $search_filter .= ")";
                }
                break;
            default:
                redirect("ahstats.php?error=1");
        }
        $query_1 = $sqlc->query("\n\t\t\tSELECT count(*) \n\t\t\tFROM `" . $characters_db[$realm_id]['name'] . "`.`characters` , `" . $characters_db[$realm_id]['name'] . "`.`item_instance` , `" . $world_db[$realm_id]['name'] . "`.`item_template` , `" . $characters_db[$realm_id]['name'] . "`.`auction` LEFT JOIN `" . $characters_db[$realm_id]['name'] . "`.`characters` c2 ON `c2`.`guid`=`auction`.`buyguid` \n\t\t\tWHERE `auction`.`itemowner`=`characters`.`guid` AND `auction`.`item_template`=`item_template`.`entry` AND `auction`.`itemguid`=`item_instance`.`guid` {$search_filter} {$order_side}");
    } else {
        $query_1 = $sqlc->query("\n\t\t\tSELECT count(*) \n\t\t\tFROM auction");
    }
    $result = $sqlc->query("\n\t\tSELECT `characters`.`name` AS `seller`, `auction`.`item_template` AS `itemid`, `item_template`.`name` AS `itemname`, `auction`.`buyoutprice` AS `buyout`, `auction`.`time`-unix_timestamp(), `c2`.`name` AS `encherisseur`, `auction`.`lastbid`, `auction`.`startbid`, SUBSTRING_INDEX(SUBSTRING_INDEX(`item_instance`.`data`, ' ',15), ' ',-1) AS qty, `characters`.`race` AS seller_race, `c2`.`race` AS buyer_race \n\t\tFROM `" . $characters_db[$realm_id]['name'] . "`.`characters` , `" . $characters_db[$realm_id]['name'] . "`.`item_instance` , `" . $world_db[$realm_id]['name'] . "`.`item_template` , `" . $characters_db[$realm_id]['name'] . "`.`auction` LEFT JOIN `" . $characters_db[$realm_id]['name'] . "`.`characters` c2 ON `c2`.`guid`=`auction`.`buyguid` \n\t\tWHERE `auction`.`itemowner`=`characters`.`guid` AND `auction`.`item_template`=`item_template`.`entry` AND `auction`.`itemguid`=`item_instance`.`guid` {$search_filter} {$order_side} \n\t\tORDER BY `auction`.`{$order_by}` {$order_dir} LIMIT {$start}, {$itemperpage}");
    $all_record = $sqlc->result($query_1, 0);
    //=====================top tage navigaion starts here========================
    $output .= "\n        <center>\n            <table class=\"top_hidden\">\n                <tr>\n                    <td width=\"80%\">\n                        <form action=\"ahstats.php\" method=\"get\" name=\"form\">\n                        <input type=\"hidden\" name=\"error\" value=\"2\" />\n                            <table class=\"hidden\">\n                                <tr>\n                                    <td>\n                                        <input type=\"text\" size=\"24\" name=\"search_value\" value=\"{$search_value}\" />\n                                    </td>\n                                    <td>\n                                        <select name=\"search_by\">\n                                            <option" . ($search_by == 'item_name' ? " selected=\"selected\"" : "") . " value=\"item_name\">{$lang_auctionhouse['item_name']}</option>\n                                            <option" . ($search_by == 'item_id' ? " selected=\"selected\"" : "") . " value=\"item_id\">{$lang_auctionhouse['item_id']}</option>\n                                            <option" . ($search_by == 'seller_name' ? " selected=\"selected\"" : "") . " value=\"seller_name\">{$lang_auctionhouse['seller_name']}</option>\n                                            <option" . ($search_by == 'buyer_name' ? " selected=\"selected\"" : "") . " value=\"buyer_name\">{$lang_auctionhouse['buyer_name']}</option>\n                                        </select>\n                                    </td>\n                                    <td>\n                                        <select name=\"search_class\">\n                                            <option" . ($search_class == -1 ? " selected=\"selected\"" : "") . " value=\"-1\">{$lang_auctionhouse['all']}</option>\n                                            <option" . ($search_class == 0 ? " selected=\"selected\"" : "") . " value=\"0\">{$lang_item['consumable']}</option>\n                                            <option" . ($search_class == 1 ? " selected=\"selected\"" : "") . " value=\"1\">{$lang_item['bag']}</option>\n                                            <option" . ($search_class == 2 ? " selected=\"selected\"" : "") . " value=\"2\">{$lang_item['weapon']}</option>\n                                            <option" . ($search_class == 4 ? " selected=\"selected\"" : "") . " value=\"4\">{$lang_item['armor']}</option>\n                                            <option" . ($search_class == 5 ? " selected=\"selected\"" : "") . " value=\"5\">{$lang_item['reagent']}</option>\n                                            <option" . ($search_class == 7 ? " selected=\"selected\"" : "") . " value=\"7\">{$lang_item['trade_goods']}</option>\n                                            <option" . ($search_class == 9 ? " selected=\"selected\"" : "") . " value=\"9\">{$lang_item['recipe']}</option>\n                                            <option" . ($search_class == 11 ? " selected=\"selected\"" : "") . " value=\"11\">{$lang_item['quiver']}</option>\n                                            <option" . ($search_class == 14 ? " selected=\"selected\"" : "") . " value=\"14\">{$lang_item['permanent']}</option>\n                                            <option" . ($search_class == 15 ? " selected=\"selected\"" : "") . " value=\"15\">{$lang_item['misc_short']}</option>\n                                        </select>\n                                    </td>\n                                    <td>\n                                        <select name=\"search_quality\">\n                                            <option" . ($search_quality == -1 ? " selected=\"selected\"" : "") . " value=\"-1\">{$lang_auctionhouse['all']}</option>\n                                            <option" . ($search_quality == 0 ? " selected=\"selected\"" : "") . " value=\"0\">{$lang_item['poor']}</option>\n                                            <option" . ($search_quality == 1 ? " selected=\"selected\"" : "") . " value=\"1\">{$lang_item['common']}</option>\n                                            <option" . ($search_quality == 2 ? " selected=\"selected\"" : "") . " value=\"2\">{$lang_item['uncommon']}</option>\n                                            <option" . ($search_quality == 3 ? " selected=\"selected\"" : "") . " value=\"3\">{$lang_item['rare']}</option>\n                                            <option" . ($search_quality == 4 ? " selected=\"selected\"" : "") . " value=\"4\">{$lang_item['epic']}</option>\n                                            <option" . ($search_quality == 5 ? " selected=\"selected\"" : "") . " value=\"5\">{$lang_item['legendary']}</option>\n                                            <option" . ($search_quality == 6 ? " selected=\"selected\"" : "") . " value=\"6\">{$lang_item['artifact']}</option>\n                                        </select>\n                                    </td>\n                                    <td>";
    makebutton($lang_global['search'], "javascript:do_submit()", 80);
    $output .= "\n                                    </td>\n                                    <td>";
    $search_by && $search_value || $search_class != -1 || $search_quality != -1 ? makebutton($lang_global['back'], "javascript:window.history.back()", 80) : ($output .= "");
    $output .= "\n                                    </td>\n                                </tr>\n                            </table>\n                        </form>\n                    </td>\n                    <td width=\"25%\" align=\"right\">";
    $output .= generate_pagination("ahstats.php?order_by={$order_by}" . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? "&amp;search_by={$search_by}&amp;search_value={$search_value}&amp;search_quality={$search_quality}&amp;search_class={$search_class}&amp;error=2" : "") . "&amp;dir=" . ($dir ? 0 : 1), $all_record, $itemperpage, $start);
    $output .= "\n                    </td>\n                </tr>\n            </table>\n            <table class=\"lined\">\n                <tr>\n                    <th width=\"10%\"><a href=\"ahstats.php?order_by=itemowner&amp;start={$start}" . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? "&amp;search_by={$search_by}&amp;search_value={$search_value}&amp;search_quality={$search_quality}&amp;search_class={$search_class}&amp;error=2" : "") . "&amp;dir={$dir}\">" . ($order_by == 'itemowner' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" alt=\"\" /> " : "") . "{$lang_auctionhouse['seller']}</a></th>\n                    <th width=\"20%\"><a href=\"ahstats.php?order_by=item_template&amp;start={$start}" . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? "&amp;search_by={$search_by}&amp;search_value={$search_value}&amp;search_quality={$search_quality}&amp;search_class={$search_class}&amp;error=2" : "") . "&amp;dir={$dir}\">" . ($order_by == 'item_template' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" alt=\"\" /> " : "") . "{$lang_auctionhouse['item']}</a></th>\n                    <th width=\"15%\"><a href=\"ahstats.php?order_by=buyoutprice&amp;start={$start}" . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? "&amp;search_by={$search_by}&amp;search_value={$search_value}&amp;search_quality={$search_quality}&amp;search_class={$search_class}&amp;error=2" : "") . "&amp;dir={$dir}\">" . ($order_by == 'buyoutprice' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" alt=\"\" /> " : "") . "{$lang_auctionhouse['buyoutprice']}</a></th>\n                    <th width=\"15%\"><a href=\"ahstats.php?order_by=time&amp;start={$start}" . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? "&amp;search_by={$search_by}&amp;search_value={$search_value}&amp;search_quality={$search_quality}&amp;search_class={$search_class}&amp;error=2" : "") . "&amp;dir={$dir}\">" . ($order_by == 'time' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" alt=\"\" /> " : "") . "{$lang_auctionhouse['timeleft']}</a></th>\n                    <th width=\"10%\"><a href=\"ahstats.php?order_by=buyguid&amp;start={$start}" . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? "&amp;search_by={$search_by}&amp;search_value={$search_value}&amp;search_quality={$search_quality}&amp;search_class={$search_class}&amp;error=2" : "") . "&amp;dir={$dir}\">" . ($order_by == 'buyguid' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" alt=\"\" /> " : "") . "{$lang_auctionhouse['buyer']}</a></th>\n                    <th width=\"15%\"><a href=\"ahstats.php?order_by=lastbid&amp;start={$start}" . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? "&amp;search_by={$search_by}&amp;search_value={$search_value}&amp;search_quality={$search_quality}&amp;search_class={$search_class}&amp;error=2" : "") . "&amp;dir={$dir}\">" . ($order_by == 'lastbid' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" alt=\"\" /> " : "") . "{$lang_auctionhouse['lastbid']}</a></th>\n                    <th width=\"15%\"><a href=\"ahstats.php?order_by=startbid&amp;start={$start}" . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? "&amp;search_by={$search_by}&amp;search_value={$search_value}&amp;search_quality={$search_quality}&amp;search_class={$search_class}&amp;error=2" : "") . "&amp;dir={$dir}\">" . ($order_by == 'startbid' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" alt=\"\" /> " : "") . "{$lang_auctionhouse['firstbid']}</a></th>\n                </tr>";
    global $mmfpm_db, $world_db;
    $sqlm = new SQL();
    $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
    $sqlw = new SQL();
    $sqlw->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);
    while ($rows = $sqlc->fetch_row($result)) {
        $output .= "\n                <tr>";
        foreach ($rows as $row => $value) {
            switch ($row) {
                case 4:
                    $value = $value >= 0 ? floor($value / 86400) . $lang_auctionhouse['dayshortcut'] . " " . floor($value % 86400 / 3600) . $lang_auctionhouse['hourshortcut'] . " " . floor($value % 86400 % 3600 / 60) . $lang_auctionhouse['mnshortcut'] : $lang_auctionhouse['auction_over'];
                    break;
                case 5:
                    $value = "<b>" . (!empty($rows[10]) ? "<font color=" . $sidecolor[$rows[10]] . ">" . htmlentities($value) . "</font>" : "N/A") . "</b>";
                    break;
                case 7:
                case 6:
                case 3:
                    $g = floor($value / 10000);
                    $value -= $g * 10000;
                    $s = floor($value / 100);
                    $value -= $s * 100;
                    $c = $value;
                    $value = $g . "<img src=\"./img/gold.gif\" alt=\"\" /> " . $s . "<img src=\"./img/silver.gif\" alt=\"\" /> " . $c . "<img src=\"./img/copper.gif\" alt=\"\" /> ";
                    break;
                case 2:
                    $value = "<a href=\"{$item_datasite}{$rows['1']}\" target=\"_blank\" onmouseover=\"toolTip()\"><img src=\"" . get_item_icon($rows[1], $sqlm, $sqlw) . "\" class=\"" . get_item_border($rows[1], $sqlw) . "\" alt=\"{$value}\" /><br/>{$value}" . ($rows[8] > 1 ? " (x{$rows['8']})" : "") . "</a>";
                    break;
                case 0:
                    $value = "<b>" . (!empty($rows[9]) ? "<font color=" . $sidecolor[$rows[9]] . ">" . htmlentities($value) . "</font>" : "N/A") . "</b>";
                    break;
            }
            if (!in_array($row, $hiddencols)) {
                $output .= "\n                    <td>\n                        <center>\n                        " . $value . "\n                        </center>\n                    </td>";
            }
        }
        $output .= "\n                </tr>";
    }
    $output .= "\n                <tr>\n                    <td  colspan=\"7\" class=\"hidden\" align=\"right\" width=\"25%\">";
    $output .= generate_pagination("ahstats.php?order_by={$order_by}" . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? "&amp;search_by={$search_by}&amp;search_value={$search_value}&amp;search_quality={$search_quality}&amp;search_class={$search_class}&amp;error=2" : "") . "&amp;dir=" . ($dir ? 0 : 1), $all_record, $itemperpage, $start);
    $output .= "\n                    </td>\n                </tr>\n                <tr>\n                    <td colspan=\"7\" class=\"hidden\" align=\"right\">{$lang_auctionhouse['total_auctions']} : {$all_record}\n                    </td>\n                </tr>\n            </table>\n        </center>";
}
Esempio n. 10
0
function browse_auctions()
{
    global $output, $characters_db, $world_db, $realm_id, $locales_search_option, $itemperpage, $base_datasite, $item_datasite, $server, $user_lvl, $user_id, $sql, $core;
    //wowhead_tt();
    $red = '"#DD5047"';
    $blue = '"#0097CD"';
    $sidecolor = array(1 => $blue, 2 => $red, 3 => $blue, 4 => $blue, 5 => $red, 6 => $red, 7 => $blue, 8 => $red, 10 => $red);
    $hiddencols = array(1, 8, 9, 10);
    //==========================$_GET and SECURE=================================
    $start = isset($_GET["start"]) ? $sql["char"]->quote_smart($_GET["start"]) : 0;
    if (!is_numeric($start)) {
        $start = 0;
    }
    $order_by = isset($_GET["order_by"]) ? $sql["char"]->quote_smart($_GET["order_by"]) : "time";
    if (!preg_match("/^[_[:lower:]]{1,15}\$/", $order_by)) {
        $order_by = "time";
    }
    $dir = isset($_GET["dir"]) ? $sql["char"]->quote_smart($_GET["dir"]) : 1;
    if (!preg_match("/^[01]{1}\$/", $dir)) {
        $dir = 1;
    }
    $order_dir = $dir ? "ASC" : "DESC";
    $dir = $dir ? 0 : 1;
    //==========================$_GET and SECURE end=============================
    if (!$user_lvl && !$server[$realm_id]["both_factions"]) {
        $result = $sql["char"]->query("SELECT race FROM characters\r\n      WHERE account=" . $user_id . " AND totaltime=(SELECT MAX(totaltime) FROM characters WHERE account=" . $user_id . ")\r\n      LIMIT 1");
        if ($sql["char"]->num_rows($result)) {
            $order_side = in_array($sql["char"]->result($result, 0, "race"), array(2, 5, 6, 8, 10)) ? " AND characters.race IN (2,5,6,8,10) " : " AND characters.race IN (1,3,4,7,11) ";
        } else {
            $order_side = "";
        }
    } else {
        $order_side = "";
    }
    //==========================Browse/Search CHECK==============================
    $search_by = '';
    $search_value = '';
    $search_filter = '';
    $search_class = -1;
    $search_quality = -1;
    if (isset($_GET["search_value"]) && isset($_GET["search_by"]) || isset($_GET["search_class"]) || isset($_GET["search_quality"])) {
        $search_value = $sql["char"]->quote_smart($_GET["search_value"]);
        $search_by = $sql["char"]->quote_smart($_GET["search_by"]);
        $search_class = $sql["char"]->quote_smart($_GET["search_class"]);
        $search_quality = $sql["char"]->quote_smart($_GET["search_quality"]);
        switch ($search_by) {
            case "item_name":
                if (($search_class >= 0 || $search_quality >= 0) && !isset($search_value)) {
                    if ($search_class >= 0) {
                        if ($core == 1) {
                            $search_filter = "AND items.class='" . $search_class . "'";
                        } else {
                            $search_filter = "AND item_template.class='" . $search_class . "'";
                        }
                    }
                    if ($search_quality >= 0) {
                        if ($core == 1) {
                            $search_filter = "AND items.quality='" . $search_quality . "'";
                        } else {
                            $search_filter = "AND item_template.Quality='" . $search_quality . "'";
                        }
                    }
                } else {
                    $item_prefix = "";
                    if ($search_class >= 0) {
                        if ($core == 1) {
                            $item_prefix .= "AND items.class='" . $search_class . "' ";
                        } else {
                            $item_prefix .= "AND item_template.class='" . $search_class . "' ";
                        }
                    }
                    if ($search_quality >= 0) {
                        if ($core == 1) {
                            $item_prefix .= "AND items.quality='" . $search_quality . "' ";
                        } else {
                            $item_prefix .= "AND item_template.Quality='" . $search_quality . "' ";
                        }
                    }
                    if ($core == 1) {
                        $result = $sql["char"]->query("SELECT entry FROM " . $world_db[$realm_id]['name'] . ".items WHERE name LIKE '%" . $search_value . "%' " . $item_prefix);
                    } else {
                        $result = $sql["char"]->query("SELECT entry FROM " . $world_db[$realm_id]['name'] . ".item_template WHERE name LIKE '%" . $search_value . "%' " . $item_prefix);
                    }
                    if ($core == 1) {
                        $search_filter = "AND auctions.item IN(0";
                    } elseif ($core == 2) {
                        $search_filter = "AND auction.item_template IN(0";
                    } else {
                        $search_filter = "AND item_instance.itemEntry IN(0";
                    }
                    while ($item = $sql["char"]->fetch_row($result)) {
                        $search_filter .= ", " . $item[0];
                    }
                    $search_filter .= ")";
                }
                break;
            case "item_id":
                if ($core == 1) {
                    $search_filter = "AND auctions.item='" . $search_value . "'";
                } elseif ($core == 2) {
                    $search_filter = "AND auction.item_template='" . $search_value . "'";
                } else {
                    $search_filter = "AND item_instance.itemEntry='" . $search_value . "'";
                }
                break;
            case "seller_name":
                if (($search_class >= 0 || $search_quality >= 0) && !isset($search_value)) {
                    if ($search_class >= 0) {
                        if ($core == 1) {
                            $search_filter = "AND items.class='" . $search_class . "'";
                        } else {
                            $search_filter = "AND item_template.class='" . $search_class . "'";
                        }
                    }
                    if ($search_quality >= 0) {
                        if ($core == 1) {
                            $search_filter = "AND items.quality='" . $search_quality . "'";
                        } else {
                            $search_filter = "AND item_template.Quality='" . $search_quality . "'";
                        }
                    }
                } else {
                    $item_prefix = "";
                    if ($search_class >= 0) {
                        if ($core == 1) {
                            $item_prefix .= "AND items.class='" . $search_class . "' ";
                        } else {
                            $item_prefix .= "AND item_template.class='" . $search_class . "' ";
                        }
                    }
                    if ($search_quality >= 0) {
                        if ($core == 1) {
                            $item_prefix .= "AND items.quality='" . $search_quality . "' ";
                        } else {
                            $item_prefix .= "AND item_template.Quality='" . $search_quality . "' ";
                        }
                    }
                    $result = $sql["char"]->query("SELECT guid FROM characters WHERE name LIKE '%" . $search_value . "%'");
                    $search_filter = $item_prefix;
                    if ($core == 1) {
                        $search_filter .= "AND auctions.owner IN(0";
                    } elseif ($core == 2) {
                        $search_filter .= "AND auction.itemowner IN(0";
                    } else {
                        $search_filter .= "AND auctionhouse.itemowner IN(0";
                    }
                    while ($char = $sql["char"]->fetch_row($result)) {
                        $search_filter .= ", " . $char[0];
                    }
                    $search_filter .= ")";
                    $search_filter .= $item_prefix;
                }
                break;
            case "buyer_name":
                if (($search_class >= 0 || $search_quality >= 0) && !isset($search_value)) {
                    if ($search_class >= 0) {
                        if ($core == 1) {
                            $search_filter = "AND items.class='" . $search_class . "'";
                        } else {
                            $search_filter = "AND item_template.class='" . $search_class . "'";
                        }
                    }
                    if ($search_quality >= 0) {
                        if ($core == 1) {
                            $search_filter = "AND items.quality='" . $search_quality . "'";
                        } else {
                            $search_filter = "AND item_template.Quality='" . $search_quality . "'";
                        }
                    }
                } else {
                    $item_prefix = "";
                    if ($search_class >= 0) {
                        if ($core == 1) {
                            $item_prefix .= "AND items.class='" . $search_class . "' ";
                        } else {
                            $item_prefix .= "AND item_template.class='" . $search_class . "' ";
                        }
                    }
                    if ($search_quality >= 0) {
                        if ($core == 1) {
                            $item_prefix .= "AND items.quality='" . $search_quality . "' ";
                        } else {
                            $item_prefix .= "AND item_template.Quality='" . $search_quality . "' ";
                        }
                    }
                    $result = $sql["char"]->query("SELECT guid FROM characters WHERE name LIKE '%" . $search_value . "%'");
                    $search_filter = $item_prefix;
                    if ($core == 1) {
                        $search_filter .= "AND auctions.bidder IN(-1";
                    } elseif ($core == 2) {
                        $search_filter .= "AND auction.buyguid IN(-1";
                    } else {
                        $search_filter .= "AND auctionhouse.buyguid IN(-1";
                    }
                    while ($char = $sql["char"]->fetch_row($result)) {
                        $search_filter .= ", " . $char[0];
                    }
                    $search_filter .= ")";
                }
                break;
            default:
                redirect("ahstats.php?error=1");
        }
        /*$query_1 = $sql["char"]->query("SELECT count(*)
          FROM `".$characters_db[$realm_id]['name']."`.`characters` , `".$characters_db[$realm_id]['name']."`.`item_instance` ,
          `".$world_db[$realm_id]['name']."`.`item_template` , `".$characters_db[$realm_id]['name']."`.`auctionhouse`
          LEFT JOIN `".$characters_db[$realm_id]['name']."`.`characters` c2 ON `c2`.`guid`=`auctionhouse`.`buyguid`
          WHERE `auctionhouse`.`itemowner`=`characters`.`guid` AND `auctionhouse`.`item_template`=`item_template`.`entry` AND `auctionhouse`.`itemguid`=`item_instance`.`guid`
          $search_filter $order_side");*/
        // this_is_junk: really?
        if ($core == 1) {
            $query_1 = $sql["char"]->query("SELECT COUNT(*) FROM auctions");
        } elseif ($core == 2) {
            $query_1 = $sql["char"]->query("SELECT COUNT(*) FROM auction");
        } else {
            $query_1 = $sql["char"]->query("SELECT COUNT(*) FROM auctionhouse");
        }
    } else {
        if ($core == 1) {
            $query_1 = $sql["char"]->query("SELECT COUNT(*) FROM auctions");
        } elseif ($core == 2) {
            $query_1 = $sql["char"]->query("SELECT COUNT(*) FROM auction");
        } else {
            $query_1 = $sql["char"]->query("SELECT COUNT(*) FROM auctionhouse");
        }
    }
    /*$result = $sql["char"]->query("SELECT `characters`.`name` AS `seller`, `auctionhouse`.`item_template` AS `itemid`,
      `item_template`.`name` AS `itemname`, `auctionhouse`.`buyoutprice` AS `buyout`, `auctionhouse`.`time`-unix_timestamp(),
      `c2`.`name` AS `encherisseur`, `auctionhouse`.`lastbid`, `auctionhouse`.`startbid`,
      SUBSTRING_INDEX(SUBSTRING_INDEX(`item_instance`.`data`, ' ',15), ' ',-1) AS qty, `characters`.`race` AS seller_race,
      `c2`.`race` AS buyer_race
      FROM `".$characters_db[$realm_id]['name']."`.`characters` , `".$characters_db[$realm_id]['name']."`.`item_instance` ,
      `".$world_db[$realm_id]['name']."`.`item_template` , `".$characters_db[$realm_id]['name']."`.`auctionhouse`
      LEFT JOIN `".$characters_db[$realm_id]['name']."`.`characters` c2 ON `c2`.`guid`=`auctionhouse`.`buyguid`
      WHERE `auctionhouse`.`itemowner`=`characters`.`guid` AND `auctionhouse`.`item_template`=`item_template`.`entry` AND `auctionhouse`.`itemguid`=`item_instance`.`guid`
      $search_filter
      $order_side ORDER BY `auctionhouse`.`$order_by` $order_dir LIMIT $start, $itemperpage");*/
    // Sorting special cases, everything else works as is...
    if ($core == 1) {
        switch ($order_by) {
            case "owner":
                $post_order_by = "characters.name";
                break;
            case "item":
                $post_order_by = "playeritems.entry";
                break;
            default:
                $post_order_by = $order_by;
        }
    } elseif ($core == 2) {
        switch ($order_by) {
            case "owner":
                $post_order_by = "characters.name";
                break;
            case "item":
                $post_order_by = "auction.item_template";
                break;
            case "buyout":
                $post_order_by = "auction.buyoutprice";
                break;
            case "bidder":
                $post_order_by = "auction.buyguid";
                break;
            case "bid":
                $post_order_by = "auction.lastbid";
                break;
            default:
                $post_order_by = $order_by;
        }
    } else {
        switch ($order_by) {
            case "owner":
                $post_order_by = "characters.name";
                break;
            case "item":
                $post_order_by = "item_instance.itemEntry";
                break;
            case "buyout":
                $post_order_by = "auctionhouse.buyoutprice";
                break;
            case "bidder":
                $post_order_by = "auctionhouse.buyguid";
                break;
            case "bid":
                $post_order_by = "auctionhouse.lastbid";
                break;
            default:
                $post_order_by = $order_by;
        }
    }
    if ($core == 1) {
        // this_is_junk: the guid in auction is stored raw, so we have to subtract 4611686018427387904 to get the matching guid stored in playeritems :/
        $query = "SELECT characters.name AS owner_name, owner, playeritems.entry AS item_entry,\r\n      item-4611686018427387904 AS item, buyout, time, UNIX_TIMESTAMP() AS now, bidder, bid\r\n      FROM auctions\r\n        LEFT JOIN characters ON auctions.owner=characters.guid\r\n        LEFT JOIN playeritems ON auctions.item-4611686018427387904=playeritems.guid\r\n        LEFT JOIN " . $world_db[$realm_id]['name'] . ".items ON " . $world_db[$realm_id]['name'] . ".items.entry=playeritems.entry\r\n      " . $seach_filter . " " . $order_side . " ORDER BY " . $post_order_by . " " . $order_dir . " LIMIT " . $start . ", " . $itemperpage;
    } elseif ($core == 2) {
        $query = "SELECT characters.name AS owner_name, auction.item_template AS item_entry,\r\n      auction.itemowner AS owner, item_template.name AS itemname, itemguid AS item,\r\n      auction.buyoutprice AS buyout, auction.time AS time, UNIX_TIMESTAMP() AS now,\r\n      c2.name AS bidder_name, auction.buyguid AS bidder, auction.lastbid AS bid, auction.startbid,\r\n      SUBSTRING_INDEX(SUBSTRING_INDEX(item_instance.data, ' ',15), ' ',-1) AS qty,\r\n      characters.race AS seller_race, c2.race AS buyer_race\r\n      FROM characters, item_instance, " . $world_db[$realm_id]['name'] . ".item_template, auction\r\n        LEFT JOIN characters c2 ON c2.guid=auction.buyguid\r\n      WHERE auction.itemowner=characters.guid\r\n        AND auction.item_template=item_template.entry\r\n        AND auction.itemguid=item_instance.guid\r\n      " . $search_filter . " " . $order_side . " ORDER BY " . $post_order_by . " " . $order_dir . " LIMIT " . $start . ", " . $itemperpage;
    } else {
        $query = "SELECT characters.name AS owner_name, item_instance.itemEntry AS item_entry,\r\n      auctionhouse.itemowner AS owner, item_template.name AS itemname, itemguid AS item,\r\n      auctionhouse.buyoutprice AS buyout, auctionhouse.time AS time, UNIX_TIMESTAMP() AS now,\r\n      c2.name AS bidder_name, auctionhouse.buyguid AS bidder, auctionhouse.lastbid AS bid, auctionhouse.startbid,\r\n      item_instance.count AS qty,\r\n      characters.race AS seller_race, c2.race AS buyer_race\r\n      FROM characters, item_instance, " . $world_db[$realm_id]['name'] . ".item_template, auctionhouse\r\n        LEFT JOIN characters c2 ON c2.guid=auctionhouse.buyguid\r\n      WHERE auctionhouse.itemowner=characters.guid\r\n        AND item_instance.itemEntry=item_template.entry\r\n        AND auctionhouse.itemguid=item_instance.guid\r\n      " . $search_filter . " " . $order_side . " ORDER BY " . $post_order_by . " " . $order_dir . " LIMIT " . $start . ", " . $itemperpage;
    }
    $result = $sql["char"]->query($query);
    $all_record = $sql["char"]->result($query_1, 0);
    // give ourselves a little less XSS
    $search_value = htmlspecialchars($search_value);
    $search_by = htmlspecialchars($search_by);
    $search_class = htmlspecialchars($search_class);
    $search_quality = htmlspecialchars($search_quality);
    //=====================top tage navigaion starts here========================
    $output .= '
          <table class="top_hidden">
            <tr>
              <td style="width: 80%;">
                <form action="ahstats.php" method="get" id="form">
                  <div class="no_display">
                    <input type="hidden" name="error" value="2" />
                  </div>
                  <table class="hidden">
                    <tr>
                      <td>
                        <input type="text" size="24" name="search_value" value="' . $search_value . '" />
                      </td>
                      <td>
                        <select name="search_by">
                          <option' . ($search_by == "item_name" ? ' selected="selected"' : '') . ' value="item_name">' . lang("auctionhouse", "item_name") . '</option>
                          <option' . ($search_by == "item_id" ? ' selected="selected"' : '') . ' value="item_id">' . lang("auctionhouse", "item_id") . '</option>
                          <option' . ($search_by == "seller_name" ? ' selected="selected"' : '') . ' value="seller_name">' . lang("auctionhouse", "seller_name") . '</option>
                          <option' . ($search_by == "buyer_name" ? ' selected="selected"' : '') . ' value="buyer_name">' . lang("auctionhouse", "buyer_name") . '</option>
                        </select>
                      </td>
                      <td>
                        <select name="search_class">
                          <option' . ($search_class == -1 ? ' selected="selected"' : '') . ' value="-1">' . lang("auctionhouse", "all") . '</option>
                          <option' . ($search_class == 0 ? ' selected="selected"' : '') . ' value="0">' . lang("item", "consumable") . '</option>
                          <option' . ($search_class == 1 ? ' selected="selected"' : '') . ' value="1">' . lang("item", "bag") . '</option>
                          <option' . ($search_class == 2 ? ' selected="selected"' : '') . ' value="2">' . lang("item", "weapon") . '</option>
                          <option' . ($search_class == 4 ? ' selected="selected"' : '') . ' value="4">' . lang("item", "armor") . '</option>
                          <option' . ($search_class == 5 ? ' selected="selected"' : '') . ' value="5">' . lang("item", "reagent") . '</option>
                          <option' . ($search_class == 7 ? ' selected="selected"' : '') . ' value="7">' . lang("item", "trade_goods") . '</option>
                          <option' . ($search_class == 9 ? ' selected="selected"' : '') . ' value="9">' . lang("item", "recipe") . '</option>
                          <option' . ($search_class == 11 ? ' selected="selected"' : '') . ' value="11">' . lang("item", "quiver") . '</option>
                          <option' . ($search_class == 14 ? ' selected="selected"' : '') . ' value="14">' . lang("item", "permanent") . '</option>
                          <option' . ($search_class == 15 ? ' selected="selected"' : '') . ' value="15">' . lang("item", "misc_short") . '</option>
                        </select>
                      </td>
                      <td>
                        <select name="search_quality">
                          <option' . ($search_quality == -1 ? ' selected="selected"' : '') . ' value="-1">' . lang("auctionhouse", "all") . '</option>
                          <option' . ($search_quality == 0 ? ' selected="selected"' : '') . ' value="0">' . lang("item", "poor") . '</option>
                          <option' . ($search_quality == 1 ? ' selected="selected"' : '') . ' value="1">' . lang("item", "common") . '</option>
                          <option' . ($search_quality == 2 ? ' selected="selected"' : '') . ' value="2">' . lang("item", "uncommon") . '</option>
                          <option' . ($search_quality == 3 ? ' selected="selected"' : '') . ' value="3">' . lang("item", "rare") . '</option>
                          <option' . ($search_quality == 4 ? ' selected="selected"' : '') . ' value="4">' . lang("item", "epic") . '</option>
                          <option' . ($search_quality == 5 ? ' selected="selected"' : '') . ' value="5">' . lang("item", "legendary") . '</option>
                          <option' . ($search_quality == 6 ? ' selected="selected"' : '') . ' value="6">' . lang("item", "artifact") . '</option>
                        </select>
                      </td>
                      <td>';
    makebutton(lang("global", "search"), "javascript:do_submit()", 80);
    $output .= '
                      </td>
                      <td>';
    $search_by && $search_value || $search_class != -1 || $search_quality != -1 ? makebutton(lang("global", "back"), "javascript:window.history.back()", 80) : ($output .= "");
    $output .= '
                      </td>
                    </tr>
                  </table>
                </form>
              </td>
              <td style="width: 25%; text-align: right;">';
    $output .= generate_pagination("ahstats.php?order_by=" . $order_by . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? "&amp;search_by=" . $search_by . "&amp;search_value=" . $search_value . "&amp;search_quality=" . $search_quality . "&amp;search_class=" . $search_class . "&amp;error=2" : "") . "&amp;dir=" . ($dir ? 0 : 1), $all_record, $itemperpage, $start);
    $output .= '
              </td>
            </tr>
          </table>
          <table class="lined">
            <tr>
              <th style="width: 10%;"><a href="ahstats.php?order_by=owner&amp;start=' . $start . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '&amp;search_quality=' . $search_quality . '&amp;search_class=' . $search_class . '&amp;error=2' : '') . '&amp;dir=' . $dir . '">' . ($order_by == 'owner' ? '<img src="img/arr_' . ($dir ? 'dw' : 'up') . '.gif" alt="" /> ' : '') . lang("auctionhouse", "seller") . '</a></th>
              <th style="width: 20%;" colspan="2"><a href="ahstats.php?order_by=item&amp;start=' . $start . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '&amp;search_quality=' . $search_quality . '&amp;search_class=' . $search_class . '&amp;error=2' : '') . '&amp;dir=' . $dir . '">' . ($order_by == 'item' ? '<img src="img/arr_' . ($dir ? 'dw' : 'up') . '.gif" alt="" /> ' : '') . lang("auctionhouse", "item") . '</a></th>
              <th style="width: 15%;"><a href="ahstats.php?order_by=buyout&amp;start=' . $start . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '&amp;search_quality=' . $search_quality . '&amp;search_class=' . $search_class . '&amp;error=2' : '') . '&amp;dir=' . $dir . '">' . ($order_by == 'buyout' ? '<img src="img/arr_' . ($dir ? 'dw' : 'up') . '.gif" alt="" /> ' : '') . lang("auctionhouse", "buyoutprice") . '</a></th>
              <th style="width: 15%;"><a href="ahstats.php?order_by=time-unix_timestamp()&amp;start=' . $start . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '&amp;search_quality=' . $search_quality . '&amp;search_class=' . $search_class . '&amp;error=2' : '') . '&amp;dir=' . $dir . '">' . ($order_by == 'time' ? '<img src="img/arr_' . ($dir ? 'dw' : 'up') . '.gif" alt="" /> ' : '') . lang("auctionhouse", "timeleft") . '</a></th>
              <th style="width: 10%;"><a href="ahstats.php?order_by=bidder&amp;start=' . $start . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '&amp;search_quality=' . $search_quality . '&amp;search_class=' . $search_class . '&amp;error=2' : '') . '&amp;dir=' . $dir . '">' . ($order_by == 'bidder' ? '<img src="img/arr_' . ($dir ? 'dw' : 'up') . '.gif" alt="" /> ' : '') . lang("auctionhouse", "buyer") . '</a></th>
              <th style="width: 15%;"><a href="ahstats.php?order_by=bid&amp;start=' . $start . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '&amp;search_quality=' . $search_quality . '&amp;search_class=' . $search_class . '&amp;error=2' : '') . '&amp;dir=' . $dir . '">' . ($order_by == 'bid' ? '<img src="img/arr_' . ($dir ? 'dw' : 'up') . '.gif" alt="" /> ' : '') . lang("auctionhouse", "lastbid") . '</a></th>
            </tr>';
    while ($rows = $sql["char"]->fetch_assoc($result)) {
        // get item info
        if ($core == 1) {
            $i_query = "SELECT name1 AS name, quality AS Quality, inventorytype AS InventoryType, \r\n            socket_color_1 AS socketColor_1, socket_color_2 AS socketColor_2, socket_color_3 AS socketColor_3,\r\n            requiredlevel AS RequiredLevel, allowableclass AS AllowableClass,\r\n            sellprice AS SellPrice, itemlevel AS ItemLevel,\r\n            creator, enchantments AS enchantment, randomprop AS property, count, durability, flags\r\n            FROM items\r\n              LEFT JOIN playeritems ON playeritems.guid=" . $rows["item"] . " " . ($locales_search_option != 0 ? "LEFT JOIN items_localized ON (items_localized.entry=items.entry AND language_code='" . $locales_search_option . "') " : " ") . "WHERE items.entry=" . $rows["item_entry"];
        } elseif ($core == 2) {
            $i_query = "SELECT *, \r\n            SUBSTRING_INDEX(SUBSTRING_INDEX(`" . $characters_db[$realm_id]["name"] . "`.item_instance.data, ' ', 11), ' ', -1) AS creator,\r\n            SUBSTRING_INDEX(SUBSTRING_INDEX(`" . $characters_db[$realm_id]["name"] . "`.item_instance.data, ' ', 23), ' ', -1) AS enchantment, \r\n            SUBSTRING_INDEX(SUBSTRING_INDEX(`" . $characters_db[$realm_id]["name"] . "`.item_instance.data, ' ', 60), ' ', -1) AS property, \r\n            SUBSTRING_INDEX(SUBSTRING_INDEX(`" . $characters_db[$realm_id]["name"] . "`.item_instance.data, ' ', 15), ' ', -1) AS count,\r\n            SUBSTRING_INDEX(SUBSTRING_INDEX(`" . $characters_db[$realm_id]["name"] . "`.item_instance.data, ' ', 62), ' ', -1) AS durability,\r\n            SUBSTRING_INDEX(SUBSTRING_INDEX(`" . $characters_db[$realm_id]["name"] . "`.item_instance.data, ' ', 22), ' ', -1) AS flags\r\n            FROM item_template\r\n              LEFT JOIN `" . $characters_db[$realm_id]["name"] . "`.character_inventory ON character_inventory.item=" . $rows["item"] . "\r\n              LEFT JOIN `" . $characters_db[$realm_id]["name"] . "`.item_instance ON item_instance.guid=" . $rows["item"] . " " . ($locales_search_option != 0 ? "LEFT JOIN locales_item ON locales_item.entry=item_template.entry " : " ") . "WHERE item_template.entry=" . $rows["item_entry"];
        } else {
            $i_query = "SELECT *, \r\n            creatorGuid AS creator,\r\n            enchantments AS enchantment, \r\n            randomPropertyId AS property, \r\n            count, durability, `" . $characters_db[$realm_id]["name"] . "`.item_instance.flags AS flags\r\n            FROM item_template\r\n              LEFT JOIN `" . $characters_db[$realm_id]["name"] . "`.character_inventory ON character_inventory.item=" . $rows["item"] . "\r\n              LEFT JOIN `" . $characters_db[$realm_id]["name"] . "`.item_instance ON item_instance.guid=" . $rows["item"] . " " . ($locales_search_option != 0 ? "LEFT JOIN locales_item ON locales_item.entry=item_template.entry " : " ") . "WHERE item_template.entry=" . $rows["item_entry"];
        }
        $i_result = $sql["world"]->query($i_query);
        $item_result = $sql["world"]->fetch_assoc($i_result);
        // Localization
        if ($locales_search_option != 0) {
            if ($core == 1) {
                $item_result["name"] = $item_result["name"];
            } else {
                $item_result["name"] = $item_result["name_loc" . $locales_search_option];
            }
        } else {
            $item_result["name"] = $item_result["name"];
        }
        // calculate the buyout value
        $value = $rows["buyout"];
        $g = floor($value / 10000);
        $value -= $g * 10000;
        $s = floor($value / 100);
        $value -= $s * 100;
        $c = $value;
        $buyout = $g . '<img src="./img/gold.gif" alt="" style="position: relative; bottom: -6px;" /> ' . $s . '<img src="./img/silver.gif" alt="" style="position: relative; bottom: -6px;" /> ' . $c . '<img src="./img/copper.gif" alt="" style="position: relative; bottom: -6px;" /> ';
        // calculate the remaining time
        $tot_time = $rows["time"] - $rows["now"];
        $total_days = (int) ($tot_time / 86400);
        $tot_time = $tot_time - $tot_days * 86400;
        $total_hours = (int) ($tot_time / 3600);
        $tot_time = $tot_time - $total_hours * 3600;
        $total_min = (int) ($tot_time / 60);
        // get bidder name
        $bidder_result = $sql["char"]->result($sql["char"]->query("SELECT name FROM characters WHERE guid = '" . $rows["bidder"] . "'"), 0);
        // calculate the last bid value
        $value = $rows["bid"];
        $g = floor($value / 10000);
        $value -= $g * 10000;
        $s = floor($value / 100);
        $value -= $s * 100;
        $c = $value;
        $bid = $g . '<img src="./img/gold.gif" alt="" /> ' . $s . '<img src="./img/silver.gif" alt="" /> ' . $c . '<img src="./img/copper.gif" alt="" /> ';
        $output .= '
            <tr>
              <td class="center-text">
                <a href="./char.php?id=' . $rows["owner"] . '">' . $rows["owner_name"] . '</a>
              </td>
              <td>';
        $item_icon = get_item_icon($rows["item_entry"]);
        $item_border = get_item_border($rows["item_entry"]);
        $output .= '
                <a href="' . $base_datasite . $item_datasite . $rows["item_entry"] . '" rel="external" onmouseover="ShowTooltip(this,\'_' . $rows["item"] . '\');" onmouseout="HideTooltip(\'_' . $rows["item"] . '\');">
                  <img src="' . $item_icon . '" class="' . $item_border . '" alt="" />
                </a>';
        $output .= '
                <div class="item_tooltip" id="tooltip_' . $rows["item"] . '">
                  <table>
                    <tr>
                      <td>
                        ' . get_item_tooltip($item_result, $item_result['enchantment'], $item_result['property'], $item_result['creator'], $item_result['durability'], $item_result['flags']) . '
                      </td>
                    </tr>
                  </table>
                </div>';
        $output .= '
              </td>
              <td class="center-text">
                <a href="' . $base_datasite . $item_datasite . $rows["item_entry"] . '" rel="external" onmouseover="ShowTooltip(this,\'_' . $rows["item"] . '\');" onmouseout="HideTooltip(\'_' . $rows["item"] . '\');" style="color:' . get_item_quality_color($item_result["Quality"]) . '">' . $item_result["name"] . '</a>
              </td>
              <td class="center-text">
                ' . $buyout . '
              </td>
              <td class="center-text">';
        if ($rows["time"] > $rows["now"]) {
            $output .= ($total_days != 0 ? $total_days . ' days, ' : '') . ($total_hours != 0 ? $total_hours . ' hours, ' : '') . ($total_min != 0 ? $total_min . ' minutes' : '');
        } else {
            $output .= lang("auctionhouse", "auction_over");
        }
        $output .= '
              </td>
              <td class="center-text">
                <a href="./char.php?id=' . $rows["bidder"] . '">' . $bidder_result . '</a>
              </td>
              <td class="center-text">
                ' . ($bidder_result != '' ? $bid : '') . '
              </td>
            </tr>';
    }
    $output .= '
            <tr>
              <td colspan="7" class="hidden" style="width: 25%; text-align: right;">';
    $output .= generate_pagination("ahstats.php?order_by=" . $order_by . ($search_by && $search_value || $search_class != -1 || $search_quality != -1 ? "&amp;search_by=" . $search_by . "&amp;search_value=" . $search_value . "&amp;search_quality=" . $search_quality . "&amp;search_class=" . $search_class . "&amp;error=2" : "") . "&amp;dir=" . ($dir ? 0 : 1), $all_record, $itemperpage, $start);
    $output .= '
              </td>
            </tr>
            <tr>
              <td colspan="7" class="hidden" style="text-align: right;">' . lang("auctionhouse", "total_auctions") . ' : ' . $all_record . '
              </td>
            </tr>
          </table>';
}
Esempio n. 11
0
function char_extra(&$sqlr, &$sqlc, &$sqlw)
{
    global $output, $lang_global, $lang_char, $realm_id, $characters_db, $world_db, $action_permission, $user_lvl, $user_name, $item_datasite;
    // this page uses wowhead tooltops
    wowhead_tt();
    require_once 'core/char/char_security.php';
    $result = $sqlc->query('SELECT account, name, race, class, gender, level
                            FROM characters
                            WHERE guid = ' . $id . ' LIMIT 1');
    if ($sqlc->num_rows($result)) {
        $char = $sqlc->fetch_assoc($result);
        $owner_acc_id = $sqlc->result($result, 0, 'account');
        $result = $sqlr->query('SELECT `username`, `gmlevel` FROM `account` LEFT JOIN `account_access` ON `account`.`id`=`account_access`.`id` WHERE `account`.`id` = ' . $owner_acc_id . ' ORDER BY `gmlevel` DESC LIMIT 1');
        $owner_name = $sqlr->result($result, 0, 'username');
        $owner_gmlvl = $sqlr->result($result, 0, 'gmlevel');
        if (empty($owner_gmlvl)) {
            $owner_gmlvl = 0;
        }
        if ($user_lvl > $owner_gmlvl || $owner_name === $user_name) {
            $output .= '
            <center>
                <div id="tab_content">
                    <h1>' . $lang_char['extra'] . '</h1>
                    <br />';
            require_once 'core/char/char_header.php';
            //---------------Page Specific Data Starts Here--------------------------
            $output .= '
                    <br /><br />
                    <table class="lined" style="width: 450px;">
                        <tr>
                            <th width="15%">' . $lang_char['icon'] . '</th>
                            <th width="15%">' . $lang_char['quantity'] . '</th>
                            <th width="70%">' . $lang_char['name'] . '</th>
                        </tr>';
            $sqlw = new SQL();
            $sqlw->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);
            $result = $sqlw->query('SELECT entry, description FROM item_template WHERE BagFamily = 8192');
            while ($bag = $sqlw->fetch_assoc($result)) {
                $result_2 = $sqlc->query('SELECT guid as item, itemEntry FROM item_instance WHERE owner_guid = ' . $id . ' AND itemEntry = ' . $bag['entry'] . ' ');
                while ($char = $sqlc->fetch_assoc($result_2)) {
                    $result_3 = $sqlc->query('SELECT count AS item FROM item_instance WHERE guid = ' . $char['item'] . ' ');
                    $items = $sqlc->fetch_row($result_3);
                    $output .= '
                        <tr valign="center">
                            <td>
                                <a style="padding:2px;" href="' . $item_datasite . $char['itemEntry'] . '" target="_blank">
                                    <img src="' . get_item_icon($char['itemEntry'], $sqlm) . '" alt="' . $char['itemEntry'] . '" class="icon_border_0" />
                                </a>
                            </td>
                            <td>
                                ' . $items['0'] . '
                            </td>
                            <td>
                                <span onmousemove="toolTip(\'' . $bag['description'] . '\', \'item_tooltip\')" onmouseout="toolTip()">' . get_item_name($char['itemEntry'], $sqlw) . '</span>
                            </td>
                        </tr>';
                }
            }
            $output .= '
                    </table>';
            unset($bag);
            //---------------Page Specific Data Ends Here--------------------------
            $output .= '
                </div>
            </div>
            <br />';
            require_once 'core/char/char_footer.php';
            $output .= '
            <br />
            </center>';
        } else {
            error($lang_char['no_permission']);
        }
    } else {
        error($lang_char['no_char_found']);
    }
}
function pointsystem()
{
    global $output, $corem_db, $logon_db, $get_timezone_type, $core;
    // we need $core to be set
    if ($core == 0) {
        $core = detectcore();
    }
    $sqlm = new SQL();
    $sqlm->connect($corem_db["addr"], $corem_db["user"], $corem_db["pass"], $corem_db["name"], $corem_db["encoding"]);
    $subsection = isset($_GET["subsection"]) ? $sqlm->quote_smart($_GET["subsection"]) : 1;
    $output .= '
        <table id="sidebar">
          <tr>
            <td ' . ($subsection == "basic" ? 'class="current"' : '') . '>
              <a href="admin.php?section=pointsystem&amp;subsection=basic">' . lang("admin", "basic") . '</a>
            </td>
          </tr>
          <tr>
            <td ' . ($subsection == "coupons" ? 'class="current"' : '') . '>
              <a href="admin.php?section=pointsystem&amp;subsection=coupons">' . lang("admin", "coupons") . '</a>
            </td>
          </tr>
          <tr>
            <td ' . ($subsection == "raffles" ? 'class="current"' : '') . '>
              <a href="admin.php?section=pointsystem&amp;subsection=raffles">' . lang("admin", "raffles") . '</a>
            </td>
          </tr>
          <tr>
            <td ' . ($subsection == "bags" ? 'class="current"' : '') . '>
              <a href="admin.php?section=pointsystem&amp;subsection=bags">' . lang("admin", "bags") . '</a>
            </td>
          </tr>
          <tr>
            <td ' . ($subsection == "achieve" ? 'class="current"' : '') . '>
              <a href="admin.php?section=pointsystem&amp;subsection=achieve">' . lang("admin", "achieve") . '</a>
            </td>
          </tr>
        </table>';
    $sub_action = isset($_GET["subaction"]) ? $_GET["subaction"] : '';
    if (isset($_GET["error"])) {
        $output .= '
      <div id="misc_error">';
    } else {
        $output .= '
      <div id="misc">';
    }
    switch ($subsection) {
        case "basic":
            if (!$sub_action) {
                $allow_fractional = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='Credits_Fractional'"));
                $credits_per_recruit = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='Credits_Per_Recruit'"));
                $recruit_reward_auto = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='Recruit_Reward_Auto'"));
                $initial_credits = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='New_Account_Credits'"));
                $qiv_credits = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='QIV_Credits'"));
                $qiv_gold = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='QIV_Gold'"));
                $uv_credits = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='UV_Credits'"));
                $uv_gold = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='UV_Gold'"));
                // extract gold/silver/copper from single gold number
                $qiv_gold["Value"] = str_pad($qiv_gold["Value"], 4, "0", STR_PAD_LEFT);
                $qiv_g = substr($qiv_gold["Value"], 0, -4);
                if ($qiv_g == '') {
                    $qiv_g = 0;
                }
                $qiv_s = substr($qiv_gold["Value"], -4, 2);
                if ($qiv_s == '' || $qiv_s == '00') {
                    $qiv_s = 0;
                }
                $qiv_c = substr($qiv_gold["Value"], -2);
                if ($qiv_c == '' || $qiv_c == '00') {
                    $qiv_c = 0;
                }
                // extract gold/silver/copper from single gold number
                $uv_gold["Value"] = str_pad($uv_gold["Value"], 4, "0", STR_PAD_LEFT);
                $uv_g = substr($uv_gold["Value"], 0, -4);
                if ($uv_g == '') {
                    $uv_g = 0;
                }
                $uv_s = substr($uv_gold["Value"], -4, 2);
                if ($uv_s == '' || $uv_s == '00') {
                    $uv_s = 0;
                }
                $uv_c = substr($uv_gold["Value"], -2);
                if ($uv_c == '' || $uv_c == '00') {
                    $uv_c = 0;
                }
                $name_credits = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='Name_Change_Credits'"));
                $race_credits = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='Race_Change_Credits'"));
                $trans_credits = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='Transfer_Credits'"));
                $hearth_credits = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='Hearthstone_Credits'"));
                $achievement_point_points = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='Achievement_Point_Points'"));
                $achievement_point_credits = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_misc WHERE `Key`='Achievement_Point_Credits'"));
                $output .= '
        <form action="admin.php" method="get" id="form">
          <div>
            <input type="hidden" name="section" value="pointsystem" />
            <input type="hidden" name="subaction" value="savepoints" />
            <input type="hidden" name="subsection" value="basic" />
          </div>
          <table class="simple" id="admin_more">
            <tr>
              <td class="help">
                <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "fractional_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "fractional") . '</a>:
              </td>
              <td>
                <input type="checkbox" name="allowfractional" ' . ($allow_fractional["Value"] == 1 ? 'checked="checked"' : '') . ' />
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <b>' . lang("admin", "recruitment") . '</b>
              </td>
            </tr>
            <tr>
              <td class="help">
                <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "credits_per_recruit_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "credits_per_recruit") . '</a>:
              </td>
              <td>
                <input type="text" name="creditsperrecruit" value="' . $credits_per_recruit["Value"] . '"/>
              </td>
            </tr>
            <tr>
              <td class="help">
                <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "recruit_reward_auto_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "recruit_reward_auto") . '</a>:
              </td>
              <td>
                <input type="checkbox" name="recruitrewardauto" ' . ($recruit_reward_auto["Value"] == 1 ? 'checked="checked"' : '') . ' />
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <b>' . lang("admin", "newaccounts") . '</b>
              </td>
            </tr>
            <tr>
              <td class="help">
                <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "initial_credits_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "initial_credits") . '</a>:
              </td>
              <td>
                <input type="text" name="initialcredits" value="' . $initial_credits["Value"] . '"/>
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <b>' . lang("admin", "tool_qiv") . '</b>
              </td>
            </tr>
            <tr>
              <td class="help">
                <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "qiv_credits_per_gold_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "qiv_credits_per_gold") . '</a>:
              </td>
              <td>
                <input type="text" name="qiv_creditspergold_credits" value="' . $qiv_credits["Value"] . '" size="6"/>
                ' . lang("admin", "credits") . '&nbsp;=&nbsp;
                <input type="text" name="qiv_creditspergold_gold" value="' . $qiv_g . '" size="6"/>
                <img src="../img/gold.gif" alt="gold" />
                <input type="text" name="qiv_creditspergold_silver" value="' . $qiv_s . '" maxlength="2" size="6"/>
                <img src="../img/silver.gif" alt="gold" />
                <input type="text" name="qiv_creditspergold_copper" value="' . $qiv_c . '" maxlength="2" size="6"/>
                <img src="../img/copper.gif" alt="gold" />
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <b>' . lang("admin", "tool_uv") . '</b>
              </td>
            </tr>
            <tr>
              <td class="help">
                <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "uv_credits_per_gold_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "uv_credits_per_gold") . '</a>:
              </td>
              <td>
                <input type="text" name="uv_creditspergold_credits" value="' . $uv_credits["Value"] . '" size="6"/>
                ' . lang("admin", "credits") . '&nbsp;=&nbsp;
                <input type="text" name="uv_creditspergold_gold" value="' . $uv_g . '" size="6"/>
                <img src="../img/gold.gif" alt="gold" />
                <input type="text" name="uv_creditspergold_silver" value="' . $uv_s . '" maxlength="2" size="6"/>
                <img src="../img/silver.gif" alt="gold" />
                <input type="text" name="uv_creditspergold_copper" value="' . $uv_c . '" maxlength="2" size="6"/>
                <img src="../img/copper.gif" alt="gold" />
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <b>' . lang("admin", "tool_name") . '</b>
              </td>
            </tr>
            <tr>
              <td class="help">
                <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "name_credits_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "name_credits") . '</a>:
              </td>
              <td>
                <input type="text" name="namecredits" value="' . $name_credits["Value"] . '"/>
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <b>' . lang("admin", "tool_race") . '</b>
              </td>
            </tr>
            <tr>
              <td class="help">
                <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "race_credits_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "race_credits") . '</a>:
              </td>
              <td>
                <input type="text" name="racecredits" value="' . $race_credits["Value"] . '"/>
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <b>' . lang("admin", "tool_trans") . '</b>
              </td>
            </tr>
            <tr>
              <td class="help">
                <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "trans_credits_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "trans_credits") . '</a>:
              </td>
              <td>
                <input type="text" name="transcredits" value="' . $trans_credits["Value"] . '"/>
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <b>' . lang("admin", "tool_hearth") . '</b>
              </td>
            </tr>
            <tr>
              <td class="help">
                <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "hearth_credits_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "hearth_credits") . '</a>:
              </td>
              <td>
                <input type="text" name="hearthcredits" value="' . $hearth_credits["Value"] . '"/>
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <b>' . lang("admin", "achievement_points") . '</b>
              </td>
            </tr>
            <tr>
              <td class="help">
                <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "creds_per_achieve_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "creds_per_achieve") . '</a>:
              </td>
              <td>
                <input type="text" name="achievement_point_points" value="' . $achievement_point_points["Value"] . '" size="6"/>
                <span>' . lang("admin", "points") . '&nbsp;=&nbsp;</span>
                <input type="text" name="achievement_point_credits" value="' . $achievement_point_credits["Value"] . '" size="6"/>
                <span>' . lang("admin", "credits") . '</span>
              </td>
            </tr>
          </table>
          <div>
            <input type="submit" name="save" value="' . lang("admin", "save") . '" />
          </div>
        </form>';
            } else {
                $allow_fractional = isset($_GET["allowfractional"]) ? 1 : 0;
                $credits_per_recruit = $sqlm->quote_smart($_GET["creditsperrecruit"]);
                $recruit_reward_auto = isset($_GET["recruitrewardauto"]) ? 1 : 0;
                $initial_credits = $sqlm->quote_smart($_GET["initialcredits"]);
                $qiv_credits = $sqlm->quote_smart($_GET["qiv_creditspergold_credits"]);
                $qiv_gold = $sqlm->quote_smart($_GET["qiv_creditspergold_gold"]);
                $qiv_silver = $sqlm->quote_smart($_GET["qiv_creditspergold_silver"]);
                $qiv_copper = $sqlm->quote_smart($_GET["qiv_creditspergold_copper"]);
                $uv_credits = $sqlm->quote_smart($_GET["uv_creditspergold_credits"]);
                $uv_gold = $sqlm->quote_smart($_GET["uv_creditspergold_gold"]);
                $uv_silver = $sqlm->quote_smart($_GET["uv_creditspergold_silver"]);
                $uv_copper = $sqlm->quote_smart($_GET["uv_creditspergold_copper"]);
                // pad
                $qiv_silver = str_pad($qiv_silver, 2, "0", STR_PAD_LEFT);
                $qiv_copper = str_pad($qiv_copper, 2, "0", STR_PAD_LEFT);
                $uv_silver = str_pad($uv_silver, 2, "0", STR_PAD_LEFT);
                $uv_copper = str_pad($uv_copper, 2, "0", STR_PAD_LEFT);
                // combine
                $qiv_money = $qiv_gold . $qiv_silver . $qiv_copper;
                $uv_money = $uv_gold . $uv_silver . $uv_copper;
                $name_credits = $sqlm->quote_smart($_GET["namecredits"]);
                $race_credits = $sqlm->quote_smart($_GET["racecredits"]);
                $trans_credits = $sqlm->quote_smart($_GET["transcredits"]);
                $hearth_credits = $sqlm->quote_smart($_GET["hearthcredits"]);
                $achievement_point_points = $sqlm->quote_smart($_GET["achievement_point_points"]);
                $achievement_point_credits = $sqlm->quote_smart($_GET["achievement_point_credits"]);
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $allow_fractional . "' WHERE `Key`='Credits_Fractional'");
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $credits_per_recruit . "' WHERE `Key`='Credits_Per_Recruit'");
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $recruit_reward_auto . "' WHERE `Key`='Recruit_Reward_Auto'");
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $initial_credits . "' WHERE `Key`='New_Account_Credits'");
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $qiv_credits . "' WHERE `Key`='QIV_Credits'");
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $qiv_money . "' WHERE `Key`='QIV_Gold'");
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $uv_credits . "' WHERE `Key`='UV_Credits'");
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $uv_money . "' WHERE `Key`='UV_Gold'");
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $name_credits . "' WHERE `Key`='Name_Change_Credits'");
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $race_credits . "' WHERE `Key`='Race_Change_Credits'");
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $trans_credits . "' WHERE `Key`='Transfer_Credits'");
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $hearth_credits . "' WHERE `Key`='Hearthstone_Credits'");
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $achievement_point_points . "' WHERE `Key`='Achievement_Point_Points'");
                $result = $sqlm->query("UPDATE config_misc SET Value='" . $achievement_point_credits . "' WHERE `Key`='Achievement_Point_Credits'");
                redirect("admin.php?section=pointsystem&subsection=basic");
            }
            break;
        case "coupons":
            $query = "SELECT * FROM point_system_coupons";
            $result = $sqlm->query($query);
            $coupon_action = 0;
            if (isset($_GET["editcoupon"])) {
                $coupon_action = "edit";
            }
            if (isset($_GET["delcoupon"])) {
                $coupon_action = "del";
            }
            if (isset($_GET["addcoupon"])) {
                $coupon_action = "add";
            }
            $sub_action = isset($_GET["subaction"]) ? $_GET["subaction"] : '';
            $sqll = new SQL();
            $sqll->connect($logon_db["addr"], $logon_db["user"], $logon_db["pass"], $logon_db["name"], $logon_db["encoding"]);
            if (!$coupon_action) {
                $output .= '
        <form action="admin.php" method="get" id="form">
          <div>
            <input type="hidden" name="section" value="pointsystem" />
            <input type="hidden" name="subsection" value="coupons" />
          </div>
          <table class="simple" id="admin_point_coupon_list">
            <tr>
              <th style="width: 1%;"></th>
              <th style="width: 1%;"></th>
              <th style="width: 3%;">' . lang("admin", "coupon_id") . '</th>
              <th style="width: 15%;">' . lang("admin", "coupon_title") . '</th>
              <th style="width: 15%;">' . lang("admin", "coupon_target") . '</th>
              <th style="width: 15%;">' . lang("admin", "coupon_issued") . '</th>
              <!-- th width="15%">' . lang("admin", "coupon_expiration") . '</th -->
              <th style="width: 10%;">' . lang("admin", "coupon_credits") . '</th>
              <th style="width: 5%;">' . lang("admin", "coupon_money") . '</th>
              <th style="width: 5%;">' . lang("admin", "coupon_item") . '</th>
              <th style="width: 5%;">' . lang("admin", "coupon_count") . '</th>
              <th style="width: 5%;">' . lang("admin", "coupon_raffle") . '</th>
              <th style="width: 5%;">' . lang("admin", "coupon_usage") . '</th>
              <th style="width: 5%;">' . lang("admin", "enabled") . '</th>
            </tr>';
                $color = "#EEEEEE";
                while ($coupon = $sqlm->fetch_assoc($result)) {
                    // determine target
                    if ($coupon["target"] != 0) {
                        if ($core == 1) {
                            $target_query = "SELECT login FROM accounts WHERE acct='" . $coupon["target"] . "'";
                        } else {
                            $target_query = "SELECT username AS login FROM account WHERE id='" . $coupon["target"] . "'";
                        }
                        $target_result = $sqll->query($target_query);
                        $target_result = $sqll->fetch_assoc($target_result);
                        $target = $target_result["login"];
                    } else {
                        $target = lang("admin", "coupon_public");
                    }
                    // determine usage
                    $usage_query = "SELECT COUNT(*) FROM point_system_coupon_usage WHERE coupon='" . $coupon["entry"] . "'";
                    $usage_result = $sqlm->query($usage_query);
                    $usage_result = $sqlm->fetch_assoc($usage_result);
                    $times_used = $usage_result["COUNT(*)"];
                    if ($coupon["usage_limit"] > -1) {
                        $usage = $times_used . "/" . $coupon["usage_limit"];
                    } else {
                        $usage = $times_used;
                    }
                    $output .= '
            <tr>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>
                  <a href="admin.php?section=pointsystem&amp;subsection=coupons&amp;sel_coupon=' . $coupon["entry"] . '&amp;editcoupon=editcoupon" onmouseover="oldtoolTip(\'' . lang("admin", "edit") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">
                    <img src="img/edit.png" alt="" />
                  </a>
                </span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>
                  <a href="admin.php?section=pointsystem&amp;subsection=coupons&amp;sel_coupon=' . $coupon["entry"] . '&amp;delcoupon=deletecoupon" onmouseover="oldtoolTip(\'' . lang("admin", "remove") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">
                    <img src="img/aff_cross.png" alt="" />
                  </a>
                </span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $coupon["entry"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $coupon["title"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $target . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $coupon["date_issued"] . '</span>
              </td>
              <!-- td style="background-color:' . $color . '">
                <span>' . $coupon["expiration"] . '</span>
              </td -->
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $coupon["credits"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $coupon["money"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $coupon["item_id"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $coupon["item_count"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $coupon["raffle_id"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $usage . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span><img src="img/' . ($coupon["enabled"] ? 'up' : 'down') . '.gif" alt="" /></span>
              </td>
            </tr>';
                    $color = $color == "#EEEEEE" ? "#FFFFFF" : "#EEEEEE";
                }
                $output .= '
              <tr>
                <td style="background-color:' . $color . '">
                  <a href="admin.php?section=pointsystem&amp;subsection=coupons&amp;addcoupon=addcoupon">
                    <img src="img/add.png" alt="" />
                  </a>
                </td>
                <td style="background-color:' . $color . '" colspan="13">
                  <a href="admin.php?section=pointsystem&amp;subsection=coupons&amp;addcoupon=addcoupon">' . lang("admin", "addcoupon") . '</a>
                </td>
              </tr>
          </table>
        </form>';
            } else {
                if ($coupon_action == "edit") {
                    $coupon_id = $sqlm->quote_smart($_GET["sel_coupon"]);
                    if (is_numeric($coupon_id)) {
                        if (!$sub_action) {
                            $coupon = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM point_system_coupons WHERE `entry`='" . $coupon_id . "'"));
                            // if money is negative, we make a note of that and make it positive
                            $neg_money = false;
                            if ($coupon["money"] < 0) {
                                $neg_money = true;
                                $coupon["money"] = $coupon["money"] * -1;
                            }
                            // extract gold/silver/copper from single gold number
                            $coupon["money"] = str_pad($coupon["money"], 4, "0", STR_PAD_LEFT);
                            $coupon_g = substr($coupon["money"], 0, -4);
                            if ($coupon_g == '') {
                                $coupon_g = 0;
                            }
                            $coupon_s = substr($coupon["money"], -4, 2);
                            if ($coupon_s == '' || $coupon_s == '00') {
                                $coupon_s = 0;
                            }
                            $coupon_c = substr($coupon["money"], -2);
                            if ($coupon_c == '' || $coupon_c == '00') {
                                $coupon_c = 0;
                            }
                            if ($core == 1) {
                                $accounts_query = "SELECT *\n                          FROM accounts\n                            LEFT JOIN `" . $corem_db["name"] . "`.config_accounts ON accounts.login=`" . $corem_db["name"] . "`.config_accounts.Login COLLATE utf8_general_ci";
                            } else {
                                $accounts_query = "SELECT *, id AS acct, username AS login\n                          FROM account\n                            LEFT JOIN `" . $corem_db["name"] . "`.config_accounts ON account.username=`" . $corem_db["name"] . "`.config_accounts.Login";
                            }
                            $accounts_result = $sqll->query($accounts_query);
                            $output .= '
              <div>
                <form action="admin.php" method="get" id="form">
                  <fieldset id="admin_edit_coupon">
                    <div>
                      <input type="hidden" name="section" value="pointsystem" />
                      <input type="hidden" name="subsection" value="coupons" />
                      <input type="hidden" name="editcoupon" value="editcoupon" />
                      <input type="hidden" name="subaction" value="savecoupon" />
                      <input type="hidden" name="sel_coupon" value="' . $coupon["entry"] . '" />
                      <input type="hidden" name="oldcreation" value="' . $coupon["date_issued"] . '" />
                    </div>
                    <table>
                      <tr>
                        <td>' . lang("admin", "coupon_id") . ': </td>
                        <td>' . $coupon["entry"] . '</td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "coupon_target") . ': </td>
                        <td>
                          <select name="coupon_target">
                            <option value="0">' . lang("admin", "coupon_public") . '</option>
                            <option value="-1" disabled="disabled">-</option>';
                            while ($row = $sqll->fetch_assoc($accounts_result)) {
                                $output .= '
                            <option value="' . $row["acct"] . '" ' . ($row["acct"] == $coupon["target"] ? 'selected="selected"' : '') . '>' . $row["ScreenName"] . ' (' . $row["login"] . ')</option>';
                            }
                            $output .= '
                          </select>
                        </td>
                      </tr>
                      <tr>
                        <td class="help"><a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "coupon_issued_tip") . '\',\'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "coupon_issued") . '</a>: </td>
                        <td>' . $coupon["date_issued"] . '</td>
                      </tr>
                      <tr>
                        <td class="help"><a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "coupon_usage_limit_tip") . '\',\'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "coupon_usage_limit") . '</a>: </td>
                        <td>
                          <input type="text" name="coupon_usage_limit" value="' . $coupon["usage_limit"] . '" class="admin_edit_coupon_fields" />
                        </td>
                      </tr>
                      <!-- tr>
                        <td width="45%" class="help">
                          <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "coupon_expiration_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "coupon_expiration") . '</a>:
                        </td>
                        <td>
                          <input type="text" name="coupon_expiration" value="' . $coupon["expiration"] . '" />
                        </td>
                      </tr -->
                      <tr>
                        <td colspan="2">
                          <hr />
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <b>' . lang("admin", "coupon_prize") . '</b>
                        </td>
                      </tr>
                      <tr>
                        <td class="help"><a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "coupon_credits_tip") . '\',\'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "coupon_credits") . '</a>: </td>
                        <td>
                          <input type="text" name="coupon_credits" value="' . $coupon["credits"] . '" class="admin_edit_coupon_fields" />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "coupon_money") . ': </td>
                        <td>
                          <input type="text" name="coupon_money_gold" value="' . $coupon_g . '" maxlength="6" size="6" />
                          <img src="../img/gold.gif" alt="gold" />
                          <input type="text" name="coupon_money_silver" value="' . $coupon_s . '" maxlength="2" size="3" />
                          <img src="../img/silver.gif" alt="gold" />
                          <input type="text" name="coupon_money_copper" value="' . $coupon_c . '" maxlength="2" size="3" />
                          <img src="../img/copper.gif" alt="gold" />
                        </td>
                      </tr>
                      <tr>
                        <td class="help"><a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "coupon_cost_money_tip") . '\',\'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "coupon_cost_money") . '</a>:</td>
                        <td>
                          <input type="checkbox" name="coupon_neg_money" value="-1" size="12"' . ($neg_money ? ' checked="checked"' : '') . ' />
                        </td>
                      </tr>
                      <tr>
                        <td class="help"><a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "coupon_item_tip") . '\',\'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "coupon_item") . '</a>:</td>
                        <td>
                          <input type="text" name="coupon_item" value="' . $coupon["item_id"] . '" class="admin_edit_coupon_fields" />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "coupon_count") . ':</td>
                        <td>
                          <input type="text" name="coupon_count" value="' . $coupon["item_count"] . '" class="admin_edit_coupon_fields" />
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <hr />
                        </td>
                      </tr>
                      <tr>
                        <td class="help"><a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "coupon_raffle_tip") . '\',\'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "coupon_raffle") . '</a>:</td>
                        <td>
                          <input type="text" name="coupon_raffle_id" value="' . $coupon["raffle_id"] . '" class="admin_edit_coupon_fields" />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "coupon_redemption_option") . ': </td>
                        <td>
                          <input type="radio" name="coupon_method" value="0" ' . ($coupon["redemption_option"] == 0 ? 'checked="checked"' : '') . ' />' . lang("admin", "coupon_redemption_option_both") . '<br />
                          <input type="radio" name="coupon_method" value="1" ' . ($coupon["redemption_option"] == 1 ? 'checked="checked"' : '') . '/>' . lang("admin", "coupon_redemption_option_single") . '
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <hr />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "coupon_title") . ':</td>
                        <td>
                          <input type="text" name="coupon_title" value="' . $coupon["title"] . '" class="admin_edit_coupon_fields" />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "coupon_text") . ': </td>
                        <td>
                          <textarea name="coupon_text" rows="2" cols="32">' . $coupon["text"] . '</textarea>
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <hr />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "enabled") . ': </td>
                        <td>
                          <input type="checkbox" name="coupon_enabled" value="1" ' . ($coupon["enabled"] == 1 ? 'checked="checked"' : '') . ' />
                        </td>
                      </tr>
                    </table>
                  </fieldset>
                  <div>
                    <input type="submit" name="savecoupon" value="' . lang("admin", "save") . '" />
                  </div>
                </form>
              </div>';
                        } else {
                            // save coupon
                            $coupon = $sqlm->quote_smart($_GET["sel_coupon"]);
                            $coupon_target = $sqlm->quote_smart($_GET["coupon_target"]);
                            $coupon_usage_limit = $sqlm->quote_smart($_GET["coupon_usage_limit"]);
                            $coupon_old_creation = $sqlm->quote_smart($_GET["oldcreation"]);
                            //$coupon_expiration = $sqlm->quote_smart($_GET["coupon_expiration"]);
                            $coupon_credits = $sqlm->quote_smart($_GET["coupon_credits"]);
                            $coupon_money_gold = $sqlm->quote_smart($_GET["coupon_money_gold"]);
                            $coupon_money_silver = $sqlm->quote_smart($_GET["coupon_money_silver"]);
                            $coupon_money_copper = $sqlm->quote_smart($_GET["coupon_money_copper"]);
                            $coupon_neg_money = isset($_GET["coupon_neg_money"]) ? $sqlm->quote_smart($_GET["coupon_neg_money"]) : 1;
                            $coupon_item = $sqlm->quote_smart($_GET["coupon_item"]);
                            $coupon_count = $sqlm->quote_smart($_GET["coupon_count"]);
                            $coupon_raffle_id = $sqlm->quote_smart($_GET["coupon_raffle_id"]);
                            $coupon_method = $sqlm->quote_smart($_GET["coupon_method"]);
                            $coupon_title = $sqlm->quote_smart($_GET["coupon_title"]);
                            $coupon_text = $sqlm->quote_smart($_GET["coupon_text"]);
                            $coupon_enabled = isset($_GET["coupon_enabled"]) ? 1 : 0;
                            // pad
                            $coupon_money_silver = str_pad($coupon_money_silver, 2, "0", STR_PAD_LEFT);
                            $coupon_money_copper = str_pad($coupon_money_copper, 2, "0", STR_PAD_LEFT);
                            // combine
                            $coupon_money = $coupon_money_gold . $coupon_money_silver . $coupon_money_copper;
                            // if the Coupon costs money then it'll be saved negative
                            $coupon_money = $coupon_money * $coupon_neg_money;
                            if ($coupon_old_creation == "0000-00-00 00:00:00") {
                                $coupon_not_enabled = 1;
                            }
                            $query = "UPDATE point_system_coupons\n                          SET target='" . $coupon_target . "', " . ($coupon_enabled && $coupon_not_enabled ? "date_issued=NOW()," : "") . " usage_limit='" . $coupon_usage_limit . "',\n                          expiration=NOW(), credits='" . $coupon_credits . "', money='" . $coupon_money . "',\n                          item_id='" . $coupon_item . "', item_count='" . $coupon_count . "', raffle_id='" . $coupon_raffle_id . "',\n                          redemption_option='" . $coupon_method . "', title='" . $coupon_title . "', text='" . $coupon_text . "',\n                          enabled='" . $coupon_enabled . "'\n                        WHERE entry='" . $coupon . "'";
                            $sqlm->query($query);
                            redirect("admin.php?section=pointsystem&subsection=coupons&editcoupon=editcoupon&sel_coupon=" . $coupon);
                        }
                    } else {
                        redirect("admin.php?section=pointsystem&subsection=coupons&error=1");
                    }
                } elseif ($coupon_action == "del") {
                    $coupon_id = $sqlm->quote_smart($_GET["sel_coupon"]);
                    if (is_numeric($coupon_id)) {
                        $result = $sqlm->query("DELETE FROM point_system_coupons WHERE `entry`='" . $coupon_id . "'");
                        redirect("admin.php?section=pointsystem&subsection=coupons");
                    } else {
                        redirect("admin.php?section=pointsystem&subsection=coupons&error=1");
                    }
                } else {
                    $result = $sqlm->query("INSERT INTO point_system_coupons (target, credits, money, item_id, item_count, title, text, usage_limit, redemption_option, raffle_id, enabled) VALUES ('0', '0', '0', '0', '0', '', '', '1', '0', '0', '0')");
                    redirect("admin.php?section=pointsystem&subsection=coupons");
                }
            }
            break;
        case "raffles":
            $query = "SELECT * FROM point_system_raffles";
            $result = $sqlm->query($query);
            $raffle_action = 0;
            if (isset($_GET["editraffle"])) {
                $raffle_action = "edit";
            }
            if (isset($_GET["delraffle"])) {
                $raffle_action = "del";
            }
            if (isset($_GET["addraffle"])) {
                $raffle_action = "add";
            }
            $sub_action = isset($_GET["subaction"]) ? $_GET["subaction"] : '';
            $sqll = new SQL();
            $sqll->connect($logon_db["addr"], $logon_db["user"], $logon_db["pass"], $logon_db["name"], $logon_db["encoding"]);
            if (!$raffle_action) {
                $output .= '
        <form action="admin.php" method="get" id="form">
          <div>
            <input type="hidden" name="section" value="pointsystem" />
            <input type="hidden" name="subsection" value="raffle" />
          </div>
          <table class="simple" id="admin_point_coupon_list">
            <tr>
              <th style="width: 1%;"></th>
              <th style="width: 1%;"></th>
              <th style="width: 3%;">' . lang("admin", "raffle_id") . '</th>
              <th style="width: 15%;">' . lang("admin", "raffle_title") . '</th>
              <th style="width: 15%;">' . lang("admin", "raffle_drawing") . '</th>
              <th style="width: 10%;">' . lang("admin", "raffle_credits") . '</th>
              <th style="width: 5%;">' . lang("admin", "raffle_money") . '</th>
              <th style="width: 5%;">' . lang("admin", "raffle_item") . '</th>
              <th style="width: 5%;">' . lang("admin", "raffle_count") . '</th>
              <th style="width: 5%;">' . lang("admin", "raffle_usage") . '</th>
              <th style="width: 5%;">' . lang("admin", "enabled") . '</th>
              <th style="width: 5%;">' . lang("admin", "raffle_completed") . '</th>
            </tr>';
                $color = "#EEEEEE";
                while ($raffle = $sqlm->fetch_assoc($result)) {
                    // determine usage
                    $tickets_query = "SELECT COUNT(*) FROM point_system_raffle_tickets WHERE raffle='" . $raffle["entry"] . "'";
                    $tickets_result = $sqlm->query($tickets_query);
                    $tickets_result = $sqlm->fetch_assoc($tickets_result);
                    $tickets_sold = $tickets_result["COUNT(*)"];
                    $output .= '
            <tr>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>
                  <a href="admin.php?section=pointsystem&amp;subsection=raffles&amp;sel_raffle=' . $raffle["entry"] . '&amp;editraffle=editraffle" onmouseover="oldtoolTip(\'' . lang("admin", "edit") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">
                    <img src="img/edit.png" alt="" />
                  </a>
                </span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>
                  <a href="admin.php?section=pointsystem&amp;subsection=raffles&amp;sel_raffle=' . $raffle["entry"] . '&amp;delraffle=deleteraffle" onmouseover="oldtoolTip(\'' . lang("admin", "remove") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">
                    <img src="img/aff_cross.png" alt="" />
                  </a>
                </span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $raffle["entry"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $raffle["title"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $raffle["drawing"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $raffle["credits"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $raffle["money"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $raffle["item_id"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $raffle["item_count"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $tickets_sold . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span><img src="img/' . ($raffle["enabled"] ? 'up' : 'down') . '.gif" alt="" /></span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span><img src="img/' . ($raffle["completed"] ? 'aff_tick.png' : '') . '" alt="" /></span>
              </td>
            </tr>';
                    $color = $color == "#EEEEEE" ? "#FFFFFF" : "#EEEEEE";
                }
                $output .= '
              <tr>
                <td style="background-color:' . $color . '">
                  <a href="admin.php?section=pointsystem&amp;subsection=raffles&amp;addraffle=addraffle">
                    <img src="img/add.png" alt="" />
                  </a>
                </td>
                <td style="background-color:' . $color . '" colspan="13">
                  <a href="admin.php?section=pointsystem&amp;subsection=raffles&amp;addraffle=addraffle">' . lang("admin", "addraffle") . '</a>
                </td>
              </tr>
          </table>
        </form>';
            } else {
                if ($raffle_action == "edit") {
                    $raffle_id = $sqlm->quote_smart($_GET["sel_raffle"]);
                    if (is_numeric($raffle_id)) {
                        if (!$sub_action) {
                            $raffle = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM point_system_raffles WHERE `entry`='" . $raffle_id . "'"));
                            // prize: extract gold/silver/copper from single gold number
                            $raffle["money"] = str_pad($raffle["money"], 4, "0", STR_PAD_LEFT);
                            $raffle_g = substr($raffle["money"], 0, -4);
                            if ($raffle_g == '') {
                                $raffle_g = 0;
                            }
                            $raffle_s = substr($raffle["money"], -4, 2);
                            if ($raffle_s == '' || $raffle_s == '00') {
                                $raffle_s = 0;
                            }
                            $raffle_c = substr($raffle["money"], -2);
                            if ($raffle_c == '' || $raffle_c == '00') {
                                $raffle_c = 0;
                            }
                            // cost: extract gold/silver/copper from single gold number
                            $raffle["cost_money"] = str_pad($raffle["cost_money"], 4, "0", STR_PAD_LEFT);
                            $raffle_cost_g = substr($raffle["cost_money"], 0, -4);
                            if ($raffle_cost_g == '') {
                                $raffle_cost_g = 0;
                            }
                            $raffle_cost_s = substr($raffle["cost_money"], -4, 2);
                            if ($raffle_cost_s == '' || $raffle_cost_s == '00') {
                                $raffle_cost_s = 0;
                            }
                            $raffle_cost_c = substr($raffle["cost_money"], -2);
                            if ($raffle_cost_c == '' || $raffle_cost_c == '00') {
                                $raffle_cost_c = 0;
                            }
                            $drawing = strtotime($raffle["drawing"]);
                            $drawing_year = date("Y", $drawing);
                            $drawing_month = date("m", $drawing);
                            $drawing_day = date("d", $drawing);
                            $drawing_hour = date("H", $drawing);
                            $drawing_minute = date("i", $drawing);
                            if ($drawing_year == 1969) {
                                $drawing_year = date("Y");
                            }
                            $output .= '
              <div>
                <form action="admin.php" method="get" id="form">
                  <fieldset id="admin_edit_coupon">
                    <div>
                      <input type="hidden" name="section" value="pointsystem" />
                      <input type="hidden" name="subsection" value="raffles" />
                      <input type="hidden" name="editraffle" value="editraffle" />
                      <input type="hidden" name="subaction" value="saveraffle" />
                      <input type="hidden" name="sel_raffle" value="' . $raffle["entry"] . '" />
                    </div>
                    <table>
                      <tr>
                        <td>' . lang("admin", "raffle_id") . ': </td>
                        <td>' . $raffle["entry"] . '</td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <hr />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "raffle_drawing") . ': </td>
                        <td>' . $raffle["drawing"] . '</td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "raffle_drawing_year") . '-' . lang("admin", "raffle_drawing_month") . '-' . lang("admin", "raffle_drawing_day") . ': </td>
                        <td>
                          <input type="text" name="drawing_year" value="' . $drawing_year . '" maxlength="4" size="4" />&nbsp;-&nbsp;
                          <input type="text" name="drawing_month" value="' . $drawing_month . '" maxlength="2" size="2" />&nbsp;-&nbsp;
                          <input type="text" name="drawing_day" value="' . $drawing_day . '" maxlength="2" size="2" />
                        </td>
                      </tr>
                      <tr>
                        <td class="help"><a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "raffle_time_tip") . '\',\'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "raffle_drawing_hour") . '&nbsp;:&nbsp;' . lang("admin", "raffle_drawing_minute") . '</a>: </td>
                        <td>
                          <input type="text" name="drawing_hour" value="' . $drawing_hour . '" maxlength="4" size="4" />&nbsp;:&nbsp;
                          <input type="text" name="drawing_minute" value="' . $drawing_minute . '" maxlength="2" size="2" />
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <hr />
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <b>' . lang("admin", "raffle_prize") . '</b>
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "raffle_credits") . ': </td>
                        <td>
                          <input type="text" name="raffle_credits" value="' . $raffle["credits"] . '" size="6" />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "raffle_money") . ': </td>
                        <td>
                          <input type="text" name="raffle_money_gold" value="' . $raffle_g . '" maxlength="6" size="6"/>
                          <img src="../img/gold.gif" alt="gold" />
                          <input type="text" name="raffle_money_silver" value="' . $raffle_s . '" maxlength="2" size="6"/>
                          <img src="../img/silver.gif" alt="gold" />
                          <input type="text" name="raffle_money_copper" value="' . $raffle_c . '" maxlength="2" size="6"/>
                          <img src="../img/copper.gif" alt="gold" />
                        </td>
                      </tr>
                      <tr>
                        <td class="help"><a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "coupon_item_tip") . '\',\'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "raffle_item") . ':</a></td>
                        <td>
                          <input type="text" name="raffle_item" value="' . $raffle["item_id"] . '" size="6" />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "raffle_count") . ':</td>
                        <td>
                          <input type="text" name="raffle_count" value="' . $raffle["item_count"] . '" size="6" />
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <hr />
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2" class="help">
                          <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "raffle_cost_tip") . '\',\'info_tooltip\')" onmouseout="oldtoolTip()"><b>' . lang("admin", "raffle_cost") . '</b></a>
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "raffle_credits") . ': </td>
                        <td>
                          <input type="text" name="raffle_cost_credits" value="' . $raffle["cost_credits"] . '" size="6" />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "raffle_money") . ': </td>
                        <td>
                          <input type="text" name="raffle_cost_gold" value="' . $raffle_cost_g . '" maxlength="6" size="6"/>
                          <img src="../img/gold.gif" alt="gold" />
                          <input type="text" name="raffle_cost_silver" value="' . $raffle_cost_s . '" maxlength="2" size="6"/>
                          <img src="../img/silver.gif" alt="gold" />
                          <input type="text" name="raffle_cost_copper" value="' . $raffle_cost_c . '" maxlength="2" size="6"/>
                          <img src="../img/copper.gif" alt="gold" />
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <hr />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "raffle_title") . ':</td>
                        <td>
                          <input type="text" name="raffle_title" value="' . $raffle["title"] . '" class="admin_edit_coupon_fields" />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "raffle_text") . ': </td>
                        <td>
                          <textarea name="raffle_text" rows="2" cols="32">' . $raffle["text"] . '</textarea>
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <hr />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "raffle_ticket_limit") . ':</td>
                        <td>
                          <input type="text" name="raffle_ticket_limit" value="' . $raffle["ticket_limit"] . '" size="6" />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "raffle_per_user") . ': </td>
                        <td>
                          <input type="text" name="raffle_per_user" value="' . $raffle["tickets_per_user"] . '" size="6" />
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <hr />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "raffle_announce_acct") . ':</td>
                        <td>
                          <input type="text" name="raffle_announce_acct" value="' . $raffle["announce_acct"] . '" size="6" />
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <hr />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "enabled") . ': </td>
                        <td>
                          <input type="checkbox" name="raffle_enabled" value="1" ' . ($raffle["enabled"] == 1 ? 'checked="checked"' : '') . ' />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "raffle_completed") . ': </td>
                        <td><img src="img/' . ($raffle["completed"] ? 'aff_tick.png' : 'aff_cross.png') . '" alt="" /></td>
                      </tr>
                    </table>
                  </fieldset>
                  <div>
                    <input type="submit" name="saveraffle" value="' . lang("admin", "save") . '" />
                  </div>
                </form>
              </div>';
                        } else {
                            // save raffle
                            $raffle = $sqlm->quote_smart($_GET["sel_raffle"]);
                            $raffle_credits = $sqlm->quote_smart($_GET["raffle_credits"]);
                            $raffle_money_gold = $sqlm->quote_smart($_GET["raffle_money_gold"]);
                            $raffle_money_silver = $sqlm->quote_smart($_GET["raffle_money_silver"]);
                            $raffle_money_copper = $sqlm->quote_smart($_GET["raffle_money_copper"]);
                            $raffle_item = $sqlm->quote_smart($_GET["raffle_item"]);
                            $raffle_count = $sqlm->quote_smart($_GET["raffle_count"]);
                            $raffle_cost_credits = $sqlm->quote_smart($_GET["raffle_cost_credits"]);
                            $raffle_cost_gold = $sqlm->quote_smart($_GET["raffle_cost_gold"]);
                            $raffle_cost_silver = $sqlm->quote_smart($_GET["raffle_cost_silver"]);
                            $raffle_cost_copper = $sqlm->quote_smart($_GET["raffle_cost_copper"]);
                            $raffle_title = $sqlm->quote_smart($_GET["raffle_title"]);
                            $raffle_text = $sqlm->quote_smart($_GET["raffle_text"]);
                            $raffle_ticket_limit = $sqlm->quote_smart($_GET["raffle_ticket_limit"]);
                            $raffle_per_user = $sqlm->quote_smart($_GET["raffle_per_user"]);
                            $raffle_announce_acct = $sqlm->quote_smart($_GET["raffle_announce_acct"]);
                            $raffle_enabled = isset($_GET["raffle_enabled"]) ? 1 : 0;
                            // drawing
                            $year = $sqlm->quote_smart($_GET["drawing_year"]);
                            $month = $sqlm->quote_smart($_GET["drawing_month"]);
                            $day = $sqlm->quote_smart($_GET["drawing_day"]);
                            $hour = $sqlm->quote_smart($_GET["drawing_hour"]);
                            $minute = $sqlm->quote_smart($_GET["drawing_minute"]);
                            $drawing = $year . "-" . $month . "-" . $day . " " . $hour . ":" . $minute . ":00";
                            // prize
                            // pad
                            $raffle_money_silver = str_pad($raffle_money_silver, 2, "0", STR_PAD_LEFT);
                            $raffle_money_copper = str_pad($raffle_money_copper, 2, "0", STR_PAD_LEFT);
                            // combine
                            $raffle_money = $raffle_money_gold . $raffle_money_silver . $raffle_money_copper;
                            // cost
                            // pad
                            $raffle_cost_silver = str_pad($raffle_cost_silver, 2, "0", STR_PAD_LEFT);
                            $raffle_cost_copper = str_pad($raffle_cost_copper, 2, "0", STR_PAD_LEFT);
                            // combine
                            $raffle_cost = $raffle_cost_gold . $raffle_cost_silver . $raffle_cost_copper;
                            $query = "UPDATE point_system_raffles\n                          SET drawing='" . $drawing . "', credits='" . $raffle_credits . "', money='" . $raffle_money . "',\n                          item_id='" . $raffle_item . "', item_count='" . $raffle_count . "',\n                          title='" . $raffle_title . "', text='" . $raffle_text . "',\n                          cost_credits='" . $raffle_cost_credits . "', cost_money='" . $raffle_cost . "',\n                          ticket_limit='" . $raffle_ticket_limit . "', tickets_per_user='******',\n                          announce_acct='" . $raffle_announce_acct . "', enabled='" . $raffle_enabled . "'\n                        WHERE entry='" . $raffle . "'";
                            $sqlm->query($query);
                            redirect("admin.php?section=pointsystem&subsection=raffles&editraffle=editraffle&sel_raffle=" . $raffle);
                        }
                    } else {
                        redirect("admin.php?section=pointsystem&subsection=raffles&error=1");
                    }
                } elseif ($raffle_action == "del") {
                    $raffle_id = $sqlm->quote_smart($_GET["sel_raffle"]);
                    if (is_numeric($raffle_id)) {
                        $result = $sqlm->query("DELETE FROM point_system_raffles WHERE `entry`='" . $raffle_id . "'");
                        redirect("admin.php?section=pointsystem&subsection=raffles");
                    } else {
                        redirect("admin.php?section=pointsystem&subsection=raffles&error=1");
                    }
                } else {
                    $result = $sqlm->query("INSERT INTO point_system_raffles (credits, money, item_id, item_count, title, text, cost_credits, cost_money, tickets_per_user, ticket_limit, announce_acct, winner, enabled, completed) VALUES ('0', '0', '0', '0', '', '', '0', '0', '1', '1', '1', '0', '0', '0')");
                    redirect("admin.php?section=pointsystem&subsection=raffles");
                }
            }
            break;
        case "bags":
            $query = "SELECT * FROM point_system_prize_bags";
            $result = $sqlm->query($query);
            $bag_action = 0;
            if (isset($_GET["editbag"])) {
                $bag_action = "edit";
            }
            if (isset($_GET["delbag"])) {
                $bag_action = "del";
            }
            if (isset($_GET["addbag"])) {
                $bag_action = "add";
            }
            $sub_action = isset($_GET["subaction"]) ? $_GET["subaction"] : '';
            $sqll = new SQL();
            $sqll->connect($logon_db["addr"], $logon_db["user"], $logon_db["pass"], $logon_db["name"], $logon_db["encoding"]);
            if (!$bag_action) {
                $output .= '
        <form action="admin.php" method="get" id="form">
          <div>
            <input type="hidden" name="section" value="pointsystem" />
            <input type="hidden" name="subsection" value="raffle" />
          </div>
          <table class="simple" id="admin_point_bag_list">
            <tr>
              <th style="width: 1%;"></th>
              <th style="width: 1%;"></th>
              <th style="width: 4%;">' . lang("admin", "bag_id") . '</th>
              <th style="width: 37%;">' . lang("admin", "bag_slots") . '</th>
              <th style="width: 37%;">' . lang("admin", "bag_owner") . '</th>
              <th style="width: 20%;">' . lang("admin", "bag_template") . '</th>
            </tr>';
                $color = "#EEEEEE";
                while ($bag = $sqlm->fetch_assoc($result)) {
                    if ($core == 1) {
                        $owner_query = "SELECT login FROM accounts WHERE acct='" . $bag["owner"] . "'";
                    } else {
                        $owner_query = "SELECT username AS login FROM account WHERE id='" . $bag["owner"] . "'";
                    }
                    $owner_result = $sqll->query($owner_query);
                    if ($sqll->num_rows($owner_result) > 0) {
                        $owner_result = $sqll->fetch_assoc($owner_result);
                        $owner = $owner_result["login"];
                    } else {
                        $owner = '<b>' . lang("admin", "bag_no_owner") . '</b>';
                    }
                    $output .= '
            <tr>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>
                  <a href="admin.php?section=pointsystem&amp;subsection=bags&amp;sel_bag=' . $bag["entry"] . '&amp;editbag=editbag" onmouseover="oldtoolTip(\'' . lang("admin", "edit") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">
                    <img src="img/edit.png" alt="" />
                  </a>
                </span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>
                  <a href="admin.php?section=pointsystem&amp;subsection=bags&amp;sel_bag=' . $bag["entry"] . '&amp;delbag=deletebag" onmouseover="oldtoolTip(\'' . lang("admin", "remove") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">
                    <img src="img/aff_cross.png" alt="" />
                  </a>
                </span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $bag["entry"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $bag["slots"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $owner . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">';
                    if ($bag["is_template"]) {
                        $output .= '
                <span>
                  <img src="img/star.png" alt="" />
                </span>';
                    } else {
                        $output .= '
                &nbsp;';
                    }
                    $output .= '
              </td>
            </tr>';
                    $color = $color == "#EEEEEE" ? "#FFFFFF" : "#EEEEEE";
                }
                $output .= '
              <tr>
                <td style="background-color:' . $color . '">
                  <a href="admin.php?section=pointsystem&amp;subsection=bags&amp;addbag=addbag">
                    <img src="img/add.png" alt="" />
                  </a>
                </td>
                <td style="background-color:' . $color . '" colspan="13">
                  <a href="admin.php?section=pointsystem&amp;subsection=bags&amp;addbag=addbag">' . lang("admin", "addbag") . '</a>
                </td>
              </tr>
          </table>
        </form>';
            } else {
                if ($bag_action == "edit") {
                    $bag_id = $sqlm->quote_smart($_GET["sel_bag"]);
                    if (is_numeric($bag_id)) {
                        if (!$sub_action) {
                            $bag = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM point_system_prize_bags WHERE `entry`='" . $bag_id . "'"));
                            if ($core == 1) {
                                $owner_query = "SELECT login FROM accounts WHERE acct='" . $bag["owner"] . "'";
                            } else {
                                $owner_query = "SELECT username AS login FROM account WHERE id='" . $bag["owner"] . "'";
                            }
                            $owner_result = $sqll->query($owner_query);
                            if ($sqll->num_rows($owner_result) > 0) {
                                $owner_result = $sqll->fetch_assoc($owner_result);
                                $owner = $owner_result["login"];
                            } else {
                                $owner = '<b>' . lang("admin", "bag_no_owner") . '</b>';
                            }
                            $output .= '
              <div>
                <form action="admin.php" method="get" id="form">
                  <fieldset>
                    <div>
                      <input type="hidden" name="section" value="pointsystem" />
                      <input type="hidden" name="subsection" value="bags" />
                      <input type="hidden" name="editbag" value="editbag" />
                      <input type="hidden" name="subaction" value="savebag" />
                      <input type="hidden" name="sel_bag" value="' . $bag["entry"] . '" />
                    </div>
                    <table id="admin_edit_coupon">
                      <tr>
                        <td>' . lang("admin", "bag_id") . ': </td>
                        <td>' . $bag["entry"] . '</td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "bag_owner") . ': </td>
                        <td>' . $owner . '</td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "bag_template") . ': </td>
                        <td>
                          <input type="checkbox" name="is_template" value="1"' . ($bag["is_template"] ? ' checked="checked"' : '') . ' />
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <hr />
                        </td>
                      </tr>
                      <tr>
                        <td>' . lang("admin", "bag_slots") . ': </td>
                        <td>
                          <select name="slots">
                            <option value="4" ' . ($bag["slots"] == 4 ? 'selected="selected"' : '') . '>4</option>
                            <option value="6" ' . ($bag["slots"] == 6 ? 'selected="selected"' : '') . '>6</option>
                            <option value="8" ' . ($bag["slots"] == 8 ? 'selected="selected"' : '') . '>8</option>
                            <option value="10" ' . ($bag["slots"] == 10 ? 'selected="selected"' : '') . '>10</option>
                            <option value="12" ' . ($bag["slots"] == 12 ? 'selected="selected"' : '') . '>12</option>
                            <option value="14" ' . ($bag["slots"] == 14 ? 'selected="selected"' : '') . '>14</option>
                            <option value="16" ' . ($bag["slots"] == 16 ? 'selected="selected"' : '') . '>16</option>
                            <option value="18" ' . ($bag["slots"] == 18 ? 'selected="selected"' : '') . '>18</option>
                            <option value="20" ' . ($bag["slots"] == 20 ? 'selected="selected"' : '') . '>20</option>
                            <option value="22" ' . ($bag["slots"] == 22 ? 'selected="selected"' : '') . '>22</option>
                            <option value="24" ' . ($bag["slots"] == 24 ? 'selected="selected"' : '') . '>24</option>
                            <option value="26" ' . ($bag["slots"] == 26 ? 'selected="selected"' : '') . '>26</option>
                            <option value="28" ' . ($bag["slots"] == 28 ? 'selected="selected"' : '') . '>28</option>
                            <option value="30" ' . ($bag["slots"] == 30 ? 'selected="selected"' : '') . '>30</option>
                            <option value="32" ' . ($bag["slots"] == 32 ? 'selected="selected"' : '') . '>32</option>
                            <option value="34" ' . ($bag["slots"] == 34 ? 'selected="selected"' : '') . '>34</option>
                            <option value="36" ' . ($bag["slots"] == 36 ? 'selected="selected"' : '') . '>36</option>
                          </select>
                        </td>
                      </tr>
                      <tr>
                        <td colspan="2">
                          <hr />
                        </td>
                      </tr>
                      <tr>
                        <td valign="top" align="center">
                          <span>' . lang("admin", "bag_simulation") . '</span>
                          <div class="bag" style="width:' . 4 * 43 . 'px;height:' . ceil($bag["slots"] / 4) * 41 . 'px;">';
                            $dsp = $bag["slots"] % 4;
                            if ($dsp) {
                                $output .= '
                            <div class="no_slot"></div>';
                            }
                            // get bag items
                            $items_query = "SELECT item_id, slot, item_count FROM point_system_prize_bag_items WHERE `bag`='" . $bag_id . "'";
                            $items_result = $sqlm->query($items_query);
                            // create a empty bag array and fill it with nothing
                            $items = array();
                            for ($i = 0; $i < $bag["slots"]; $i++) {
                                $items[] = array("item_id" => 0, "slot" => 0, "item_count" => 0);
                            }
                            while ($item = $sqlm->fetch_assoc($items_result)) {
                                $item["item_count"] = $item["item_count"] == 1 ? "" : $item["item_count"];
                                // this_is_junk: style left hardcoded because it's calculated.
                                $output .= '
                            <div class="bag_slot" style="left:' . ($item["slot"] + $dsp) % 4 * 44 . 'px;top:' . (floor(($item["slot"] + $dsp) / 4) * 41 + 3) . 'px;">
                              <img src="' . get_item_icon($item["item_id"]) . '" alt="" class="item_img" />';
                                $output .= '
                              <div class="points_bag_quantity_shadow">' . $item["item_count"] . '</div>
                              <div class="points_bag_quantity">' . $item["item_count"] . '</div>';
                                $output .= '
                            </div>';
                                $item["item_count"] = $item["item_count"] == "" ? 1 : $item["item_count"];
                                $items[$item["slot"]] = $item;
                            }
                            $output .= '
                          </div>
                        </td>
                        <td>
                          <table>
                            <tr>
                              <td>' . lang("admin", "bag_slot") . '</td>
                              <td align="center">' . lang("admin", "bag_item") . '</td>
                              <td align="center">' . lang("admin", "bag_item_count") . '</td>
                            </tr>';
                            for ($i = 0; $i < $bag["slots"]; $i++) {
                                $output .= '
                            <tr>
                              <td>' . ($i + 1) . ': </td>
                              <td>
                                <input type="text" name="slot_' . $i . '" value="' . $items[$i]["item_id"] . '" size="7" />
                              </td>
                              <td>
                                <input type="text" name="slot_count_' . $i . '" value="' . $items[$i]["item_count"] . '" size="7" />
                              </td>
                            </tr>';
                            }
                            $output .= '
                          </table>
                        </td>
                      </tr>
                    </table>
                  </fieldset>
                  <div>
                    <input type="submit" name="savebag" value="' . lang("admin", "save") . '" />
                  </div>
                </form>
              </div>';
                        } else {
                            // save prize bag & items
                            $bag_id = $_GET["sel_bag"];
                            $slots = $_GET["slots"];
                            $is_template = isset($_GET["is_template"]) ? 1 : 0;
                            $items = array();
                            $item_counts = array();
                            for ($i = 0; $i < $slots; $i++) {
                                if ($_GET["slot_" . $i] != 0) {
                                    $items[] = $_GET["slot_" . $i];
                                    $item_counts[] = $_GET["slot_count_" . $i];
                                }
                            }
                            // update bag
                            $query = "UPDATE point_system_prize_bags SET slots='" . $slots . "', is_template='" . $is_template . "' WHERE entry='" . $bag_id . "'";
                            $sqlm->query($query);
                            // delete existing items
                            $query = "DELETE FROM point_system_prize_bag_items WHERE bag='" . $bag_id . "'";
                            $sqlm->query($query);
                            for ($i = 0; $i < count($items); $i++) {
                                $query = "INSERT INTO point_system_prize_bag_items (bag, slot, item_id, item_count) VALUES ('" . $bag_id . "', '" . $i . "', '" . $items[$i] . "', '" . $item_counts[$i] . "')";
                                $sqlm->query($query);
                            }
                            redirect("admin.php?section=pointsystem&subsection=bags&editbag=editbag&sel_bag=" . $bag_id);
                        }
                    } else {
                        redirect("admin.php?section=pointsystem&subsection=bags&error=1");
                    }
                } elseif ($bag_action == "del") {
                    $bag_id = $sqlm->quote_smart($_GET["sel_bag"]);
                    if (is_numeric($bag_id)) {
                        $result = $sqlm->query("DELETE FROM point_system_prize_bags WHERE `entry`='" . $bag_id . "'");
                        $result = $sqlm->query("DELETE FROM point_system_prize_bag_items WHERE `bag`='" . $bag_id . "'");
                        redirect("admin.php?section=pointsystem&subsection=bags");
                    } else {
                        redirect("admin.php?section=pointsystem&subsection=bags&error=1");
                    }
                } else {
                    $result = $sqlm->query("INSERT INTO point_system_prize_bags (slots, owner) VALUES ('4', '0')");
                    redirect("admin.php?section=pointsystem&subsection=bags");
                }
            }
            break;
        case "achieve":
            $output .= 'TO DO';
    }
    $output .= '
      </div>';
}
Esempio n. 13
0
function char_inv(&$sqlr, &$sqlc)
{
    global $output, $lang_global, $lang_char, $lang_item, $realm_id, $characters_db, $world_db, $mmfpm_db, $action_permission, $user_lvl, $user_name, $item_datasite;
    // this page uses wowhead tooltops
    wowhead_tt();
    require_once 'core/char/char_security.php';
    // getting character data from database
    $result = $sqlc->query('SELECT account, name, race, class, level, gender, money
                            FROM characters WHERE guid = ' . $id . ' LIMIT 1');
    // no point going further if character does not exist
    if ($sqlc->num_rows($result)) {
        $char = $sqlc->fetch_assoc($result);
        // we get user permissions first
        $owner_acc_id = $sqlc->result($result, 0, 'account');
        $result = $sqlr->query('SELECT `username`, `gmlevel` FROM `account` LEFT JOIN `account_access` ON `account`.`id`=`account_access`.`id` WHERE `account`.`id` = ' . $owner_acc_id . ' ORDER BY `gmlevel` DESC LIMIT 1');
        $owner_name = $sqlr->result($result, 0, 'username');
        $owner_gmlvl = $sqlr->result($result, 0, 'gmlevel');
        if (empty($owner_gmlvl)) {
            $owner_gmlvl = 0;
        }
        // check user permission
        if ($user_lvl > $owner_gmlvl || $owner_name === $user_name) {
            // main data that we need for this page, character inventory
            $result = $sqlc->query('SELECT ci.bag, ci.slot, ci.item, ii.itemEntry,
                                    count as stack_count
                                    FROM character_inventory ci INNER JOIN item_instance ii on ii.guid = ci.item
                                    WHERE ci.guid = ' . $id . ' ORDER BY ci.bag,ci.slot');
            //---------------Page Specific Data Starts Here--------------------------
            // lets start processing first before we display anything
            //  we have lots to do for inventory
            // character bags, 1 main + 4 additional
            $bag = array(0 => array(), 1 => array(), 2 => array(), 3 => array(), 4 => array());
            // character bang, 1 main + 7 additional
            $bank = array(0 => array(), 1 => array(), 2 => array(), 3 => array(), 4 => array(), 5 => array(), 6 => array(), 7 => array());
            // this is where we will put items that are in main bag
            $bag_id = array();
            // this is where we will put items that are in main bank
            $bank_bag_id = array();
            // this is where we will put items that are in character bags, 4 arrays, 1 for each
            $equiped_bag_id = array(0, 0, 0, 0, 0);
            // this is where we will put items that are in bank bangs, 7 arrays, 1 for each
            $equip_bnk_bag_id = array(0, 0, 0, 0, 0, 0, 0, 0);
            $sqlw = new SQL();
            $sqlw->connect($world_db[$realmid]['addr'], $world_db[$realmid]['user'], $world_db[$realmid]['pass'], $world_db[$realmid]['name']);
            // we load the things in each bag slot
            while ($slot = $sqlc->fetch_assoc($result)) {
                if ($slot['bag'] == 0 && $slot['slot'] > 18) {
                    if ($slot['slot'] < 23) {
                        $bag_id[$slot['item']] = $slot['slot'] - 18;
                        $equiped_bag_id[$slot['slot'] - 18] = array($slot['itemEntry'], $sqlw->result($sqlw->query('SELECT ContainerSlots FROM item_template WHERE entry = ' . $slot['itemEntry'] . ''), 0, 'ContainerSlots'), $slot['stack_count']);
                    } elseif ($slot['slot'] < 39) {
                        if (isset($bag[0][$slot['slot'] - 23])) {
                            $bag[0][$slot['slot'] - 23][0]++;
                        } else {
                            $bag[0][$slot['slot'] - 23] = array($slot['itemEntry'], 0, $slot['stack_count']);
                        }
                    } elseif ($slot['slot'] < 67) {
                        // SLOT 39 TO 66 (Bank)
                        $bank[0][$slot['slot'] - 39] = array($slot['itemEntry'], 0, $slot['stack_count']);
                    } elseif ($slot['slot'] < 74) {
                        $bank_bag_id[$slot['item']] = $slot['slot'] - 66;
                        $equip_bnk_bag_id[$slot['slot'] - 66] = array($slot['itemEntry'], $sqlw->result($sqlw->query('SELECT ContainerSlots FROM item_template WHERE entry = ' . $slot['itemEntry'] . ''), 0, 'ContainerSlots'), $slot['stack_count']);
                    }
                } else {
                    // Bags
                    if (isset($bag_id[$slot['bag']])) {
                        if (isset($bag[$bag_id[$slot['bag']]][$slot['slot']])) {
                            $bag[$bag_id[$slot['bag']]][$slot['slot']][1]++;
                        } else {
                            $bag[$bag_id[$slot['bag']]][$slot['slot']] = array($slot['itemEntry'], 0, $slot['stack_count']);
                        }
                    } elseif (isset($bank_bag_id[$slot['bag']])) {
                        $bank[$bank_bag_id[$slot['bag']]][$slot['slot']] = array($slot['itemEntry'], 0, $slot['stack_count']);
                    }
                }
            }
            unset($slot);
            unset($bag_id);
            unset($bank_bag_id);
            unset($result);
            //------------------------Character Tabs---------------------------------
            // we start with a lead of 10 spaces,
            //  because last line of header is an opening tag with 8 spaces
            //  keep html indent in sync, so debuging from browser source would be easy to read
            $output .= '
                    <center>
                        <div id="tab_content">
                            <h1>' . $lang_char['inventory'] . '</h1>
                            <br />';
            require_once 'core/char/char_header.php';
            $output .= '
                            <br /><br />
                            <table class="lined" style="width: 700px;">
                                <tr>';
            //---------------Page Specific Data Starts Here--------------------------
            $sqlm = new SQL();
            $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
            // equipped bags
            for ($i = 1; $i < 5; ++$i) {
                $output .= '
                                    <th>';
                if ($equiped_bag_id[$i]) {
                    $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $equiped_bag_id[$i][0] . '" target="_blank">
                                            <img class="bag_icon" src="' . get_item_icon($equiped_bag_id[$i][0], $sqlm, $sqlw) . '" alt="" />
                                        </a>
                                        ' . $lang_item['bag'] . ' ' . $i . '<br />
                                        <font class="small">' . $equiped_bag_id[$i][1] . ' ' . $lang_item['slots'] . '</font>';
                }
                $output .= '
                                    </th>';
            }
            $output .= '
                                </tr>
                                <tr>';
            // equipped bag slots
            for ($t = 1; $t < 5; ++$t) {
                $output .= '
                                    <td class="bag" valign="bottom" align="center">
                                        <div style="width:' . 4 * 43 . 'px;height:' . ceil($equiped_bag_id[$t][1] / 4) * 41 . 'px;">';
                $dsp = $equiped_bag_id[$t][1] % 4;
                if ($dsp) {
                    $output .= '
                                            <div class="no_slot"></div>';
                }
                foreach ($bag[$t] as $pos => $item) {
                    $item[2] = $item[2] == 1 ? '' : $item[2];
                    $output .= '
                                            <div style="left:' . ($pos + $dsp) % 4 * 42 . 'px;top:' . floor(($pos + $dsp) / 4) * 41 . 'px;">
                                                <a style="padding:2px;" href="' . $item_datasite . $item[0] . '" target="_blank">
                                                    <img src="' . get_item_icon($item[0], $sqlm, $sqlw) . '" alt="" />
                                                </a>
                                                <div style="width:25px;margin:-20px 0px 0px 18px;color: black; font-size:14px">' . $item[2] . '</div>
                                                <div style="width:25px;margin:-21px 0px 0px 17px;font-size:14px">' . $item[2] . '</div>
                                            </div>';
                }
                $output .= '
                                        </div>
                                    </td>';
            }
            unset($equiped_bag_id);
            $output .= '
                                </tr>
                                <tr>
                                    <th colspan="2" align="left">
                                        <img class="bag_icon" src="' . get_item_icon(3960, $sqlm, $sqlw) . '" alt="" align="middle" style="margin-left:100px;" />
                                        <font style="margin-left:30px;">' . $lang_char['backpack'] . '</font>
                                    </th>
                                    <th colspan="2">
                                        ' . $lang_char['bank_items'] . '
                                    </th>
                                </tr>
                                <tr>
                                    <td colspan="2" class="bag" align="center" height="220px">
                                        <div style="width:' . 4 * 43 . 'px;height:' . ceil(16 / 4) * 41 . 'px;">';
            // inventory items
            foreach ($bag[0] as $pos => $item) {
                $item[2] = $item[2] == 1 ? '' : $item[2];
                $output .= '
                                            <div style="left:' . $pos % 4 * 42 . 'px;top:' . floor($pos / 4) * 41 . 'px;">
                                                <a style="padding:2px;" href="' . $item_datasite . $item[0] . '" target="_blank">
                                                    <img src="' . get_item_icon($item[0], $sqlm, $sqlw) . '" alt="" />
                                                </a>
                                                <div style="width:25px;margin:-20px 0px 0px 18px;color: black; font-size:14px\\">' . $item[2] . '</div>
                                                <div style="width:25px;margin:-21px 0px 0px 17px;font-size:14px">' . $item[2] . '</div>
                                            </div>';
            }
            unset($bag);
            $output .= '
                                        </div>
                                        <div style="text-align:right;width:168px;background-image:none;background-color:#393936;padding:2px;">
                                            <b>
                                                ' . substr($char['money'], 0, -4) . '<img src="img/gold.gif" alt="" align="middle" />
                                                ' . substr($char['money'], -4, -2) . '<img src="img/silver.gif" alt="" align="middle" />
                                                ' . substr($char['money'], -2) . '<img src="img/copper.gif" alt="" align="middle" />
                                            </b>
                                        </div>
                                    </td>
                                    <td colspan="2" class="bank" align="center">
                                        <div style="width:' . 7 * 43 . 'px;height:' . ceil(24 / 7) * 41 . 'px;">';
            // bank items
            foreach ($bank[0] as $pos => $item) {
                $item[2] = $item[2] == 1 ? '' : $item[2];
                $output .= '
                                            <div style="left:' . $pos % 7 * 43 . 'px;top:' . floor($pos / 7) * 41 . 'px;">
                                                <a style="padding:2px;" href="' . $item_datasite . $item[0] . '" target="_blank">
                                                    <img src="' . get_item_icon($item[0], $sqlm, $sqlw) . '" class="inv_icon" alt="" />
                                                </a>
                                                <div style="width:25px;margin:-20px 0px 0px 18px;color: black; font-size:14px">' . $item[2] . '</div>
                                                <div style="width:25px;margin:-21px 0px 0px 17px;font-size:14px">' . $item[2] . '</div>
                                            </div>';
            }
            $output .= '
                                        </div>
                                    </td>
                                </tr>
                                <tr>';
            // equipped bank bags, first 4
            for ($i = 1; $i < 5; ++$i) {
                $output .= '
                                    <th>';
                if ($equip_bnk_bag_id[$i]) {
                    $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $equip_bnk_bag_id[$i][0] . '" target="_blank">
                                            <img class="bag_icon" src="' . get_item_icon($equip_bnk_bag_id[$i][0], $sqlm, $sqlw) . '" alt="" />
                                        </a>
                                        ' . $lang_item['bag'] . ' ' . $i . '<br />
                                        <font class="small">' . $equip_bnk_bag_id[$i][1] . ' ' . $lang_item['slots'] . '</font>';
                }
                $output .= '
                                    </th>';
            }
            $output .= '
                                </tr>
                                <tr>';
            // equipped bank bag slots
            for ($t = 1; $t < 8; ++$t) {
                // equipped bank bags, last 3
                if ($t === 5) {
                    $output .= '
                                </tr>
                                <tr>';
                    for ($i = 5; $i < 8; ++$i) {
                        $output .= '
                                        <th>';
                        if ($equip_bnk_bag_id[$i]) {
                            $output .= '
                                            <a style="padding:2px;" href="' . $item_datasite . $equip_bnk_bag_id[$i][0] . '" target="_blank">
                                                <img class="bag_icon" src="' . get_item_icon($equip_bnk_bag_id[$i][0], $sqlm, $sqlw) . '" alt="" />
                                            </a>
                                            ' . $lang_item['bag'] . ' ' . $i . '<br />
                                            <font class="small">' . $equip_bnk_bag_id[$i][1] . ' ' . $lang_item['slots'] . '</font>';
                        }
                        $output .= '
                                        </th>';
                    }
                    $output .= '
                                        <th>
                                        </th>
                                    </tr>
                                    <tr>';
                }
                $output .= '
                                        <td class="bank" align="center">
                                            <div style="width:' . 4 * 43 . 'px;height:' . ceil($equip_bnk_bag_id[$t][1] / 4) * 41 . 'px;">';
                $dsp = $equip_bnk_bag_id[$t][1] % 4;
                if ($dsp) {
                    $output .= '
                                                <div class="no_slot"></div>';
                }
                foreach ($bank[$t] as $pos => $item) {
                    $item[2] = $item[2] == 1 ? '' : $item[2];
                    $output .= '
                                                    <div style="left:' . ($pos + $dsp) % 4 * 43 . 'px;top:' . floor(($pos + $dsp) / 4) * 41 . 'px;">
                                                        <a style="padding:2px;" href="' . $item_datasite . $item[0] . '" target="_blank">
                                                            <img src="' . get_item_icon($item[0], $sqlm, $sqlw) . '" alt="" />
                                                        </a>
                                                    <div style="width:25px;margin:-20px 0px 0px 18px;color: black; font-size:14px">' . $item[2] . '</div>
                                                    <div style="width:25px;margin:-21px 0px 0px 17px;font-size:14px">' . $item[2] . '</div>
                                                </div>';
                }
                $output .= '
                                            </div>
                                        </td>';
            }
            unset($equip_bnk_bag_id);
            unset($bank);
            $output .= '
                                        <td class="bank"></td>';
            //---------------Page Specific Data Ends here----------------------------
            //---------------Character Tabs Footer-----------------------------------
            $output .= '
                                    </tr>
                                </table>
                            </div>
                        </div>
                        <br />';
            require_once 'core/char/char_footer.php';
            $output .= '
                        <br />
                    </center>
                    <!-- end of char_inv.php -->';
        } else {
            error($lang_char['no_permission']);
        }
    } else {
        error($lang_char['no_char_found']);
    }
}
Esempio n. 14
0
function do_insert_update($do_insert)
{
    global $output, $world_db, $realm_id, $creature_datasite, $item_datasite, $quest_datasite, $spell_datasite, $action_permission, $user_lvl, $locales_search_option, $arcm_db, $sqlm, $sqlw, $sqld;
    //wowhead_tt();
    require_once "./libs/get_lib.php";
    require_once 'libs/item_lib.php';
    // entry only needed on update
    if (!$do_insert) {
        if (!isset($_GET['entry'])) {
            redirect("vendor.php?error=1");
        }
        $entry = is_numeric($_GET['entry']) ? $sqlw->quote_smart($_GET['entry']) : redirect("vendor.php?error=8");
        $vend_query = "SELECT * FROM vendors WHERE entry = '{$entry}'";
        $vend_restrict_query = "SELECT * FROM vendor_restrictions WHERE entry = '{$entry}'";
        $vend_result = $sqlw->query($vend_query);
        $vend_restrict_result = $sqlw->query($vend_restrict_query);
    } else {
        // get new free id
        $result = $sqlw->query("SELECT max(entry)+1 as newentry from creature_proto");
        $entry = $sqlw->result($result, 0, 'newentry');
        $result = $sqlw->query("SELECT {$entry} as `entry`, 0 as `heroic_entry`, 0 as `KillCredit1`, 0 as `KillCredit2`, 0 as `modelid_A`, 0 as `modelid_A2`, 0 as `modelid_H`, 0 as `modelid_H2`, 'new creature' as`name`,'' as `subname`, '' as `IconName`, 1 as `minlevel`, 1 as `maxlevel`, 1 as `minhealth`, 1 as `maxhealth`, 0 as `minmana`, 0 as `maxmana`, 0 as `armor`,0 as `faction_A`, 0 as `faction_H`, 0 as `npcflag`, 1 as `speed`, 1 as `scale`,0 as `rank`, 1 as `mindmg`, 1 as `maxdmg`, 0 as `dmgschool`, 0 as `attackpower`, 2000 as `baseattacktime`, 0 as `rangeattacktime`, 0 as `unit_flags`,0 as `dynamicflags`, 0 as `family`, 0 as `trainer_type`, 0 as `trainer_spell`, 0 as `trainer_class`,0 as `trainer_race`,0 as `minrangedmg`, 0 as `maxrangedmg`, 0 as `rangedattackpower`, 0 as `type`,0 as `type_flags`,0 as `lootid`, 0 as `pickpocketloot`, 0 as `skinloot`, 0 as `resistance1`, 0 as `resistance2`, 0 as `resistance3`, 0 as `resistance4`, 0 as `resistance5`, 0 as `resistance6`, 0 as`spell1`, 0 as`spell2`, 0 as `spell3`, 0 as `spell4`, 0 as `PetSpellDataId`, 100 as `mingold`, 250 as `maxgold`, '' as `AIName`, 0 as `MovementType`, 1 as `InhabitType`, 0 as `RacialLeader`, 1 as `RegenHealth`, 0 as `equipment_id`, 0 as `mechanic_immune_mask`, 0 as `flags_extra`, '' as `ScriptName`");
        // use id for new creature_template
    }
    $total_found = $sqlw->num_rows($vend_result);
    if ($mob = $sqlw->fetch_assoc($vend_result)) {
        $name_query = "SELECT name FROM creature_names WHERE entry = '" . $mob['entry'] . "'";
        $name_result = $sqlw->query($name_query);
        $vendor_name = $sqlw->fetch_assoc($name_result);
        $output .= "\r\n  <script type=\"text/javascript\" src=\"libs/js/tab.js\"></script>\r\n  <center>\r\n    <span class='large_bold'>\r\n      <a href=\"{$creature_datasite}" . $mob['entry'] . "\">" . $vendor_name['name'] . "</a>\r\n    </span>\r\n    <br />\r\n    <br />\r\n    <br />\r\n    <br />\r\n    <form method=\"post\" action=\"vendor.php?action=del_item\" name=\"form1\">\r\n      <input type=\"hidden\" name=\"backup_op\" value=\"0\"/>\r\n      <input type=\"hidden\" name=\"entry\" value=\"{$entry}\"/>\r\n      <input type=\"hidden\" name=\"insert\" value=\"{$do_insert}\"/>\r\n\r\n      <div class=\"jtab-container\" id=\"container\">\r\n        <ul class=\"jtabs\">\r\n          <li>\r\n            <a href=\"#\" onclick=\"return showPane('pane1', this)\" id=\"tab1\">" . lang('vendor', 'sells') . "</a>\r\n          </li>\r\n          <li>\r\n            <a href=\"#\" onclick=\"return showPane('pane3', this)\">" . lang('vendor', 'restrictions') . "</a>\r\n          </li>";
        $quest_flag = 0;
        $vendor_flag = 0;
        $trainer_flag = 0;
        $output .= "\r\n        </ul>\r\n          <div class=\"jtab-panes\">";
        $output .= "\r\n            <div id=\"pane1\">\r\n              <br />\r\n              <center>";
        $output .= "\r\n                <table class=\"lined\" id=\"vendor_edit_vendor\">\r\n                  <tr>\r\n                    <th width='3%'>&nbsp;</th>\r\n                    <th width='9%'></th>\r\n                    <th width='28%'>" . lang('vendor', 'itemname') . "</th>\r\n                    <th width='15%'>" . lang('vendor', 'quantity') . "</th>\r\n                    <th width='15%'>" . lang('vendor', 'maxquantity') . "</th>\r\n                    <th width='15%'>" . lang('vendor', 'inctime') . "</th>\r\n                    <th width='15%'>" . lang('vendor', 'extcost') . "</th>\r\n                  </tr>";
        $cur_vend = '';
        $vend_result2 = $sqlw->query($vend_query);
        for ($i = 1; $i <= $total_found; $i++) {
            $vendor = $sqlw->fetch_assoc($vend_result2);
            $item_query = "SELECT name1 FROM items WHERE entry = '" . $vendor['item'] . "'";
            $item_result = $sqlw->query($item_query);
            $item_name = $sqlw->fetch_assoc($item_result);
            if ($vendor['extended_cost'] != 0) {
                $extcost_query = "SELECT * FROM itemextendedcost WHERE id = '" . $vendor['extended_cost'] . "'";
                $extcost_result = $sqld->query($extcost_query);
                $extcost = $sqld->fetch_assoc($extcost_result);
                $ext_cost = "";
                $reqHonor = $extcost['ReqHonorPoints'];
                $reqArena = $extcost['ReqArenaPoints'];
                $reqItem1 = $extcost['RequiredItem1'];
                $reqItem2 = $extcost['RequiredItem2'];
                $reqItem3 = $extcost['RequiredItem3'];
                $reqItem4 = $extcost['RequiredItem4'];
                $reqItem5 = $extcost['RequiredItem5'];
                $reqItemCount1 = $extcost['RequiredItemCount1'];
                $reqItemCount2 = $extcost['RequiredItemCount2'];
                $reqItemCount3 = $extcost['RequiredItemCount3'];
                $reqItemCount4 = $extcost['RequiredItemCount4'];
                $reqItemCount5 = $extcost['RequiredItemCount5'];
                if ($reqHonor != 0) {
                    $ext_cost .= $reqHonor . "<img src='./img/money_alliance.gif' alt='Honor' /> ";
                }
                if ($reqArena != 0) {
                    $ext_cost .= $reqArena . "<img src='./img/money_arena.gif' alt='Arena' /> ";
                }
                if ($reqItem1 != 0) {
                    $ext_cost .= "\r\n            <a id='vend_req_item' href='" . $item_datasite . $reqItem1 . "' target='_blank'>\r\n              " . $reqItemCount1 . " <img src='" . get_item_icon($reqItem1) . "' width=16 height=16 alt='" . get_item_name($ReqItem1) . "' /> \r\n            </a>";
                }
                if ($reqItem2 != 0) {
                    $ext_cost .= "\r\n            <a id='vend_req_item' href='" . $item_datasite . $reqItem2 . "' target='_blank'>\r\n              " . $reqItemCount2 . " <img src='" . get_item_icon($reqItem2) . "' width=16 height=16 alt='" . get_item_name($ReqItem2) . "' /> \r\n            </a>";
                }
                if ($reqItem3 != 0) {
                    $ext_cost .= "\r\n            <a id='vend_req_item' href='" . $item_datasite . $reqItem3 . "' target='_blank'>\r\n              " . $reqItemCount3 . " <img src='" . get_item_icon($reqItem3) . "' width=16 height=16 alt='" . get_item_name($ReqItem3) . "' /> \r\n            </a>";
                }
                if ($reqItem4 != 0) {
                    $ext_cost .= "\r\n            <a id='vend_req_item' href='" . $item_datasite . $reqItem4 . "' target='_blank'>\r\n              " . $reqItemCount4 . " <img src='" . get_item_icon($reqItem4) . "' width=16 height=16 alt='" . get_item_name($ReqItem4) . "' /> \r\n            </a>";
                }
                if ($reqItem5 != 0) {
                    $ext_cost .= "\r\n            <a id='vend_req_item' href='" . $item_datasite . $reqItem5 . "' target='_blank'>\r\n              " . $reqItemCount5 . " <img src='" . get_item_icon($reqItem5) . "' width=16 height=16 alt='" . get_item_name($ReqItem5) . "' /> \r\n            </a>";
                }
            }
            //$output .= "<tr>
            //<td><a href=\"$creature_datasite".$creature['entry']."\" target=\"_blank\">".$vendor_name['name']."</a></td>";
            //$output .= "<td></td>";
            if ($user_lvl >= $action_permission['delete']) {
                $output .= '
                <tr>
                  <td>
                    <input type="checkbox" name="check[]" value="' . $vendor['item'] . '" onclick="CheckCheckAll(document.form1);" />
                  </td>';
            } else {
                $output .= '
                  <td></td>';
            }
            $output .= "\r\n                  <td>\r\n                    <a id=\"vendor_item_icon\" href=\"{$item_datasite}" . $vendor['item'] . "\" target=\"_blank\">\r\n                      <img src=\"" . get_item_icon($vendor['item']) . "\" class=\"" . get_item_border($vendor['item']) . "\" alt=\"\" />\r\n                    </a>\r\n                  </td>\r\n                  <td>\r\n                    <a href=\"item.php?action=edit&entry=" . $mob['item'] . "&amp;error=4\">" . $item_name['name1'] . "</a>\r\n                  </td>";
            $output .= "\r\n                  <td>" . $vendor['amount'] . "</td>\r\n                  <td>" . $vendor['max_amount'] . "</td>\r\n                  <td>" . $vendor['inctime'] . "</td>\r\n                  <td>" . $ext_cost . "</td>\r\n                </tr>";
        }
        $output .= "\r\n              </table>\r\n            </center>\r\n            <br />";
        if ($user_lvl >= $action_permission['delete']) {
            makebutton(lang('vendor', 'del_item'), 'javascript:do_submit(\'form1\',0)" type="wrn', 200);
        }
        if ($user_lvl >= $action_permission['insert']) {
            makebutton(lang('vendor', 'add_item'), 'vendor.php?action=add_item&error=10', 130);
        }
        if ($user_lvl >= $action_permission['insert']) {
            makebutton(lang('vendor', 'edit_item'), 'vendor.php?action=add_item&error=10', 150);
        }
        $output .= "\r\n            <br />\r\n            <br />\r\n          </div>\r\n        </form>";
        $vend_restrict = $sqlw->fetch_assoc($vend_restrict_result);
        $output .= "\r\n        <div id=\"pane3\">\r\n          <br />\r\n          <br />\r\n          <form method=\"post\" action=\"vendor.php?action=do_rest_update\" name=\"form2\">\r\n            <input type=\"hidden\" name=\"backup_op\" value=\"0\"/>\r\n            <input type=\"hidden\" name=\"entry\" value=\"{$entry}\"/>\r\n            <input type=\"hidden\" name=\"insert\" value=\"{$do_insert}\"/>\r\n            <table class=\"lined\" id=\"vendor_restrictions\">";
        $output .= "\r\n              <tr>\r\n                <td>" . makeinfocell(lang('vendor', 'racemask'), lang('vendor', 'racemaskdesc')) . "</td>\r\n                <td colspan=\"1\"><input type=\"text\" name=\"racemask\" size=\"12\" maxlength=\"10\" value=\"{$vend_restrict['racemask']}\" /></td>\r\n\r\n                <td></td>\r\n                <td colspan=\"2\"></td>\r\n              </tr>\r\n              <tr>\r\n                <td>" . makeinfocell(lang('vendor', 'reqrepfactionvalue'), lang('vendor', 'reqrepfactionvaluedesc')) . "</td>\r\n                <td><input type=\"text\" name=\"reqrepfactionvalue\" size=\"8\" maxlength=\"45\" value=\"{$vend_restrict['reqrepfactionvalue']}\" /></td>\r\n\r\n                <td>" . makeinfocell(lang('vendor', 'reqrepfaction'), lang('vendor', 'reqrepfactiondesc')) . "</td>\r\n                <td><input type=\"text\" name=\"reqrepfaction\" size=\"8\" maxlength=\"45\" value=\"{$vend_restrict['reqrepfaction']}\" /></td>\r\n              </tr>\r\n              <tr>\r\n                <td>" . makeinfocell(lang('vendor', 'canbuyattextid'), lang('vendor', 'canbuyattextiddesc')) . "</td>\r\n                <td><input type=\"text\" name=\"canbuyattextid\" size=\"8\" maxlength=\"45\" value=\"{$vend_restrict['canbuyattextid']}\" /></td>\r\n\r\n                <td>" . makeinfocell(lang('vendor', 'cannotbuyattextid'), lang('vendor', 'cannotbuyattextiddesc')) . "</td>\r\n                <td><input type=\"text\" name=\"cannotbuyattextid\" size=\"8\" maxlength=\"45\" value=\"{$vend_restrict['cannotbuyattextid']}\" /></td>\r\n              </tr>";
        $output .= "\r\n            </table>\r\n            <br />\r\n            <br />";
        if ($user_lvl >= $action_permission['insert']) {
            makebutton(lang('vendor', 'save_to_db'), "javascript:do_submit('form2',0)", 180);
        }
        $output .= "\r\n          </div>";
        $output .= "\r\n        </div>\r\n      </div>\r\n      <br />\r\n    </form>\r\n\r\n    <script type=\"text/javascript\">setupPanes(\"container\", \"tab1\")</script>\r\n    <table class=\"hidden\">\r\n      <tr>\r\n        <td>";
        if ($do_insert) {
            if ($user_lvl >= $action_permission['insert'] && $do_insert) {
                makebutton(lang('vendor', 'save_to_db'), "javascript:do_submit('form1',0)", 180);
            }
        } else {
            if ($user_lvl >= $action_permission['delete']) {
                makebutton(lang('vendor', 'del_creature'), "vendor.php?action=delete&amp;entry={$entry}", 180);
            }
            //if ($user_lvl >= $action_permission['delete']) makebutton($lang_vendor['del_spawns'], "vendor.php?action=delete_spwn&amp;entry=$entry",180);
        }
        // scripts/export should be okay without permission check
        makebutton(lang('vendor', 'save_to_script'), "javascript:do_submit('form1',1)", 180);
        $output .= "\r\n        </td>\r\n      </tr>\r\n      <tr>\r\n        <td>";
        makebutton(lang('vendor', 'lookup_vendor'), "vendor.php", 760);
        $output .= "\r\n        </td>\r\n      </tr>\r\n    </table>\r\n  </center>";
    } else {
        error(lang('vendor', 'item_not_found'));
        exit;
    }
}
Esempio n. 15
0
function char_inv(&$sqlr, &$sqlc)
{
    global $output, $lang_global, $lang_char, $lang_item, $realm_id, $characters_db, $world_db, $mmfpm_db, $action_permission, $user_lvl, $user_name, $item_datasite;
    // this page uses wowhead tooltops
    wowhead_tt();
    // we need at least an id or we would have nothing to show
    if (empty($_GET['id'])) {
        error($lang_global['empty_fields']);
    }
    // this is multi realm support, as of writing still under development
    //  this page is already implementing it
    if (empty($_GET['realm'])) {
        $realmid = $realm_id;
    } else {
        $realmid = $sqlr->quote_smart($_GET['realm']);
        if (is_numeric($realmid)) {
            $sqlc->connect($characters_db[$realmid]['addr'], $characters_db[$realmid]['user'], $characters_db[$realmid]['pass'], $characters_db[$realmid]['name']);
        } else {
            $realmid = $realm_id;
        }
    }
    //-------------------SQL Injection Prevention--------------------------------
    // no point going further if we don have a valid ID
    $id = $sqlc->quote_smart($_GET['id']);
    if (is_numeric($id)) {
    } else {
        error($lang_global['empty_fields']);
    }
    // getting character data from database
    $result = $sqlc->query('SELECT account, name, race, class, level, gender, money FROM characters WHERE guid = ' . $id . ' LIMIT 1');
    // no point going further if character does not exist
    if ($sqlc->num_rows($result)) {
        $char = $sqlc->fetch_assoc($result);
        // we get user permissions first
        $owner_acc_id = $sqlc->result($result, 0, 'account');
        $result = $sqlr->query('SELECT gmlevel, username FROM account WHERE id = ' . $char['account'] . '');
        $owner_gmlvl = $sqlr->result($result, 0, 'gmlevel');
        $owner_name = $sqlr->result($result, 0, 'username');
        // check user permission
        if ($user_lvl > $owner_gmlvl || $owner_name === $user_name) {
            // main data that we need for this page, character inventory
            $result = $sqlc->query('SELECT ci.bag, ci.slot, ci.item, ci.item_template, SUBSTRING_INDEX(SUBSTRING_INDEX(data, " ", 15), " ", -1) as stack_count FROM character_inventory ci INNER JOIN item_instance ii on ii.guid = ci.item WHERE ci.guid = ' . $id . ' ORDER BY ci.bag,ci.slot');
            //---------------Page Specific Data Starts Here--------------------------
            // lets start processing first before we display anything
            //  we have lots to do for inventory
            // character bags, 1 main + 4 additional
            $bag = array(0 => array(), 1 => array(), 2 => array(), 3 => array(), 4 => array());
            // character bang, 1 main + 7 additional
            $bank = array(0 => array(), 1 => array(), 2 => array(), 3 => array(), 4 => array(), 5 => array(), 6 => array(), 7 => array());
            // this is where we will put items that are in main bag
            $bag_id = array();
            // this is where we will put items that are in main bank
            $bank_bag_id = array();
            // this is where we will put items that are in character bags, 4 arrays, 1 for each
            $equiped_bag_id = array(0, 0, 0, 0, 0);
            // this is where we will put items that are in bank bangs, 7 arrays, 1 for each
            $equip_bnk_bag_id = array(0, 0, 0, 0, 0, 0, 0, 0);
            $sqlw = new SQL();
            $sqlw->connect($world_db[$realmid]['addr'], $world_db[$realmid]['user'], $world_db[$realmid]['pass'], $world_db[$realmid]['name']);
            // we load the things in each bag slot
            while ($slot = $sqlc->fetch_assoc($result)) {
                if ($slot['bag'] == 0 && $slot['slot'] > 18) {
                    if ($slot['slot'] < 23) {
                        $bag_id[$slot['item']] = $slot['slot'] - 18;
                        $equiped_bag_id[$slot['slot'] - 18] = array($slot['item_template'], $sqlw->result($sqlw->query('SELECT ContainerSlots FROM item_template WHERE entry = ' . $slot['item_template'] . ''), 0, 'ContainerSlots'), $slot['stack_count']);
                    } elseif ($slot['slot'] < 39) {
                        if (isset($bag[0][$slot['slot'] - 23])) {
                            $bag[0][$slot['slot'] - 23][0]++;
                        } else {
                            $bag[0][$slot['slot'] - 23] = array($slot['item_template'], 0, $slot['stack_count']);
                        }
                    } elseif ($slot['slot'] < 67) {
                        $bank[0][$slot['slot'] - 39] = array($slot['item_template'], 0, $slot['stack_count']);
                    } elseif ($slot['slot'] < 74) {
                        $bank_bag_id[$slot['item']] = $slot['slot'] - 66;
                        $equip_bnk_bag_id[$slot['slot'] - 66] = array($slot['item_template'], $sqlw->result($sqlw->query('SELECT ContainerSlots FROM item_template WHERE entry = ' . $slot['item_template'] . ''), 0, 'ContainerSlots'), $slot['stack_count']);
                    }
                } else {
                    // Bags
                    if (isset($bag_id[$slot['bag']])) {
                        if (isset($bag[$bag_id[$slot['bag']]][$slot['slot']])) {
                            $bag[$bag_id[$slot['bag']]][$slot['slot']][1]++;
                        } else {
                            $bag[$bag_id[$slot['bag']]][$slot['slot']] = array($slot['item_template'], 0, $slot['stack_count']);
                        }
                    } elseif (isset($bank_bag_id[$slot['bag']])) {
                        $bank[$bank_bag_id[$slot['bag']]][$slot['slot']] = array($slot['item_template'], 0, $slot['stack_count']);
                    }
                }
            }
            unset($slot);
            unset($bag_id);
            unset($bank_bag_id);
            unset($result);
            //------------------------Character Tabs---------------------------------
            // we start with a lead of 10 spaces,
            //  because last line of header is an opening tag with 8 spaces
            //  keep html indent in sync, so debuging from browser source would be easy to read
            $output .= '
			<!-- start of char_inv.php -->
			<center>
			<div id="tab_content">
			<div id="tab">
			<ul>
				<li>
					<a href="char.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['char_sheet'] . '</a>
				</li>
				<li>
					<a href="char_extra.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['extra'] . '</a>
				</li>
					' . ($char['level'] < 10 ? '' : '
				<li>
					<a href="char_talent.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['talents'] . '</a>
				</li>') . '
				<li>
					<a href="char_achieve.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['achievements'] . '</a>
				</li>
				<li>
					<a href="char_rep.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['reputation'] . '</a>
				</li>
				<li>
					<a href="char_skill.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['skills'] . '</a>
				</li>
				<li>
					<a href="char_quest.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['quests'] . '</a>
				</li>';
            if (char_get_class_name($char['class']) === 'Hunter') {
                $output .= '
						<li>
							<a href="char_pets.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['pets'] . '</a>
						</li>';
            }
            $output .= '
						<li>
							<a href="char_friends.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['friends'] . '</a>
						</li>
				  		<li>
				  			<a href="char_spell.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['spells'] . '</a>
				  		</li>
				  		<li>
				  			<a href="char_mail.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['mail'] . '</a>
				  		</li>
					</ul>
					<ul>';
            // selected char tab at last
            $output .= '
						<li id="selected">
							<a href="char_inv.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['inventory'] . '</a>
						</li>';
            $output .= '
						</ul>
					</div>
					<div id="tab_content2">
					<font class="bold">
						' . htmlentities($char['name']) . ' -
						<img src="img/c_icons/' . $char['race'] . '-' . $char['gender'] . '.gif"
						onmousemove="toolTip(\'' . char_get_race_name($char['race']) . '\', \'item_tooltip\')" onmouseout="toolTip()" alt="" />
						<img src="img/c_icons/' . $char['class'] . '.gif"
						onmousemove="toolTip(\'' . char_get_class_name($char['class']) . '\',\'item_tooltip\')" onmouseout="toolTip()" alt="" /> - lvl ' . char_get_level_color($char['level']) . '
					</font>
				<br />
			<br />
			<table class="lined" style="width: 700px;">
				<tr>';
            //---------------Page Specific Data Starts Here--------------------------
            $sqlm = new SQL();
            $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
            // equipped bags
            for ($i = 1; $i < 5; ++$i) {
                $output .= '
				<th>';
                if ($equiped_bag_id[$i]) {
                    $output .= '
					<a style="padding:2px;" href="' . $item_datasite . $equiped_bag_id[$i][0] . '" target="_blank">
						<img class="bag_icon" src="' . get_item_icon($equiped_bag_id[$i][0], $sqlm, $sqlw) . '" alt="" />
					</a>
					' . $lang_item['bag'] . ' ' . $i . '<br />
					<font class="small">' . $equiped_bag_id[$i][1] . ' ' . $lang_item['slots'] . '</font>';
                }
                $output .= '
					</th>';
            }
            $output .= '
				</tr>
				<tr>';
            // equipped bag slots
            for ($t = 1; $t < 5; ++$t) {
                $output .= '
						<td class="bag" valign="bottom" align="center">
						<div style="width:' . 4 * 43 . 'px;height:' . ceil($equiped_bag_id[$t][1] / 4) * 41 . 'px;">';
                $dsp = $equiped_bag_id[$t][1] % 4;
                if ($dsp) {
                    $output .= '
							<div class="no_slot"></div>';
                }
                foreach ($bag[$t] as $pos => $item) {
                    $item[2] = $item[2] == 1 ? '' : $item[2];
                    $output .= '
								<div style="left:' . ($pos + $dsp) % 4 * 42 . 'px;top:' . floor(($pos + $dsp) / 4) * 41 . 'px;">
								<a style="padding:2px;" href="' . $item_datasite . $item[0] . '" target="_blank">
									<img src="' . get_item_icon($item[0], $sqlm, $sqlw) . '" alt="" />
								</a>
								<div style="width:25px;margin:-20px 0px 0px 18px;color: black; font-size:14px">' . $item[2] . '</div>
								<div style="width:25px;margin:-21px 0px 0px 17px;font-size:14px">' . $item[2] . '</div>
								</div>';
                }
                $output .= '
							</div>
							</td>';
            }
            unset($equiped_bag_id);
            $output .= '
					</tr>
					<tr>
						<th colspan="2" align="left">
							<img class="bag_icon" src="' . get_item_icon(3960, $sqlm, $sqlw) . '" alt="" align="middle" style="margin-left:100px;" />
							<font style="margin-left:30px;">' . $lang_char['backpack'] . '</font>
						</th>
						<th colspan="2">
							' . $lang_char['bank_items'] . '
						</th>
					</tr>
					<tr>
						<td colspan="2" class="bag" align="center" height="220px">
						<div style="width:' . 4 * 43 . 'px;height:' . ceil(16 / 4) * 41 . 'px;">';
            // inventory items
            foreach ($bag[0] as $pos => $item) {
                $item[2] = $item[2] == 1 ? '' : $item[2];
                $output .= '
								<div style="left:' . $pos % 4 * 42 . 'px;top:' . floor($pos / 4) * 41 . 'px;">
								<a style="padding:2px;" href="' . $item_datasite . $item[0] . '" target="_blank">
									<img src="' . get_item_icon($item[0], $sqlm, $sqlw) . '" alt="" />
								</a>
								<div style="width:25px;margin:-20px 0px 0px 18px;color: black; font-size:14px\\">' . $item[2] . '</div>
								<div style="width:25px;margin:-21px 0px 0px 17px;font-size:14px">' . $item[2] . '</div>
								</div>';
            }
            unset($bag);
            $output .= '
							</div>
							<div style="text-align:right;width:168px;background-image:none;background-color:#393936;padding:2px;">
							<b>
								' . substr($char['money'], 0, -4) . '<img src="img/gold.gif" alt="" align="middle" />
								' . substr($char['money'], -4, -2) . '<img src="img/silver.gif" alt="" align="middle" />
								' . substr($char['money'], -2) . '<img src="img/copper.gif" alt="" align="middle" />
							</b>
							</div>
							</td>
							<td colspan="2" class="bank" align="center">
								<div style="width:' . 7 * 43 . 'px;height:' . ceil(24 / 7) * 41 . 'px;">';
            // bank items
            foreach ($bank[0] as $pos => $item) {
                $item[2] = $item[2] == 1 ? '' : $item[2];
                $output .= '
								<div style="left:' . $pos % 7 * 43 . 'px;top:' . floor($pos / 7) * 41 . 'px;">
								<a style="padding:2px;" href="' . $item_datasite . $item[0] . '" target="_blank">
									<img src="' . get_item_icon($item[0], $sqlm, $sqlw) . '" class="inv_icon" alt="" />
								</a>
								<div style="width:25px;margin:-20px 0px 0px 18px;color: black; font-size:14px">' . $item[2] . '</div>
								<div style="width:25px;margin:-21px 0px 0px 17px;font-size:14px">' . $item[2] . '</div>
								</div>';
            }
            $output .= '
								</div>
							</td>
						</tr>
						<tr>';
            // equipped bank bags, first 4
            for ($i = 1; $i < 5; ++$i) {
                $output .= '
								<th>';
                if ($equip_bnk_bag_id[$i]) {
                    $output .= '
									<a style="padding:2px;" href="' . $item_datasite . $equip_bnk_bag_id[$i][0] . '" target="_blank">
										<img class="bag_icon" src="' . get_item_icon($equip_bnk_bag_id[$i][0], $sqlm, $sqlw) . '" alt="" />
									</a>
									' . $lang_item['bag'] . ' ' . $i . '<br />
									<font class="small">' . $equip_bnk_bag_id[$i][1] . ' ' . $lang_item['slots'] . '</font>';
                }
                $output .= '
								</th>';
            }
            $output .= '
							</tr>
							<tr>';
            // equipped bank bag slots
            for ($t = 1; $t < 8; ++$t) {
                // equipped bank bags, last 3
                if ($t === 5) {
                    $output .= '
									</tr>
									<tr>';
                    for ($i = 5; $i < 8; ++$i) {
                        $output .= '
											<th>';
                        if ($equip_bnk_bag_id[$i]) {
                            $output .= '
												<a style="padding:2px;" href="' . $item_datasite . $equip_bnk_bag_id[$i][0] . '" target="_blank">
													<img class="bag_icon" src="' . get_item_icon($equip_bnk_bag_id[$i][0], $sqlm, $sqlw) . '" alt="" />
												</a>
												' . $lang_item['bag'] . ' ' . $i . '<br />
												<font class="small">' . $equip_bnk_bag_id[$i][1] . ' ' . $lang_item['slots'] . '</font>';
                        }
                        $output .= '
												</th>';
                    }
                    $output .= '
										<th>
										</th>
									</tr>
									<tr>';
                }
                $output .= '
										<td class="bank" align="center">
										<div style="width:' . 4 * 43 . 'px;height:' . ceil($equip_bnk_bag_id[$t][1] / 4) * 41 . 'px;">';
                $dsp = $equip_bnk_bag_id[$t][1] % 4;
                if ($dsp) {
                    $output .= '
										<div class="no_slot"></div>';
                }
                foreach ($bank[$t] as $pos => $item) {
                    $item[2] = $item[2] == 1 ? '' : $item[2];
                    $output .= '
												<div style="left:' . ($pos + $dsp) % 4 * 43 . 'px;top:' . floor(($pos + $dsp) / 4) * 41 . 'px;">
												<a style="padding:2px;" href="' . $item_datasite . $item[0] . '" target="_blank">
													<img src="' . get_item_icon($item[0], $sqlm, $sqlw) . '" alt="" />
												</a>
												<div style="width:25px;margin:-20px 0px 0px 18px;color: black; font-size:14px">' . $item[2] . '</div>
												<div style="width:25px;margin:-21px 0px 0px 17px;font-size:14px">' . $item[2] . '</div>
												</div>';
                }
                $output .= '
											</div>
										</td>';
            }
            unset($equip_bnk_bag_id);
            unset($bank);
            $output .= '
										<td class="bank"></td>';
            //---------------Page Specific Data Ends here----------------------------
            //---------------Character Tabs Footer-----------------------------------
            $output .= '
</tr>
</table>
</div>
</div>
<br />
<table class="hidden">
	<tr>
		<td>';
            // button to user account page, user account page has own security
            makebutton($lang_char['chars_acc'], 'user.php?action=edit_user&amp;id=' . $owner_acc_id . '', 130);
            $output .= '
		</td>
		<td>';
            // only higher level GM with delete access can edit character
            //  character edit allows removal of character items, so delete permission is needed
            if ($user_lvl > $owner_gmlvl && $user_lvl >= $action_permission['delete']) {
                makebutton($lang_char['edit_button'], 'char_edit.php?id=' . $id . '&amp;realm=' . $realmid . '', 130);
                $output .= '
			</td>
			<td>';
            }
            // only higher level GM with delete access, or character owner can delete character
            if ($user_lvl > $owner_gmlvl && $user_lvl >= $action_permission['delete'] || $owner_name === $user_name) {
                makebutton($lang_char['del_char'], 'char_list.php?action=del_char_form&amp;check%5B%5D=' . $id . '" type="wrn', 130);
                $output .= '
			</td>
			<td>';
            }
            // only GM with update permission can send mail, mail can send items, so update permission is needed
            if ($user_lvl >= $action_permission['update']) {
                makebutton($lang_char['send_mail'], 'mail.php?type=ingame_mail&amp;to=' . $char['name'] . '', 130);
                $output .= '
				</td>
				<td>';
            }
            makebutton($lang_global['back'], 'javascript:window.history.back()" type="def', 130);
            $output .= '
				</td>
				</tr>
				</table>
				<br />
				</center>
				<!-- end of char_inv.php -->';
        } else {
            error($lang_char['no_permission']);
        }
    } else {
        error($lang_char['no_char_found']);
    }
}
Esempio n. 16
0
function char_main(&$sqlr, &$sqlc)
{
    global $output, $lang_global, $lang_char, $lang_item, $realm_id, $realm_db, $characters_db, $world_db, $server, $mmfpm_db, $action_permission, $user_lvl, $user_name, $user_id, $item_datasite, $spell_datasite, $showcountryflag;
    // this page uses wowhead tooltops
    wowhead_tt();
    require_once 'core/char/char_security.php';
    $result = $sqlc->query('SELECT account, race FROM characters WHERE guid = ' . $id . ' LIMIT 1');
    if ($sqlc->num_rows($result)) {
        //resrict by owner's gmlvl
        $owner_acc_id = $sqlc->result($result, 0, 'account');
        $query = $sqlr->query('SELECT `username`, `gmlevel` FROM `account` LEFT JOIN `account_access` ON `account`.`id`=`account_access`.`id` WHERE `account`.`id` = ' . $owner_acc_id . ' ORDER BY `gmlevel` DESC LIMIT 1');
        $owner_name = $sqlr->result($query, 0, 'username');
        $owner_gmlvl = $sqlr->result($query, 0, 'gmlevel');
        if (empty($owner_gmlvl)) {
            $owner_gmlvl = 0;
        }
        if ($user_lvl || $server[$realmid]['both_factions']) {
            $side_v = 0;
            $side_p = 0;
        } else {
            $side_p = in_array($sqlc->result($result, 0, 'race'), array(2, 5, 6, 8, 10)) ? 1 : 2;
            $result_1 = $sqlc->query('SELECT race FROM characters WHERE account = ' . $user_id . ' LIMIT 1');
            if ($sqlc->num_rows($result)) {
                $side_v = in_array($sqlc->result($result_1, 0, 'race'), array(2, 5, 6, 8, 10)) ? 1 : 2;
            } else {
                $side_v = 0;
            }
            unset($result_1);
        }
        if ($user_lvl >= $owner_gmlvl && ($side_v === $side_p || !$side_v)) {
            $result = $sqlc->query('SELECT characters.equipmentCache, characters.name, characters.race, characters.class, characters.level, characters.zone, characters.map, characters.online, characters.totaltime, characters.gender, characters.account, character_stats.blockPct,
                                    character_stats.dodgePct, character_stats.parryPct, character_stats.critPct, character_stats.rangedCritPct, character_stats.spellCritPct, COALESCE(guild_member.guildid,0) AS guildid, COALESCE(guild_member.rank,0) AS rank, 
                                    characters.totalHonorPoints, characters.arenaPoints, characters.totalKills, character_stats.maxhealth, character_stats.maxpower1, character_stats.strength, character_stats.agility, character_stats.stamina, character_stats.intellect,
                                    character_stats.spirit, character_stats.armor, character_stats.resHoly, character_stats.resFire, character_stats.resNature, character_stats.resFrost, character_stats.resShadow, character_stats.resArcane, character_stats.attackPower,
                                    character_stats.rangedAttackPower, character_stats.spellPower, characters.power2, character_stats.maxpower2, characters.power4, character_stats.maxpower4, characters.power3, character_stats.maxpower3   
                                    FROM characters LEFT JOIN character_stats ON characters.guid = character_stats.guid LEFT JOIN guild_member ON characters.guid = guild_member.guid WHERE characters.guid = ' . $id);
            $char = $sqlc->fetch_assoc($result);
            $eq_data = explode(' ', $char['equipmentCache']);
            $online = $char['online'] ? $lang_char['online'] : $lang_char['offline'];
            if ($char['guildid'] && $char['guildid'] != 0) {
                $guild_name = $sqlc->result($sqlc->query('SELECT name FROM guild WHERE guildid =' . $char['guildid'] . ''), 0, 'name');
                $guild_name = '<a href="guild.php?action=view_guild&amp;realm=' . $realmid . '&amp;error=3&amp;id=' . $char['guildid'] . '" >' . $guild_name . '</a>';
                $mrank = $char['rank'];
                $guild_rank = $sqlc->result($sqlc->query('SELECT rname FROM guild_rank WHERE guildid =' . $char['guildid'] . ' AND rid=' . $mrank . ''), 0, 'rname');
            } else {
                $guild_name = $lang_global['none'];
                $guild_rank = $lang_global['none'];
            }
            $block = round($char['blockPct'], 2);
            $dodge = round($char['dodgePct'], 2);
            $parry = round($char['parryPct'], 2);
            $crit = round($char['critPct'], 2);
            $ranged_crit = round($char['rangedCritPct'], 2);
            $spell_crit = round($char['spellCritPct'], 2);
            $spell_damage = $char['spellPower'];
            $rage = round($char['power2'] / 10);
            $maxrage = round($char['maxpower2'] / 10);
            //preventing undefined variables, didnt want to remove all this stuff so just filling the missing variables with 0
            define('CHAR_DATA_OFFSET_MELEE_HIT', 0);
            define('CHAR_DATA_OFFSET_SPELL_HEAL', 1);
            define('CHAR_DATA_OFFSET_SPELL_HIT', 2);
            define('CHAR_DATA_OFFSET_SPELL_HASTE_RATING', 3);
            define('CHAR_DATA_OFFSET_RESILIENCE', 4);
            define('CHAR_DATA_OFFSET_RANGE_HIT', 5);
            $char_data = array(0, 0, 0, 0, 0, 0);
            $maxdamage = 0;
            $mindamage = 0;
            $maxrangeddamage = 0;
            $minrangeddamage = 0;
            $expertise = 0;
            $EQU_HEAD = $eq_data[EQ_DATA_OFFSET_EQU_HEAD];
            $EQU_NECK = $eq_data[EQ_DATA_OFFSET_EQU_NECK];
            $EQU_SHOULDER = $eq_data[EQ_DATA_OFFSET_EQU_SHOULDER];
            $EQU_SHIRT = $eq_data[EQ_DATA_OFFSET_EQU_SHIRT];
            $EQU_CHEST = $eq_data[EQ_DATA_OFFSET_EQU_CHEST];
            $EQU_BELT = $eq_data[EQ_DATA_OFFSET_EQU_BELT];
            $EQU_LEGS = $eq_data[EQ_DATA_OFFSET_EQU_LEGS];
            $EQU_FEET = $eq_data[EQ_DATA_OFFSET_EQU_FEET];
            $EQU_WRIST = $eq_data[EQ_DATA_OFFSET_EQU_WRIST];
            $EQU_GLOVES = $eq_data[EQ_DATA_OFFSET_EQU_GLOVES];
            $EQU_FINGER1 = $eq_data[EQ_DATA_OFFSET_EQU_FINGER1];
            $EQU_FINGER2 = $eq_data[EQ_DATA_OFFSET_EQU_FINGER2];
            $EQU_TRINKET1 = $eq_data[EQ_DATA_OFFSET_EQU_TRINKET1];
            $EQU_TRINKET2 = $eq_data[EQ_DATA_OFFSET_EQU_TRINKET2];
            $EQU_BACK = $eq_data[EQ_DATA_OFFSET_EQU_BACK];
            $EQU_MAIN_HAND = $eq_data[EQ_DATA_OFFSET_EQU_MAIN_HAND];
            $EQU_OFF_HAND = $eq_data[EQ_DATA_OFFSET_EQU_OFF_HAND];
            $EQU_RANGED = $eq_data[EQ_DATA_OFFSET_EQU_RANGED];
            $EQU_TABARD = $eq_data[EQ_DATA_OFFSET_EQU_TABARD];
            /*
            // reserved incase we want to use back minimanagers' built in tooltip, instead of wowheads'
            // minimanagers' item tooltip needs updating, but it can show enchantments and sockets.
            
                  $equiped_items = array
                  (
                     1 => array(($EQU_HEAD      ? get_item_tooltip($EQU_HEAD)      : 0),($EQU_HEAD      ? get_item_icon($EQU_HEAD)      : 0),($EQU_HEAD      ? get_item_border($EQU_HEAD)      : 0)),
                     2 => array(($EQU_NECK      ? get_item_tooltip($EQU_NECK)      : 0),($EQU_NECK      ? get_item_icon($EQU_NECK)      : 0),($EQU_NECK      ? get_item_border($EQU_NECK)      : 0)),
                     3 => array(($EQU_SHOULDER  ? get_item_tooltip($EQU_SHOULDER)  : 0),($EQU_SHOULDER  ? get_item_icon($EQU_SHOULDER)  : 0),($EQU_SHOULDER  ? get_item_border($EQU_SHOULDER)  : 0)),
                     4 => array(($EQU_SHIRT     ? get_item_tooltip($EQU_SHIRT)     : 0),($EQU_SHIRT     ? get_item_icon($EQU_SHIRT)     : 0),($EQU_SHIRT     ? get_item_border($EQU_SHIRT)     : 0)),
                     5 => array(($EQU_CHEST     ? get_item_tooltip($EQU_CHEST)     : 0),($EQU_CHEST     ? get_item_icon($EQU_CHEST)     : 0),($EQU_CHEST     ? get_item_border($EQU_CHEST)     : 0)),
                     6 => array(($EQU_BELT      ? get_item_tooltip($EQU_BELT)      : 0),($EQU_BELT      ? get_item_icon($EQU_BELT)      : 0),($EQU_BELT      ? get_item_border($EQU_BELT)      : 0)),
                     7 => array(($EQU_LEGS      ? get_item_tooltip($EQU_LEGS)      : 0),($EQU_LEGS      ? get_item_icon($EQU_LEGS)      : 0),($EQU_LEGS      ? get_item_border($EQU_LEGS)      : 0)),
                     8 => array(($EQU_FEET      ? get_item_tooltip($EQU_FEET)      : 0),($EQU_FEET      ? get_item_icon($EQU_FEET)      : 0),($EQU_FEET      ? get_item_border($EQU_FEET)      : 0)),
                     9 => array(($EQU_WRIST     ? get_item_tooltip($EQU_WRIST)     : 0),($EQU_WRIST     ? get_item_icon($EQU_WRIST)     : 0),($EQU_WRIST     ? get_item_border($EQU_WRIST)     : 0)),
                    10 => array(($EQU_GLOVES    ? get_item_tooltip($EQU_GLOVES)    : 0),($EQU_GLOVES    ? get_item_icon($EQU_GLOVES)    : 0),($EQU_GLOVES    ? get_item_border($EQU_GLOVES)    : 0)),
                    11 => array(($EQU_FINGER1   ? get_item_tooltip($EQU_FINGER1)   : 0),($EQU_FINGER1   ? get_item_icon($EQU_FINGER1)   : 0),($EQU_FINGER1   ? get_item_border($EQU_FINGER1)   : 0)),
                    12 => array(($EQU_FINGER2   ? get_item_tooltip($EQU_FINGER2)   : 0),($EQU_FINGER2   ? get_item_icon($EQU_FINGER2)   : 0),($EQU_FINGER2   ? get_item_border($EQU_FINGER2)   : 0)),
                    13 => array(($EQU_TRINKET1  ? get_item_tooltip($EQU_TRINKET1)  : 0),($EQU_TRINKET1  ? get_item_icon($EQU_TRINKET1)  : 0),($EQU_TRINKET1  ? get_item_border($EQU_TRINKET1)  : 0)),
                    14 => array(($EQU_TRINKET2  ? get_item_tooltip($EQU_TRINKET2)  : 0),($EQU_TRINKET2  ? get_item_icon($EQU_TRINKET2)  : 0),($EQU_TRINKET2  ? get_item_border($EQU_TRINKET2)  : 0)),
                    15 => array(($EQU_BACK      ? get_item_tooltip($EQU_BACK)      : 0),($EQU_BACK      ? get_item_icon($EQU_BACK)      : 0),($EQU_BACK      ? get_item_border($EQU_BACK)      : 0)),
                    16 => array(($EQU_MAIN_HAND ? get_item_tooltip($EQU_MAIN_HAND) : 0),($EQU_MAIN_HAND ? get_item_icon($EQU_MAIN_HAND) : 0),($EQU_MAIN_HAND ? get_item_border($EQU_MAIN_HAND) : 0)),
                    17 => array(($EQU_OFF_HAND  ? get_item_tooltip($EQU_OFF_HAND)  : 0),($EQU_OFF_HAND  ? get_item_icon($EQU_OFF_HAND)  : 0),($EQU_OFF_HAND  ? get_item_border($EQU_OFF_HAND)  : 0)),
                    18 => array(($EQU_RANGED    ? get_item_tooltip($EQU_RANGED)    : 0),($EQU_RANGED    ? get_item_icon($EQU_RANGED)    : 0),($EQU_RANGED    ? get_item_border($EQU_RANGED)    : 0)),
                    19 => array(($EQU_TABARD    ? get_item_tooltip($EQU_TABARD)    : 0),($EQU_TABARD    ? get_item_icon($EQU_TABARD)    : 0),($EQU_TABARD    ? get_item_border($EQU_TABARD)    : 0))
                  );
            */
            $sqlm = new SQL();
            $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
            $sqlw = new SQL();
            $sqlw->connect($world_db[$realmid]['addr'], $world_db[$realmid]['user'], $world_db[$realmid]['pass'], $world_db[$realmid]['name']);
            $equiped_items = array(1 => array('', $EQU_HEAD ? get_item_icon($EQU_HEAD, $sqlm, $sqlw) : 0, $EQU_HEAD ? get_item_border($EQU_HEAD, $sqlw) : 0), 2 => array('', $EQU_NECK ? get_item_icon($EQU_NECK, $sqlm, $sqlw) : 0, $EQU_NECK ? get_item_border($EQU_NECK, $sqlw) : 0), 3 => array('', $EQU_SHOULDER ? get_item_icon($EQU_SHOULDER, $sqlm, $sqlw) : 0, $EQU_SHOULDER ? get_item_border($EQU_SHOULDER, $sqlw) : 0), 4 => array('', $EQU_SHIRT ? get_item_icon($EQU_SHIRT, $sqlm, $sqlw) : 0, $EQU_SHIRT ? get_item_border($EQU_SHIRT, $sqlw) : 0), 5 => array('', $EQU_CHEST ? get_item_icon($EQU_CHEST, $sqlm, $sqlw) : 0, $EQU_CHEST ? get_item_border($EQU_CHEST, $sqlw) : 0), 6 => array('', $EQU_BELT ? get_item_icon($EQU_BELT, $sqlm, $sqlw) : 0, $EQU_BELT ? get_item_border($EQU_BELT, $sqlw) : 0), 7 => array('', $EQU_LEGS ? get_item_icon($EQU_LEGS, $sqlm, $sqlw) : 0, $EQU_LEGS ? get_item_border($EQU_LEGS, $sqlw) : 0), 8 => array('', $EQU_FEET ? get_item_icon($EQU_FEET, $sqlm, $sqlw) : 0, $EQU_FEET ? get_item_border($EQU_FEET, $sqlw) : 0), 9 => array('', $EQU_WRIST ? get_item_icon($EQU_WRIST, $sqlm, $sqlw) : 0, $EQU_WRIST ? get_item_border($EQU_WRIST, $sqlw) : 0), 10 => array('', $EQU_GLOVES ? get_item_icon($EQU_GLOVES, $sqlm, $sqlw) : 0, $EQU_GLOVES ? get_item_border($EQU_GLOVES, $sqlw) : 0), 11 => array('', $EQU_FINGER1 ? get_item_icon($EQU_FINGER1, $sqlm, $sqlw) : 0, $EQU_FINGER1 ? get_item_border($EQU_FINGER1, $sqlw) : 0), 12 => array('', $EQU_FINGER2 ? get_item_icon($EQU_FINGER2, $sqlm, $sqlw) : 0, $EQU_FINGER2 ? get_item_border($EQU_FINGER2, $sqlw) : 0), 13 => array('', $EQU_TRINKET1 ? get_item_icon($EQU_TRINKET1, $sqlm, $sqlw) : 0, $EQU_TRINKET1 ? get_item_border($EQU_TRINKET1, $sqlw) : 0), 14 => array('', $EQU_TRINKET2 ? get_item_icon($EQU_TRINKET2, $sqlm, $sqlw) : 0, $EQU_TRINKET2 ? get_item_border($EQU_TRINKET2, $sqlw) : 0), 15 => array('', $EQU_BACK ? get_item_icon($EQU_BACK, $sqlm, $sqlw) : 0, $EQU_BACK ? get_item_border($EQU_BACK, $sqlw) : 0), 16 => array('', $EQU_MAIN_HAND ? get_item_icon($EQU_MAIN_HAND, $sqlm, $sqlw) : 0, $EQU_MAIN_HAND ? get_item_border($EQU_MAIN_HAND, $sqlw) : 0), 17 => array('', $EQU_OFF_HAND ? get_item_icon($EQU_OFF_HAND, $sqlm, $sqlw) : 0, $EQU_OFF_HAND ? get_item_border($EQU_OFF_HAND, $sqlw) : 0), 18 => array('', $EQU_RANGED ? get_item_icon($EQU_RANGED, $sqlm, $sqlw) : 0, $EQU_RANGED ? get_item_border($EQU_RANGED, $sqlw) : 0), 19 => array('', $EQU_TABARD ? get_item_icon($EQU_TABARD, $sqlm, $sqlw) : 0, $EQU_TABARD ? get_item_border($EQU_TABARD, $sqlw) : 0));
            if ($user_lvl > $owner_gmlvl || $owner_name === $user_name) {
                $output .= '
                <center>
                    <div id="tab_content">
                        <h1>' . $lang_char['char_sheet'] . '</h1><br />
                        <div id="tab">
                            <ul>
                                <li><a href="char.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['char_sheet'] . '</a></li>
                                <li><a href="char_inv.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['inventory'] . '</a></li>
                                <li><a href="char_extra.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['extra'] . '</a></li>
                                ' . ($char['level'] < 10 ? '' : '<li><a href="char_talent.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['talents'] . '</a></li>') . '
                                <li><a href="char_achieve.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['achievements'] . '</a></li>
                                <li><a href="char_rep.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['reputation'] . '</a></li>
                                <li><a href="char_skill.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['skills'] . '</a></li>
                                <li><a href="char_quest.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['quests'] . '</a></li>';
                if (char_get_class_name($char['class']) === 'Hunter') {
                    $output .= '
                                <li><a href="char_pets.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['pets'] . '</a></li>';
                }
                $output .= '
                                <li><a href="char_friends.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['friends'] . '</a></li>
                                <li><a href="char_spell.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['spells'] . '</a></li>
                                <li><a href="char_mail.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['mail'] . '</a></li>';
            } else {
                $output .= '
                <center>
                    <div id="tab_content">
                        <h1>' . $lang_char['char_sheet'] . '</h1><br />
                        <div id="tab">
                            <ul>
                                <li><a href="char.php?id=' . $id . '&amp;realm=' . $realmid . '">' . $lang_char['char_sheet'] . '</a></li>';
            }
            $output .= '
                            </ul>
                        </div>
                        <div id="tab_content2">
                            <table class="lined" style="width: 580px;">
                                <tr>
                                    <td colspan="2">
                                        <div>
                                            <img src="' . char_get_avatar_img($char['level'], $char['gender'], $char['race'], $char['class'], 0) . '" alt="avatar" />
                                        </div>
                                        <div>';
            $a_results = $sqlc->query('SELECT DISTINCT spell FROM character_aura WHERE guid = ' . $id . '');
            if ($sqlc->num_rows($a_results)) {
                while ($aura = $sqlc->fetch_assoc($a_results)) {
                    $output .= '
                                            <a style="padding:2px;" href="' . $spell_datasite . $aura['spell'] . '" target="_blank">
                                                <img src="' . spell_get_icon($aura['spell'], $sqlm) . '" alt="' . $aura['spell'] . '" width="24" height="24" />
                                            </a>';
                }
            }
            $output .= '
                                        </div>
                                    </td>
                                    <td colspan="4">
                                        <font class="bold">
                                            ' . htmlentities($char['name']) . ' -
                                            <img src="img/c_icons/' . $char['race'] . '-' . $char['gender'] . '.gif" onmousemove="toolTip(\'' . char_get_race_name($char['race']) . '\', \'item_tooltip\')" onmouseout="toolTip()" alt="" />
                                            <img src="img/c_icons/' . $char['class'] . '.gif" onmousemove="toolTip(\'' . char_get_class_name($char['class']) . '\', \'item_tooltip\')" onmouseout="toolTip()" alt="" />
                                            - lvl ' . char_get_level_color($char['level']) . '
                                        </font>
                                        <br />' . get_map_name($char['map'], $sqlm) . ' - ' . get_zone_name($char['zone'], $sqlm) . '
                                        <br />' . $lang_char['honor_points'] . ': ' . $char['totalHonorPoints'] . ' / ' . $char['arenaPoints'] . ' - ' . $lang_char['honor_kills'] . ': ' . $char['totalKills'] . '
                                        <br />' . $lang_char['guild'] . ': ' . $guild_name . ' | ' . $lang_char['rank'] . ': ' . htmlentities($guild_rank) . '
                                        <br />' . ($char['online'] ? '<img src="img/up.gif" onmousemove="toolTip(\'Online\', \'item_tooltip\')" onmouseout="toolTip()" alt="online" />' : '<img src="img/down.gif" onmousemove="toolTip(\'Offline\', \'item_tooltip\')" onmouseout="toolTip()" alt="offline" />');
            if ($showcountryflag) {
                require_once 'libs/misc_lib.php';
                $country = misc_get_country_by_account($char['account'], $sqlr, $sqlm);
                $output .= ' - ' . ($country['code'] ? '<img src="img/flags/' . $country['code'] . '.png" onmousemove="toolTip(\'' . $country['country'] . '\', \'item_tooltip\')" onmouseout="toolTip()" alt="" />' : '-');
                unset($country);
            }
            $output .= '
                                    </td>
                                </tr>
                                <tr>
                                    <td width="6%">';
            if ($equiped_items[1][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_HEAD . '" target="_blank">
                                            <img src="' . $equiped_items[1][1] . '" class="' . $equiped_items[1][2] . '" alt="Head" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_head.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                    <td class="half_line" colspan="2" align="center" width="50%">
                                        <div class="gradient_p">' . $lang_item['health'] . ':</div>
                                        <div class="gradient_pp">' . $char['maxhealth'] . '</div>';
            if ($char['class'] == 11) {
                //druid
                $output .= '
                                        </br>
                                        <div class="gradient_p">' . $lang_item['energy'] . ':</div>
                                        <div class="gradient_pp">' . $char['power4'] . '/' . $char['maxpower4'] . '</div>';
            }
            $output .= '
                                    </td>
                                    <td class="half_line" colspan="2" align="center" width="50%">';
            if ($char['class'] == 1) {
                // warrior
                $output .= '
                                        <div class="gradient_p">' . $lang_item['rage'] . ':</div>
                                        <div class="gradient_pp">' . $rage . '/' . $maxrage . '</div>';
            } elseif ($char['class'] == 4) {
                // rogue
                $output .= '
                                        <div class="gradient_p">' . $lang_item['energy'] . ':</div>
                                        <div class="gradient_pp">' . $char['power4'] . '/' . $char['maxpower4'] . '</div>';
            } elseif ($char['class'] == 6) {
                // death knight // Don't know if FOCUS is the right one need to verify with Death Knight player.
                $output .= '
                                        <div class="gradient_p">' . $lang_item['runic'] . ':</div>
                                        <div class="gradient_pp">' . $char['power3'] . '/' . $char['maxpower3'] . '</div>';
            } elseif ($char['class'] == 11) {
                // druid
                $output .= '
                                        <div class="gradient_p">' . $lang_item['mana'] . ':</div>
                                        <div class="gradient_pp">' . $char['maxpower1'] . '</div>
                                        </br>
                                        <div class="gradient_p">' . $lang_item['rage'] . ':</div>
                                        <div class="gradient_pp">' . $rage . '/' . $maxrage . '</div>';
            } elseif ($char['class'] == 2 || $char['class'] == 3 || $char['class'] == 5 || $char['class'] == 7 || $char['class'] == 8 || $char['class'] == 9) {
                // warlock
                $output .= '
                                        <div class="gradient_p">' . $lang_item['mana'] . ':</div>
                                        <div class="gradient_pp">' . $char['maxpower1'] . '</div>';
            }
            $output .= '
                                    </td>
                                    <td width="6%">';
            if ($equiped_items[10][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_GLOVES . '" target="_blank">
                                            <img src="' . $equiped_items[10][1] . '" class="' . $equiped_items[10][2] . '" alt="Gloves" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_gloves.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                </tr>
                                <tr>
                                    <td width="1%">';
            if ($equiped_items[2][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_NECK . '" target="_blank">
                                            <img src="' . $equiped_items[2][1] . '" class="' . $equiped_items[2][2] . '" alt="Neck" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_neck.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                    <td class="half_line" colspan="2" rowspan="3" align="center" width="50%">
                                        <div class="gradient_p">
                                            ' . $lang_item['strength'] . ':<br />
                                            ' . $lang_item['agility'] . ':<br />
                                            ' . $lang_item['stamina'] . ':<br />
                                            ' . $lang_item['intellect'] . ':<br />
                                            ' . $lang_item['spirit'] . ':<br />
                                            ' . $lang_item['armor'] . ':
                                        </div>
                                        <div class="gradient_pp">
                                            ' . $char['strength'] . '<br />
                                            ' . $char['agility'] . '<br />
                                            ' . $char['stamina'] . '<br />
                                            ' . $char['intellect'] . '<br />
                                            ' . $char['spirit'] . '<br />
                                            ' . $char['armor'] . '
                                        </div>
                                    </td>
                                    <td class="half_line" colspan="2" rowspan="3" align="center" width="50%">
                                        <div class="gradient_p">
                                            ' . $lang_item['res_holy'] . ':<br />
                                            ' . $lang_item['res_arcane'] . ':<br />
                                            ' . $lang_item['res_fire'] . ':<br />
                                            ' . $lang_item['res_nature'] . ':<br />
                                            ' . $lang_item['res_frost'] . ':<br />
                                            ' . $lang_item['res_shadow'] . ':
                                        </div>
                                        <div class="gradient_pp">
                                            ' . $char['resHoly'] . '<br />
                                            ' . $char['resArcane'] . '<br />
                                            ' . $char['resFire'] . '<br />
                                            ' . $char['resNature'] . '<br />
                                            ' . $char['resFrost'] . '<br />
                                            ' . $char['resShadow'] . '
                                        </div>
                                    </td>
                                    <td width="1%">';
            if ($equiped_items[6][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_BELT . '" target="_blank">
                                            <img src="' . $equiped_items[6][1] . '" class="' . $equiped_items[6][2] . '" alt="Belt" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_waist.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                </tr>
                                <tr>
                                    <td width="1%">';
            if ($equiped_items[3][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_SHOULDER . '" target="_blank">
                                            <img src="' . $equiped_items[3][1] . '" class="' . $equiped_items[3][2] . '" alt="Shoulder" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_shoulder.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                    <td width="1%">';
            if ($equiped_items[7][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_LEGS . '" target="_blank">
                                            <img src="' . $equiped_items[7][1] . '" class="' . $equiped_items[7][2] . '" alt="Legs" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_legs.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                </tr>
                                <tr>
                                    <td width="1%">';
            if ($equiped_items[15][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_BACK . '" target="_blank">
                                            <img src="' . $equiped_items[15][1] . '" class="' . $equiped_items[15][2] . '" alt="Back" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_chest_back.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                    <td width="1%">';
            if ($equiped_items[8][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_FEET . '" target="_blank">
                                            <img src="' . $equiped_items[8][1] . '" class="' . $equiped_items[8][2] . '" alt="Feet" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_feet.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                </tr>
                                <tr>
                                    <td width="1%">';
            if ($equiped_items[5][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_CHEST . '" target="_blank">
                                            <img src="' . $equiped_items[5][1] . '" class="' . $equiped_items[5][2] . '" alt="Chest" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_chest_back.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                    <td class="half_line" colspan="2" rowspan="2" align="center" width="50%">
                                        <div class="gradient_p">
                                            ' . $lang_char['melee_d'] . ':<br />
                                            ' . $lang_char['melee_ap'] . ':<br />
                                            ' . $lang_char['melee_hit'] . ':<br />
                                            ' . $lang_char['melee_crit'] . ':<br />
                                            ' . $lang_char['expertise'] . ':<br />
                                        </div>
                                        <div class="gradient_pp">
                                            ' . $mindamage . '-' . $maxdamage . '<br />
                                            ' . $char['attackPower'] . '<br />
                                            ' . $char_data[CHAR_DATA_OFFSET_MELEE_HIT] . '<br />
                                            ' . $crit . '%<br />
                                            ' . $expertise . '<br />
                                        </div>
                                    </td>
                                    <td class="half_line" colspan="2" rowspan="2" align="center" width="50%">
                                        <div class="gradient_p">
                                            ' . $lang_char['spell_d'] . ':<br />
                                            ' . $lang_char['spell_heal'] . ':<br />
                                            ' . $lang_char['spell_hit'] . ':<br />
                                            ' . $lang_char['spell_crit'] . ':<br />
                                            ' . $lang_char['spell_haste'] . '
                                        </div>
                                        <div class="gradient_pp">
                                            ' . $spell_damage . '<br />
                                            ' . $char_data[CHAR_DATA_OFFSET_SPELL_HEAL] . '<br />
                                            ' . $char_data[CHAR_DATA_OFFSET_SPELL_HIT] . '<br />
                                            ' . $spell_crit . '%<br />
                                            ' . $char_data[CHAR_DATA_OFFSET_SPELL_HASTE_RATING] . '
                                        </div>
                                    </td>
                                    <td width="1%">';
            if ($equiped_items[11][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_FINGER1 . '" target="_blank">
                                            <img src="' . $equiped_items[11][1] . '" class="' . $equiped_items[11][2] . '" alt="Finger1" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_finger.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                </tr>
                                <tr>
                                    <td width="1%">';
            if ($equiped_items[4][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_SHIRT . '" target="_blank">
                                            <img src="' . $equiped_items[4][1] . '" class="' . $equiped_items[4][2] . '" alt="Shirt" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_shirt.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                    <td width="1%">';
            if ($equiped_items[12][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_FINGER2 . '" target="_blank">
                                            <img src="' . $equiped_items[12][1] . '" class="' . $equiped_items[12][2] . '" alt="Finger2" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_finger.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                </tr>
                                <tr>
                                    <td width="1%">';
            if ($equiped_items[19][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_TABARD . '" target="_blank">
                                            <img src="' . $equiped_items[19][1] . '" class="' . $equiped_items[19][2] . '" alt="Tabard" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_tabard.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                    <td class="half_line" colspan="2" rowspan="2" align="center" width="50%">
                                        <div class="gradient_p">
                                            ' . $lang_char['dodge'] . ':<br />
                                            ' . $lang_char['parry'] . ':<br />
                                            ' . $lang_char['block'] . ':<br />
                                            ' . $lang_char['resilience'] . ':<br />
                                        </div>
                                        <div class="gradient_pp">
                                            ' . $dodge . '%<br />
                                            ' . $parry . '%<br />
                                            ' . $block . '%<br />
                                            ' . $char_data[CHAR_DATA_OFFSET_RESILIENCE] . '<br />
                                        </div>
                                    </td>
                                    <td class="half_line" colspan="2" rowspan="2" align="center" width="50%">
                                        <div class="gradient_p">
                                            ' . $lang_char['ranged_d'] . ':<br />
                                            ' . $lang_char['ranged_ap'] . ':<br />
                                            ' . $lang_char['ranged_hit'] . ':<br />
                                            ' . $lang_char['ranged_crit'] . ':<br />
                                        </div>
                                        <div class="gradient_pp">
                                            ' . $minrangeddamage . '-' . $maxrangeddamage . '<br />
                                            ' . $char['rangedAttackPower'] . '<br />
                                            ' . $char_data[CHAR_DATA_OFFSET_RANGE_HIT] . '<br />
                                            ' . $ranged_crit . '%<br />
                                        </div>
                                    </td>
                                    <td width="1%">';
            if ($equiped_items[13][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_TRINKET1 . '" target="_blank">
                                            <img src="' . $equiped_items[13][1] . '" class="' . $equiped_items[13][2] . '" alt="Trinket1" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_trinket.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                </tr>
                                <tr>
                                    <td width="1%">';
            if ($equiped_items[9][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_WRIST . '" target="_blank">
                                            <img src="' . $equiped_items[9][1] . '" class="' . $equiped_items[9][2] . '" alt="Wrist" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_wrist.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                    <td width="1%">';
            if ($equiped_items[14][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_TRINKET2 . '" target="_blank">
                                            <img src="' . $equiped_items[14][1] . '" class="' . $equiped_items[14][2] . '" alt="Trinket2" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_trinket.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                </tr>
                                <tr>
                                    <td></td>
                                    <td width="15%">';
            if ($equiped_items[16][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_MAIN_HAND . '" target="_blank">
                                            <img src="' . $equiped_items[16][1] . '" class="' . $equiped_items[16][2] . '" alt="MainHand" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_main_hand.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                    <td width="15%">';
            if ($equiped_items[17][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_OFF_HAND . '" target="_blank">
                                            <img src="' . $equiped_items[17][1] . '" class="' . $equiped_items[17][2] . '" alt="OffHand" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_off_hand.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                    <td width="15%">';
            if ($equiped_items[18][1]) {
                $output .= '
                                        <a style="padding:2px;" href="' . $item_datasite . $EQU_RANGED . '" target="_blank">
                                            <img src="' . $equiped_items[18][1] . '" class="' . $equiped_items[18][2] . '" alt="Ranged" />
                                        </a>';
            } else {
                $output .= '
                                        <img src="img/INV/INV_empty_ranged.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                                    </td>
                                    <td width="15%"></td>
                                    <td></td>
                                </tr>';
            if ($user_lvl > $owner_gmlvl || $owner_name === $user_name) {
                //total time played
                $tot_time = $char['totaltime'];
                $tot_days = (int) ($tot_time / 86400);
                $tot_time = $tot_time - $tot_days * 86400;
                $total_hours = (int) ($tot_time / 3600);
                $tot_time = $tot_time - $total_hours * 3600;
                $total_min = (int) ($tot_time / 60);
                $output .= '
                                <tr>
                                    <td colspan="6">
                                        ' . $lang_char['tot_paly_time'] . ': ' . $tot_days . ' ' . $lang_char['days'] . ' ' . $total_hours . ' ' . $lang_char['hours'] . ' ' . $total_min . ' ' . $lang_char['min'] . '
                                    </td>
                                </tr>';
            }
            $output .= '
                            </table>
                        </div>
                        <br />
                    </div>
                    <br />';
            require_once 'core/char/char_footer.php';
            $output .= '
                    <br />
                </center>';
        } else {
            error($lang_char['no_permission']);
        }
    } else {
        error($lang_char['no_char_found']);
    }
}
Esempio n. 17
0
function char_mail(&$sqlr, &$sqlc)
{
    global $output, $lang_global, $lang_char, $lang_mail, $realm_id, $realm_db, $mmfpm_db, $characters_db, $action_permission, $user_lvl, $user_name, $item_datasite, $itemperpage;
    // this page uses wowhead tooltops
    wowhead_tt();
    //==========================$_GET and SECURE=================================
    // id and multi realm security to prevent sql injection
    require_once './include/char/include/char_multi_realm_security.php';
    $start = isset($_GET['start']) ? $sqlc->quote_smart($_GET['start']) : 0;
    if (is_numeric($start)) {
    } else {
        $start = 0;
    }
    $order_by = isset($_GET['order_by']) ? $sqlc->quote_smart($_GET['order_by']) : 'id';
    if (preg_match('/^[_[:lower:]]{1,12}$/', $order_by)) {
    } else {
        $order_by = 'id';
    }
    $dir = isset($_GET['dir']) ? $sqlc->quote_smart($_GET['dir']) : 1;
    if (preg_match('/^[01]{1}$/', $dir)) {
    } else {
        $dir = 1;
    }
    $order_dir = $dir ? 'ASC' : 'DESC';
    $dir = $dir ? 0 : 1;
    //==========================$_GET and SECURE end=============================
    // getting character data from database
    $result = $sqlc->query('
		SELECT account, name, race, class, gender, level
		FROM characters
		WHERE guid = ' . $id . '
		LIMIT 1');
    // no point going further if character does not exist
    if ($sqlc->num_rows($result)) {
        $char = $sqlc->fetch_assoc($result);
        // we get user permissions first
        $owner_acc_id = $sqlc->result($result, 0, 'account');
        $result = $sqlr->query('
			SELECT gmlevel, username 
			FROM account 
			WHERE id = ' . $char['account'] . '');
        $owner_gmlvl = $sqlr->result($result, 0, 'gmlevel');
        $owner_name = $sqlr->result($result, 0, 'username');
        // check user permission
        if ($user_lvl > $owner_gmlvl || $owner_name === $user_name) {
            // character sub header
            $output .= '
<center>
<div id="tab_content">
	<h1>' . $lang_char['mail'] . '</h1>
	<br />';
            // character menu tab
            require_once './include/char/include/char_header.php';
            // character info
            require_once './include/char/include/char_info.php';
            //---------------Page Specific Data Starts Here--------------------------
            $output .= '
	<div id="tab_content2">
		<table class="lined" style="width: 100%">';
            $query = $sqlc->query('
				SELECT a.id as id, a.messageType as messagetype, a.sender as sender,
						a.subject as subject, a.body as body, a.has_items as hasitems, a.money as money, a.cod as cod, a.checked as checked,
						b.item_template as itemtemplate
				FROM mail a
				INNER JOIN mail_items b ON a.id = b.mail_id
				WHERE a.receiver = ' . $id . '
				LIMIT ' . $start . ', ' . $itemperpage . '');
            $total_mail = $sqlc->result($sqlc->query('
				SELECT count(*)
				FROM mail
				WHERE receiver= ' . $id . ''), 0);
            $output .= '
			<tr>
				<td align="left">
					Total Mails: ' . $total_mail . '
				</td>
				<td align="right" width="45%">';
            $output .= generate_pagination('char_mail.php?start=' . $start . '&amp;order_by=' . $order_by . '&amp;dir=' . ($dir ? 0 : 1), $total_mail, $itemperpage, $start);
            $output .= '
				</td>
			</tr>
		</table>
		<table class="lined" style="width: 100%">
			<tr>
				<th width="5%">' . $lang_mail['mail_type'] . '</th>
				<th width="10%">' . $lang_mail['sender'] . '</th>
				<th width="15%">' . $lang_mail['subject'] . '</th>
				<th width="5%">' . $lang_mail['has_items'] . '</th>
				<th width="25%">' . $lang_mail['text'] . '</th>
				<th width="20%">' . $lang_mail['money'] . '</th>
				<th width="5%">' . $lang_mail['checked'] . '</th>
			</tr>';
            while ($mail = $sqlc->fetch_assoc($query)) {
                $output .= '
			<tr valign=top>
				<td>' . get_mail_source($mail['messagetype']) . '</td>
				<td><a href="char.php?id=' . $mail['sender'] . '">' . get_char_name($mail['sender']) . '</a></td>
				<td>' . $mail['subject'] . '</td>
				<td>
					<a style="padding:2px;" href="' . $item_datasite . $mail['itemtemplate'] . '" target="_blank">
						<img class="bag_icon" src="' . get_item_icon($mail['itemtemplate'], $sqlm) . '" alt="" />
					</a>
				</td>
				<td>' . $mail['body'] . '</td>
				<td>
					' . substr($mail['money'], 0, -4) . '<img src="img/gold.gif" alt="" align="middle" />
					' . substr($mail['money'], -4, -2) . '<img src="img/silver.gif" alt="" align="middle" />
					' . substr($mail['money'], -2) . '<img src="img/copper.gif" alt="" align="middle" />
				</td>
				<td>' . get_check_state($mail['checked']) . '</td>
			</tr>';
            }
            $output .= '
		</table>
	</div>
</div>
<br />';
            //---------------Page Specific Data Ends here----------------------------
            // character sub footer
            require_once './include/char/include/char_ footer.php';
            $output .= '
<br />
</center>';
        } else {
            error($lang_char['no_permission']);
        }
    } else {
        error($lang_char['no_char_found']);
    }
}
Esempio n. 18
0
function main()
{
    global $output, $realm_id, $world_db, $logon_db, $characters_db, $corem_db, $server, $action_permission, $user_lvl, $user_id, $site_encoding, $hide_coupons, $locales_search_option, $base_datasite, $item_datasite, $showcountryflag, $gm_online_count, $gm_online, $itemperpage, $hide_uptime, $player_online, $hide_max_players, $hide_avg_latency, $hide_plr_latency, $hide_server_mem, $sql, $core;
    // do any raffle drawings that are necessary
    do_raffles();
    // check achievement contests
    do_contests();
    $output .= '
          <div class="top">';
    //---------------------Information for Explorer Users--------------------------
    if (preg_match("/MSIE/", $_SERVER["HTTP_USER_AGENT"])) {
        $msie = '
            <br />
              <span id="index_explorer_warning">' . lang("index", "explorer_warn") . '</span>
            <br />';
    } else {
        $msie = '';
    }
    //-----------------------------------------------------------------------------
    if (test_port($server[$realm_id]["addr"], $server[$realm_id]["game_port"])) {
        if ($core == 1) {
            $stats = get_uptime($server[$realm_id]["stats.xml"]);
            $staticUptime = ' <em>' . htmlentities(get_realm_name($realm_id), ENT_COMPAT, $site_encoding) . '</em> <br />' . $stats["platform"][4] . ' ' . $stats["platform"][5] . ' ' . $stats["platform"][6];
            if (!$hide_uptime) {
                $staticUptime .= '<br />' . lang("index", "online") . ' for ' . $stats["uptime"];
            }
            $output .= '
            <div id="uptime">' . $msie . '
              <h1>
                <span id="index_realm_info">
                  <span>' . $staticUptime . '</span>';
            if (!$hide_max_players) {
                $output .= '
                  <br />
                  <span>' . lang("index", "maxplayers") . ': </span>
                  <span class="index_realm_info_value">' . $stats["peak"] . '</span>';
            }
            if (!$hide_avg_latency) {
                $output .= '
                  <br />
                  <span>' . lang("index", "avglat") . ': </span>
                  <span class="index_realm_info_value">' . $stats["avglat"] . '</span>';
            }
            $output .= '
                  <br />';
            if ($hide_server_mem != 0) {
                if ($hide_server_mem == 2 || $user_lvl == $action_permission["delete"]) {
                    $output .= '
                  <span>' . lang("index", "cpu") . ': </span>
                  <span class="index_realm_info_value">' . $stats["cpu"] . '%, </span>
                  <span>' . lang("index", "ram") . ': </span>
                  <span class="index_realm_info_value">' . $stats["ram"] . ' MB, </span>
                  <span>' . lang("index", "threads") . ': </span>
                  <span class="index_realm_info_value">' . $stats["threads"] . '</span>';
                }
            }
            $output .= '
               </span>
              </h1>
            </div>';
        } else {
            $stats = $sql["logon"]->fetch_assoc($sql["logon"]->query("SELECT starttime, maxplayers FROM uptime WHERE realmid='" . $realm_id . "' ORDER BY starttime DESC LIMIT 1"), 0);
            $uptimetime = time() - $stats["starttime"];
            // a more reliable method of counting how many characters have been online since server start
            //$maxplayers_query = "SELECT COUNT(*) FROM `".$characters_db[$realm_id]["name"]."`.characters WHERE logout_time>='".$stats["starttime"]."' AND logout_time>=(SELECT UNIX_TIMESTAMP(last_login) FROM `".$logon_db["name"]."`.account WHERE id=`".$characters_db[$realm_id]["name"]."`.characters.account)";
            //$maxplayers_result = $sql["char"]->query($maxplayers_query);
            //$maxplayers_result = $sql["char"]->fetch_assoc($maxplayers_result);
            //$stats["maxplayers"] = $maxplayers_result["COUNT(*)"];
            function format_uptime($seconds)
            {
                $secs = intval($seconds % 60);
                $mins = intval($seconds / 60 % 60);
                $hours = intval($seconds / 3600 % 24);
                $days = intval($seconds / 86400);
                if ($days > 365) {
                    $days = intval($seconds / 86400 % 365.24);
                    $years = intval($seconds / 31556926);
                }
                $uptimeString = '';
                if ($years) {
                    // we have a server that has been up for over a year? O_o
                    // actually, it's probably because the server didn't write a useful
                    // value to the uptime table's starttime field.
                    $uptimeString .= $years;
                    $uptimeString .= $years == 1 ? ' ' . lang("index", "uptime_year") : ' ' . lang("index", "uptime_years");
                    if ($days) {
                        $uptimeString .= ($years > 0 ? ', ' : '') . $days;
                        $uptimeString .= $days == 1 ? ' ' . lang("index", "uptime_day") : ' ' . lang("index", "uptime_days");
                    }
                } else {
                    if ($days) {
                        $uptimeString .= $days;
                        $uptimeString .= $days == 1 ? ' ' . lang("index", "uptime_day") : ' ' . lang("index", "uptime_days");
                    }
                }
                if ($hours) {
                    $uptimeString .= ($days > 0 ? ', ' : '') . $hours;
                    $uptimeString .= $hours == 1 ? ' ' . lang("index", "uptime_hour") : ' ' . lang("index", "uptime_hours");
                }
                if ($mins) {
                    $uptimeString .= ($days > 0 || $hours > 0 ? ', ' : '') . $mins;
                    $uptimeString .= $mins == 1 ? ' ' . lang("index", "uptime_minute") : ' ' . lang("index", "uptime_minutes");
                }
                if ($secs) {
                    $uptimeString .= ($days > 0 || $hours > 0 || $mins > 0 ? ', ' : '') . $secs;
                    $uptimeString .= $secs == 1 ? ' ' . lang("index", "uptime_second") : ' ' . lang("index", "uptime_seconds");
                }
                return $uptimeString;
            }
            $staticUptime = ' <em>' . htmlentities(get_realm_name($realm_id), ENT_COMPAT, $site_encoding) . '</em> ';
            if (!$hide_uptime) {
                if ($stats["starttime"] != 0) {
                    $staticUptime .= '<br /><span>' . lang("index", "online") . format_uptime($uptimetime) . '</span>';
                } else {
                    $staticUptime .= '<br /><span style="color:orange">' . lang("index", "time_error1") . ': <br>' . format_uptime($uptimetime) . '</span><br><span style="color:red">' . lang("index", "time_error2") . '</span>';
                }
            }
            unset($uptimetime);
            $output .= '
            <div id="uptime">' . $msie . '
              <h1>
                <span id="index_realm_info">' . $staticUptime;
            if (!$hide_max_players) {
                $output .= '
                  <br />
                  <span>' . lang("index", "maxplayers") . ': </span>
                  <span class="index_realm_info_value">' . $stats["maxplayers"] . '</span>';
            }
            // this_is_junk: MaNGOS doesn't store player latency. :/
            if ($core == 3) {
                if (!$hide_avg_latency) {
                    $lat_query = "SELECT SUM(latency), COUNT(*) FROM characters WHERE online=1";
                    $lat_result = $sql["char"]->query($lat_query);
                    $lat_fields = $sql["char"]->fetch_assoc($lat_result);
                    $avglat = sprintf("%.3f", $lat_fields["SUM(latency)"] / $lat_fields["COUNT(*)"]);
                    $output .= '
                    <br />
                    <span>' . lang("index", "avglat") . ': </span>
                    <span class="index_realm_info_value">' . $avglat . '</span>';
                }
            }
            $output .= '
                </span>
              </h1>
            </div>';
            unset($stats);
            $online = true;
        }
        unset($staticUptime);
        //unset($stats);
        $online = true;
    } else {
        $output .= $msie . '<h1><span class="error">' . lang("index", "realm") . ' <em>' . htmlentities(get_realm_name($realm_id), ENT_COMPAT, $site_encoding) . '</em> ' . lang("index", "offline_or_let_high") . '</span></h1>';
        $online = false;
    }
    //close the div
    $output .= '
          </div>';
    // MOTDs
    // get our MotDs...
    $motd = "";
    $motd_result = $sql["mgr"]->query("SELECT *, UNIX_TIMESTAMP(Created) AS Created, UNIX_TIMESTAMP(Last_Edited) AS Last_Edited FROM motd WHERE Enabled<>0 AND (Target='" . $user_id . "' OR Target=0) ORDER BY Priority ASC");
    // if we don't get any MotDs, it'll stay empty
    if ($user_lvl >= $action_permission["update"]) {
        $output .= '
          <script type="text/javascript">
            // <![CDATA[
              answerbox.btn_ok = "' . lang("global", "yes_low") . '";
              answerbox.btn_cancel = "' . lang("global", "no") . '";
              var del_motd = "motd.php?action=delete_motd&amp;id=";
            // ]]>
          </script>';
    }
    if ($sql["mgr"]->num_rows($motd_result) > 0) {
        $output .= '
            <div class="div_lined">
              <div class="div_lined_head">
                <span>' . lang("index", "motd") . '</span>
              </div>';
    }
    while ($temp = $sql["mgr"]->fetch_assoc($motd_result)) {
        if ($user_lvl >= $temp["Min_Sec_Level"]) {
            $motd = bb2html($temp["Message"]) . "<br /><br />";
            if ($motd) {
                if ($temp["Target"] != 0) {
                    $output .= '
                <div class="div_lined_line left_text">' . lang("motd", "private") . '</div>';
                }
                $output .= '
                <div class="div_lined_line left_text">';
                $output .= $motd;
                $output .= '
                  <br />';
                // Get User Name for poster
                if ($core == 1) {
                    $posted_name_query = "SELECT login FROM accounts WHERE acct='" . $temp["Created_By"] . "'";
                } else {
                    $posted_name_query = "SELECT username AS login FROM account WHERE id='" . $temp["Created_By"] . "'";
                }
                $posted_name_result = $sql["logon"]->query($posted_name_query);
                $posted_name = $sql["logon"]->fetch_assoc($posted_name_result);
                $posted_name = $posted_name["login"];
                // Get Screen Name for poster, if available
                $posted_screenname_query = "SELECT ScreenName FROM config_accounts WHERE Login='******'";
                $posted_screenname_result = $sql["mgr"]->query($posted_screenname_query);
                $posted_screenname = $sql["mgr"]->fetch_assoc($posted_screenname_result);
                if ($posted_screenname["ScreenName"] != NULL) {
                    $posted_name = htmlspecialchars($posted_screenname["ScreenName"]);
                }
                // if the Server Message is posted by the system, Created_By will be zero
                if ($temp["Created_By"] != 0) {
                    $output .= '
                  <span>' . lang("motd", "posted_by") . ':</span>';
                    if ($user_lvl > -1) {
                        $output .= '
                  <a href="user.php?action=edit_user&amp;error=11&amp;acct=' . $temp["Created_By"] . '">';
                    }
                    $output .= '
                    <span>' . $posted_name . '</span>';
                    if ($user_lvl > -1) {
                        $output .= '
                  </a>';
                    }
                    $output .= '
                  <span>(' . date("M d, Y @ H:i:s", $temp["Created"]) . ')</span>';
                } else {
                    $output .= '
                  <span>' . lang("motd", "posted") . ': ' . date("M d, Y @ H:i:s", $temp["Created"]) . '</span>';
                }
                // Get User Name for last editor
                if ($core == 1) {
                    $edited_name_query = "SELECT login FROM accounts WHERE acct='" . $temp["Last_Edited_By"] . "'";
                } else {
                    $edited_name_query = "SELECT username AS login FROM account WHERE id='" . $temp["Last_Edited_By"] . "'";
                }
                $edited_name_result = $sql["logon"]->query($edited_name_query);
                $edited_name = $sql["logon"]->fetch_assoc($edited_name_result);
                $edited_name = $edited_name["login"];
                // Get Screen Name for last editor, if available
                $edited_screenname_query = "SELECT ScreenName FROM config_accounts WHERE Login='******'";
                $edited_screenname_result = $sql["mgr"]->query($edited_screenname_query);
                $edited_screenname = $sql["mgr"]->fetch_assoc($edited_screenname_result);
                if ($edited_screenname["ScreenName"] != NULL) {
                    $edited_name = htmlspecialchars($edited_screenname["ScreenName"]);
                }
                if ($temp["Last_Edited_By"] != 0) {
                    $output .= '
                  <br />
                  <div>
                    <span>' . lang("motd", "edited_by") . ':</span>';
                    if ($user_lvl > -1) {
                        $output .= '
                    <a href="user.php?action=edit_user&amp;error=11&amp;acct=' . $temp["Last_Edited_By"] . '">';
                    }
                    $output .= '
                      <span>' . $edited_name . '</span>';
                    if ($user_lvl > -1) {
                        $output .= '
                    </a>';
                    }
                    $output .= '
                    <span>(' . date("M d, Y @ H:i:s", $temp["Last_Edited"]) . ')</span>
                  </div>';
                }
                $output .= '
                </div>';
                if ($user_lvl >= $action_permission["update"]) {
                    $output .= '
                <div class="div_lined_line right_text">
                  <img src="img/aff_cross.png" width="16" height="16" onclick="answerBox(\'' . lang("global", "delete") . ': &lt;font color=white&gt;' . $temp["ID"] . '&lt;/font&gt;&lt;br /&gt;' . lang("global", "are_you_sure") . '\', del_motd + ' . $temp["ID"] . ');" alt="" />';
                }
                if ($user_lvl >= $action_permission["update"]) {
                    $output .= '
                  <a href="motd.php?action=edit_motd&amp;error=3&amp;id=' . $temp["ID"] . '">
                    <img src="img/edit.png" width="16" height="16" alt="" />
                  </a>
                </div>';
                }
                $output .= '
                <br />';
            }
        }
    }
    if ($sql["mgr"]->num_rows($motd_result)) {
        $output = substr($output, 0, strlen($output) - 24);
    }
    if ($sql["mgr"]->num_rows($motd_result) > 0) {
        $output .= '
            </div>';
    }
    if ($user_lvl >= $action_permission["insert"]) {
        $output .= '
            <div class="div_lined">
              <div class="div_lined_head right_text">
                <a href="motd.php?action=add_motd&amp;error=4">' . lang("index", "add_motd") . '</a>
              </div>
            </div>';
    }
    // Coupons
    if (!$hide_coupons) {
        $coupon_query = "SELECT * FROM point_system_coupons WHERE ((target='0' AND contest='0') OR target='" . $user_id . "') AND enabled='1'";
        $coupon_result = $sql["mgr"]->query($coupon_query);
        if ($sql["mgr"]->num_rows($coupon_result) > 0) {
            $output .= '
            <br />
            <div class="div_lined">
              <div class="div_lined_head">
                <span>' . lang("index", "avail_coupons") . '</span>
              </div>';
            while ($coupon = $sql["mgr"]->fetch_assoc($coupon_result)) {
                $usage_query = "SELECT * FROM point_system_coupon_usage WHERE coupon='" . $coupon["entry"] . "' AND user='******'";
                $usage_result = $sql["mgr"]->query($usage_query);
                if ($sql["mgr"]->num_rows($usage_result) < $coupon["usage_limit"] || $coupon["usage_limit"] == -1) {
                    $output .= '
              <div class="div_lined_line left_text">
                <span>' . $coupon["title"] . '</span>
              </div>';
                    if ($coupon["text"] != "") {
                        $output .= '
              <div class="div_lined_line left_text">
                <span>' . $coupon["text"] . '</span>
              </div>';
                    }
                    if ($coupon["credits"] != 0 || $coupon["money"] != 0 || $coupon["item_id"] != 0 || $coupon["raffle_id"] != 0) {
                        $output .= '
              <div class="div_lined_line left_text">
                <span>' . lang("index", "coupon_value") . ':</span>';
                        if ($coupon["credits"] > 0) {
                            if ($coupon["credits"] > 1) {
                                $tip = lang("index", "coupon_credits");
                            } else {
                                $tip = lang("index", "coupon_credit");
                            }
                            $output .= '
                <br />
                <br />
                <span>' . $coupon["credits"] . '</span>
                <span>' . $tip . '</span>';
                        }
                        if ($coupon["money"] > 0) {
                            // extract gold/silver/copper from single gold number
                            $coupon["money"] = str_pad($coupon["money"], 4, "0", STR_PAD_LEFT);
                            $coupon_g = substr($coupon["money"], 0, -4);
                            if ($coupon_g == "") {
                                $coupon_g = 0;
                            }
                            $coupon_s = substr($coupon["money"], -4, 2);
                            if ($coupon_s == "" || $coupon_s == "00") {
                                $coupon_s = 0;
                            }
                            $coupon_c = substr($coupon["money"], -2);
                            if ($coupon_c == "" || $coupon_c == "00") {
                                $coupon_c = 0;
                            }
                            $output .= '
                <br />
                <br />
                <span>' . $coupon_g . '</span>
                <img src="img/gold.gif" alt="gold" />
                <span>' . $coupon_s . '</span>
                <img src="img/silver.gif" alt="gold" />
                <span>' . $coupon_c . '</span>
                <img src="img/copper.gif" alt="gold" />';
                        }
                        if ($coupon["item_id"] != 0) {
                            if ($coupon["item_id"] > 0) {
                                // get item data
                                if ($core == 1) {
                                    $i_query = "SELECT \r\n                    *, description AS description1, name1 AS name, quality AS Quality, inventorytype AS InventoryType, \r\n                    socket_color_1 AS socketColor_1, socket_color_2 AS socketColor_2, socket_color_3 AS socketColor_3,\r\n                    requiredlevel AS RequiredLevel, allowableclass AS AllowableClass,\r\n                    sellprice AS SellPrice, itemlevel AS ItemLevel\r\n                    FROM items " . ($locales_search_option != 0 ? "LEFT JOIN items_localized ON (items_localized.entry=items.entry AND language_code='" . $locales_search_option . "') " : " ") . "WHERE items.entry='" . $coupon["item_id"] . "'";
                                } else {
                                    $i_query = "SELECT *, description AS description1 FROM item_template " . ($locales_search_option != 0 ? "LEFT JOIN locales_item ON locales_item.entry=item_template.entry " : " ") . "WHERE item_template.entry='" . $coupon["item_id"] . "'";
                                }
                                $i_result = $sql["world"]->query($i_query);
                                $i = $sql["world"]->fetch_assoc($i_result);
                                $output .= '
                <br />
                <br />
                <div class="coupon_item">
                  <div>
                    <a href="' . $base_datasite . $item_datasite . $coupon["item_id"] . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . $coupon["entry"] . '\');" onmouseout="HideTooltip(\'_b' . $coupon["entry"] . '\');">
                      <img src="' . get_item_icon($coupon["item_id"]) . '" alt="" />
                    </a>';
                                if ($coupon["item_count"] > 1) {
                                    $output .= '
                    <div class="ch_inv_quantity_shadow">' . $coupon["item_count"] . '</div>
                    <div class="ch_inv_quantity">' . $coupon["item_count"] . '</div>';
                                }
                                $output .= '
                  </div>';
                                // build a tooltip object for this item
                                $output .= '
                  <div class="item_tooltip_div" id="tooltip_b' . $coupon["entry"] . '" style="left: -129px; top: 42px;">
                    <div>' . get_item_tooltip($i, 0, 0, 0, 0, 0) . '</div>
                  </div>';
                                $output .= '
                </div>';
                            } else {
                                $output .= '
                <br />
                <br />
                <div class="coupon_item">
                  <div>
                    <a href="point_system.php?action=view_bag&amp;bag_id=' . $coupon["item_id"] * -1 . '" onmousemove="oldtoolTip(\'' . lang("points", "prize_bag") . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()">
                      <img src="' . get_item_icon(1725) . '" alt="" />
                    </a>
                  </div>
                </div>';
                            }
                        }
                        if ($coupon["raffle_id"] != 0) {
                            // find out how many entries per user the raffle allows and whether the raffle is enabled
                            if ($coupon["raffle_id"] != -1) {
                                $query = "SELECT tickets_per_user, enabled FROM point_system_raffles WHERE entry='" . $coupon["raffle_id"] . "'";
                                $result = $sql["mgr"]->query($query);
                                $result = $sql["mgr"]->fetch_assoc($result);
                                $per_user = $result["tickets_per_user"];
                                $raffle_enabled = $result["enabled"];
                                // if tickets_per_user is -1 then its unlimited, fake it with a reasonably high number
                                $per_user = 999999999;
                            } else {
                                // if it allows any raffle, then fake it
                                $per_user = 999999999;
                                $raffle_enabled = 1;
                            }
                            if ($raffle_enabled) {
                                // find out how many time we've entered
                                $query = "SELECT COUNT(*) FROM point_system_raffle_tickets WHERE raffle='" . $coupon["raffle_id"] . "' AND user='******'";
                                $result = $sql["mgr"]->query($query);
                                $result = $sql["mgr"]->fetch_assoc($result);
                                $tickets = $result["COUNT(*)"];
                                // if we haven't already purchased the maximum number of tickets
                                // or the raffle allows purchase of tickets from any raffle
                                if ($tickets < $per_user || $coupon["raffle_id"] == -1) {
                                    if ($coupon["redemption_option"] == 0) {
                                        $output .= '
                <br />
                <br />
                <span>' . lang("index", "and_raffle") . '</span>';
                                    } else {
                                        $output .= '
                <br />
                <br />
                <span>' . lang("index", "or_raffle") . '</span>';
                                    }
                                }
                            }
                        }
                        $output .= '
              </div>';
                    }
                    if ($coupon["credits"] < 0) {
                        $message = lang("points", "coupon_cost_credits");
                        $message = str_replace("%1", $coupon["credits"] * -1, $message);
                        $output .= '
              <div class="div_lined_line right_text">
                <span>' . $message . '</span>
              </div>';
                    }
                    if ($coupon["money"] < 0) {
                        $coupon["money"] = $coupon["money"] * -1;
                        $coupon_money = $coupon["money"];
                        $coupon_money = str_pad($coupon_money, 4, "0", STR_PAD_LEFT);
                        $cg = substr($coupon_money, 0, -4);
                        if ($cg == "") {
                            $cg = 0;
                        }
                        $cs = substr($coupon_money, -4, 2);
                        if ($cs == "" || $cs == "00") {
                            $cs = 0;
                        }
                        $cc = substr($coupon_money, -2);
                        if ($cc == "" || $cc == "00") {
                            $cc = 0;
                        }
                        $coupon_money_display = '
              <span>' . $cg . '</span>
              <img src="img/gold.gif" alt="" align="middle" />
              <span>' . $cs . '</span>
              <img src="img/silver.gif" alt="" align="middle" />
              <span>' . $cc . '</span>
              <img src="img/copper.gif" alt="" align="middle" />';
                        $message = lang("points", "coupon_cost_money");
                        $message = str_replace("%1", $coupon_money_display, $message);
                        $output .= '
              <div class="div_lined_line right_text">
                <span>' . $message . '</span>
              </div>';
                    }
                    $output .= '
              <div class="div_lined_line right_text">
                <a href="point_system.php?action=redeem_coupon&amp;coupon_id=' . $coupon["entry"] . '">
                  <img src="img/star.png" width="16" height="16" alt="" />
                  <span>&nbsp;' . lang("index", "use_coupon") . '</span>
                </a>
              </div>';
                    $output .= '
              <br />';
                }
            }
            if ($sql["mgr"]->num_rows($coupon_result)) {
                $output = substr($output, 0, strlen($output) - 20);
            }
            $output .= '
            </div>';
        }
    }
    // GM Tickets
    $start_m = isset($_GET["start_m"]) ? $sql["char"]->quote_smart($_GET["start_m"]) : 0;
    if (!is_numeric($start_m)) {
        $start_m = 0;
    }
    if ($core == 1) {
        $all_record_m = $sql["char"]->result($sql["char"]->query("SELECT COUNT(*) FROM gm_tickets WHERE deleted=0"), 0);
    } elseif ($core == 2) {
        $all_record_m = $sql["char"]->result($sql["char"]->query("SELECT COUNT(*) FROM character_ticket"), 0);
    } else {
        $all_record_m = $sql["char"]->result($sql["char"]->query("SELECT COUNT(*) FROM gm_tickets WHERE closedBy=0"), 0);
    }
    // show gm tickets
    $output .= '
            <br />';
    if ($user_lvl >= $action_permission["insert"]) {
        if ($all_record_m) {
            $output .= '
            <div class="div_lined">
              <div class="div_lined_head">
                <span>' . lang("index", "tickets") . '</span>
              </div>';
            if ($core == 1) {
                $result = $sql["char"]->query("SELECT ticketid, level, message, name, deleted,\r\n          timestamp, gm_tickets.playerGuid, acct\r\n          FROM gm_tickets\r\n            LEFT JOIN characters ON characters.guid=gm_tickets.playerGuid\r\n          ORDER BY ticketid DESC LIMIT " . $start_m . ", 3");
            } elseif ($core == 2) {
                $result = $sql["char"]->query("SELECT character_ticket.ticket_id AS ticketid, characters.level,\r\n          ticket_text AS message, characters.name, UNIX_TIMESTAMP(ticket_lastchange) AS timestamp,\r\n          character_ticket.guid AS playerGuid, account AS acct\r\n          FROM character_ticket\r\n            LEFT JOIN characters ON characters.guid=character_ticket.guid\r\n          ORDER BY ticketid DESC LIMIT " . $start_m . ", 3");
            } else {
                $result = $sql["char"]->query("SELECT gm_tickets.guid AS ticketid, characters.level, message,\r\n          gm_tickets.name, closedBy AS deleted, lastModifiedTime AS timestamp, gm_tickets.guid AS playerGuid, account AS acct\r\n          FROM gm_tickets\r\n            LEFT JOIN characters ON characters.guid=gm_tickets.guid\r\n          ORDER BY ticketid DESC LIMIT " . $start_m . ", 3");
            }
            while ($post = $sql["char"]->fetch_assoc($result)) {
                if (!$post["deleted"]) {
                    if ($core == 1) {
                        $login_result = $sql["logon"]->query("SELECT * FROM accounts WHERE acct='" . $post["acct"] . "'");
                    } else {
                        $login_result = $sql["logon"]->query("SELECT *, username AS login FROM account WHERE id='" . $post["acct"] . "'");
                    }
                    $login = $sql["logon"]->fetch_assoc($login_result);
                    $gm_result = $sql["mgr"]->query("SELECT SecurityLevel FROM config_accounts WHERE Login='******'");
                    $gm = $sql["mgr"]->fetch_assoc($gm_result);
                    $gm = $gm["SecurityLevel"];
                    if ($user_lvl > 0 && ($user_lvl >= gmlevel($gm) || $user_lvl == $action_permission["delete"])) {
                        $output .= '
              <div class="div_lined_line left_text">
                <a href="char.php?id=' . $post["playerGuid"] . '">
                  <span onmousemove="oldtoolTip(\'' . htmlspecialchars($login["username"]) . ' (' . id_get_gm_level($gm) . ')' . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()">' . htmlentities($post["name"], ENT_COMPAT, $site_encoding) . '</span>
                </a>
              </div>
              <div class="div_lined_line left_text">
                <span>' . htmlspecialchars($post["message"]) . '</span>
              </div>
              <div class="div_lined_line right_text">';
                    }
                    $output .= '
                <span>' . lang("index", "submitted") . ": " . date('G:i:s m-d-Y', $post["timestamp"]) . '</span>';
                    $output .= '
              </div>
              <div class="div_lined_line right_text">';
                    if ($user_lvl >= $action_permission["update"]) {
                        $output .= '
                <a href="ticket.php?action=edit_ticket&amp;error=4&amp;id=' . $post["ticketid"] . '">
                  <img src="img/edit.png" width="16" height="16" alt="" />
                </a>';
                    }
                    $output .= '
              </div>
              <br />';
                }
            }
            $output .= '
            </div>';
        }
    }
    // Character Changes
    // count pending character changes
    $char_change_count = $sql["mgr"]->result($sql["mgr"]->query("SELECT COUNT(*) FROM char_changes"), 0);
    // show pending character changes
    $output .= '
            <br />';
    if ($user_lvl >= $action_permission["update"]) {
        if ($char_change_count) {
            $output .= '
            <div class="div_lined">
              <div class="div_lined_head">
                <span>' . lang("index", "pendingchanges") . '</span>
              </div>';
            $result = $sql["mgr"]->query("SELECT * FROM char_changes");
            while ($change = $sql["mgr"]->fetch_assoc($result)) {
                if ($core == 1) {
                    $change_char_query = "SELECT * FROM characters WHERE guid='" . $change["guid"] . "'";
                } else {
                    $change_char_query = "SELECT *, account AS acct FROM characters WHERE guid='" . $change["guid"] . "'";
                }
                $change_char = $sql["char"]->fetch_assoc($sql["char"]->query($change_char_query));
                if ($core == 1) {
                    $change_acct_query = "SELECT * FROM accounts WHERE acct='" . $change_char["acct"] . "'";
                } else {
                    $change_acct_query = "SELECT *, username AS login FROM account WHERE id='" . $change_char["acct"] . "'";
                }
                $change_acct = $sql["logon"]->fetch_assoc($sql["logon"]->query($change_acct_query));
                if (isset($change["new_name"])) {
                    // Localization
                    $namechange = lang("xname", "playerhasreq");
                    $namechange = str_replace("%1", htmlspecialchars($change_acct["login"]), $namechange);
                    $namechange = str_replace("%2", htmlspecialchars($change_char["name"]), $namechange);
                    $namechange = str_replace("%3", htmlspecialchars($change["new_name"]), $namechange);
                    $output .= '
              <div class="div_lined_line left_text large">
                <span>' . $namechange . '</span>';
                }
                if (isset($change["new_race"])) {
                    // Localization
                    $racechange = lang("xrace", "playerhasreq");
                    $racechange = str_replace("%1", htmlspecialchars($change_acct["login"]), $racechange);
                    $racechange = str_replace("%2", htmlspecialchars($change_char["name"]), $racechange);
                    $racechange = str_replace("%3", char_get_race_name($change["new_race"]), $racechange);
                    $output .= '
              <div class="div_lined_line left_text large">
                <span>' . $racechange . '</span>';
                }
                if (isset($change["new_acct"])) {
                    if ($core == 1) {
                        $new_acct_query = "SELECT login FROM accounts WHERE acct='" . $change["new_acct"] . "'";
                    } else {
                        $new_acct_query = "SELECT username AS login FROM account WHERE id='" . $change["new_acct"] . "'";
                    }
                    $new_acct_result = $sql["logon"]->query($new_acct_query);
                    $new_acct_result = $sql["logon"]->fetch_assoc($new_acct_result);
                    $new_acct_name = $new_acct_result["login"];
                    // Localization
                    $acctchange = lang("xacct", "playerhasreq");
                    $acctchange = str_replace("%1", htmlspecialchars($change_acct["login"]), $acctchange);
                    $acctchange = str_replace("%2", htmlspecialchars($change_char["name"]), $acctchange);
                    $acctchange = str_replace("%3", $new_acct_name, $acctchange);
                    $output .= '
              <div class="div_lined_line left_text large">
                <span>' . $acctchange . '</span>';
                }
                if ($change_char["online"]) {
                    $output .= '
                <br />
                <br />
                <img src="img/aff_warn.gif" alt="warn" />
                <span class="error">' . lang("xname", "online") . '</span>';
                }
                $output .= '
              </div>';
                if (isset($change["new_name"])) {
                    $file = "change_char_name.php";
                } elseif (isset($change["new_race"])) {
                    $file = "change_char_race.php";
                } else {
                    $file = "change_char_account.php";
                }
                $output .= '
              <div class="div_lined_line right_text">
                <a href="' . $file . '?action=denied&amp;guid=' . $change["guid"] . '">
                  <img src="img/cross.png" width="12" height="12" alt="" />
                </a>';
                if (!$change_char["online"]) {
                    $output .= '
                <a href="' . $file . '?action=approve&amp;guid=' . $change["guid"] . '">
                  <img src="img/aff_tick.png" width="14" height="14" alt="" />
                </a>';
                }
                $output .= '
              </div>
              <br />';
            }
            $output .= '
            </div>';
        }
    }
    //print online chars
    if ($online && $user_lvl >= $player_online) {
        //==========================$_GET and SECURE=================================
        $start = isset($_GET["start"]) ? $sql["char"]->quote_smart($_GET["start"]) : 0;
        if (!is_numeric($start)) {
            $start = 0;
        }
        $order_by = isset($_GET["order_by"]) ? $sql["char"]->quote_smart($_GET["order_by"]) : "name";
        if (!preg_match("/^[_[:lower:]]{1,12}\$/", $order_by)) {
            $order_by = "name";
        }
        $dir = isset($_GET["dir"]) ? $sql["char"]->quote_smart($_GET["dir"]) : 1;
        if (!preg_match("/^[01]{1}\$/", $dir)) {
            $dir = 1;
        }
        $order_dir = $dir ? "ASC" : "DESC";
        $dir = $dir ? 0 : 1;
        //==========================$_GET and SECURE end=============================
        if ($order_by === "mapid") {
            $order_by = "mapid, zoneid ";
            $order_hold = "mapid";
        } elseif ($order_by === "zoneid") {
            $order_by = "zoneid, mapid ";
            $order_hold = "zoneid";
        } else {
            $order_hold = $order_by;
        }
        $order_side = "";
        if (!($user_lvl || $server[$realm_id]["both_factions"])) {
            if ($core == 1) {
                $result = $sql["char"]->query("SELECT race FROM characters WHERE acct=" . $user_id . "\r\n          AND SUBSTRING_INDEX(SUBSTRING_INDEX(playedtime, ' ', 2), ' ', -1)=(SELECT MAX(SUBSTRING_INDEX(SUBSTRING_INDEX(playedtime, ' ', 2), ' ', -1)) FROM characters WHERE acct=" . $user_id . ") LIMIT 1");
            } else {
                $result = $sql["char"]->query("SELECT race FROM characters WHERE account=" . $user_id . "\r\n          AND totaltime=(SELECT MAX(totaltime) FROM characters WHERE account=" . $user_id . ") LIMIT 1");
            }
            if ($sql["char"]->num_rows($result)) {
                $order_side = in_array($sql["char"]->result($result, 0), array(2, 5, 6, 8, 10)) ? " AND race IN (2, 5, 6, 8, 10) " : " AND race IN (1, 3, 4, 7, 11) ";
            }
        }
        if ($core == 1) {
            $result = $sql["char"]->query("SELECT guid, name, race, class, zoneid, mapid, level, characters.acct, gender,\r\n                            CAST( SUBSTRING_INDEX( SUBSTRING_INDEX( data, ';', " . (PLAYER_FIELD_HONOR_CURRENCY + 1) . " ), ';', -1 ) AS UNSIGNED ) AS highest_rank, lastip\r\n                            FROM characters\r\n                              LEFT JOIN `" . $logon_db["name"] . "`.accounts ON characters.acct=`" . $logon_db["name"] . "`.accounts.acct\r\n                            WHERE characters.online=1 " . $order_side . " ORDER BY " . $order_by . " " . $order_dir . " LIMIT " . $start . ", " . $itemperpage);
        } elseif ($core == 2) {
            $result = $sql["char"]->query("SELECT guid, name, race, class, zone AS zoneid, map AS mapid, level, account AS acct, gender,\r\n                            totalHonorPoints AS highest_rank, last_ip AS lastip\r\n                            FROM characters\r\n                              LEFT JOIN `" . $logon_db["name"] . "`.account ON characters.account=`" . $logon_db["name"] . "`.account.id\r\n                            WHERE characters.online=1 " . $order_side . " ORDER BY " . $order_by . " " . $order_dir . " LIMIT " . $start . ", " . $itemperpage);
        } else {
            $result = $sql["char"]->query("SELECT characters.guid, characters.name, race, class, zone AS zoneid, map AS mapid, level, account AS acct, gender,\r\n                            totalHonorPoints AS highest_rank, latency, last_ip AS lastip, guild.name AS gname\r\n                            FROM characters\r\n                              LEFT JOIN `" . $logon_db["name"] . "`.account ON characters.account=`" . $logon_db["name"] . "`.account.id\r\n                              LEFT JOIN guild_member ON characters.guid=guild_member.guid\r\n                              LEFT JOIN guild ON guild_member.guildid=guild.guildid\r\n                            WHERE characters.online=1 " . $order_side . " ORDER BY " . $order_by . " " . $order_dir . " LIMIT " . $start . ", " . $itemperpage);
        }
        $total_online = $sql["char"]->result($sql["char"]->query("SELECT count(*) FROM characters WHERE online= 1"), 0);
        $output .= '
            <div class="div_lined center_text">
              <span class="bold">' . lang("index", "tot_users_online") . ': ' . $total_online . '</span>
            </div>';
        if ($total_online) {
            $output .= '
            <table class="lined">
              <tr>
                <td colspan="' . (9 - $showcountryflag) . '" align="right" class="hidden" style="width: 25%;">';
            $output .= generate_pagination("index.php?start_m=" . $start_m . "&amp;order_by=" . $order_hold . "&amp;dir=" . ($dir ? 0 : 1), $total_online, $itemperpage, $start);
            $output .= '
                </td>
              </tr>
              <tr>
                <th style="width: 15%;">
                  <a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=name&amp;dir=' . $dir . '"' . ($order_by === "name" ? ' class="' . $order_dir . '"' : '') . '>' . lang("index", "name") . '</a>
                </th>
                <th style="width: 1%;">
                  <a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=race&amp;dir=' . $dir . '"' . ($order_by === "race" ? ' class="' . $order_dir . '"' : '') . '>' . lang("index", "race") . '</a>
                </th>
                <th style="width: 1%;">
                  <a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=class&amp;dir=' . $dir . '"' . ($order_by === "class" ? ' class="' . $order_dir . '"' : '') . '>' . lang("index", "class") . '</a>
                </th>
                <th style="width: 5%;">
                  <a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=level&amp;dir=' . $dir . '"' . ($order_by === "level" ? ' class="' . $order_dir . '"' : '') . '>' . lang("index", "level") . '</a>
                </th>
                <th style="width: 1%;">
                  <a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=highest_rank&amp;dir=' . $dir . '"' . ($order_by === "highest_rank" ? ' class="' . $order_dir . '"' : '') . '>' . lang("index", "rank") . '</a>
                </th>
                <th style="width: 15%;">
                  <a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=gname&amp;dir=' . $dir . '"' . ($order_by === "gname" ? ' class="' . $order_dir . '"' : '') . '>' . lang("index", "guild") . '</a>
                </th>
                <th style="width: 20%;">
                  <a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=mapid&amp;dir=' . $dir . '"' . ($order_by === "mapid, zoneid " ? ' class="' . $order_dir . '"' : '') . '>' . lang("index", "map") . '</a>
                </th>
                <th style="width: 25%;">
                  <a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=zoneid&amp;dir=' . $dir . '"' . ($order_by === "zoneid, mapid " ? ' class="' . $order_dir . '"' : '') . '>' . lang("index", "zone") . '</a>
                </th>';
            if ($core == 1) {
                $output .= '
                <th style="width: 25%;">
                  <span>' . lang("index", "area") . '</span>
                </th>';
            }
            // this_is_junk: MaNGOS doesn't store player latency
            if ($core != 2) {
                if (!$hide_plr_latency) {
                    // this_is_junk: Trinity is the only core which can sort by Player Latency
                    if ($core == 3) {
                        $output .= '
                <th style="width: 1%;">
                  <a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=latency&amp;dir=' . $dir . '"' . ($order_by === "latency" ? ' class="' . $order_dir . '"' : '') . '>
                    <img src="img/time.png" onmousemove="oldtoolTip(\'' . lang("index", "latency") . '\',\'old_item_tooltip\')" onmouseout="oldtoolTip()" alt=""' . ($order_by === "latency" ? '' : ' style="position: relative; top: 7px;"') . ' />
                  </a>
                </th>';
                    } else {
                        $output .= '
                <th style="width: 1%;">
                  <img src="img/time.png" onmousemove="oldtoolTip(\'' . lang("index", "latency") . '\',\'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" style="position: relative; top: 7px;" />
                </th>';
                    }
                }
            }
            if ($showcountryflag) {
                require_once "libs/misc_lib.php";
                $output .= '
                <th style="width: 1%;">
                  <a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=lastip&amp;dir=' . $dir . '"' . ($order_by === "lastip" ? ' class="' . $order_dir . '"' : '') . '>
                    <img src="img/world.png" onmousemove="oldtoolTip(\'' . lang("global", "country") . '\',\'old_item_tooltip\')" onmouseout="oldtoolTip()" alt=""' . ($order_by === "lastip" ? '' : ' style="position: relative; top: 7px;"') . ' />
                  </a>
                </th>';
            }
            $output .= '
              </tr>';
        }
        while ($char = $sql["char"]->fetch_assoc($result)) {
            if ($core == 1) {
                $ca_query = "SELECT accounts.login AS name FROM `" . $logon_db["name"] . "`.accounts LEFT JOIN `" . $corem_db["name"] . "`.config_accounts ON accounts.login=`" . $corem_db["name"] . "`.config_accounts.Login COLLATE utf8_unicode_ci WHERE acct='" . $char["acct"] . "'";
            } else {
                $ca_query = "SELECT *, username AS name FROM `" . $logon_db["name"] . "`.account LEFT JOIN `" . $corem_db["name"] . "`.config_accounts ON account.username=`" . $corem_db["name"] . "`.config_accounts.Login WHERE id='" . $char["acct"] . "'";
            }
            $ca_result = $sql["mgr"]->query($ca_query);
            $char_acct = $sql["mgr"]->fetch_assoc($ca_result);
            $gm = $char_acct["SecurityLevel"];
            if (!isset($gm)) {
                $gm = 0;
            }
            if ($core == 1) {
                $guild_id = $sql["char"]->result($sql["char"]->query("SELECT guildid FROM guild_data WHERE playerid='" . $char["guid"] . "'"), 0);
            } else {
                $guild_id = $sql["char"]->result($sql["char"]->query("SELECT guildid FROM guild_member WHERE guid='" . $char["guid"] . "'"), 0);
            }
            if ($core == 1) {
                $guild_name_query = "SELECT guildName FROM guilds WHERE guildid='" . $guild_id . "'";
            } else {
                $guild_name_query = "SELECT name AS guildName FROM guild WHERE guildid='" . $guild_id . "'";
            }
            $guild_name_result = $sql["char"]->query($guild_name_query);
            $guild_name = $sql["char"]->fetch_assoc($guild_name_result);
            $guild_name = $guild_name["guildName"];
            $output .= '
              <tr>
                <td>';
            if ($user_lvl > 0 && ($user_lvl >= gmlevel($gm) || $user_lvl == $action_permission["delete"])) {
                $output .= '
                  <a href="char.php?id=' . $char["guid"] . '">
                    <span onmousemove="oldtoolTip(\'' . htmlspecialchars($char_acct["name"]) . ' (' . id_get_gm_level($gm) . ')' . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()">' . htmlentities($char["name"], ENT_COMPAT, $site_encoding) . '</span>
                  </a>';
            } else {
                $output .= '
                  <span>' . htmlentities($char["name"], ENT_COMPAT, $site_encoding) . '</span>';
            }
            $output .= '
                </td>
                <td>
                  <img src="img/c_icons/' . $char["race"] . '-' . $char["gender"] . '.gif" onmousemove="oldtoolTip(\'' . char_get_race_name($char["race"]) . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />
                </td>
                <td>
                  <img src="img/c_icons/' . $char["class"] . '.gif" onmousemove="oldtoolTip(\'' . char_get_class_name($char["class"]) . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />
                </td>
                <td>' . char_get_level_color($char["level"]) . '</td>
                <td>
                  <span onmouseover="oldtoolTip(\'' . char_get_pvp_rank_name($char["highest_rank"], char_get_side_id($char["race"])) . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" id="index_delete_cursor"><img src="img/ranks/rank' . char_get_pvp_rank_id($char["highest_rank"], char_get_side_id($char["race"])) . '.gif" alt="" /></span>
                </td>
                <td>
                  <a href="guild.php?action=view_guild&amp;error=3&amp;id=' . $guild_id . '">' . htmlentities($guild_name, ENT_COMPAT, $site_encoding) . '</a>
                </td>
                <td>
                  <span onmousemove="oldtoolTip(\'MapID:' . $char["mapid"] . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()">' . get_map_name($char["mapid"]) . '</span>
                </td>
                <td>
                  <span onmousemove="oldtoolTip(\'ZoneID:' . $char["zoneid"] . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()">' . get_zone_name($char["zoneid"]) . '</span>
                </td>';
            // display player area, if available
            if ($core == 1) {
                for ($i = 0; $i < count($stats["plrs_area"]); $i++) {
                    if ($stats["plrs_area"][$i][0] == $char["name"]) {
                        $output .= '
                <td>
                  <span onmousemove="toolTip(\'AreaID:' . $stats["plrs_area"][$i][1] . '\', \'item_tooltip\')" onmouseout="toolTip()">' . get_zone_name($stats["plrs_area"][$i][1]) . '</span>
                </td>';
                    }
                    if (!isset($stats["plrs_lat"][$i][1])) {
                        $output .= '
                <td>-</td>';
                    }
                }
            }
            // display player latency, if enabled, and if available
            if (!$hide_plr_latency) {
                if ($core == 1) {
                    for ($i = 0; $i < count($stats["plrs_lat"]); $i++) {
                        if ($stats["plrs_lat"][$i][0] == $char["name"]) {
                            $output .= '
                <td>' . $stats["plrs_lat"][$i][1] . '</td>';
                        }
                        if (!isset($stats["plrs_lat"][$i][1])) {
                            $output .= '
                <td>-</td>';
                        }
                    }
                } else {
                    // this_is_junk: MaNGOS doesn't store player latency
                    if ($core == 3) {
                        $output .= '
                <td>' . $char["latency"] . '</td>';
                    }
                }
            }
            if ($showcountryflag) {
                $country = misc_get_country_by_ip($char["lastip"]);
                $output .= '
                <td>' . ($country["code"] ? '<img src="img/flags/' . $country["code"] . '.png" onmousemove="oldtoolTip(\'' . $country["country"] . ($user_lvl >= $action_permission["update"] ? '<br />' . $country["actualip"] : '') . '\',\'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />' : '-') . '</td>';
            }
            $output .= '
              </tr>';
        }
        if ($total_online) {
            $output .= '
              <tr>';
            $output .= '
                <td colspan="' . (9 - $showcountryflag) . '" align="right" class="hidden" style="width: 25%;">';
            $output .= generate_pagination("index.php?start_m=" . $start_m . "&amp;order_by=" . $order_by . "&amp;dir=" . ($dir ? 0 : 1), $total_online, $itemperpage, $start);
            $output .= '
                </td>
              </tr>
            </table>';
        }
        $output .= '
            <br />';
        unset($total_online);
    }
}
Esempio n. 19
0
//else
//  exit('<center><br><code>\'scripts/config.php\'</code> not found,<br>
//        please copy <code>\'scripts/config.dist.php\'</code> to
//        <code>\'scripts/config.php\'</code> and make appropriate changes.');
require_once 'libs/db_lib.php';
require_once 'libs/global_lib.php';
require_once 'libs/item_lib.php';
//header('Expires: Tue, 01 Jan 2000 00:00:00 GMT');
//header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
//header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
//header('Cache-Control: post-check=0, pre-check=0', false);
//header('Pragma: no-cache');
//wowhead_tt();
//echo $output;
$sqlm = new SQL();
$sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
$realm_id = 1;
$sqlw = new SQL();
$sqlw->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);
$result = $sqlw->query('select entry from item_template order by entry ASC');
$i = 0;
while ($entry = $sqlw->fetch_assoc($result)) {
    if (get_item_icon($entry['entry'], $sqlm, $sqlw) == 'img/INV/INV_blank_32.gif') {
        //echo '<a href="'.$item_datasite.$entry['entry'].'"><img src="'.get_item_icon($entry['entry'], $sqlm, $sqlw).'" /></a>';
        get_item_icon($entry['entry']);
        echo $entry['entry'] . ' ';
    } else {
        ++$i;
    }
}
echo $i;
Esempio n. 20
0
function guild_bank(&$sqlr, &$sqlc)
{
    global $output, $lang_global, $lang_guildbank, $realm_id, $characters_db, $mmfpm_db, $world_db, $item_datasite, $item_icons;
    wowhead_tt();
    if (empty($_GET['id'])) {
        error($lang_global['empty_fields']);
    }
    // this is multi realm support, as of writing still under development
    //  this page is already implementing it
    if (empty($_GET['realm'])) {
        $realmid = $realm_id;
    } else {
        $realmid = $sqlr->quote_smart($_GET['realm']);
        if (is_numeric($realmid)) {
            $sqlc->connect($characters_db[$realmid]['addr'], $characters_db[$realmid]['user'], $characters_db[$realmid]['pass'], $characters_db[$realmid]['name']);
        } else {
            $realmid = $realm_id;
        }
    }
    $guild_id = $sqlc->quote_smart($_GET['id']);
    if (is_numeric($guild_id)) {
    } else {
        $guild_id = 0;
    }
    if (empty($_GET['tab'])) {
        $current_tab = 0;
    } else {
        $current_tab = $sqlc->quote_smart($_GET['tab']);
    }
    if (is_numeric($current_tab) || $current_tab > 6) {
    } else {
        $current_tab = 0;
    }
    $result = $sqlc->query('SELECT name, BankMoney FROM guild WHERE guildid = ' . $guild_id . ' LIMIT 1');
    if ($sqlc->num_rows($result)) {
        $guild_name = $sqlc->result($result, 0, 'name');
        $bank_gold = $sqlc->result($result, 0, 'BankMoney');
        $result = $sqlc->query('SELECT TabId, TabName, TabIcon FROM guild_bank_tab WHERE guildid = ' . $guild_id . ' LIMIT 6');
        $tabs = array();
        while ($tab = $sqlc->fetch_assoc($result)) {
            $tabs[$tab['TabId']] = $tab;
        }
        $output .= '
	<div class="top">
	<h1>' . $guild_name . ' ' . $lang_guildbank['guildbank'] . '</h1>
	</div>
	<center>
	<div id="tab">
	<ul>';
        for ($i = 0; $i < 6; ++$i) {
            if (isset($tabs[$i])) {
                $output .= '
			<li' . ($current_tab == $i ? ' id="selected"' : '') . '>
			<a href="guildbank.php?id=' . $guild_id . '&amp;tab=' . $i . '&amp;realm=' . $realmid . '">';
                if ($tabs[$i]['TabIcon'] == '') {
                    $output .= '
				<img src="img/INV/INV_blank_32.gif" class="icon_border_0"';
                } else {
                    if (file_exists('' . $item_icons . '/' . $tabs[$i]['TabIcon'] . '.jpg')) {
                        $output .= '
				<img src="' . $item_icons . '/' . $tabs[$i]['TabIcon'] . '.jpg" class="icon_border_0"';
                    } else {
                        $output .= '
				<img src="img/INV/INV_blank_32.gif" class="icon_border_0"';
                    }
                }
                if ($tabs[$i]['TabName'] == '') {
                    $output .= ' onmousemove="toolTip(\'' . $lang_guildbank['tab'] . ($i + 1) . '\', \'item_tooltip\')" onmouseout="toolTip()" alt="" />';
                } else {
                    $output .= ' onmousemove="toolTip(\'' . $tabs[$i]['TabName'] . '\', \'item_tooltip\')" onmouseout="toolTip()" alt="" />';
                }
                $output .= '
			</a>
			</li>';
            }
        }
        $output .= '
</ul>
</div>
<div id="tab_content">';
        $result = $sqlc->query('SELECT gbi.SlotId, gbi.item_entry, SUBSTRING_INDEX(SUBSTRING_INDEX(data, " ", 15), " ", -1) as stack_count FROM guild_bank_item gbi INNER JOIN item_instance ii on ii.guid = gbi.item_guid WHERE gbi.guildid = ' . $guild_id . ' AND TabID = ' . $current_tab . '');
        $gb_slots = array();
        while ($tab = $sqlc->fetch_assoc($result)) {
            if ($tab['item_entry']) {
                $gb_slots[$tab['SlotId']] = $tab;
            }
        }
        $output .= '
<table style="width: 510px;">
	<tr>
		<td class="bag" align="center">
			<div style="width:' . 14 * 43 . 'px;height:' . 7 * 41 . 'px;">';
        $sqlm = new SQL();
        $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
        $sqlw = new SQL();
        $sqlw->connect($world_db[$realmid]['addr'], $world_db[$realmid]['user'], $world_db[$realmid]['pass'], $world_db[$realmid]['name']);
        $item_position = 0;
        for ($i = 0; $i < 7; ++$i) {
            for ($j = 0; $j < 14; ++$j) {
                $item_position = $j * 7 + $i;
                if (isset($gb_slots[$item_position])) {
                    $gb_item_id = $gb_slots[$item_position]['item_entry'];
                    $stack = $gb_slots[$item_position]['stack_count'] == 1 ? '' : $gb_slots[$item_position]['stack_count'];
                    $output .= '
						<div style="left:' . $j * 43 . 'px;top:' . $i * 41 . 'px;">
						<a style="padding:2px;" href="' . $item_datasite . $gb_item_id . '">
						<img src="' . get_item_icon($gb_item_id, $sqlm, $sqlw) . '" alt="" />
						</a>
						<div style="width:25px;margin:-15px 0px 0px 16px;color:black;font-size:12px">' . $stack . '</div>
						<div style="width:25px;margin:-16px 0px 0px 15px;color:white;font-size:12px">' . $stack . '</div>
						</div>';
                }
            }
        }
        $output .= '
</div>
</td>
</tr>
<tr>
	<td class="hidden" align="right">
		' . substr($bank_gold, 0, -4) . '<img src="img/gold.gif" alt="" align="middle" />
		' . substr($bank_gold, -4, -2) . '<img src="img/silver.gif" alt="" align="middle" />
		' . substr($bank_gold, -2) . '<img src="img/copper.gif" alt="" align="middle" />
	</td>
</tr>
</table>
</div>
<br />
<table class="hidden">
	<tr>
		<td>';
        makebutton($lang_guildbank['guild'], 'guild.php?action=view_guild&amp;realm=' . $realmid . '&amp;error=3&amp;id=' . $guild_id . '', 130);
        $output .= '
		</td>
	</tr>
</table>
<br />
</center>';
        unset($bank_gold);
    } else {
        redirect('error.php?err=' . $lang_guildbank['notfound']);
    }
}
Esempio n. 21
0
function guild_bank()
{
    global $output, $realm_id, $characters_db, $arcm_db, $world_db, $item_datasite, $base_datasite, $item_icons, $sql, $core;
    wowhead_tt();
    if (empty($_GET["id"])) {
        error(lang("global", "empty_fields"));
    }
    // this is multi realm support, as of writing still under development
    //  this page is already implementing it
    if (empty($_GET["realm"])) {
        $realmid = $realm_id;
    } else {
        $realmid = $sql["logon"]->quote_smart($_GET["realm"]);
        if (is_numeric($realmid)) {
            $sql["char"]->connect($characters_db[$realmid]["addr"], $characters_db[$realmid]["user"], $characters_db[$realmid]["pass"], $characters_db[$realmid]["name"], $characters_db[$realmid]["encoding"]);
        } else {
            $realmid = $realm_id;
        }
    }
    $guild_id = $sql["char"]->quote_smart($_GET["id"]);
    if (!is_numeric($guild_id)) {
        $guild_id = 0;
    }
    if (empty($_GET["tab"])) {
        $current_tab = 0;
    } else {
        $current_tab = $sql["char"]->quote_smart($_GET["tab"]);
    }
    if (!is_numeric($current_tab) || $current_tab > 6) {
        $current_tab = 0;
    }
    if ($core == 1) {
        $result = $sql["char"]->query("SELECT guildName, bankBalance FROM guilds WHERE guildid='" . $guild_id . "' LIMIT 1");
    } else {
        $result = $sql["char"]->query("SELECT name AS guildName, BankMoney AS bankBalance FROM guild WHERE guildid='" . $guild_id . "' LIMIT 1");
    }
    if ($sql["char"]->num_rows($result)) {
        $guild_name = $sql["char"]->result($result, 0, "guildName");
        $bank_gold = $sql["char"]->result($result, 0, "bankBalance");
        if ($core == 1) {
            $result = $sql["char"]->query("SELECT TabId, TabName, TabIcon FROM guild_banktabs WHERE guildid='" . $guild_id . "' LIMIT 6");
        } else {
            $result = $sql["char"]->query("SELECT TabId, TabName, TabIcon FROM guild_bank_tab WHERE guildid='" . $guild_id . "' LIMIT 6");
        }
        $tabs = array();
        while ($tab = $sql["char"]->fetch_assoc($result)) {
            $tabs[$tab["TabId"]] = $tab;
        }
        $output .= '
          <div class="top">
            <h1>' . $guild_name . ' ' . lang("guildbank", "guildbank") . '</h1>
          </div>
          <div class="tab">
            <ul>';
        for ($i = 0; $i < 6; ++$i) {
            if (isset($tabs[$i])) {
                $output .= '
              <li' . ($current_tab == $i ? ' class="selected"' : '') . '>
                <a href="guildbank.php?id=' . $guild_id . '&amp;tab=' . $i . '&amp;realm=' . $realmid . '">';
                if ($tabs[$i]['TabIcon'] == '') {
                    $output .= '
                  <img src="img/INV/INV_blank_32.gif" class="icon_border_0"';
                } else {
                    // make sure we're looking for the file name with the correct capitalization
                    $ii_query = "SELECT * FROM itemdisplayinfo WHERE LCASE(IconName)='" . strtolower($tabs[$i]["TabIcon"]) . "' LIMIT 1";
                    $ii_result = $sql["dbc"]->query($ii_query);
                    $ii_fields = $sql["dbc"]->fetch_assoc($ii_result);
                    $tabs[$i]["TabIcon"] = $ii_fields["IconName"];
                    if (file_exists($item_icons . "/" . $tabs[$i]["TabIcon"] . ".png")) {
                        $output .= '
                  <img src="' . $item_icons . "/" . $tabs[$i]["TabIcon"] . '.png" class="icon_border_0"';
                    } else {
                        $output .= '
                  <img src="img/INV/INV_blank_32.gif" class="icon_border_0"';
                    }
                }
                if ($tabs[$i]['TabName'] == '') {
                    $output .= ' onmousemove="oldtoolTip(\'' . lang("guildbank", "tab") . ($i + 1) . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />';
                } else {
                    $output .= ' onmousemove="oldtoolTip(\'' . $tabs[$i]['TabName'] . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />';
                }
                $output .= '
                </a>
              </li>';
            }
        }
        $output .= '
            </ul>
          </div>
          <div class="tab_content center">';
        if ($core == 1) {
            $result = $sql["char"]->query("SELECT gbi.SlotId, gbi.itemGuid, ii.entry,\r\n        ii.count AS stack_count,\r\n        FROM guild_bankitems gbi\r\n          INNER JOIN playeritems ii ON ii.guid=gbi.itemGuid\r\n        WHERE gbi.guildid='" . $guild_id . "' AND TabID='" . $current_tab . "'");
        } elseif ($core == 2) {
            $result = $sql["char"]->query("SELECT gbi.SlotId, gbi.item_guid AS itemGuid, gbi.item_entry AS entry, \r\n        SUBSTRING_INDEX(SUBSTRING_INDEX(data, ' ', 15), ' ', -1) as stack_count \r\n        FROM guild_bank_item gbi\r\n          INNER JOIN item_instance ii ON ii.guid=gbi.item_guid \r\n        WHERE gbi.guildid='" . $guild_id . "' AND TabID='" . $current_tab . "'");
        } else {
            $result = $sql["char"]->query("SELECT gbi.SlotId, gbi.item_guid AS itemGuid, ii.itemEntry AS entry, \r\n        ii.count as stack_count \r\n        FROM guild_bank_item gbi\r\n          INNER JOIN item_instance ii ON ii.guid=gbi.item_guid \r\n        WHERE gbi.guildid='" . $guild_id . "' AND TabID='" . $current_tab . "'");
        }
        $gb_slots = array();
        while ($tab = $sql["char"]->fetch_assoc($result)) {
            if ($tab["itemGuid"]) {
                $gb_slots[$tab["SlotId"]] = $tab;
            }
        }
        // this_is_junk: style left hardcoded because it's calculated.
        $output .= '
            <table id="guildbank_tabs">
              <tr>
                <td align="center">
                  <div class="bag" style="width:' . (14 * 43 + 2) . 'px; height:' . 7 * 41 . 'px;">';
        $item_position = 0;
        for ($i = 0; $i < 7; ++$i) {
            for ($j = 0; $j < 14; ++$j) {
                $item_position = $j * 7 + $i;
                if (isset($gb_slots[$item_position])) {
                    $gb_item_id = $gb_slots[$item_position]["entry"];
                    $stack = $gb_slots[$item_position]["stack_count"] == 1 ? '' : $gb_slots[$item_position]["stack_count"];
                    // this_is_junk: style left hardcoded because it's calculated.
                    $output .= '
                    <div class="bag_slot" style="left:' . ($j * 43 + 4) . 'px; top:' . ($i * 41 + 4) . 'px;">
                      <a class="guildbank_padding" href="' . $base_datasite . $item_datasite . $gb_item_id . '">
                        <img src="' . get_item_icon($gb_item_id) . '" class="inv_icon" alt="" />
                      </a>
                      <div class="guildbank_quantity_shadow">' . $stack . '</div>
                      <div class="guildbank_quantity">' . $stack . '</div>
                    </div>';
                }
            }
        }
        $output .= '
                  </div>
                </td>
              </tr>
              <tr>
                <td class="hidden" align="right">
                  ' . substr($bank_gold, 0, -4) . '<img src="img/gold.gif" alt="" style="position: relative; bottom: -6px;" />
                  ' . substr($bank_gold, -4, 2) . '<img src="img/silver.gif" alt="" style="position: relative; bottom: -6px;" />
                  ' . substr($bank_gold, -2) . '<img src="img/copper.gif" alt="" style="position: relative; bottom: -6px;" />
                </td>
              </tr>
            </table>
          </div>
          <br />
          <table class="hidden center">
            <tr>
              <td>';
        makebutton(lang("guildbank", "guild"), "guild.php?action=view_guild&amp;realm=" . $realmid . "&amp;error=3&amp;id=" . $guild_id, 130);
        $output .= '
              </td>
            </tr>
          </table>
          <br />';
        unset($bank_gold);
    } else {
        redirect("error.php?err=" . lang("guildbank", "notfound"));
    }
}
function edit_user()
{
    global $output, $dbc_db, $corem_db, $logon_db, $characters_db, $corem_db, $realm_id, $invite_only, $timezone_offset, $user_name, $user_id, $expansion_select, $server, $developer_test_mode, $multi_realm_mode, $remember_me_checked, $achievement_point_points, $achievement_point_credits, $credits_fractional, $sql, $core;
    $refguid = $sql["mgr"]->result($sql["mgr"]->query("SELECT InvitedBy FROM point_system_invites WHERE PlayersAccount='" . $user_id . "'"), 0, 'InvitedBy');
    $referred_by = $sql["char"]->result($sql["char"]->query("SELECT name FROM characters WHERE guid='" . $refguid . "'"), 0, 'name');
    unset($refguid);
    if ($core == 1) {
        $query = "SELECT email, flags, lastip FROM accounts WHERE login='******'";
    } else {
        $query = "SELECT email, expansion AS flags, last_ip AS lastip FROM account WHERE username='******'";
    }
    if ($acc = $sql["logon"]->fetch_assoc($sql["logon"]->query($query))) {
        // if we have a screen name, we need to use it
        $screen_name_query = "SELECT *,\n        SUBSTRING_INDEX(SUBSTRING_INDEX(Avatar, ' ', 1), ' ', -1) AS avatarsex,\n        SUBSTRING_INDEX(SUBSTRING_INDEX(Avatar, ' ', 2), ' ', -1) AS avatarrace,\n        SUBSTRING_INDEX(SUBSTRING_INDEX(Avatar, ' ', 3), ' ', -1) AS avatarclass,\n        SUBSTRING_INDEX(SUBSTRING_INDEX(Avatar, ' ', 4), ' ', -1) AS avatarlevel\n        FROM config_accounts WHERE Login='******'";
        $screen_name = $sql["mgr"]->query($screen_name_query);
        $screen_name = $sql["mgr"]->fetch_assoc($screen_name);
        if ($screen_name["SecurityLevel"] >= 1073741824) {
            $screen_name["SecurityLevel"] -= 1073741824;
        }
        // ArcEmu: find out if we're using an encrypted password for this account
        if ($core == 1) {
            $pass_query = "SELECT * FROM accounts WHERE login='******' AND encrypted_password<>''";
            $pass_result = $sql["logon"]->query($pass_query);
            $arc_encrypted = $sql["logon"]->num_rows($pass_result);
        }
        $output .= '
            <script type="text/javascript" src="libs/js/sha1.js"></script>
            <script type="text/javascript">
              // <![CDATA[
                function do_submit_data ()
                {
                  var myForm = document.getElementById("form")';
        if ($core == 1) {
            if ($arc_encrypted) {
                $output .= '
                  myForm.pass.value = hex_sha1("' . strtoupper($user_name) . ':" + myForm.user_pass.value.toUpperCase());';
            } else {
                $output .= '
                  myForm.pass.value = myForm.user_pass.value;';
            }
        } else {
            $output .= '
                  myForm.pass.value = hex_sha1("' . strtoupper($user_name) . ':" + myForm.user_pass.value.toUpperCase());';
        }
        $output .= '
                  myForm.pass.value = myForm.pass.value.toUpperCase();
                  do_submit();
                }
              // ]]>
            </script>
            <div id="edit_fieldset" class="fieldset_border center">
              <span class="legend">' . lang("edit", "edit_acc") . '</span>
              <form method="post" action="edit.php?action=doedit_user" id="form">
                <div>
                  <input type="hidden" name="pass" value="" maxlength="256" />
                </div>
                <table class="flat" id="edit_fieldset_table">
                  <tr>
                    <td>' . lang("edit", "id") . ':</td>
                    <td colspan="2">' . htmlspecialchars($user_id) . '</td>
                  </tr>
                  <tr>
                    <td>' . lang("edit", "username") . ':</td>
                    <td colspan="2">' . htmlspecialchars($user_name) . '</td>
                  </tr>';
        if (!$screen_name["ScreenName"]) {
            $output .= '
                  <tr>
                    <td>' . lang("edit", "screenname") . ':</td>
                    <td colspan="2"><input type="text" name="screenname" size="42" maxlength="14" /></td>
                  </tr>';
        } else {
            $output .= '
                  <tr>
                    <td>' . lang("edit", "screenname") . ':</td>
                    <td colspan="2">' . htmlspecialchars($screen_name["ScreenName"]) . '</td>
                  </tr>';
        }
        $output .= '
                  <tr>
                    <td>' . lang("edit", "password") . ':</td>
                    <td colspan="2">
                      <input type="text" name="user_pass" size="39" maxlength="40" value="******" />
                      <img src="img/information.png" onmousemove="oldtoolTip(\'' . lang("edit", "pass_warning") . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("edit", "mail") . ':</td>';
        if ($screen_name["TempEmail"]) {
            $output .= '
                    <td colspan="2">
                      <a href="edit.php?action=cancel_email_change" >
                        <img src="img/aff_warn.gif" onmousemove="oldtoolTip(\'' . lang("edit", "email_changed") . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />
                      </a>
                      <input type="text" name="mail" size="39" maxlength="225" value="' . $acc["email"] . '" />
                    </td>';
        } else {
            $output .= '
                    <td colspan="2"><input type="text" name="mail" size="42" maxlength="225" value="' . $acc["email"] . '" /></td>';
        }
        $output .= '
                  </tr>
                  <tr>
                    <td>' . lang("edit", "invited_by") . ':</td>
                    <td colspan="2">';
        if ($referred_by == NULL) {
            $output .= '
                      <input type="text" name="referredby" size="20" maxlength="12" value="' . $referred_by . '" /> (' . lang("user", "charname") . ')';
        } else {
            $output .= '
                    ' . htmlspecialchars($referred_by) . '';
        }
        $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("edit", "gm_level") . ':</td>
                    <td colspan="2">' . id_get_gm_level($screen_name["SecurityLevel"]) . ' ( ' . $screen_name["SecurityLevel"] . ' )</td>
                  </tr>
                  <tr>
                    <td>' . lang("edit", "last_ip") . ':</td>
                    <td colspan="2">' . htmlspecialchars($acc["lastip"]) . '</td>
                  </tr>';
        if ($expansion_select) {
            if ($core == 1) {
                $output .= '
                    <tr>
                      <td>' . lang("edit", "client_type") . ':</td>
                      <td colspan="2">
                        <select name="expansion">
                          <option value="24" ' . ($acc["flags"] == 24 ? 'selected="selected"' : '') . '>' . lang("edit", "wotlktbc") . '</option>
                          <option value="16" ' . ($acc["flags"] == 16 ? 'selected="selected"' : '') . '>' . lang("edit", "wotlk") . '</option>
                          <option value="8" ' . ($acc["flags"] == 8 ? 'selected="selected"' : '') . '>' . lang("edit", "tbc") . '</option>
                          <option value="0" ' . ($acc["flags"] == 0 ? 'selected="selected"' : '') . '>' . lang("edit", "classic") . '</option>
                        </select>
                      </td>
                    </tr>';
            } else {
                $output .= '
                    <tr>
                      <td>' . lang("edit", "client_type") . ':</td>
                      <td colspan="2">
                        <select name="expansion">
                          <option value="2" ' . ($acc["flags"] == 2 ? 'selected="selected"' : '') . '>' . lang("edit", "wotlktbc") . '</option>
                          <option value="1" ' . ($acc["flags"] == 1 ? 'selected="selected"' : '') . '>' . lang("edit", "tbc") . '</option>
                          <option value="0" ' . ($acc["flags"] == 0 ? 'selected="selected"' : '') . '>' . lang("edit", "classic") . '</option>
                        </select>
                      </td>
                    </tr>';
            }
        }
        $output .= '
                    <tr>
                      <td>' . lang("edit", "credits") . ':</td>
                      <td colspan="2">' . ($screen_name["Credits"] < 0 ? lang("edit", "unlimited") : (double) $screen_name["Credits"]) . '</td>
                    </tr>';
        foreach ($characters_db as $db) {
            $sqlt = new SQL();
            $sqlt->connect($db["addr"], $db["user"], $db["pass"], $db["name"], $db["encoding"]);
            if ($core == 1) {
                $query = "SELECT COUNT(*) FROM characters WHERE acct='" . $user_id . "'";
            } else {
                $query = "SELECT COUNT(*) FROM characters WHERE account='" . $user_id . "'";
            }
            $result = $sqlt->query($query);
            $fields = $sqlt->fetch_assoc($result);
            $c_count += $fields["COUNT(*)"];
        }
        $output .= '
                  <tr>
                    <td>' . lang("edit", "tot_chars") . ':</td>
                    <td colspan="2">' . $c_count . '</td>
                  </tr>';
        $total_achieve_points = 0;
        $realms = $sql["mgr"]->query("SELECT * FROM config_servers");
        if (1 < $sql["mgr"]->num_rows($realms) && 1 < count($server) && 1 < count($characters_db)) {
            while ($realm = $sql["mgr"]->fetch_assoc($realms)) {
                $sql["char"]->connect($characters_db[$realm["Index"]]["addr"], $characters_db[$realm["Index"]]["user"], $characters_db[$realm["Index"]]["pass"], $characters_db[$realm["Index"]]["name"], $characters_db[$realm["Index"]]["encoding"]);
                if ($core == 1) {
                    $result = $sql["char"]->query("SELECT guid, name, race, class, level, gender, timestamp,\n            IFNULL((SELECT SUM(points) FROM character_achievement LEFT JOIN `" . $dbc_db["name"] . "`.achievement ON `" . $dbc_db["name"] . "`.achievement.id=character_achievement.achievement WHERE character_achievement.guid=characters.guid), 0) AS ach_points\n            FROM characters WHERE acct='" . $user_id . "'");
                } else {
                    $result = $sql["char"]->query("SELECT guid, name, race, class, level, gender, logout_time AS timestamp,\n            IFNULL((SELECT SUM(points) FROM character_achievement LEFT JOIN `" . $dbc_db["name"] . "`.achievement ON `" . $dbc_db["name"] . "`.achievement.id=character_achievement.achievement WHERE character_achievement.guid=characters.guid), 0) AS ach_points\n            FROM characters WHERE account='" . $user_id . "'");
                }
                // calculate timezone offset
                $time_offset = $timezone_offset * 3600;
                $output .= '
                    <tr>
                      <td colspan="3">&nbsp;</td>
                    </tr>
                    <tr>
                      <td colspan="3">' . lang("index", "realm") . ': ' . $realm["Name"] . '</td>
                    </tr>
                    <tr>
                      <td>' . lang("edit", "characters") . ':</td>
                      <td>' . $sql["char"]->num_rows($result) . '</td>
                    </tr>';
                while ($char = $sql["char"]->fetch_assoc($result)) {
                    if ($char["timestamp"] != 0) {
                        $lastseen = date("F j, Y @ Hi", $char["timestamp"] + $time_offset);
                    } else {
                        $lastseen = '-';
                    }
                    // add this character's achievement points to our total
                    $total_achieve_points += $char["ach_points"];
                    $output .= '
                    <tr>
                      <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'---></td>
                      <td>
                        <a href="char.php?id=' . $char["guid"] . '&amp;realm=' . $realm["Index"] . '">' . $char["name"] . '</a> -
                        <img src="img/c_icons/' . $char["race"] . '-' . $char["gender"] . '.gif" onmousemove="oldtoolTip(\'' . char_get_race_name($char["race"]) . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />
                        <img src="img/c_icons/' . $char["class"] . '.gif" onmousemove="oldtoolTip(\'' . char_get_class_name($char["class"]) . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" /> - ' . lang("char", "level_short") . char_get_level_color($char["level"]) . '
                      </td>
                      <td>' . $lastseen . '</td>
                    </tr>';
                }
            }
            unset($realm);
        } else {
            if ($core == 1) {
                $result = $sql["char"]->query("SELECT guid, name, race, class, level, gender, timestamp,\n          IFNULL((SELECT SUM(points) FROM character_achievement LEFT JOIN `" . $dbc_db["name"] . "`.achievement ON `" . $dbc_db["name"] . "`.achievement.id=character_achievement.achievement WHERE character_achievement.guid=characters.guid), 0) AS ach_points\n          FROM characters WHERE acct='" . $user_id . "'");
            } else {
                $result = $sql["char"]->query("SELECT guid, name, race, class, level, gender, logout_time AS timestamp,\n          IFNULL((SELECT SUM(points) FROM character_achievement LEFT JOIN `" . $dbc_db["name"] . "`.achievement ON `" . $dbc_db["name"] . "`.achievement.id=character_achievement.achievement WHERE character_achievement.guid=characters.guid), 0) AS ach_points\n          FROM characters WHERE account='" . $user_id . "'");
            }
            // calculate timezone offset
            $time_offset = $timezone_offset * 3600;
            $output .= '
                  <!-- tr>
                    <td>' . lang("edit", "characters") . ':</td>
                    <td>' . $sql["char"]->num_rows($result) . '</td>
                  </tr -->';
            while ($char = $sql["char"]->fetch_assoc($result)) {
                if ($char["timestamp"] != 0) {
                    $lastseen = date("F j, Y @ Hi", $char["timestamp"] + $time_offset);
                } else {
                    $lastseen = '-';
                }
                // add this character's achievement points to our total
                $total_achieve_points += $char["ach_points"];
                $output .= '
                  <tr>
                    <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'---></td>
                    <td>
                      <a href="char.php?id=' . $char["guid"] . '">' . $char["name"] . '</a> -
                      <img src="img/c_icons/' . $char["race"] . '-' . $char["gender"] . '.gif" onmousemove="oldtoolTip(\'' . char_get_race_name($char["race"]) . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />
                      <img src="img/c_icons/' . $char["class"] . '.gif" onmousemove="oldtoolTip(\'' . char_get_class_name($char["class"]) . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt=""/> - ' . lang("char", "level_short") . char_get_level_color($char["level"]) . '
                    </td>
                    <td>' . $lastseen . '</td>
                  </tr>';
            }
        }
        unset($result);
        unset($realms);
        // Achievement Point to Credit conversion
        if ($achievement_point_credits && $screen_name["Credits"] >= 0) {
            $output .= '
                  <tr>
                    <td colspan="3">
                      <hr />
                    </td>
                  </tr>
                  <tr>
                    <td colspan="3">
                      <table>
                        <tr>
                          <td>' . lang("edit", "total_achieve_points") . ':</td>
                          <td colspan="2">
                            <span>' . $total_achieve_points . '</span>
                          </td>
                        </tr>
                        <tr>
                          <td>' . lang("edit", "total_achieve_spent") . ':</td>
                          <td colspan="2">
                            <span>' . $screen_name["AchievePointsSpent"] . '</span>
                          </td>
                        </tr>
                        <tr>
                          <td>' . lang("edit", "achieve_points_available") . ':</td>
                          <td colspan="2">
                            <span>' . ($total_achieve_points - $screen_name["AchievePointsSpent"]) . '</span>
                            <img src="img/information.png" style="position: relative; top: 4px;" onmousemove="oldtoolTip(\'' . lang("edit", "achieve_warning") . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />
                          </td>
                        </tr>';
            if ($credits_fractional) {
                $output .= '
                        <tr>
                          <td>' . lang("edit", "points_to_credits") . ':</td>
                          <td colspan="2">
                            <span>' . $achievement_point_credits / $achievement_point_points . '&nbsp;' . lang("edit", "credits") . '</span>
                          </td>
                        </tr>';
            } else {
                $output .= '
                        <tr>
                          <td>' . lang("edit", "points_to_credits") . ':</td>
                          <td colspan="2">
                            <span>' . round($achievement_point_credits / $achievement_point_points) . '&nbsp;' . lang("edit", "credits") . '</span>
                            <img src="img/information.png" style="position: relative; top: 4px;" onmousemove="oldtoolTip(\'' . lang("edit", "points_to_credits_round") . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />
                          </td>
                        </tr>';
            }
            $output .= '
                        <tr>
                          <td>' . lang("edit", "points_to_spend") . ':</td>
                          <td colspan="2">';
            if ($total_achieve_points - $screen_name["AchievePointsSpent"] > 0) {
                $output .= '
                            <input type="text" name="points_to_spend" value="0" />';
            } else {
                $output .= '
                            <div style="display: none;">
                              <input type="hidden" name="points_to_spend" value="0" />
                            </div>
                            <span>' . lang("edit", "insufficient_funds") . '</span>';
            }
            $output .= '
                          </td>
                        </tr>
                      </table>
                    </td>
                  </tr>';
        }
        $override_remember_me = $_COOKIE["corem_override_remember_me"];
        if (!isset($override_remember_me)) {
            $override_remember_me = 1;
        }
        if ($remember_me_checked) {
            $output .= '
                  <tr>
                    <td>' . lang("edit", "override") . ':</td>
                    <td><input type="checkbox" name="override" value="1" ' . ($override_remember_me ? 'checked="checked"' : '') . ' />
                  </tr>';
        }
        $output .= '
                  <tr>
                    <td>';
        makebutton(lang("edit", "update"), 'javascript:do_submit_data()" type="wrn', 130);
        $output .= '
                    </td>
                    <td colspan="2">';
        makebutton(lang("global", "back"), 'javascript:window.history.back()" type="def', 130);
        $output .= '
                    </td>
                  </tr>
                </table>
              </form>
            </div>
            <br />
            <div id="edit_profile_fieldset" class="fieldset_border center">
              <span class="legend">' . lang("edit", "profile_options") . '</span>
              <form action="edit.php" method="get" id="form3">
                <div>
                  <input type="hidden" name="action" value="profile_set" />
                </div>
                <table class="hidden" id="edit_profile_table">
                  <tr>
                    <td align="left" colspan="3">' . lang("edit", "profile_info") . '</td>
                  </tr>
                  <tr>
                    <td align="left" colspan="3">
                      <textarea name="profileinfo" rows="6" cols="65">' . $screen_name["Info"] . '</textarea>
                    </td>
                  </tr>
                  <tr>
                    <td></td>
                  </tr>
                  <tr>
                    <td></td>
                  </tr>
                  <tr>
                    <td align="left" colspan="3">' . lang("edit", "signature") . '</td>
                  </tr>
                  <tr>
                    <td align="left" colspan="3">';
        bbcode_add_editor();
        $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td align="left" colspan="3">
                      <textarea id="msg" name="signature" rows="6" cols="65">' . $screen_name["Signature"] . '</textarea>
                    </td>
                  </tr>
                  <tr>
                    <td></td>
                  </tr>
                  <tr>
                    <td></td>
                  </tr>
                  <tr>
                    <td align="left" colspan="3">' . lang("edit", "prefavatar") . '</td>
                  </tr>';
        if ($screen_name["SecurityLevel"] == 0) {
            if ($screen_name["Avatar"] == '') {
                if ($core == 1) {
                    $avatar_query = "SELECT acct, name, gender, race, class, level,\n            (SELECT gm FROM `" . $logon_db["name"] . "`.accounts WHERE `" . $logon_db["name"] . "`.accounts.acct=`" . $characters_db[$realm_id]['name'] . "`.characters.acct) AS gmlevel,\n            (SELECT login FROM `" . $logon_db["name"] . "`.accounts WHERE `" . $logon_db["name"] . "`.accounts.acct=`" . $characters_db[$realm_id]['name'] . "`.characters.acct) AS login\n            FROM `" . $characters_db[$realm_id]['name'] . "`.characters\n            WHERE level IN (SELECT MAX(level) FROM `" . $characters_db[$realm_id]['name'] . "`.characters WHERE acct='" . $user_id . "')";
                } elseif ($core == 2) {
                    $avatar_query = "SELECT account AS acct, name, gender, race, class, level,\n            (SELECT gmlevel FROM `" . $logon_db["name"] . "`.account WHERE `" . $logon_db["name"] . "`.account.id=`" . $characters_db[$realm_id]['name'] . "`.characters.account) AS gmlevel,\n            (SELECT username FROM `" . $logon_db["name"] . "`.account WHERE `" . $logon_db["name"] . "`.account.id=`" . $characters_db[$realm_id]['name'] . "`.characters.account) AS login\n            FROM `" . $characters_db[$realm_id]['name'] . "`.characters\n            WHERE level IN (SELECT MAX(level) FROM `" . $characters_db[$realm_id]['name'] . "`.characters WHERE account='" . $user_id . "') AND account='" . $user_id . "'";
                } else {
                    $avatar_query = "SELECT account AS acct, name, gender, race, class, level,\n            (SELECT gmlevel FROM `" . $logon_db["name"] . "`.account_access WHERE `" . $logon_db["name"] . "`.account_access.id=`" . $characters_db[$realm_id]['name'] . "`.characters.account) AS gmlevel,\n            (SELECT username FROM `" . $logon_db["name"] . "`.account WHERE `" . $logon_db["name"] . "`.account.id=`" . $characters_db[$realm_id]['name'] . "`.characters.account) AS login\n            FROM `" . $characters_db[$realm_id]['name'] . "`.characters\n            WHERE level IN (SELECT MAX(level) FROM `" . $characters_db[$realm_id]['name'] . "`.characters WHERE account='" . $user_id . "') AND account='" . $user_id . "'";
                }
                $avatar_result = $sql["char"]->query($avatar_query);
                $avatar_fields = $sql["char"]->fetch_assoc($avatar_result);
                $avatar = gen_avatar_panel($avatar_fields["level"], $avatar_fields["gender"], $avatar_fields["race"], $avatar_fields["class"], 1, 0);
                $screen_name["avatarlevel"] = $avatar_fields["level"];
                $screen_name["avatarrace"] = $avatar_fields["race"];
                $screen_name["avatarclass"] = $avatar_fields["class"];
                $screen_name["avatarsex"] = $avatar_fields["gender"];
            } else {
                $avatar = gen_avatar_panel($screen_name["avatarlevel"], $screen_name["avatarsex"], $screen_name["avatarrace"], $screen_name["avatarclass"], 1, $screen_name["SecurityLevel"]);
            }
            $output .= '
                  <tr>
                    <td id="forum_topic_avatar" rowspan="6">
                      <center>' . $avatar . '</center>
                    </td>
                    <tr>
                      <td>' . lang("edit", "usedefault") . ':</td>
                      <td><input type="checkbox" name="use_default" value="1" ' . ($screen_name["Avatar"] == '' ? 'checked="checked"' : '') . ' />&nbsp;' . lang("edit", "usedefaultinfo") . '</td>
                    </tr>
                    <td>' . lang("edit", "gender") . ':</td>
                    <td>
                      <select name="avatargender">
                        <option value="0" ' . ($screen_name["avatarsex"] == 0 ? 'selected="selected"' : '') . ' >' . lang("edit", "male") . '</option>
                        <option value="1" ' . ($screen_name["avatarsex"] == 1 ? 'selected="selected"' : '') . ' >' . lang("edit", "female") . '</option>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("edit", "race") . ':</td>
                    <td>
                      <select name="avatarrace">';
            $races = array(1 => array(1, lang("id_tab", "human")), 2 => array(2, lang("id_tab", "orc")), 3 => array(3, lang("id_tab", "dwarf")), 4 => array(4, lang("id_tab", "nightelf")), 5 => array(5, lang("id_tab", "undead")), 6 => array(6, lang("id_tab", "tauren")), 7 => array(7, lang("id_tab", "gnome")), 8 => array(8, lang("id_tab", "troll")), 10 => array(10, lang("id_tab", "bloodelf")), 11 => array(11, lang("id_tab", "draenei")));
            foreach ($races as $race) {
                $output .= '
                          <option value="' . $race[0] . '" ' . ($screen_name["avatarrace"] == $race[0] ? 'selected="selected"' : '') . ' >' . $race[1] . '</option>';
            }
            $output .= '
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("edit", "class") . ':</td>
                    <td>
                      <select name="avatarclass">';
            $classes = $class_names = array(1 => array(1, lang("id_tab", "warrior")), 2 => array(2, lang("id_tab", "paladin")), 3 => array(3, lang("id_tab", "hunter")), 4 => array(4, lang("id_tab", "rogue")), 5 => array(5, lang("id_tab", "priest")), 6 => array(6, lang("id_tab", "death_knight")), 7 => array(7, lang("id_tab", "shaman")), 8 => array(8, lang("id_tab", "mage")), 9 => array(9, lang("id_tab", "warlock")), 11 => array(11, lang("id_tab", "druid")));
            foreach ($classes as $class) {
                $output .= '
                        <option value="' . $class[0] . '" ' . ($screen_name["avatarclass"] == $class[0] ? 'selected="selected"' : '') . ' >' . $class[1] . '</option>';
            }
            $output .= '
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("edit", "level") . ':</td>
                    <td>
                      <input type="text" name="avatarlevel" value="' . $screen_name["avatarlevel"] . '" />
                    </td>
                  </tr>';
        } else {
            $output .= '
                  <tr>
                    <td id="forum_topic_avatar" rowspan="4">
                      <div>' . gen_avatar_panel($screen_name["avatarlevel"], $screen_name["avatarsex"], $screen_name["avatarrace"], $screen_name["avatarclass"], 0, $screen_name["SecurityLevel"]) . '</div>
                    </td>
                    <td>' . lang("edit", "gender") . ':</td>
                    <td>' . lang("edit", "unavailable") . '</td>
                  </tr>
                  <tr>
                    <td>' . lang("edit", "race") . ':</td>
                    <td>' . lang("edit", "unavailable") . '</td>
                  </tr>
                  <tr>
                    <td>' . lang("edit", "class") . ':</td>
                    <td>' . lang("edit", "unavailable") . '</td>
                  </tr>
                  <tr>
                    <td>' . lang("edit", "level") . ':</td>
                    <td>' . lang("edit", "unavailable") . '</td>
                  </tr>';
        }
        $output .= '
                  <tr>
                    <td></td>
                  </tr>
                  <tr>
                    <td></td>
                  </tr>
                  <tr>
                    <td align="left" colspan="3">' . lang("edit", "viewmods") . '</td>
                  </tr>
                  <tr>
                    <td>' . lang("char", "char_sheet") . ':</td>
                    <td colspan="2">
                      <select name="viewmod_sheet">
                        <option value="0" ' . ($screen_name["View_Mod_Sheet"] == 0 ? 'selected="selected" ' : '') . '>' . lang("edit", "onlyme") . '</option>
                        <!-- option value="1" ' . ($screen_name["View_Mod_Sheet"] == 1 ? 'selected="selected" ' : '') . '>' . lang("edit", "friends") . '</option -->
                        <option value="2" ' . ($screen_name["View_Mod_Sheet"] == 2 ? 'selected="selected" ' : '') . '>' . lang("edit", "reg_users") . '</option>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("char", "achievements") . ':</td>
                    <td colspan="2">
                      <select name="viewmod_achieve">
                        <option value="0" ' . ($screen_name["View_Mod_Achieve"] == 0 ? 'selected="selected" ' : '') . '>' . lang("edit", "onlyme") . '</option>
                        <!-- option value="1" ' . ($screen_name["View_Mod_Achieve"] == 1 ? 'selected="selected" ' : '') . '>' . lang("edit", "friends") . '</option -->
                        <option value="2" ' . ($screen_name["View_Mod_Achieve"] == 2 ? 'selected="selected" ' : '') . '>' . lang("edit", "reg_users") . '</option>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("char", "friends") . ':</td>
                    <td colspan="2">
                      <select name="viewmod_friends">
                        <option value="0" ' . ($screen_name["View_Mod_Friends"] == 0 ? 'selected="selected" ' : '') . '>' . lang("edit", "onlyme") . '</option>
                        <!-- option value="1" ' . ($screen_name["View_Mod_Friends"] == 1 ? 'selected="selected" ' : '') . '>' . lang("edit", "friends") . '</option -->
                        <option value="2" ' . ($screen_name["View_Mod_Friends"] == 2 ? 'selected="selected" ' : '') . '>' . lang("edit", "reg_users") . '</option>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("char", "inventory") . ':</td>
                    <td colspan="2">
                      <select name="viewmod_inv">
                        <option value="0" ' . ($screen_name["View_Mod_Inv"] == 0 ? 'selected="selected" ' : '') . '>' . lang("edit", "onlyme") . '</option>
                        <!-- option value="1" ' . ($screen_name["View_Mod_Inv"] == 1 ? 'selected="selected" ' : '') . '>' . lang("edit", "friends") . '</option -->
                        <option value="2" ' . ($screen_name["View_Mod_Inv"] == 2 ? 'selected="selected" ' : '') . '>' . lang("edit", "reg_users") . '</option>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("char", "pets") . ':</td>
                    <td colspan="2">
                      <select name="viewmod_pets">
                        <option value="0" ' . ($screen_name["View_Mod_Pets"] == 0 ? 'selected="selected" ' : '') . '>' . lang("edit", "onlyme") . '</option>
                        <!-- option value="1" ' . ($screen_name["View_Mod_Pets"] == 1 ? 'selected="selected" ' : '') . '>' . lang("edit", "friends") . '</option -->
                        <option value="2" ' . ($screen_name["View_Mod_Pets"] == 2 ? 'selected="selected" ' : '') . '>' . lang("edit", "reg_users") . '</option>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("char", "pvp") . ':</td>
                    <td colspan="2">
                      <select name="viewmod_pvp">
                        <option value="0" ' . ($screen_name["View_Mod_PvP"] == 0 ? 'selected="selected" ' : '') . '>' . lang("edit", "onlyme") . '</option>
                        <!-- option value="1" ' . ($screen_name["View_Mod_PvP"] == 1 ? 'selected="selected" ' : '') . '>' . lang("edit", "friends") . '</option -->
                        <option value="2" ' . ($screen_name["View_Mod_PvP"] == 2 ? 'selected="selected" ' : '') . '>' . lang("edit", "reg_users") . '</option>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("char", "quests") . ':</td>
                    <td colspan="2">
                      <select name="viewmod_quests">
                        <option value="0" ' . ($screen_name["View_Mod_Quest"] == 0 ? 'selected="selected" ' : '') . '>' . lang("edit", "onlyme") . '</option>
                        <!-- option value="1" ' . ($screen_name["View_Mod_Quest"] == 1 ? 'selected="selected" ' : '') . '>' . lang("edit", "friends") . '</option -->
                        <option value="2" ' . ($screen_name["View_Mod_Quest"] == 2 ? 'selected="selected" ' : '') . '>' . lang("edit", "reg_users") . '</option>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("char", "reputation") . ':</td>
                    <td colspan="2">
                      <select name="viewmod_rep">
                        <option value="0" ' . ($screen_name["View_Mod_Rep"] == 0 ? 'selected="selected" ' : '') . '>' . lang("edit", "onlyme") . '</option>
                        <!-- option value="1" ' . ($screen_name["View_Mod_Rep"] == 1 ? 'selected="selected" ' : '') . '>' . lang("edit", "friends") . '</option -->
                        <option value="2" ' . ($screen_name["View_Mod_Rep"] == 2 ? 'selected="selected" ' : '') . '>' . lang("edit", "reg_users") . '</option>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("char", "skills") . ':</td>
                    <td colspan="2">
                      <select name="viewmod_skills">
                        <option value="0" ' . ($screen_name["View_Mod_Skill"] == 0 ? 'selected="selected" ' : '') . '>' . lang("edit", "onlyme") . '</option>
                        <!-- option value="1" ' . ($screen_name["View_Mod_Skill"] == 1 ? 'selected="selected" ' : '') . '>' . lang("edit", "friends") . '</option -->
                        <option value="2" ' . ($screen_name["View_Mod_Skill"] == 2 ? 'selected="selected" ' : '') . '>' . lang("edit", "reg_users") . '</option>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("char", "talents") . ':</td>
                    <td colspan="2">
                      <select name="viewmod_talents">
                        <option value="0" ' . ($screen_name["View_Mod_Talent"] == 0 ? 'selected="selected" ' : '') . '>' . lang("edit", "onlyme") . '</option>
                        <!-- option value="1" ' . ($screen_name["View_Mod_Talent"] == 1 ? 'selected="selected" ' : '') . '>' . lang("edit", "friends") . '</option -->
                        <option value="2" ' . ($screen_name["View_Mod_Talent"] == 2 ? 'selected="selected" ' : '') . '>' . lang("edit", "reg_users") . '</option>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td>' . lang("char", "view") . ':</td>
                    <td colspan="2">
                      <select name="viewmod_view">
                        <option value="0" ' . ($screen_name["View_Mod_View"] == 0 ? 'selected="selected" ' : '') . '>' . lang("edit", "onlyme") . '</option>
                        <!-- option value="1" ' . ($screen_name["View_Mod_View"] == 1 ? 'selected="selected" ' : '') . '>' . lang("edit", "friends") . '</option -->
                        <option value="2" ' . ($screen_name["View_Mod_View"] == 2 ? 'selected="selected" ' : '') . '>' . lang("edit", "reg_users") . '</option>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td></td>
                  </tr>
                  <tr>
                    <td>';
        makebutton(lang("edit", "save"), 'javascript:do_submit(\'form3\', 0)', 130);
        $output .= '
                    </td>
                  </tr>
                </table>
              </form>
            </div>
            <div id="edit_invites_fieldset" class="fieldset_border center">
              <span class="legend">' . lang("edit", "invite_options") . '</span>
              <table class="hidden" id="edit_invites_table">
                <tr>
                  <td align="left">' . lang("edit", "invite_email") . ': </td>
                  <td align="right">
                    <form action="edit.php" method="get" id="form4">
                      <div>
                        <input type="hidden" name="action" value="send_invite" />
                        <input type="text" name="invite_email" value="" size="30" />
                      </div>
                    </form>
                  </td>
                </tr>
                <tr>
                  <td colspan="2">';
        makebutton(lang("edit", "sendinvite"), 'javascript:do_submit(\'form4\', 0)', 130);
        $output .= '
                  </td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                </tr>
                <tr>
                  <td align="left" colspan="2">' . lang("edit", "active_invites") . ': </td>
                </tr>
                <tr>
                  <td colspan="2">
                    <table class="lined" id="active_invites_table">
                      <tr>
                        <th style="width: 15%;">Delete</th>
                        <th>Email</th>
                        <th style="width: 15%">Resend</th>
                      </tr>';
        $invites_query = "SELECT * FROM invitations WHERE issuer_acct_id='" . $user_id . "'";
        $invites_result = $sql["mgr"]->query($invites_query);
        while ($row = $sql["mgr"]->fetch_assoc($invites_result)) {
            $output .= '
                      <tr>
                        <td>
                          <a href="edit.php?action=delete_invite&key=' . $row["invitation_key"] . '">
                            <img src="img/aff_cross.png" alt="Delete" />
                          </a>
                        </td>
                        <td>' . $row["invited_email"] . '</td>
                        <td>
                          <a href="edit.php?action=resend_invite&key=' . $row["invitation_key"] . '">
                            <img src="img/add.png" alt="Resend" />
                          </a>
                        </td>
                      </tr>';
        }
        $output .= '
                    </table>
                  </td>
                </tr>
              </table>
            </div>
            <br />
            <div id="edit_prizebags_fieldset" class="fieldset_border center">
              <span class="legend">' . lang("edit", "my_bags") . '</span>
              <table class="hidden" id="edit_prizebags_table">';
        //
        $bag_query = "SELECT * FROM point_system_prize_bags WHERE owner='" . $user_id . "'";
        $bag_result = $sql["mgr"]->query($bag_query);
        $output_temp = '<tr><td style="display: none;"></td></tr>';
        while ($bag = $sql["mgr"]->fetch_assoc($bag_result)) {
            $output_temp .= '
                <tr>
                  <td align="right">
                    <a href="point_system.php?action=view_bag&amp;bag_id=' . $bag["entry"] . '">
                      <img src="' . get_item_icon(1725) . '" alt="" />
                    </a>
                  </td>
                  <td align="left">
                    <span>&nbsp;' . $bag["slots"] . ' ' . lang("edit", "bag_slots") . '</span>
                  </td>
                </tr>';
        }
        $output .= $output_temp;
        $output .= '
              </table>
            </div>
            <br />
            <div id="edit_theme_fieldset" class="fieldset_border center">
              <span class="legend">' . lang("edit", "theme_options") . '</span>
              <table class="hidden" id="edit_theme_table">
                <tr>
                  <td align="left">' . lang("edit", "select_layout_lang") . ': </td>
                  <td align="right">
                    <form action="edit.php" method="get" id="form1">
                      <div>
                        <input type="hidden" name="action" value="lang_set" />
                        <select name="lang">
                          <optgroup label="' . lang("edit", "language") . '">';
        if (is_dir('./lang')) {
            if ($dh = opendir('./lang')) {
                while (($file = readdir($dh)) == true) {
                    $lang = explode('.', $file);
                    if (isset($lang[1]) && $lang[1] == 'php') {
                        $output .= '
                        <option value="' . $lang[0] . '"' . (isset($_COOKIE["corem_lang"]) && $_COOKIE["corem_lang"] == $lang[0] ? ' selected="selected" ' : '') . '>' . lang("edit", $lang[0]) . '</option>';
                    }
                }
                closedir($dh);
            }
        }
        $output .= '
                          </optgroup>
                        </select>
                      </div>
                    </form>
                  </td>
                  <td>';
        makebutton(lang("edit", "save"), 'javascript:do_submit(\'form1\', 0)', 130);
        $output .= '
                  </td>
                </tr>
                <tr>
                  <td align="left">' . lang("edit", "select_theme") . ': </td>
                  <td align="right">
                    <form action="edit.php" method="get" id="form2">
                      <div>
                        <input type="hidden" name="action" value="theme_set" />
                        <select name="theme">
                          <optgroup label="' . lang("edit", "theme") . '">';
        if (is_dir('./themes')) {
            if ($dh = opendir('./themes')) {
                while (($file = readdir($dh)) == true) {
                    if ($file == '.' || $file == '..' || $file == '.htaccess' || $file == 'index.html' || $file == '.svn') {
                    } else {
                        $output .= '
                          <option value="' . $file . '"' . (isset($_COOKIE["corem_theme"]) && $_COOKIE["corem_theme"] == $file ? ' selected="selected" ' : '') . '>' . $file . '</option>';
                    }
                }
                closedir($dh);
            }
        }
        $output .= '
                          </optgroup>
                        </select>
                      </div>
                    </form>
                  </td>
                  <td>';
        makebutton(lang("edit", "save"), 'javascript:do_submit(\'form2\',0)', 130);
        $output .= '
                  </td>
                </tr>
              </table>
            </div>
            <br />';
    } else {
        error(lang("global", "err_no_records_found"));
    }
}
Esempio n. 23
0
function do_insert_update($do_insert)
{
    global $lang_global, $lang_creature, $output, $world_db, $realm_id, $creature_datasite, $item_datasite, $quest_datasite, $lang_id_tab, $spell_datasite, $lang_item, $language, $action_permission, $user_lvl, $locales_search_option;
    wowhead_tt();
    require_once "./scripts/get_lib.php";
    require_once 'libs/item_lib.php';
    $sql = new SQL();
    $sql->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);
    // entry only needed on update
    if (!$do_insert) {
        if (!isset($_GET['entry'])) {
            redirect("creature.php?error=1");
        }
        $entry = is_numeric($_GET['entry']) ? $sql->quote_smart($_GET['entry']) : redirect("creature.php?error=8");
        $result = $sql->query("SELECT `entry`, `difficulty_entry_1`, `KillCredit1`, `KillCredit2`, `modelid1`, `modelid2`, `modelid3`, `modelid4`, `name`,`subname`, `IconName`, `minlevel`, `maxlevel`, `faction_A`, `faction_H`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `baseattacktime`, `rangeattacktime`, `unit_flags`,`dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `trainer_class`,`trainer_race`,`minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`,`type_flags`,`lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `PetSpellDataId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `RacialLeader`, `RegenHealth`, `equipment_id`, `mechanic_immune_mask`, `flags_extra`, `ScriptName` FROM creature_template WHERE entry = '{$entry}'");
    } else {
        // get new free id
        $result = $sql->query("SELECT max(entry)+1 as newentry from creature_template");
        $entry = $sql->result($result, 0, 'newentry');
        $result = $sql->query("SELECT {$entry} as `entry`, 0 as `difficulty_entry_1`, 0 as `KillCredit1`, 0 as `KillCredit2`, 0 as `modelid1`, 0 as `modelid2`, 0 as `modelid3`, 0 as `modelid4`, 'new creature' as `name`,'' as `subname`, '' as `IconName`, 1 as `minlevel`, 1 as `maxlevel`, 0 as `faction_A`, 0 as `faction_H`, 0 as `npcflag`, 1 as `speed`, 1 as `scale`,0 as `rank`, 1 as `mindmg`, 1 as `maxdmg`, 0 as `dmgschool`, 0 as `attackpower`, 2000 as `baseattacktime`, 0 as `rangeattacktime`, 0 as `unit_flags`,0 as `dynamicflags`, 0 as `family`, 0 as `trainer_type`, 0 as `trainer_spell`, 0 as `trainer_class`,0 as `trainer_race`,0 as `minrangedmg`, 0 as `maxrangedmg`, 0 as `rangedattackpower`, 0 as `type`,0 as `type_flags`,0 as `lootid`, 0 as `pickpocketloot`, 0 as `skinloot`, 0 as `resistance1`, 0 as `resistance2`, 0 as `resistance3`, 0 as `resistance4`, 0 as `resistance5`, 0 as `resistance6`, 0 as`spell1`, 0 as`spell2`, 0 as `spell3`, 0 as `spell4`, 0 as `PetSpellDataId`, 100 as `mingold`, 250 as `maxgold`, '' as `AIName`, 0 as `MovementType`, 1 as `InhabitType`, 0 as `RacialLeader`, 1 as `RegenHealth`, 0 as `equipment_id`, 0 as `mechanic_immune_mask`, 0 as `flags_extra`, '' as `ScriptName`");
        // use id for new creature_template
    }
    if ($mob = $sql->fetch_assoc($result)) {
        $output .= "\r\n                <script type=\"text/javascript\" src=\"libs/js/tab.js\"></script>\r\n                <center>\r\n                <br /><br /><br />\r\n                    <form method=\"post\" action=\"creature.php?action=do_update\" name=\"form1\">\r\n                        <input type=\"hidden\" name=\"backup_op\" value=\"0\"/>\r\n                        <input type=\"hidden\" name=\"entry\" value=\"{$entry}\"/>\r\n                        <input type=\"hidden\" name=\"insert\" value=\"{$do_insert}\"/>\r\n                        <div class=\"jtab-container\" id=\"container\">\r\n                            <ul class=\"jtabs\">\r\n                                <li><a href=\"#\" onclick=\"return showPane('pane1', this)\" id=\"tab1\">{$lang_creature['general']}</a></li>\r\n                                <li><a href=\"#\" onclick=\"return showPane('pane3', this)\">{$lang_creature['stats']}</a></li>\r\n                                <li><a href=\"#\" onclick=\"return showPane('pane4', this)\">{$lang_creature['models']}</a></li>\r\n                                <li><a href=\"#\" onclick=\"return showPane('pane2', this)\">{$lang_creature['additional']}</a></li>";
        $quest_flag = 0;
        $vendor_flag = 0;
        $trainer_flag = 0;
        if (!$mob['npcflag']) {
            $output .= "";
        } else {
            if ($mob['npcflag'] & 1) {
                $output .= "";
            }
            //gossip
            if ($mob['npcflag'] & 2) {
                $quest_flag = 1;
                $output .= "\r\n                                <li><a href=\"#\" onclick=\"return showPane('pane6', this)\">{$lang_creature['quests']}</a></li>";
            }
            if ($mob['npcflag'] & 4) {
                $vendor_flag = 1;
                $output .= "\r\n                                <li><a href=\"#\" onclick=\"return showPane('pane7', this)\">{$lang_creature['vendor']}</a></li>";
            }
            if ($mob['npcflag'] & 16) {
                $trainer_flag = 1;
                $output .= "\r\n                                <li><a href=\"#\" onclick=\"return showPane('pane8', this)\">{$lang_creature['trainer']}</a></li>";
            }
        }
        if ($mob['npcflag'] & 128) {
            $vendor_flag = 1;
            $output .= "\r\n                                <li><a href=\"#\" onclick=\"return showPane('pane7', this)\">{$lang_creature['vendor']}</a></li>";
        }
        if ($mob['npcflag'] & 16384) {
            $vendor_flag = 1;
            $output .= "\r\n                                <li><a href=\"#\" onclick=\"return showPane('pane7', this)\">{$lang_creature['vendor']}</a></li>";
        }
        if ($mob['lootid']) {
            $output .= "\r\n                                <li><a href=\"#\" onclick=\"return showPane('pane5', this)\">{$lang_creature['loot']}</a></li>";
        }
        if ($mob['skinloot']) {
            $output .= "\r\n                                <li><a href=\"#\" onclick=\"return showPane('pane9', this)\">{$lang_creature['skin_loot']}</a></li>";
        }
        if ($mob['pickpocketloot']) {
            $output .= "\r\n                                <li><a href=\"#\" onclick=\"return showPane('pane10', this)\">{$lang_creature['pickpocket_loot']}</a></li>";
        }
        if ($locales_search_option != 0) {
            $output .= "\r\n                                <li><a href=\"#\" onclick=\"return showPane('pane11', this)\">{$lang_creature['locales']}</a></li>";
        }
        $output .= "\r\n                            </ul>\r\n                            <div class=\"jtab-panes\">\r\n                                <div id=\"pane1\">\r\n                                    <br /><br />\r\n                                    <table class=\"lined\" style=\"width: 720px;\">\r\n                                        <tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['general']}:</td></tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['entry'], $lang_creature['entry_desc']) . "</td>\r\n                                            <td>\r\n                                                <a href=\"{$creature_datasite}{$entry}\" target=\"_blank\">{$entry}</a>\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['name'], $lang_creature['name_desc']) . "</td>\r\n                                            <td colspan=\"3\">\r\n                                                <input type=\"text\" name=\"name\" size=\"50\" maxlength=\"100\" value=\"{$mob['name']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['sub_name'], $lang_creature['sub_name_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <input type=\"text\" name=\"subname\" size=\"25\" maxlength=\"100\" value=\"{$mob['subname']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['script_name'], $lang_creature['script_name_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <input type=\"text\" name=\"ScriptName\" size=\"25\" maxlength=\"128\" value=\"{$mob['ScriptName']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr class=\"large_bold\">\r\n                                            <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['basic_status']}:</td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['heroic'], $lang_creature['heroic_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"difficulty_entry_1\" size=\"8\" maxlength=\"3\" value=\"{$mob['difficulty_entry_1']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['min_level'], $lang_creature['min_level_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"minlevel\" size=\"8\" maxlength=\"3\" value=\"{$mob['minlevel']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['max_level'], $lang_creature['max_level_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"maxlevel\" size=\"8\" maxlength=\"3\" value=\"{$mob['maxlevel']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>&nbsp;</td>\r\n                                            <td>\r\n                                                &nbsp;\r\n                                            </td>\r\n                                            <td>&nbsp;</td>\r\n                                            <td>\r\n                                                &nbsp;\r\n                                            </td>";
        if ($mob['RegenHealth']) {
            $RegenHealth = "checked";
        } else {
            $RegenHealth = "";
        }
        $output .= "\r\n                                            <td>" . makeinfocell($lang_creature['RegenHealth'], $lang_creature['RegenHealth']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"checkbox\" name=\"RegenHealth\" value=\"1\" {$RegenHealth} />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['faction_A'], $lang_creature['faction_A_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <input type=\"text\" name=\"faction_A\" size=\"14\" maxlength=\"10\" value=\"{$mob['faction_A']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['faction_H'], $lang_creature['faction_H_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <input type=\"text\" name=\"faction_H\" size=\"14\" maxlength=\"10\" value=\"{$mob['faction_H']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>";
        $rank = array(0 => "", 1 => "", 3 => "", 2 => "", 4 => "");
        $rank[$mob['rank']] = " selected=\"selected\" ";
        $output .= "\r\n                                            <td >" . makeinfocell($lang_creature['rank'], $lang_creature['rank_desc']) . "</td>\r\n                                            <td>\r\n                                                <select name=\"rank\">\r\n                                                    <option value=\"0\" {$rank[0]}>0 - {$lang_creature['normal']}</option>\r\n                                                    <option value=\"1\" {$rank[1]}>1 - {$lang_creature['elite']}</option>\r\n                                                    <option value=\"2\" {$rank[2]}>2 - {$lang_creature['rare_elite']}</option>\r\n                                                    <option value=\"3\" {$rank[3]}>3 - {$lang_creature['world_boss']}</option>\r\n                                                    <option value=\"4\" {$rank[4]}>4 - {$lang_creature['rare']}</option>\r\n                                                </select>\r\n                                            </td>";
        unset($rank);
        $type = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "", 8 => "", 9 => "", 10 => "");
        $type[$mob['type']] = " selected=\"selected\" ";
        $output .= "\r\n                                            <td colspan=\"2\">" . makeinfocell($lang_creature['type'], $lang_creature['type_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <select name=\"type\">\r\n                                                    <option value=\"0\" {$type[0]}>0 - {$lang_creature['other']}</option>\r\n                                                    <option value=\"1\" {$type[1]}>1 - {$lang_creature['beast']}</option>\r\n                                                    <option value=\"2\" {$type[2]}>2 - {$lang_creature['dragonkin']}</option>\r\n                                                    <option value=\"3\" {$type[3]}>3 - {$lang_creature['demon']}</option>\r\n                                                    <option value=\"4\" {$type[4]}>4 - {$lang_creature['elemental']}</option>\r\n                                                    <option value=\"5\" {$type[5]}>5 - {$lang_creature['giant']}</option>\r\n                                                    <option value=\"6\" {$type[6]}>6 - {$lang_creature['undead']}</option>\r\n                                                    <option value=\"7\" {$type[7]}>7 - {$lang_creature['humanoid']}</option>\r\n                                                    <option value=\"8\" {$type[8]}>8 - {$lang_creature['critter']}</option>\r\n                                                    <option value=\"9\" {$type[9]}>9 - {$lang_creature['mechanical']}</option>\r\n                                                    <option value=\"10\" {$type[10]}>10 - {$lang_creature['not_specified']}</option>\r\n                                                </select>\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>";
        unset($type);
        $npcflag = array(0 => "", 1 => "", 2 => "", 4 => "", 8 => "", 16 => "", 32 => "", 64 => "", 128 => "", 256 => "", 512 => "", 1024 => "", 2048 => "", 4096 => "", 8192 => "", 16384 => "", 65536 => "", 131072 => "", 262144 => "", 524288 => "", 1048576 => "", 2097152 => "", 4194304 => "", 268435456 => "");
        if ($mob['npcflag'] == 0) {
            $npcflag[0] = " selected=\"selected\" ";
        } else {
            if ($mob['npcflag'] & 1) {
                $npcflag[1] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 2) {
                $npcflag[2] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 4) {
                $npcflag[4] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 8) {
                $npcflag[8] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 16) {
                $npcflag[16] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 32) {
                $npcflag[32] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 64) {
                $npcflag[64] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 128) {
                $npcflag[128] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 256) {
                $npcflag[256] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 512) {
                $npcflag[512] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 1024) {
                $npcflag[1024] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 2048) {
                $npcflag[2048] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 4096) {
                $npcflag[4096] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 8192) {
                $npcflag[8192] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 16384) {
                $npcflag[16384] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 65536) {
                $npcflag[65536] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 131072) {
                $npcflag[131072] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 262144) {
                $npcflag[262144] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 524288) {
                $npcflag[524288] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 1048576) {
                $npcflag[1048576] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 2097152) {
                $npcflag[2097152] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 4194304) {
                $npcflag[4194304] = " selected=\"selected\" ";
            }
            if ($mob['npcflag'] & 268435456) {
                $npcflag[268435456] = " selected=\"selected\" ";
            }
        }
        $output .= "\r\n                                            <td rowspan=\"2\">" . makeinfocell($lang_creature['npc_flag'], $lang_creature['npc_flag_desc']) . "</td>\r\n                                            <td colspan=\"2\" rowspan=\"2\">\r\n                                                <select multiple=\"multiple\" name=\"npcflag[]\" size=\"3\">\r\n                                                    <option value=\"0\" {$npcflag[0]}>{$lang_creature['none']}</option>\r\n                                                    <option value=\"1\" {$npcflag[1]}>{$lang_creature['gossip']}</option>\r\n                                                    <option value=\"2\" {$npcflag[2]}>{$lang_creature['quest_giver']}</option>\r\n                                                    <option value=\"4\" {$npcflag[4]}>{$lang_creature['vendor']}</option>\r\n                                                    <option value=\"8\" {$npcflag[8]}>{$lang_creature['taxi']}</option>\r\n                                                    <option value=\"16\" {$npcflag[16]}>{$lang_creature['trainer']}</option>\r\n                                                    <option value=\"32\" {$npcflag[32]}>{$lang_creature['spirit_healer']}</option>\r\n                                                    <option value=\"64\" {$npcflag[64]}>{$lang_creature['guard']}</option>\r\n                                                    <option value=\"128\" {$npcflag[128]}>{$lang_creature['inn_keeper']}</option>\r\n                                                    <option value=\"256\" {$npcflag[256]}>{$lang_creature['banker']}</option>\r\n                                                    <option value=\"512\" {$npcflag[512]}>{$lang_creature['retitioner']}</option>\r\n                                                    <option value=\"1024\" {$npcflag[1024]}>{$lang_creature['tabard_vendor']}</option>\r\n                                                    <option value=\"2048\" {$npcflag[2048]}>{$lang_creature['battlemaster']}</option>\r\n                                                    <option value=\"4096\" {$npcflag[4096]}>{$lang_creature['auctioneer']}</option>\r\n                                                    <option value=\"8192\" {$npcflag[8192]}>{$lang_creature['stable_master']}</option>\r\n                                                    <option value=\"16384\" {$npcflag[16384]}>{$lang_creature['armorer']}</option>\r\n                                                </select>\r\n                                            </td>";
        unset($npcflag);
        $trainer_type = array(0 => "", 1 => "", 2 => "", 3 => "");
        $trainer_type[$mob['trainer_type']] = " selected=\"selected\" ";
        $output .= "\r\n                                            <td>" . makeinfocell($lang_creature['trainer_type'], $lang_creature['trainer_type_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <select name=\"trainer_type\">\r\n                                                    <option value=\"0\" {$trainer_type[0]}>0 - {$lang_creature['class']}</option>\r\n                                                    <option value=\"1\" {$trainer_type[1]}>1 - {$lang_creature['mounts']}</option>\r\n                                                    <option value=\"2\" {$trainer_type[2]}>2 - {$lang_creature['trade_skill']}</option>\r\n                                                    <option value=\"3\" {$trainer_type[3]}>3 - {$lang_creature['pets']}</option>\r\n                                                </select>\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>";
        unset($trainer_type);
        $family = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "", 8 => "", 9 => "", 11 => "", 12 => "", 13 => "", 14 => "", 15 => "", 16 => "", 17 => "", 18 => "", 19 => "", 20 => "", 21 => "", 22 => "", 23 => "", 24 => "", 25 => "", 26 => "", 27 => "");
        $family[$mob['family']] = " selected=\"selected\" ";
        $output .= "\r\n                                            <td>" . makeinfocell($lang_creature['family'], $lang_creature['family_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <select name=\"family\">\r\n                                                    <option value=\"0\" {$family[0]}>0 - {$lang_creature['other']}</option>\r\n                                                    <option value=\"1\" {$family[1]}>1 - {$lang_creature['wolf']}</option>\r\n                                                    <option value=\"2\" {$family[2]}>2 - {$lang_creature['cat']}</option>\r\n                                                    <option value=\"3\" {$family[3]}>3 - {$lang_creature['spider']}</option>\r\n                                                    <option value=\"4\" {$family[4]}>4 - {$lang_creature['bear']}</option>\r\n                                                    <option value=\"5\" {$family[5]}>5 - {$lang_creature['boar']}</option>\r\n                                                    <option value=\"6\" {$family[6]}>6 - {$lang_creature['crocolisk']}</option>\r\n                                                    <option value=\"7\" {$family[7]}>7 - {$lang_creature['carrion_bird']}</option>\r\n                                                    <option value=\"8\" {$family[8]}>8 - {$lang_creature['crab']}</option>\r\n                                                    <option value=\"9\" {$family[9]}>9 - {$lang_creature['gorilla']}</option>\r\n                                                    <option value=\"11\" {$family[11]}>11 - {$lang_creature['raptor']}</option>\r\n                                                    <option value=\"12\" {$family[12]}>12 - {$lang_creature['tallstrider']}</option>\r\n                                                    <option value=\"13\" {$family[13]}>13 - {$lang_creature['other']}</option>\r\n                                                    <option value=\"14\" {$family[14]}>14 - {$lang_creature['other']}</option>\r\n                                                    <option value=\"15\" {$family[15]}>15 - {$lang_creature['felhunter']}</option>\r\n                                                    <option value=\"16\" {$family[16]}>16 - {$lang_creature['voidwalker']}</option>\r\n                                                    <option value=\"17\" {$family[17]}>17 - {$lang_creature['succubus']}</option>\r\n                                                    <option value=\"18\" {$family[18]}>18 - {$lang_creature['other']}</option>\r\n                                                    <option value=\"19\" {$family[19]}>19 - {$lang_creature['doomguard']}</option>\r\n                                                    <option value=\"20\" {$family[20]}>20 - {$lang_creature['scorpid']}</option>\r\n                                                    <option value=\"21\" {$family[21]}>21 - {$lang_creature['turtle']}</option>\r\n                                                    <option value=\"22\" {$family[22]}>22 - {$lang_creature['scorpid']}</option>\r\n                                                    <option value=\"23\" {$family[23]}>23 - {$lang_creature['imp']}</option>\r\n                                                    <option value=\"24\" {$family[24]}>24 - {$lang_creature['bat']}</option>\r\n                                                    <option value=\"25\" {$family[25]}>25 - {$lang_creature['hyena']}</option>\r\n                                                    <option value=\"26\" {$family[26]}>26 - {$lang_creature['owl']}</option>\r\n                                                    <option value=\"27\" {$family[27]}>27 - {$lang_creature['wind_serpent']}</option>\r\n                                                </select>\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr class=\"large_bold\">\r\n                                            <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['loot']}:</td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['loot_id'], $lang_creature['loot_id_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"lootid\" size=\"10\" maxlength=\"10\" value=\"{$mob['lootid']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['skin_loot'], $lang_creature['skin_loot_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"skinloot\" size=\"10\" maxlength=\"10\" value=\"{$mob['skinloot']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['pickpocket_loot'], $lang_creature['pickpocket_loot_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"pickpocketloot\" size=\"10\" maxlength=\"10\" value=\"{$mob['pickpocketloot']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['min_gold'], $lang_creature['min_gold_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <input type=\"text\" name=\"mingold\" size=\"14\" maxlength=\"30\" value=\"{$mob['mingold']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['max_gold'], $lang_creature['max_gold_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <input type=\"text\" name=\"maxgold\" size=\"14\" maxlength=\"30\" value=\"{$mob['maxgold']}\" />\r\n                                            </td>\r\n                                        </tr>";
        unset($family);
        $result1 = $sql->query("SELECT COUNT(*) FROM creature WHERE id = '{$mob['entry']}'");
        $output .= "\r\n                                        <tr>\r\n                                            <td colspan=\"6\">{$lang_creature['creature_swapned']} : " . $sql->result($result1, 0) . " {$lang_creature['times']}.</td>\r\n                                        </tr>\r\n                                    </table>\r\n                                    <br /><br />\r\n                                </div>\r\n                                <div id=\"pane3\">\r\n                                    <br /><br />\r\n                                    <table class=\"lined\" style=\"width: 720px;\">\r\n                                        <tr class=\"large_bold\">\r\n                                            <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['basic_status']}:</td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>&nbsp;</td>\r\n                                            <td colspan=\"2\">\r\n                                                &nbsp;\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['speed'], $lang_creature['speed_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <input type=\"text\" name=\"speed_walk\" size=\"8\" maxlength=\"45\" value=\"{$mob['speed_walk']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr class=\"large_bold\">\r\n                                            <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['damage']}:</td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['min_damage'], $lang_creature['min_damage_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"mindmg\" size=\"8\" maxlength=\"45\" value=\"{$mob['mindmg']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['max_damage'], $lang_creature['max_damage_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"maxdmg\" size=\"8\" maxlength=\"45\" value=\"{$mob['maxdmg']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['attack_power'], $lang_creature['attack_power_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"attackpower\" size=\"8\" maxlength=\"10\" value=\"{$mob['attackpower']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['min_range_dmg'], $lang_creature['min_range_dmg_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"minrangedmg\" size=\"8\" maxlength=\"45\" value=\"{$mob['minrangedmg']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['max_range_dmg'], $lang_creature['max_range_dmg_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"maxrangedmg\" size=\"8\" maxlength=\"45\" value=\"{$mob['maxrangedmg']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['ranged_attack_power'], $lang_creature['ranged_attack_power_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"rangedattackpower\" size=\"8\" maxlength=\"10\" value=\"{$mob['rangedattackpower']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['attack_time'], $lang_creature['attack_time_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"baseattacktime\" size=\"8\" maxlength=\"4\" value=\"{$mob['baseattacktime']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['range_attack_time'], $lang_creature['range_attack_time_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"rangeattacktime\" size=\"8\" maxlength=\"4\" value=\"{$mob['rangeattacktime']}\" />\r\n                                            </td>\r\n                                            <td></td>\r\n                                            <td></td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td></td>\r\n                                            <td colspan=\"2\"></td>";
        $dmgschool = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "");
        $dmgschool[$mob['dmgschool']] = " selected=\"selected\" ";
        $output .= "\r\n                                            <td>" . makeinfocell($lang_creature['dmgschool'], $lang_creature['dmgschool_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <select name=\"dmgschool\">\r\n                                                    <option value=\"0\" {$dmgschool[0]}>0: {$lang_item['physical_dmg']}</option>\r\n                                                    <option value=\"1\" {$dmgschool[1]}>1: {$lang_item['holy_dmg']}</option>\r\n                                                    <option value=\"2\" {$dmgschool[2]}>2: {$lang_item['fire_dmg']}</option>\r\n                                                    <option value=\"3\" {$dmgschool[3]}>3: {$lang_item['nature_dmg']}</option>\r\n                                                    <option value=\"4\" {$dmgschool[4]}>4: {$lang_item['frost_dmg']}</option>\r\n                                                    <option value=\"5\" {$dmgschool[5]}>5: {$lang_item['shadow_dmg']}</option>\r\n                                                    <option value=\"6\" {$dmgschool[6]}>6: {$lang_item['arcane_dmg']}</option>\r\n                                                </select>\r\n                                            </td>";
        unset($dmgschool);
        $output .= "\r\n                                        </tr>\r\n                                        <tr class=\"large_bold\">\r\n                                            <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['spells']}:</td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['spell'] . " 1", $lang_creature['spell_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <input type=\"text\" name=\"spell1\" size=\"14\" maxlength=\"11\" value=\"{$mob['spell1']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['spell'] . " 2", $lang_creature['spell_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <input type=\"text\" name=\"spell2\" size=\"14\" maxlength=\"11\" value=\"{$mob['spell2']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['spell'] . " 3", $lang_creature['spell_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <input type=\"text\" name=\"spell3\" size=\"14\" maxlength=\"11\" value=\"{$mob['spell3']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['spell'] . " 4", $lang_creature['spell_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <input type=\"text\" name=\"spell4\" size=\"14\" maxlength=\"11\" value=\"{$mob['spell4']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr class=\"large_bold\">\r\n                                            <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['resistances']}:</td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['resis_holy'], $lang_creature['resis_holy_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"resistance1\" size=\"8\" maxlength=\"10\" value=\"{$mob['resistance1']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['resis_fire'], $lang_creature['resis_fire_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"resistance2\" size=\"8\" maxlength=\"10\" value=\"{$mob['resistance2']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['resis_nature'], $lang_creature['resis_nature_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"resistance3\" size=\"8\" maxlength=\"10\" value=\"{$mob['resistance3']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['resis_frost'], $lang_creature['resis_frost_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"resistance4\" size=\"8\" maxlength=\"10\" value=\"{$mob['resistance4']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['resis_shadow'], $lang_creature['resis_shadow_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"resistance5\" size=\"8\" maxlength=\"10\" value=\"{$mob['resistance5']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['resis_arcane'], $lang_creature['resis_arcane_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"resistance6\" size=\"8\" maxlength=\"10\" value=\"{$mob['resistance6']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                    </table>\r\n                                    <br /><br />\r\n                                </div>\r\n                                <div id=\"pane4\">\r\n                                    <br /><br />\r\n                                    <table class=\"lined\" style=\"width: 720px;\">\r\n                                        <tr class=\"large_bold\">\r\n                                            <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['models']}:</td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td colspan=\"2\">" . makeinfocell($lang_creature['modelid_A'], $lang_creature['modelid_A_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"modelid1\" size=\"8\" maxlength=\"11\" value=\"{$mob['modelid1']}\" />\r\n                                            </td>\r\n                                            <td colspan=\"2\">" . makeinfocell($lang_creature['modelid_A2'], $lang_creature['modelid_A2_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"modelid2\" size=\"8\" maxlength=\"11\" value=\"{$mob['modelid2']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td colspan=\"2\">" . makeinfocell($lang_creature['modelid_H'], $lang_creature['modelid_H_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"modelid3\" size=\"8\" maxlength=\"11\" value=\"{$mob['modelid3']}\" />\r\n                                            </td>\r\n                                            <td colspan=\"2\">" . makeinfocell($lang_creature['modelid_H2'], $lang_creature['modelid_H2_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"modelid4\" size=\"8\" maxlength=\"11\" value=\"{$mob['modelid4']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                    </table>\r\n                                    <br /><br />";
        $result1 = $sql->query("SELECT * FROM creature_equip_template WHERE entry = '{$mob['equipment_id']}'");
        if ($mobequip = $sql->fetch_assoc($result1)) {
            $output .= "\r\n                                    <br /><br />\r\n                                    <table class=\"lined\" style=\"width: 720px;\">\r\n                                        <tr class=\"large_bold\">\r\n                                            <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['equipment']}:</td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['equip_slot'] . " 1", $lang_creature['equip_slot1_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"equipslot1\" size=\"8\" maxlength=\"10\" value=\"{$mobequip['equipentry1']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['equip_slot'] . " 2", $lang_creature['equip_slot2_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"equipslot2\" size=\"8\" maxlength=\"10\" value=\"{$mobequip['equipentry2']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['equip_slot'] . " 3", $lang_creature['equip_slot3_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"equipslot3\" size=\"8\" maxlength=\"10\" value=\"{$mobequip['equipentry3']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                    </table>\r\n                                    <br /><br />\r\n                                </div>";
        } else {
            $output .= "\r\n                                    <br /><br />\r\n                                    <table class=\"lined\" style=\"width: 720px;\">\r\n                                        <tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['equipment']}:</td></tr>\r\n                                    </table>\r\n                                    <br /><br />\r\n                                </div>";
        }
        $output .= "\r\n                                <div id=\"pane2\">\r\n                                <br /><br />\r\n                                    <table class=\"lined\" style=\"width: 720px;\">\r\n                                        <tr class=\"large_bold\">\r\n                                            <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['scripts']}:</td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['ai_name'], $lang_creature['ai_name_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <input type=\"text\" name=\"AIName\" size=\"14\" maxlength=\"128\" value=\"{$mob['AIName']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['movement_type'], $lang_creature['movement_type_desc']) . "</td>\r\n                                            <td colspan=\"2\">\r\n                                                <input type=\"text\" name=\"MovementType\" size=\"14\" maxlength=\"24\" value=\"{$mob['MovementType']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr class=\"large_bold\">\r\n                                            <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['other']}:</td>\r\n                                        </tr>";
        $trainer_class = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 7 => "", 8 => "", 9 => "", 11 => "");
        $trainer_class[$mob['trainer_class']] = " selected=\"selected\" ";
        $output .= "\r\n                                            <td>" . makeinfocell($lang_creature['class'], $lang_creature['class_desc']) . "</td>\r\n                                            <td>\r\n                                                <select name=\"class\">\r\n                                                    <option value=\"0\" {$trainer_class[0]}>0 - {$lang_creature['none']}</option>\r\n                                                    <option value=\"1\" {$trainer_class[1]}>1 - {$lang_id_tab['warrior']}</option>\r\n                                                    <option value=\"2\" {$trainer_class[2]}>2 - {$lang_id_tab['paladin']}</option>\r\n                                                    <option value=\"3\" {$trainer_class[3]}>3 - {$lang_id_tab['hunter']}</option>\r\n                                                    <option value=\"4\" {$trainer_class[4]}>4 - {$lang_id_tab['rogue']}</option>\r\n                                                    <option value=\"5\" {$trainer_class[5]}>5 - {$lang_id_tab['priest']}</option>\r\n                                                    <option value=\"7\" {$trainer_class[7]}>7 - {$lang_id_tab['shaman']}</option>\r\n                                                    <option value=\"8\" {$trainer_class[8]}>8 - {$lang_id_tab['mage']}</option>\r\n                                                    <option value=\"9\" {$trainer_class[9]}>9 - {$lang_id_tab['warlock']}</option>\r\n                                                    <option value=\"11\" {$trainer_class[11]}>11 - {$lang_id_tab['druid']}</option>\r\n                                                </select>\r\n                                            </td>";
        unset($trainer_class);
        $trainer_race = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "", 7 => "", 8 => "", 10 => "", 11 => "");
        $trainer_race[$mob['trainer_race']] = " selected=\"selected\" ";
        $output .= "\r\n                                            <td>" . makeinfocell($lang_creature['race'], $lang_creature['race_desc']) . "</td>\r\n                                            <td>\r\n                                                <select name=\"race\">\r\n                                                    <option value=\"0\" {$trainer_race[0]}>0 - {$lang_creature['none']}</option>\r\n                                                    <option value=\"1\" {$trainer_race[1]}>1 - {$lang_id_tab['human']}</option>\r\n                                                    <option value=\"2\" {$trainer_race[2]}>2 - {$lang_id_tab['orc']}</option>\r\n                                                    <option value=\"3\" {$trainer_race[3]}>3 - {$lang_id_tab['dwarf']}</option>\r\n                                                    <option value=\"4\" {$trainer_race[4]}>4 - {$lang_id_tab['nightelf']}</option>\r\n                                                    <option value=\"5\" {$trainer_race[5]}>5 - {$lang_id_tab['undead']}</option>\r\n                                                    <option value=\"6\" {$trainer_race[6]}>6 - {$lang_id_tab['tauren']}</option>\r\n                                                    <option value=\"7\" {$trainer_race[7]}>7 - {$lang_id_tab['gnome']}</option>\r\n                                                    <option value=\"8\" {$trainer_race[8]}>8 - {$lang_id_tab['troll']}</option>\r\n                                                    <option value=\"10\" {$trainer_race[10]}>10 - {$lang_id_tab['bloodelf']}</option>\r\n                                                    <option value=\"11\" {$trainer_race[11]}>11 - {$lang_id_tab['draenei']}</option>\r\n                                                </select>\r\n                                            </td>";
        if ($mob['RacialLeader']) {
            $RacialLeader = "checked";
        } else {
            $RacialLeader = "";
        }
        $output .= "\r\n                                            <td>" . makeinfocell($lang_creature['RacialLeader'], $lang_creature['RacialLeader_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"checkbox\" name=\"RacialLeader\" value=\"1\" {$RacialLeader} />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['trainer_spell'], $lang_creature['trainer_spell_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"trainer_spell\" size=\"14\" maxlength=\"11\" value=\"{$mob['trainer_spell']}\" />\r\n                                            </td>";
        unset($trainer_race);
        $InhabitType = array(0 => "", 1 => "", 2 => "", 3 => "");
        $InhabitType[$mob['InhabitType']] = " selected=\"selected\" ";
        $output .= "\r\n                                            <td>" . makeinfocell($lang_creature['inhabit_type'], $lang_creature['inhabit_type_desc']) . "</td>\r\n                                            <td>\r\n                                                <select name=\"InhabitType\">\r\n                                                    <option value=\"0\" {$InhabitType[0]}>0 - {$lang_creature['none']}</option>\r\n                                                    <option value=\"1\" {$InhabitType[1]}>1 - {$lang_creature['walk']}</option>\r\n                                                    <option value=\"2\" {$InhabitType[2]}>2 - {$lang_creature['swim']}</option>\r\n                                                    <option value=\"3\" {$InhabitType[3]}>3 - {$lang_creature['both']}</option>\r\n                                                </select>\r\n                                            </td>";
        unset($InhabitType);
        $output .= "\r\n                                            <td>" . makeinfocell($lang_creature['flags_extra'], $lang_creature['flags_extra_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"flags_extra\" size=\"8\" maxlength=\"11\" value=\"{$mob['flags_extra']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        <tr>\r\n                                            <td>" . makeinfocell($lang_creature['unit_flags'], $lang_creature['flags_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"unit_flags\" size=\"8\" maxlength=\"11\" value=\"{$mob['unit_flags']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['dynamic_flags'], $lang_creature['dynamic_flags_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"dynamicflags\" size=\"8\" maxlength=\"11\" value=\"{$mob['dynamicflags']}\" />\r\n                                            </td>\r\n                                            <td>" . makeinfocell($lang_creature['flag_1'], $lang_creature['flag_1_desc']) . "</td>\r\n                                            <td>\r\n                                                <input type=\"text\" name=\"type_flags\" size=\"8\" maxlength=\"11\" value=\"{$mob['type_flags']}\" />\r\n                                            </td>\r\n                                        </tr>\r\n                                        </table>\r\n                                        <br /><br />\r\n                                    </div>";
        /*****************
           /  LOCALES
           *****************/
        if ($locales_search_option != 0) {
            if ($do_insert) {
                $result_loc = $sql->query("SELECT '' as `name_loc1`, '' as `name_loc2`, '' as `name_loc3`, '' as `name_loc4`, '' as `name_loc5`, '' as `name_loc6`, '' as `name_loc7`, '' as `name_loc8`, '' as `subname_loc1`, '' as `subname_loc2`, '' as `subname_loc3`, '' as `subname_loc4`, '' as `subname_loc5`, '' as `subname_loc6`, '' as `subname_loc7`, '' as `subname_loc8`");
            } else {
                // update
                $result_loc = $sql->query("SELECT `name_loc1`, `name_loc2`, `name_loc3`, `name_loc4`, `name_loc5`, `name_loc6`, `name_loc7`, `name_loc8`, `subname_loc1`, `subname_loc2`, `subname_loc3`, `subname_loc4`, `subname_loc5`, `subname_loc6`, `subname_loc7`, `subname_loc8` FROM `locales_creature` WHERE `entry` = '{$entry}'");
            }
            $loc = $sql->fetch_assoc($result_loc);
            $output .= "\r\n                                    <div id=\"pane11\">\r\n                                        <br /><br />\r\n                                        <table class=\"lined\" style=\"width: 720px;\">\r\n                                            <tr class=\"large_bold\">\r\n                                                <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_global['language_1']}:</td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td>" . makeinfocell($lang_creature['name'], $lang_creature['name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"name_loc1\" size=\"24\" maxlength=\"128\" value=\"{$loc['name_loc1']}\" />\r\n                                                </td>\r\n                                                <td>" . makeinfocell($lang_creature['sub_name'], $lang_creature['sub_name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"subname_loc1\" size=\"24\" maxlength=\"64\" value=\"{$loc['subname_loc1']}\" />\r\n                                                </td>\r\n                                            </tr>\r\n                                            <tr class=\"large_bold\">\r\n                                                <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_global['language_2']}:</td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td>" . makeinfocell($lang_creature['name'], $lang_creature['name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"name_loc2\" size=\"24\" maxlength=\"64\" value=\"{$loc['name_loc2']}\" />\r\n                                                </td>\r\n                                                <td>" . makeinfocell($lang_creature['sub_name'], $lang_creature['sub_name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"subname_loc2\" size=\"24\" maxlength=\"64\" value=\"{$loc['subname_loc2']}\" />\r\n                                                </td>\r\n                                            </tr>\r\n                                            <tr class=\"large_bold\">\r\n                                                <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_global['language_3']}:</td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td>" . makeinfocell($lang_creature['name'], $lang_creature['name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"name_loc3\" size=\"24\" maxlength=\"64\" value=\"{$loc['name_loc3']}\" />\r\n                                                </td>\r\n                                                <td>" . makeinfocell($lang_creature['sub_name'], $lang_creature['sub_name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"subname_loc3\" size=\"24\" maxlength=\"64\" value=\"{$loc['subname_loc3']}\" />\r\n                                                </td>\r\n                                            </tr>\r\n                                            <tr class=\"large_bold\">\r\n                                                <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_global['language_4']}:</td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td>" . makeinfocell($lang_creature['name'], $lang_creature['name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"name_loc4\" size=\"24\" maxlength=\"64\" value=\"{$loc['name_loc4']}\" />\r\n                                                </td>\r\n                                                <td>" . makeinfocell($lang_creature['sub_name'], $lang_creature['sub_name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"subname_loc4\" size=\"24\" maxlength=\"64\" value=\"{$loc['subname_loc4']}\" />\r\n                                                </td>\r\n                                            </tr>\r\n                                            <tr class=\"large_bold\">\r\n                                                <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_global['language_5']}:</td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td>" . makeinfocell($lang_creature['name'], $lang_creature['name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"name_loc5\" size=\"24\" maxlength=\"64\" value=\"{$loc['name_loc5']}\" />\r\n                                                </td>\r\n                                                <td>" . makeinfocell($lang_creature['sub_name'], $lang_creature['sub_name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"subname_loc5\" size=\"24\" maxlength=\"64\" value=\"{$loc['subname_loc5']}\" />\r\n                                                </td>\r\n                                            </tr>\r\n                                            <tr class=\"large_bold\">\r\n                                                <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_global['language_6']}:</td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td>" . makeinfocell($lang_creature['name'], $lang_creature['name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"name_loc6\" size=\"24\" maxlength=\"64\" value=\"{$loc['name_loc6']}\" />\r\n                                                </td>\r\n                                                <td>" . makeinfocell($lang_creature['sub_name'], $lang_creature['sub_name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"subname_loc6\" size=\"24\" maxlength=\"64\" value=\"{$loc['subname_loc6']}\" />\r\n                                                </td>\r\n                                            </tr>\r\n                                            <tr class=\"large_bold\">\r\n                                                <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_global['language_7']}:</td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td>" . makeinfocell($lang_creature['name'], $lang_creature['name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"name_loc7\" size=\"24\" maxlength=\"64\" value=\"{$loc['name_loc7']}\" />\r\n                                                </td>\r\n                                                <td>" . makeinfocell($lang_creature['sub_name'], $lang_creature['sub_name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"subname_loc7\" size=\"24\" maxlength=\"64\" value=\"{$loc['subname_loc7']}\" />\r\n                                                </td>\r\n                                            </tr>\r\n                                            <tr class=\"large_bold\">\r\n                                                <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_global['language_8']}:</td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td>" . makeinfocell($lang_creature['name'], $lang_creature['name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"name_loc8\" size=\"24\" maxlength=\"64\" value=\"{$loc['name_loc8']}\" />\r\n                                                </td>\r\n                                                <td>" . makeinfocell($lang_creature['sub_name'], $lang_creature['sub_name_desc']) . "</td>\r\n                                                <td colspan=\"2\">\r\n                                                    <input type=\"text\" name=\"subname_loc8\" size=\"24\" maxlength=\"64\" value=\"{$loc['subname_loc8']}\" />\r\n                                                </td>\r\n                                            </tr>\r\n                                        </table>\r\n                                        <br /><br />\r\n                                    </div>";
        }
        if ($mob['lootid']) {
            $output .= "\r\n                                    <div id=\"pane5\">\r\n                                        <br /><br />\r\n                                        <table class=\"lined\" style=\"width: 720px;\">\r\n                                            <tr class=\"large_bold\">\r\n                                                <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['loot_tmpl_id']}: {$mob['lootid']}</td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td colspan=\"6\">";
            $cel_counter = 0;
            $row_flag = 0;
            $output .= "\r\n                                                    <table class=\"hidden\" align=\"center\">\r\n                                                        <tr>";
            $result1 = $sql->query("SELECT item,ChanceOrQuestChance,`groupid`,mincountOrRef,maxcount, lootcondition, condition_value1,condition_value2 FROM creature_loot_template WHERE entry = {$mob['lootid']} ORDER BY ChanceOrQuestChance DESC");
            while ($item = $sql->fetch_row($result1)) {
                $cel_counter++;
                $tooltip = get_item_name($item[0]) . " ({$item['0']})<br />{$lang_creature['drop_chance']}: {$item['1']}%<br />{$lang_creature['quest_drop_chance']}: {$item['2']}%<br />{$lang_creature['drop_chance']}: {$item['3']}-{$item['4']}<br />{$lang_creature['lootcondition']}: {$item['5']}<br />{$lang_creature['condition_value1']}: {$item['6']}<br />{$lang_creature['condition_value2']}: {$item['7']}";
                $output .= "\r\n                                                            <td>";
                $output .= maketooltip("<img src=\"" . get_item_icon($item[0]) . "\" class=\"icon_border\" alt=\"\" />", "{$item_datasite}{$item['0']}", $tooltip, "item_tooltip");
                $output .= "\r\n                                                                <br /><input type=\"checkbox\" name=\"del_loot_items[]\" value=\"{$item['0']}\" />\r\n                                                            </td>";
                if ($cel_counter >= 14) {
                    $cel_counter = 0;
                    $output .= "\r\n                                                        </tr>\r\n                                                        <tr>";
                    $row_flag++;
                }
            }
            if ($row_flag) {
                $output .= "\r\n                                                            <td colspan=\"" . (16 - $cel_counter) . "\"></td>";
            }
            $output .= "\r\n                                                        </tr>\r\n                                                    </table>\r\n                                                </td>\r\n                                            </tr>\r\n                                            <tr class=\"large_bold\">\r\n                                                <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['add_items_to_templ']}:</td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td>" . makeinfocell($lang_creature['loot_item_id'], $lang_creature['loot_item_id_desc']) . "</td>\r\n                                                <td>\r\n                                                    <input type=\"text\" name=\"item\" size=\"8\" maxlength=\"10\" value=\"\" />\r\n                                                </td>\r\n                                                <td>" . makeinfocell($lang_creature['loot_drop_chance'], $lang_creature['loot_drop_chance_desc']) . "</td>\r\n                                                <td>\r\n                                                    <input type=\"text\" name=\"ChanceOrQuestChance\" size=\"8\" maxlength=\"11\" value=\"0\" />\r\n                                                </td>\r\n                                                <td>" . makeinfocell($lang_creature['loot_quest_drop_chance'], $lang_creature['loot_quest_drop_chance_desc']) . "</td>\r\n                                                <td>\r\n                                                    <input type=\"text\" name=\"groupid\" size=\"8\" maxlength=\"10\" value=\"0\" />\r\n                                                </td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td>" . makeinfocell($lang_creature['min_count'], $lang_creature['min_count_desc']) . "</td>\r\n                                                <td>\r\n                                                    <input type=\"text\" name=\"mincountOrRef\" size=\"8\" maxlength=\"3\" value=\"1\" />\r\n                                                </td>\r\n                                                <td>" . makeinfocell($lang_creature['max_count'], $lang_creature['max_count_desc']) . "</td>\r\n                                                <td>\r\n                                                    <input type=\"text\" name=\"maxcount\" size=\"8\" maxlength=\"3\" value=\"1\" />\r\n                                                </td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td>" . makeinfocell($lang_creature['lootcondition'], $lang_creature['lootcondition_desc']) . "</td>\r\n                                                <td>\r\n                                                    <input type=\"text\" name=\"lootcondition\" size=\"8\" maxlength=\"3\" value=\"0\" />\r\n                                                </td>\r\n                                                <td>" . makeinfocell($lang_creature['condition_value1'], $lang_creature['condition_value1_desc']) . "</td>\r\n                                                <td>\r\n                                                    <input type=\"text\" name=\"condition_value1\" size=\"8\" maxlength=\"3\" value=\"0\" />\r\n                                                </td>\r\n                                                <td>" . makeinfocell($lang_creature['condition_value2'], $lang_creature['condition_value2_desc']) . "</td>\r\n                                                <td>\r\n                                                    <input type=\"text\" name=\"condition_value2\" size=\"8\" maxlength=\"3\" value=\"0\" />\r\n                                                </td>\r\n                                            </tr>\r\n                                        </table>\r\n                                        <br />{$lang_creature['check_to_delete']}<br /><br />\r\n                                    </div>";
        }
        if ($quest_flag) {
            $output .= "\r\n                                    <div id=\"pane6\">\r\n                                        <br /><br />\r\n                                        <table class=\"lined\" style=\"width: 720px;\">\r\n                                            <tr class=\"large_bold\">\r\n                                                <td colspan=\"2\" class=\"hidden\" align=\"left\">{$lang_creature['start_quests']}:</td>\r\n                                            </tr>";
            $deplang = get_lang_id();
            $result1 = $sql->query("SELECT quest FROM creature_questrelation WHERE id = {$mob['entry']}");
            while ($quest = $sql->fetch_row($result1)) {
                $query1 = $sql->query("SELECT QuestLevel,IFNULL(" . ($deplang != 0 ? "title_loc{$deplang}" : "NULL") . ",`title`) as title FROM quest_template LEFT JOIN locales_quest ON quest_template.entry = locales_quest.entry WHERE quest_template.entry ='{$quest['0']}'");
                $quest_templ = $sql->fetch_row($query1);
                $output .= "\r\n                                            <tr>\r\n                                                <td width=\"5%\">\r\n                                                    <input type=\"checkbox\" name=\"del_questrelation[]\" value=\"{$quest['0']}\" />\r\n                                                </td>\r\n                                                <td width=\"95%\" align=\"left\">\r\n                                                    <a class=\"tooltip\" href=\"{$quest_datasite}{$quest['0']}\" target=\"_blank\">({$quest_templ[0]}) {$quest_templ['1']}</a>\r\n                                                </td>\r\n                                            </tr>";
            }
            $output .= "\r\n                                            <tr class=\"large_bold\" align=\"left\">\r\n                                                <td colspan=\"2\" class=\"hidden\">{$lang_creature['add_starts_quests']}:</td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td colspan=\"2\" align=\"left\">" . makeinfocell($lang_creature['quest_id'], $lang_creature['quest_id_desc']) . " :\r\n                                                    <input type=\"text\" name=\"questrelation\" size=\"8\" maxlength=\"8\" value=\"\" />\r\n                                                </td>\r\n                                            </tr>\r\n                                            <tr class=\"large_bold\">\r\n                                                <td colspan=\"2\" class=\"hidden\" align=\"left\">{$lang_creature['ends_quests']}:</td>\r\n                                            </tr>";
            $result1 = $sql->query("SELECT quest FROM creature_involvedrelation WHERE id = {$mob['entry']}");
            while ($quest = $sql->fetch_row($result1)) {
                $query1 = $sql->query("SELECT QuestLevel,IFNULL(" . ($deplang != 0 ? "title_loc{$deplang}" : "NULL") . ",`title`) as title FROM quest_template LEFT JOIN locales_quest ON quest_template.entry = locales_quest.entry WHERE quest_template.entry ='{$quest['0']}'");
                $quest_templ = $sql->fetch_row($query1);
                $output .= "\r\n                                            <tr>\r\n                                                <td width=\"5%\">\r\n                                                    <input type=\"checkbox\" name=\"del_involvedrelation[]\" value=\"{$quest['0']}\" />\r\n                                                </td>\r\n                                                <td width=\"95%\" align=\"left\">\r\n                                                    <a class=\"tooltip\" href=\"{$quest_datasite}{$quest['0']}\" target=\"_blank\">({$quest_templ[0]}) {$quest_templ['1']}</a>\r\n                                                </td>\r\n                                            </tr>";
            }
            $output .= "\r\n                                            <tr class=\"large_bold\" align=\"left\">\r\n                                                <td colspan=\"2\" class=\"hidden\">{$lang_creature['add_ends_quests']}:</td>\r\n                                            </tr>\r\n                                            <tr>\r\n                                                <td colspan=\"2\" align=\"left\">" . makeinfocell($lang_creature['quest_id'], $lang_creature['quest_id_desc']) . " :\r\n                                                    <input type=\"text\" name=\"involvedrelation\" size=\"8\" maxlength=\"8\" value=\"\" />\r\n                                                </td>\r\n                                            </tr>\r\n                                            </table>\r\n                                            <br />{$lang_creature['check_to_delete']}<br /><br />\r\n                                        </div>";
        }
        if ($vendor_flag) {
            $output .= "\r\n                                        <div id=\"pane7\">\r\n                                            <br /><br />\r\n                                            <table class=\"lined\" style=\"width: 720px;\">\r\n                                                <tr class=\"large_bold\">\r\n                                                    <td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_creature['sells']}:</td>\r\n                                                </tr>\r\n                                                <tr>\r\n                                                </tr>\r\n                                                    <td colspan=\"8\">";
            $cel_counter = 0;
            $row_flag = 0;
            $output .= "\r\n                                                        <table class=\"hidden\" align=\"center\">\r\n                                                            <tr>";
            $result1 = $sql->query("SELECT item, maxcount, incrtime, ExtendedCost FROM npc_vendor WHERE entry = {$mob['entry']}");
            while ($item = $sql->fetch_row($result1)) {
                $cel_counter++;
                if (!$item[1]) {
                    $count = "{$lang_creature['unlimited']}";
                } else {
                    $count = $item[1];
                }
                $tooltip = get_item_name($item[0]) . "<br />{$lang_creature['count']} : {$count}<br />{$lang_creature['vendor_incrtime']} : {$item['2']}";
                $output .= "\r\n                                                                <td>";
                $output .= maketooltip("<img src=\"" . get_item_icon($item[0]) . "\" class=\"icon_border\" alt=\"\" />", "{$item_datasite}{$item['0']}", $tooltip, "item_tooltip");
                $output .= "\r\n                                                                    <br />\r\n                                                                    <input type=\"checkbox\" name=\"del_vendor_item[]\" value=\"{$item['0']}\" />\r\n                                                                </td>";
                if ($cel_counter >= 14) {
                    $cel_counter = 0;
                    $output .= "\r\n                                                            </tr>\r\n                                                            <tr>";
                    $row_flag++;
                }
            }
            if ($row_flag) {
                $output .= "<td colspan=\"" . (16 - $cel_counter) . "\"></td>";
            }
            $output .= "\r\n                                                            </tr>\r\n                                                        </table>\r\n                                                    </td>\r\n                                                </tr>\r\n                                                <tr class=\"large_bold\"><td colspan=\"8\" class=\"hidden\" align=\"left\">{$lang_creature['add_items_to_vendor']}:</td></tr>\r\n                                                <tr>\r\n                                                    <td>" . makeinfocell($lang_creature['vendor_item_id'], $lang_creature['vendor_item_id_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"vendor_item\" size=\"8\" maxlength=\"10\" value=\"\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['vendor_max_count'], $lang_creature['vendor_max_count_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"vendor_maxcount\" size=\"8\" maxlength=\"3\" value=\"0\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['vendor_incrtime'], $lang_creature['vendor_incrtime_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"vendor_incrtime\" size=\"8\" maxlength=\"10\" value=\"0\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['vendor_extended_cost'], $lang_creature['vendor_extended_cost_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"vendor_extended_cost\" size=\"8\" maxlength=\"10\" value=\"0\" />\r\n                                                    </td>\r\n                                                </tr>\r\n                                            </table><br />{$lang_creature['check_to_delete']}<br /><br />\r\n                                        </div>";
        }
        if ($trainer_flag) {
            $output .= "\r\n                                        <div id=\"pane8\">\r\n                                            <br /><br />\r\n                                            <table class=\"lined\" style=\"width: 720px;\">\r\n                                                <tr class=\"large_bold\">\r\n                                                    <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['trains']}:</td>\r\n                                                </tr>\r\n                                                <tr>\r\n                                                    <td colspan=\"6\">";
            $cel_counter = 0;
            $row_flag = 0;
            $output .= "\r\n                                                        <table class=\"hidden\" align=\"center\">\r\n                                                            <tr>";
            $result1 = $sql->query("SELECT spell, spellcost, reqskill, reqskillvalue, reqlevel FROM npc_trainer WHERE entry = {$mob['entry']} ORDER BY reqlevel");
            while ($spell = $sql->fetch_row($result1)) {
                $cel_counter++;
                $tooltip = "{$lang_creature['spell_id']} : {$spell['0']}<br />{$lang_creature['cost']} :  {$spell['1']}(c)<br />{$lang_creature['req_skill']} : {$spell['2']}<br />{$lang_creature['req_skill_lvl']} :  {$spell['3']}<br />{$lang_creature['req_level']} {$spell['4']}";
                $output .= "\r\n                                                                <td>";
                $output .= maketooltip($spell[0], "{$spell_datasite}{$spell['0']}", $tooltip, "info_tooltip");
                $output .= "\r\n                                                                    <br /><input type=\"checkbox\" name=\"del_trainer_spell[]\" value=\"{$spell['0']}\" />\r\n                                                                </td>";
                if ($cel_counter >= 16) {
                    $cel_counter = 0;
                    $output .= "\r\n                                                            </tr>\r\n                                                            <tr>";
                    $row_flag++;
                }
            }
            if ($row_flag) {
                $output .= "\r\n                                                                <td colspan=\"" . (16 - $cel_counter) . "\"></td>";
            }
            $output .= "\r\n                                                            </tr>\r\n                                                        </table>\r\n                                                    </td>\r\n                                                </tr>\r\n                                                <tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['add_spell_to_trainer']}:</td></tr>\r\n                                                <tr>\r\n                                                    <td>" . makeinfocell($lang_creature['train_spell_id'], $lang_creature['train_spell_id_desc']) . "</td>\r\n                                                    <td colspan=\"3\">\r\n                                                        <input type=\"text\" name=\"trainer_spell\" size=\"40\" maxlength=\"10\" value=\"\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['train_cost'], $lang_creature['train_cost_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"spellcost\" size=\"8\" maxlength=\"10\" value=\"0\" />\r\n                                                    </td>\r\n                                                </tr>\r\n                                                <tr>\r\n                                                    <td>" . makeinfocell($lang_creature['req_skill'], $lang_creature['req_skill_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"reqskill\" size=\"8\" maxlength=\"10\" value=\"0\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['req_skill_value'], $lang_creature['req_skill_value_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"reqskillvalue\" size=\"8\" maxlength=\"10\" value=\"0\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['req_level'], $lang_creature['req_level_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"reqlevel\" size=\"8\" maxlength=\"10\" value=\"0\" />\r\n                                                    </td>\r\n                                                </tr>\r\n                                            </table>\r\n                                            <br />{$lang_creature['check_to_delete']}<br /><br />\r\n                                        </div>";
        }
        if ($mob['skinloot']) {
            $output .= "\r\n                                        <div id=\"pane9\">\r\n                                            <br /><br />\r\n                                            <table class=\"lined\" style=\"width: 720px;\">\r\n                                                <tr class=\"large_bold\">\r\n                                                    <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['skinning_loot_tmpl_id']}: {$mob['skinloot']}</td>\r\n                                                </tr>\r\n                                                <tr>\r\n                                                    <td colspan=\"6\">";
            $cel_counter = 0;
            $row_flag = 0;
            $output .= "\r\n                                                        <table class=\"hidden\" align=\"center\">\r\n                                                            <tr>";
            $result1 = $sql->query("SELECT item,ChanceOrQuestChance,`groupid`,mincountOrRef,maxcount, lootcondition, condition_value1, condition_value2 FROM skinning_loot_template WHERE entry = {$mob['skinloot']} ORDER BY ChanceOrQuestChance DESC");
            while ($item = $sql->fetch_row($result1)) {
                $cel_counter++;
                $tooltip = get_item_name($item[0]) . " ({$item['0']})<br />{$lang_creature['drop_chance']}: {$item['1']}%<br />{$lang_creature['quest_drop_chance']}: {$item['2']}%<br />{$lang_creature['drop_chance']}: {$item['3']}-{$item['4']}<br />{$lang_creature['lootcondition']}: {$item['5']}<br />{$lang_creature['condition_value1']}: {$item['6']}<br />{$lang_creature['condition_value2']}: {$item['7']}";
                $output .= "\r\n                                                                <td>";
                $output .= maketooltip("<img src=\"" . get_item_icon($item[0]) . "\" class=\"icon_border\" alt=\"\" />", "{$item_datasite}{$item['0']}", $tooltip, "item_tooltip");
                $output .= "\r\n                                                                    <br /><input type=\"checkbox\" name=\"del_skin_items[]\" value=\"{$item['0']}\" />\r\n                                                                </td>";
                if ($cel_counter >= 16) {
                    $cel_counter = 0;
                    $output .= "\r\n                                                            </tr>\r\n                                                            <tr>";
                    $row_flag++;
                }
            }
            if ($row_flag) {
                $output .= "\r\n                                                                <td colspan=\"" . (16 - $cel_counter) . "\"></td>";
            }
            $output .= "\r\n                                                            </tr>\r\n                                                        </table>\r\n                                                    </td>\r\n                                                </tr>\r\n                                                <tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['add_items_to_templ']}:</td></tr>\r\n                                                <tr>\r\n                                                    <td>" . makeinfocell($lang_creature['loot_item_id'], $lang_creature['loot_item_id_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"skin_item\" size=\"8\" maxlength=\"10\" value=\"\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['loot_drop_chance'], $lang_creature['loot_drop_chance_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"skin_ChanceOrQuestChance\" size=\"8\" maxlength=\"11\" value=\"0\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['loot_quest_drop_chance'], $lang_creature['loot_quest_drop_chance_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"skin_groupid\" size=\"8\" maxlength=\"10\" value=\"0\" />\r\n                                                    </td>\r\n                                                </tr>\r\n                                                <tr>\r\n                                                    <td>" . makeinfocell($lang_creature['min_count'], $lang_creature['min_count_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"skin_mincountOrRef\" size=\"8\" maxlength=\"3\" value=\"1\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['max_count'], $lang_creature['max_count_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"skin_maxcount\" size=\"8\" maxlength=\"3\" value=\"1\" />\r\n                                                    </td>\r\n                                                </tr>\r\n                                                <tr>\r\n                                                    <td>" . makeinfocell($lang_creature['lootcondition'], $lang_creature['lootcondition_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"skin_lootcondition\" size=\"8\" maxlength=\"3\" value=\"0\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['condition_value1'], $lang_creature['condition_value1_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"skin_condition_value1\" size=\"8\" maxlength=\"3\" value=\"0\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['condition_value2'], $lang_creature['condition_value2_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"skin_condition_value2\" size=\"8\" maxlength=\"3\" value=\"0\" />\r\n                                                    </td>\r\n                                                </tr>\r\n                                            </table>\r\n                                            <br />{$lang_creature['check_to_delete']}<br /><br />\r\n                                        </div>";
        }
        if ($mob['pickpocketloot']) {
            $output .= "\r\n                                        <div id=\"pane10\">\r\n                                            <br /><br />\r\n                                            <table class=\"lined\" style=\"width: 720px;\">\r\n                                                <tr class=\"large_bold\">\r\n                                                    <td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['pickpocketloot_tmpl_id']}: {$mob['pickpocketloot']}</td>\r\n                                                </tr>\r\n                                                <tr>\r\n                                                    <td colspan=\"6\">";
            $cel_counter = 0;
            $row_flag = 0;
            $output .= "\r\n                                                        <table class=\"hidden\" align=\"center\">\r\n                                                            <tr>";
            $result1 = $sql->query("SELECT item,ChanceOrQuestChance,`groupid`,mincountOrRef,maxcount, lootcondition, condition_value1, condition_value2 FROM pickpocketing_loot_template WHERE entry = {$mob['pickpocketloot']} ORDER BY ChanceOrQuestChance DESC");
            while ($item = $sql->fetch_row($result1)) {
                $cel_counter++;
                $tooltip = get_item_name($item[0]) . " ({$item['0']})<br />{$lang_creature['drop_chance']}: {$item['1']}%<br />{$lang_creature['quest_drop_chance']}: {$item['2']}%<br />{$lang_creature['drop_chance']}: {$item['3']}-{$item['4']}<br />{$lang_creature['lootcondition']}: {$item['5']}<br />{$lang_creature['condition_value1']}: {$item['6']}<br />{$lang_creature['condition_value2']}: {$item['7']}";
                $output .= "\r\n                                                                <td>";
                $output .= maketooltip("<img src=\"" . get_item_icon($item[0]) . "\" class=\"icon_border\" alt=\"\" />", "{$item_datasite}{$item['0']}", $tooltip, "item_tooltip");
                $output .= "\r\n                                                                    <br /><input type=\"checkbox\" name=\"del_pp_items[]\" value=\"{$item['0']}\" />\r\n                                                                </td>";
                if ($cel_counter >= 16) {
                    $cel_counter = 0;
                    $output .= "\r\n                                                            </tr>\r\n                                                            <tr>";
                    $row_flag++;
                }
            }
            if ($row_flag) {
                $output .= "<td colspan=\"" . (16 - $cel_counter) . "\"></td>";
            }
            $output .= "\r\n                                                            </tr>\r\n                                                        </table>\r\n                                                    </td>\r\n                                                </tr>\r\n                                                <tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_creature['add_items_to_templ']}:</td></tr>\r\n                                                <tr>\r\n                                                    <td>" . makeinfocell($lang_creature['loot_item_id'], $lang_creature['loot_item_id_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"pp_item\" size=\"8\" maxlength=\"10\" value=\"\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['loot_drop_chance'], $lang_creature['loot_drop_chance_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"pp_ChanceOrQuestChance\" size=\"8\" maxlength=\"11\" value=\"0\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['loot_quest_drop_chance'], $lang_creature['loot_quest_drop_chance_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"pp_groupid\" size=\"8\" maxlength=\"10\" value=\"0\" />\r\n                                                    </td>\r\n                                                </tr>\r\n                                                <tr>\r\n                                                    <td>" . makeinfocell($lang_creature['min_count'], $lang_creature['min_count_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"pp_mincountOrRef\" size=\"8\" maxlength=\"3\" value=\"1\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['max_count'], $lang_creature['max_count_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"pp_maxcount\" size=\"8\" maxlength=\"3\" value=\"1\" />\r\n                                                    </td>\r\n                                                </tr>\r\n                                                <tr>\r\n                                                    <td>" . makeinfocell($lang_creature['lootcondition'], $lang_creature['lootcondition_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"pp_lootcondition\" size=\"8\" maxlength=\"3\" value=\"0\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['condition_value1'], $lang_creature['condition_value1_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"pp_condition_value1\" size=\"8\" maxlength=\"3\" value=\"0\" />\r\n                                                    </td>\r\n                                                    <td>" . makeinfocell($lang_creature['condition_value2'], $lang_creature['condition_value2_desc']) . "</td>\r\n                                                    <td>\r\n                                                        <input type=\"text\" name=\"pp_condition_value2\" size=\"8\" maxlength=\"3\" value=\"0\" />\r\n                                                    </td>\r\n                                                </tr>\r\n                                            </table>\r\n                                            <br />{$lang_creature['check_to_delete']}<br /><br />\r\n                                        </div>";
        }
        $output .= "\r\n                                    </div>\r\n                                    </div>\r\n                                    <br />\r\n                                </form>\r\n                                <script type=\"text/javascript\">setupPanes(\"container\", \"tab1\")</script>\r\n                                <table class=\"hidden\">\r\n                                    <tr>\r\n                                        <td>";
        if ($do_insert) {
            if ($user_lvl >= $action_permission['insert'] && $do_insert) {
                makebutton($lang_creature['save_to_db'], "javascript:do_submit('form1',0)", 180);
            }
        } else {
            if ($user_lvl >= $action_permission['insert']) {
                makebutton($lang_creature['save_to_db'], "javascript:do_submit('form1',0)", 180);
            }
            if ($user_lvl >= $action_permission['delete']) {
                makebutton($lang_creature['del_creature'], "creature.php?action=delete&amp;entry={$entry}", 180);
            }
            if ($user_lvl >= $action_permission['delete']) {
                makebutton($lang_creature['del_spawns'], "creature.php?action=delete_spwn&amp;entry={$entry}", 180);
            }
        }
        // scripts/export should be okay without permission check
        makebutton($lang_creature['save_to_script'], "javascript:do_submit('form1',1)", 180);
        $output .= "\r\n                                        </td>\r\n                                    </tr>\r\n                                    <tr>\r\n                                        <td>";
        makebutton($lang_creature['lookup_creature'], "creature.php", 760);
        $output .= "\r\n                                        </td>\r\n                                    </tr>\r\n                                </table>\r\n                            </center>";
        $sql->close();
        unset($sql);
    } else {
        $sql->close();
        unset($sql);
        error($lang_creature['item_not_found']);
        exit;
    }
}
Esempio n. 24
0
function view_raffle()
{
    global $output, $coupon_id, $raffle_id, $bag_id, $characters_db, $user_id, $user_name, $base_datasite, $item_datasite, $sql, $core;
    points_tabs();
    if (!isset($_GET["purchased"])) {
        $query = "SELECT * FROM point_system_raffles WHERE entry='" . $raffle_id . "'";
        $result = $sql["mgr"]->query($query);
        $raffle = $sql["mgr"]->fetch_assoc($result);
        $my_usage_query = "SELECT * FROM point_system_raffle_tickets WHERE raffle='" . $raffle_id . "' AND user='******'";
        $my_usage_result = $sql["mgr"]->query($my_usage_query);
        $my_usage_count = $sql["mgr"]->num_rows($my_usage_result);
        $usage_query = "SELECT * FROM point_system_raffle_tickets WHERE raffle='" . $raffle_id . "'";
        $usage_result = $sql["mgr"]->query($usage_query);
        $usage_count = $sql["mgr"]->num_rows($usage_result);
        $output .= '
          <div class="tab_content center">';
        // make sure we're allowed to use this coupon
        if ($raffle["tickets_per_user"] <= $my_usage_count && $raffle["tickets_per_user"] != -1 || $usage_count >= $raffle["ticket_limit"] && $raffle["ticket_limit"] != -1) {
            $output .= '
            <span class="error">' . lang("points", "cannot_purchase_ticket") . '</span>';
        } else {
            $output .= '
            <form action="point_system.php" id="form1">
              <input type="hidden" name="action" value="do_purchase" />
              <input type="hidden" name="raffle_id" value="' . $raffle_id . '" />
              <table class="lined" id="coupon_table">
                <tr>
                  <td align="left">' . $raffle["title"] . '</td>
                </tr>';
            if ($raffle["text"] != "") {
                $output .= '
                <tr>
                  <td align="left">' . $raffle["text"] . '</td>
                </tr>';
            }
            $output .= '
              <tr>
                <td align="left"><span>' . lang("points", "drawing") . '</span>:&nbsp;' . $raffle["drawing"] . '</td>
              </tr>';
            if ($raffle["credits"] != 0 || $raffle["money"] != 0 || $raffle["item_id"] != 0) {
                $output .= '
                <tr>
                  <td>
                    <div class="coupon_parts">' . lang("points", "raffle_prizes") . ':</div>';
                if ($raffle["credits"] != 0) {
                    if ($raffle["credits"] > 1) {
                        $tip = lang("points", "raffle_credits");
                    } else {
                        $tip = lang("points", "raffle_credit");
                    }
                    $output .= '
                    <div class="coupon_parts">
                      <span>' . $raffle["credits"] . '</span>
                      <span>' . $tip . '</span>
                    </div>';
                }
                if ($raffle["money"] != 0) {
                    // extract gold/silver/copper from single gold number
                    $raffle["money"] = str_pad($raffle["money"], 4, "0", STR_PAD_LEFT);
                    $raffle_g = substr($raffle["money"], 0, -4);
                    if ($raffle_g == "") {
                        $raffle_g = 0;
                    }
                    $raffle_s = substr($raffle["money"], -4, 2);
                    if ($raffle_s == "" || $raffle_s == "00") {
                        $raffle_s = 0;
                    }
                    $raffle_c = substr($raffle["money"], -2);
                    if ($raffle_c == "" || $raffle_c == "00") {
                        $raffle_c = 0;
                    }
                    $output .= '
                    <div class="coupon_parts">
                      <span>' . $raffle_g . '</span>
                      <img src="img/gold.gif" alt="gold" style="position: relative; bottom: -6px;" />
                      <span>' . $raffle_s . '</span>
                      <img src="img/silver.gif" alt="silver" style="position: relative; bottom: -6px;" />
                      <span>' . $raffle_c . '</span>
                      <img src="img/copper.gif" alt="copper" style="position: relative; bottom: -6px;" />
                    </div>';
                }
                if ($raffle["item_id"] != 0) {
                    if ($raffle["item_id"] > 0) {
                        // get item data
                        if ($core == 1) {
                            $i_query = "SELECT \r\n                *, description AS description1, name1 AS name, quality AS Quality, inventorytype AS InventoryType, \r\n                socket_color_1 AS socketColor_1, socket_color_2 AS socketColor_2, socket_color_3 AS socketColor_3,\r\n                requiredlevel AS RequiredLevel, allowableclass AS AllowableClass,\r\n                sellprice AS SellPrice, itemlevel AS ItemLevel\r\n                FROM items " . ($locales_search_option != 0 ? "LEFT JOIN items_localized ON (items_localized.entry=items.entry AND language_code='" . $locales_search_option . "') " : " ") . "WHERE items.entry='" . $raffle["item_id"] . "'";
                        } else {
                            $i_query = "SELECT *, description AS description1 FROM item_template " . ($locales_search_option != 0 ? "LEFT JOIN locales_item ON locales_item.entry=item_template.entry " : " ") . "WHERE item_template.entry='" . $raffle["item_id"] . "'";
                        }
                        $i_result = $sql["world"]->query($i_query);
                        $i = $sql["world"]->fetch_assoc($i_result);
                        $output .= '
                    <div class="coupon_parts">
                      <div class="coupon_item">
                        <div>
                          <a id="ch_inv_padding" href="' . $base_datasite . $item_datasite . $raffle["item_id"] . '" rel="external" onmouseover="ShowTooltip(this,\'_b\');" onmouseout="HideTooltip(\'_b\');">
                            <img src="' . get_item_icon($raffle["item_id"]) . '" alt="" />
                          </a>';
                        if ($raffle["item_count"] > 1) {
                            $output .= '
                          <div id="coupon_item_quantity_shadow">' . $raffle["item_count"] . '</div>
                          <div id="coupon_item_quantity">' . $raffle["item_count"] . '</div>';
                        }
                        $output .= '
                        </div>';
                        // build a tooltip object for this item
                        $output .= '
                        <div class="item_tooltip" id="tooltip_b" style="left: -129px; top: 42px;">
                          <table>
                            <tr>
                              <td>' . get_item_tooltip($i, $item[4], $item[5], $item[6], $item[7], $item[8]) . '</td>
                            </tr>
                          </table>
                        </div>';
                        $output .= '
                      </div>
                    </div>';
                    } else {
                        $output .= '
                    <div class="coupon_parts">
                      <div>
                        <a href="point_system.php?action=view_bag&amp;bag_id=' . $coupon["item_id"] * -1 . '&amp;raffle_id=' . $raffle_id . '" onmousemove="oldtoolTip(\'' . lang("points", "prize_bag") . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()">
                          <img src="' . get_item_icon(1725) . '" alt="" />
                        </a>
                      </div>
                    </div>';
                    }
                }
                $output .= '
                  </td>
                </tr>
                <tr>
                  <td>
                    <div class="coupon_parts">' . lang("points", "ticket_cost") . ':</div>';
                if ($raffle["cost_credits"] != 0) {
                    // get our credit balance
                    $query = "SELECT credits FROM config_accounts WHERE Login='******'";
                    $result = $sql["mgr"]->query($query);
                    $result = $sql["mgr"]->fetch_assoc($result);
                    $credits = $result["credits"];
                    // check our funds vs Unlimited and the raffle's requirement
                    $insufficient = false;
                    if ($credits < $raffle["cost_credits"] && $credits > -1) {
                        $insufficient = true;
                    }
                    if ($raffle["cost_credits"] > 1) {
                        $tip = lang("points", "raffle_credits");
                    } else {
                        $tip = lang("points", "raffle_credit");
                    }
                    $output .= '
                    <div class="coupon_parts">
                      <span>' . $raffle["cost_credits"] . '</span>
                      <span>' . $tip . '</span>
                      <span class="points_credit_highlight">' . ($credits > -1 ? '&nbsp;' . lang("points", "balance") . ':&nbsp;' . rtrim($credits, "0.") : '') . '</span>
                      <span class="points_credit_highlight">' . ($insufficient ? '&nbsp;<b>(' . lang("points", "insufficient_funds") . ')</b>' : '') . '</span>
                      <span class="points_credit_highlight">' . ($credits <= -1 ? '&nbsp;<b>(' . lang("points", "unlimited") . ')</b>' : '') . '</span>
                    </div>';
                }
                if ($raffle["cost_money"] != 0) {
                    // extract gold/silver/copper from single gold number
                    $raffle["cost_money"] = str_pad($raffle["cost_money"], 4, "0", STR_PAD_LEFT);
                    $raffle_cost_g = substr($raffle["cost_money"], 0, -4);
                    if ($raffle_cost_g == "") {
                        $raffle_cost_g = 0;
                    }
                    $raffle_cost_s = substr($raffle["cost_money"], -4, 2);
                    if ($raffle_cost_s == "" || $raffle_cost_s == "00") {
                        $raffle_cost_s = 0;
                    }
                    $raffle_cost_c = substr($raffle["cost_money"], -2);
                    if ($raffle_cost_c == "" || $raffle_cost_c == "00") {
                        $raffle_cost_c = 0;
                    }
                    $output .= '
                    <div class="coupon_parts">
                      <span>' . $raffle_cost_g . '</span>
                      <img src="img/gold.gif" alt="gold" style="position: relative; bottom: -6px;" />
                      <span>' . $raffle_cost_s . '</span>
                      <img src="img/silver.gif" alt="silver" style="position: relative; bottom: -6px;" />
                      <span>' . $raffle_cost_c . '</span>
                      <img src="img/copper.gif" alt="copper" style="position: relative; bottom: -6px;" />
                    </div>';
                    $output .= '
                    <div class="coupon_part_title">
                      <span>' . lang("points", "choose_char_use_money") . ':</span>
                    </div>';
                    // get characters
                    $char_list = array();
                    $realm_list = array();
                    foreach ($characters_db as $db) {
                        $sqlt = new SQL();
                        $sqlt->connect($db["addr"], $db["user"], $db["pass"], $db["name"], $db["encoding"]);
                        $realm_char_list = array();
                        // store the realm id for later
                        $realm_list[] = $db["id"];
                        if ($core == 1) {
                            $char_query = "SELECT guid FROM characters WHERE acct='" . $user_id . "' ORDER BY guid ASC";
                        } else {
                            $char_query = "SELECT guid FROM characters WHERE account='" . $user_id . "' ORDER BY guid ASC";
                        }
                        $char_result = $sqlt->query($char_query);
                        while ($row = $sqlt->fetch_assoc($char_result)) {
                            $realm_char_list[] = $row["guid"];
                        }
                        $char_list[] = $realm_char_list;
                    }
                    for ($i = 0; $i < count($char_list); $i++) {
                        $realm_chars = $char_list[$i];
                        $cur_realm = $realm_list[$i];
                        $realm_name_query = "SELECT * FROM config_servers WHERE `Index`='" . $cur_realm . "'";
                        $realm_name_result = $sql["mgr"]->query($realm_name_query);
                        $realm_name_result = $sql["mgr"]->fetch_assoc($realm_name_result);
                        $cur_realm_name = $realm_name_result["Name"];
                        $sqlt = new SQL();
                        $sqlt->connect($characters_db[$cur_realm]["addr"], $characters_db[$cur_realm]["user"], $characters_db[$cur_realm]["pass"], $characters_db[$cur_realm]["name"], $characters_db[$cur_realm]["encoding"]);
                        if (count($realm_list) > 1) {
                            $output .= '
                    <div class="coupon_part_chars">
                      <span>' . $cur_realm_name . '</span>
                    </div>';
                        }
                        $output .= '
                    <div class="coupon_part_chars">
                      <div class="fake_table">';
                        $first = true;
                        // we want the first character to be selected
                        foreach ($realm_chars as $row) {
                            if ($core == 1) {
                                $char_query = "SELECT *, gold AS money FROM characters WHERE guid='" . $row . "'";
                            } else {
                                $char_query = "SELECT * FROM characters WHERE guid='" . $row . "'";
                            }
                            $char_result = $sqlt->query($char_query);
                            $char = $sqlt->fetch_assoc($char_result);
                            // extract gold/silver/copper from single gold number
                            $char["money"] = str_pad($char["money"], 4, "0", STR_PAD_LEFT);
                            $char_g = substr($char["money"], 0, -4);
                            if ($char_g == "") {
                                $char_g = 0;
                            }
                            $char_s = substr($char["money"], -4, 2);
                            if ($char_s == "" || $char_s == "00") {
                                $char_s = 0;
                            }
                            $char_c = substr($char["money"], -2);
                            if ($char_c == "" || $char_c == "00") {
                                $char_c = 0;
                            }
                            $output .= '
                        <div class="fake_table_cell">
                          <input type="radio" name="money_character" value="' . ($i + 1) . "-" . $row . '-' . $char["name"] . '"' . (isset($first) ? ' checked="checked"' : '') . ($char["online"] || $char["money"] < $raffle["cost_money"] ? ' disabled="disabled"' : '') . ' />
                          <a href="char.php?id=' . $row . '&amp;realm=' . $cur_realm . '">' . $char["name"] . '</a> - <img src="img/c_icons/' . $char["race"] . '-' . $char["gender"] . '.gif" onmousemove="oldtoolTip(\'' . char_get_race_name($char["race"]) . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />
                          <img src="img/c_icons/' . $char["class"] . '.gif" onmousemove="oldtoolTip(\'' . char_get_class_name($char["class"]) . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt=""/> - ' . lang("char", "level_short") . char_get_level_color($char["level"]) . '
                        </div>
                        <div class="fake_table_cell">
                          <span>' . $char_g . '</span>
                          <img src="img/gold.gif" alt="gold" style="position: relative; bottom: -6px;" />
                          <span>' . $char_s . '</span>
                          <img src="img/silver.gif" alt="silver" style="position: relative; bottom: -6px;" />
                          <span>' . $char_c . '</span>
                          <img src="img/copper.gif" alt="copper" style="position: relative; bottom: -6px;" />
                        </div>';
                            unset($first);
                        }
                    }
                }
                $output .= '
                      </div>
                    </div>
                  </td>
                </tr>';
            }
            if ($raffle["tickets_per_user"] > 1) {
                $output .= '
                <tr>
                  <td>
                    <div class="coupon_parts">' . lang("points", "tickets_purchased") . ':&nbsp;<b>' . $my_usage_count . '</b></div>
                  </td>
                </tr>';
            }
            $output .= '
                <tr>
                  <td align="right">
                    <a href="javascript:do_submit(\'form1\',0)">
                      <img src="img/aff_tick.png" width="16" height="16" alt="" />
                      <span>&nbsp;' . lang("points", "confirm_purchase") . '</span>
                    </a>
                  </td>
                </tr>
              </table>
            </form>';
        }
    } else {
        $output .= '
          <div class="tab_content center">';
        $output .= '
            <span>' . lang("points", "purchased") . '</span>';
    }
    $output .= '
          </div>
          <br />
          <!-- end of point_system.php -->';
}
Esempio n. 25
0
function search()
{
    global $lang_global, $lang_mail, $output, $itemperpage, $item_datasite, $mangos_db, $characters_db, $realm_id, $sql_search_limit;
    wowhead_tt();
    if (!isset($_GET['search_value']) || !isset($_GET['search_by'])) {
        redirect("mail_on.php?error=2");
    }
    $sql = new SQL();
    $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
    $search_value = $sql->quote_smart($_GET['search_value']);
    $search_by = $sql->quote_smart($_GET['search_by']);
    $search_menu = array('sender', 'receiver');
    // if (!array_key_exists($search_by, $search_menu)) $search_by = 'sender';
    $start = isset($_GET['start']) ? $sql->quote_smart($_GET['start']) : 0;
    $order_by = isset($_GET['order_by']) ? $sql->quote_smart($_GET['order_by']) : "id";
    $dir = isset($_GET['dir']) ? $sql->quote_smart($_GET['dir']) : 1;
    $order_dir = $dir ? "ASC" : "DESC";
    $dir = $dir ? 0 : 1;
    if ($search_value == '') {
        $search_by .= ' != 0';
    } else {
        $temp = $sql->query("SELECT guid FROM `characters` WHERE name like '%{$search_value}%'");
        $search_value = $sql->result($temp, 0, 'guid');
        $search_by .= ' =' . $search_value;
    }
    $query_1 = $sql->query("SELECT count(*) FROM `mail`");
    $query = $sql->query("SELECT a.id, a.messageType, a.sender, a.receiver, a.subject, a.body, a.has_items, a.money, a.cod, a.checked, b.item_template\r\n            FROM mail a\r\n            LEFT JOIN mail_items b ON a.id = b.mail_id\r\n            WHERE {$search_by}\r\n            ORDER BY {$order_by} {$order_dir} LIMIT {$start}, {$itemperpage}");
    $this_page = $sql->num_rows($query);
    $all_record = $sql->result($query_1, 0);
    $total_found = $sql->num_rows($query);
    //==========================top page navigation starts here========================
    $output .= "<center><table class=\"top_hidden\">\r\n    <tr><td>\r\n            <table class=\"hidden\">\r\n                <tr><td>\r\n            <form action=\"mail_on.php\" method=\"get\" name=\"form\">\r\n            <input type=\"hidden\" name=\"action\" value=\"search\" />\r\n            <input type=\"hidden\" name=\"error\" value=\"4\" />\r\n            <input type=\"text\" size=\"45\" name=\"search_value\" />\r\n            <select name=\"search_by\">\r\n                <option value=\"a.sender\">Sender</option>\r\n                <option value=\"a.receiver\">Receiver</option>\r\n            </select></form></td><td>";
    makebutton($lang_global['search'], "javascript:do_submit()", 80);
    $output .= "</td></tr></table>\r\n            <td align=\"right\">";
    $output .= generate_pagination("mail_on.php?action=search&amp;order_by={$order_by}&amp;dir=" . !$dir, $all_record, $itemperpage, $start);
    $output .= "</td></tr></table>";
    //==========================top page navigation ENDS here ========================
    $output .= "<table class=\"lined\">\r\n  <tr>\r\n    <th width=\"5%\">" . $lang_mail['id'] . "</th>\r\n    <th width=\"5%\">" . $lang_mail['mail_type'] . "</th>\r\n    <th width=\"10%\">" . $lang_mail['sender'] . "</th>\r\n    <th width=\"10%\">" . $lang_mail['receiver'] . "</th>\r\n    <th width=\"15%\">" . $lang_mail['subject'] . "</th>\r\n    <th width=\"5%\">" . $lang_mail['has_items'] . "</th>\r\n    <th width=\"25%\">" . $lang_mail['text'] . "</th>\r\n    <th width=\"20%\">" . $lang_mail['money'] . "</th>\r\n    <th width=\"5%\">" . $lang_mail['checked'] . "</th>\r\n  </tr>";
    while ($mail = $sql->fetch_array($query)) {
        $g = floor($mail[7] / 10000);
        $mail[7] -= $g * 10000;
        $s = floor($mail[7] / 100);
        $mail[7] -= $s * 100;
        $c = $mail[7];
        $money = "";
        if ($mail[7] > 0) {
            $money = $g . "<img src=\"./img/gold.gif\" /> " . $s . "<img src=\"./img/silver.gif\" /> " . $c . "<img src=\"./img/copper.gif\" /> ";
        }
        $output .= "<tr valign=top>\r\n                    <td>{$mail['0']}</td>\r\n                    <td>" . get_mail_source($mail[1]) . "</td>\r\n                    <td><a href=\"char.php?id={$mail['2']}\">" . get_char_name($mail[2]) . "</a></td>\r\n                    <td><a href=\"char.php?id={$mail['3']}\">" . get_char_name($mail[3]) . "</a></td>\r\n                    <td>{$mail['4']}</td>\r\n            ";
        $output .= "<td>";
        if ($mail[6]) {
            $output .= "\r\n                    <a style=\"padding:2px;\" href=\"{$item_datasite}{$mail[10]}\" target=\"_blank\">\r\n                      <img class=\"bag_icon\" src=\"" . get_item_icon($mail[10]) . "\" alt=\"\" />\r\n                  </a>";
        }
        //maketooltip("<img src=\"./img/up.gif\" alt=\"\">", $item_datasite{$mail[10]}, $mail[10], "item_tooltip", "target=\"_blank\"");
        $output .= "</td>";
        $output .= "<td>" . get_mail_text($mail[0]) . "</td>\r\n                        <td>{$money}</td>\r\n        <td>" . get_check_state($mail[9]) . "</td>\r\n                   </tr>";
    }
    /*--------------------------------------------------*/
    $output .= "<tr><td colspan=\"6\" class=\"hidden\" align=\"right\">All Mails: {$all_record}</td></tr>\r\n </table></center>";
    $sql->close();
}
Esempio n. 26
0
function char_inv()
{
    global $output, $realm_id, $characters_db, $world_db, $corem_db, $site_encoding, $action_permission, $user_lvl, $user_name, $locales_search_option, $base_datasite, $item_datasite, $sql, $core;
    // this page uses wowhead tooltops
    //wowhead_tt();
    $cid = $_GET["id"];
    // we need at least an id or we would have nothing to show
    // also, make sure id is numeric to prevent SQL injection
    if (empty($_GET["id"]) || !is_numeric($cid)) {
        error(lang("global", "empty_fields"));
    }
    // this is multi realm support, as of writing still under development
    //  this page is already implementing it
    if (empty($_GET["realm"])) {
        $realmid = $realm_id;
    } else {
        $realmid = $sql["logon"]->quote_smart($_GET["realm"]);
        if (is_numeric($realmid)) {
            $sql["char"]->connect($characters_db[$realmid]["addr"], $characters_db[$realmid]["user"], $characters_db[$realmid]["pass"], $characters_db[$realmid]["name"], $characters_db[$realmid]["encoding"]);
        } else {
            $realmid = $realm_id;
        }
    }
    //-------------------SQL Injection Prevention--------------------------------
    // no point going further if we don have a valid ID
    // this_is_junk: char.php doesn't post account.   Why is this even here?
    //$acct = $sql["char"]->quote_smart($_GET["acct"]);
    //if (is_numeric($acct));
    //else error($lang_global["empty_fields"]);
    // getting character data from database
    if ($core == 1) {
        $result = $sql["char"]->query("SELECT acct, name, race, class, level, gender, gold, online\r\n      FROM characters WHERE guid='" . $cid . "' LIMIT 1");
    } else {
        $result = $sql["char"]->query("SELECT account AS acct, name, race, class, level, gender, money AS gold, online\r\n      FROM characters WHERE guid='" . $cid . "' LIMIT 1");
    }
    // no point going further if character does not exist
    if ($sql["char"]->num_rows($result)) {
        $char = $sql["char"]->fetch_assoc($result);
        // we get user permissions first
        $owner_acc_id = $sql["char"]->result($result, 0, "acct");
        if ($core == 1) {
            $query = $sql["logon"]->query("SELECT login FROM accounts WHERE acct='" . $owner_acc_id . "'");
        } else {
            $query = $sql["logon"]->query("SELECT username as login FROM account WHERE id='" . $owner_acc_id . "'");
        }
        $owner_name = $sql["logon"]->result($query, 0, "login");
        $s_query = "SELECT *, SecurityLevel AS gm FROM config_accounts WHERE Login='******'";
        $s_result = $sql["mgr"]->query($s_query);
        $s_fields = $sql["mgr"]->fetch_assoc($s_result);
        $owner_gmlvl = $s_fields["gm"];
        $view_mod = $s_fields["View_Mod_Inv"];
        if ($owner_gmlvl >= 1073741824) {
            $owner_gmlvl -= 1073741824;
        }
        // owner configured overrides
        $view_override = false;
        if ($view_mod > 0) {
            if ($view_mod == 1) {
            } elseif ($view_mod == 2) {
                // only registered users may view this page
                if ($user_lvl > -1) {
                    $view_override = true;
                }
            }
        }
        // visibility overrides for specific tabs
        $view_talent_override = false;
        if ($s_fields["View_Mod_Talent"] > 0) {
            if ($s_fields["View_Mod_Talent"] == 1) {
            } elseif ($s_fields["View_Mod_Talent"] == 2) {
                // only registered users may view this tab
                if ($user_lvl > -1) {
                    $view_talent_override = true;
                }
            }
        } else {
            if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                $view_talent_override = true;
            }
        }
        $view_achieve_override = false;
        if ($s_fields["View_Mod_Achieve"] > 0) {
            if ($s_fields["View_Mod_Achieve"] == 1) {
            } elseif ($s_fields["View_Mod_Achieve"] == 2) {
                // only registered users may view this tab
                if ($user_lvl > -1) {
                    $view_achieve_override = true;
                }
            }
        } else {
            if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                $view_achieve_override = true;
            }
        }
        $view_quest_override = false;
        if ($s_fields["View_Mod_Quest"] > 0) {
            if ($s_fields["View_Mod_Quest"] == 1) {
            } elseif ($s_fields["View_Mod_Quest"] == 2) {
                // only registered users may view this tab
                if ($user_lvl > -1) {
                    $view_quest_override = true;
                }
            }
        } else {
            if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                $view_quest_override = true;
            }
        }
        $view_friends_override = false;
        if ($s_fields["View_Mod_Friends"] > 0) {
            if ($s_fields["View_Mod_Friends"] == 1) {
            } elseif ($s_fields["View_Mod_Friends"] == 2) {
                // only registered users may view this tab
                if ($user_lvl > -1) {
                    $view_friends_override = true;
                }
            }
        } else {
            if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                $view_friends_override = true;
            }
        }
        $view_view_override = false;
        if ($s_fields["View_Mod_View"] > 0) {
            if ($s_fields["View_Mod_View"] == 1) {
            } elseif ($s_fields["View_Mod_View"] == 2) {
                // only registered users may view this tab
                if ($user_lvl > -1) {
                    $view_view_override = true;
                }
            }
        } else {
            if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                $view_view_override = true;
            }
        }
        // find out what mode we're in View or Delete (0 = View, 1 = Delete)
        $mode = isset($_GET["mode"]) ? $_GET["mode"] : 0;
        // only the character's owner or a GM with Delete privs can enter Delete Mode
        if ($owner_name != $user_name) {
            if ($user_lvl < $action_permission["delete"]) {
                $mode = 0;
            } else {
                $mode = $mode;
            }
        }
        // View Mode is only availble on characters that are offline
        if ($char["online"] != 0) {
            $mode = 0;
        }
        // check user permission
        if ($view_override || $user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
            // main data that we need for this page, character inventory
            if ($core == 1) {
                $result = $sql["char"]->query("SELECT \r\n          containerslot, slot, entry, enchantments AS enchantment, randomprop AS property, count, flags\r\n          FROM playeritems WHERE ownerguid='" . $cid . "' ORDER BY containerslot, slot");
            } elseif ($core == 2) {
                $result = $sql["char"]->query("SELECT \r\n          bag, slot, item_template AS entry, item, \r\n          SUBSTRING_INDEX(SUBSTRING_INDEX(item_instance.data, ' ', 11), ' ', -1) AS creator,\r\n          SUBSTRING_INDEX(SUBSTRING_INDEX(item_instance.data, ' ', 23), ' ', -1) AS enchantment, \r\n          SUBSTRING_INDEX(SUBSTRING_INDEX(item_instance.data, ' ', 60), ' ', -1) AS property, \r\n          SUBSTRING_INDEX(SUBSTRING_INDEX(item_instance.data, ' ', 15), ' ', -1) AS count,\r\n          SUBSTRING_INDEX(SUBSTRING_INDEX(item_instance.data, ' ', 62), ' ', -1) AS durability,\r\n          SUBSTRING_INDEX(SUBSTRING_INDEX(item_instance.data, ' ', 22), ' ', -1) AS flags\r\n          FROM character_inventory LEFT JOIN item_instance ON character_inventory.item=item_instance.guid\r\n          WHERE character_inventory.guid='" . $cid . "' ORDER BY bag, slot");
            } else {
                $result = $sql["char"]->query("SELECT \r\n          bag, slot, itemEntry AS entry, item, \r\n          creatorGuid AS creator,\r\n          enchantments AS enchantment, \r\n          randomPropertyId AS property, \r\n          count, durability, flags\r\n          FROM character_inventory \r\n            LEFT JOIN item_instance ON character_inventory.item=item_instance.guid\r\n          WHERE character_inventory.guid='" . $cid . "' ORDER BY bag, slot");
            }
            //---------------Page Specific Data Starts Here--------------------------
            // lets start processing first before we display anything
            //  we have lots to do for inventory
            // character bags, 1 main + 4 additional
            $bag = array(0 => array(), 1 => array(), 2 => array(), 3 => array(), 4 => array());
            // character bank, 1 main + 7 additional
            $bank = array(0 => array(), 1 => array(), 2 => array(), 3 => array(), 4 => array(), 5 => array(), 6 => array(), 7 => array());
            // this is where we will put items that are in main bag
            $bag_id = array();
            // this is where we will put items that are in main bank
            $bank_bag_id = array();
            // this is where we will put items that are in character bags, 4 arrays, 1 for each
            $equiped_bag_id = array(0, 0, 0, 0, 0);
            // this is where we will put items that are in bank bangs, 7 arrays, 1 for each
            $equip_bnk_bag_id = array(0, 0, 0, 0, 0, 0, 0, 0);
            // we load the things in each bag slot
            while ($slot = $sql["char"]->fetch_assoc($result)) {
                if ($core == 1) {
                    if ($slot["containerslot"] == -1 && $slot["slot"] > 18) {
                        if ($slot["slot"] < 23) {
                            $bag_id[$slot["slot"]] = $slot["slot"] - 18;
                            $equiped_bag_id[$slot["slot"] - 18] = array($slot["entry"], $sql["world"]->result($sql["world"]->query("SELECT containerslots FROM items\r\n                  WHERE entry='" . $slot["entry"] . "'"), 0, "containerslots"), $slot["count"]);
                        } elseif ($slot["slot"] < 39) {
                            $i_query = "SELECT \r\n                *, description AS description1, name1 AS name, quality AS Quality, inventorytype AS InventoryType, \r\n                socket_color_1 AS socketColor_1, socket_color_2 AS socketColor_2, socket_color_3 AS socketColor_3,\r\n                requiredlevel AS RequiredLevel, allowableclass AS AllowableClass,\r\n                sellprice AS SellPrice, itemlevel AS ItemLevel\r\n                FROM items " . ($locales_search_option != 0 ? "LEFT JOIN items_localized ON (items_localized.entry=items.entry AND language_code='" . $locales_search_option . "') " : " ") . "WHERE items.entry='" . $slot["entry"] . "'";
                            $i_result = $sql["world"]->query($i_query);
                            $i = $sql["world"]->fetch_assoc($i_result);
                            if (isset($bag[0][$slot["slot"] - 23])) {
                                $bag[0][$slot["slot"] - 23][0]++;
                            } else {
                                $bag[0][$slot["slot"] - 23] = array($slot["entry"], 0, $slot["count"], $i, $slot["enchantment"], $slot["property"], $slot["creator"], $slot["durability"], $slot["flags"], $slot["bag"], $slot["slot"]);
                            }
                        } elseif ($slot["slot"] < 67) {
                            $i_query = "SELECT\r\n                *, description AS description1, name1 AS name, quality AS Quality, inventorytype AS InventoryType, \r\n                socket_color_1 AS socketColor_1, socket_color_2 AS socketColor_2, socket_color_3 AS socketColor_3,\r\n                requiredlevel AS RequiredLevel, allowableclass AS AllowableClass,\r\n                sellprice AS SellPrice, itemlevel AS ItemLevel\r\n                FROM items " . ($locales_search_option != 0 ? "LEFT JOIN items_localized ON (items_localized.entry=items.entry AND language_code='" . $locales_search_option . "') " : " ") . "WHERE items.entry='" . $slot["entry"] . "'";
                            $i_result = $sql["world"]->query($i_query);
                            $i = $sql["world"]->fetch_assoc($i_result);
                            $bank[0][$slot["slot"] - 39] = array($slot["entry"], 0, $slot["count"], $i, $slot["enchantment"], $slot["property"], $slot["creator"], $slot["durability"], $slot["flags"], $slot["bag"], $slot["slot"]);
                        } elseif ($slot["slot"] < 74) {
                            $bank_bag_id[$slot["slot"]] = $slot["slot"] - 66;
                            $equip_bnk_bag_id[$slot["slot"] - 66] = array($slot["entry"], $sql["world"]->result($sql["world"]->query("SELECT containerslots FROM items\r\n                  WHERE entry='" . $slot["entry"] . "'"), 0, "containerslots"), $slot["count"]);
                        }
                    } else {
                        // Bags
                        if (isset($bag_id[$slot["containerslot"]])) {
                            $i_query = "SELECT\r\n                *, description AS description1, name1 AS name, quality AS Quality, inventorytype AS InventoryType, \r\n                socket_color_1 AS socketColor_1, socket_color_2 AS socketColor_2, socket_color_3 AS socketColor_3,\r\n                requiredlevel AS RequiredLevel, allowableclass AS AllowableClass,\r\n                sellprice AS SellPrice, itemlevel AS ItemLevel\r\n                FROM items " . ($locales_search_option != 0 ? "LEFT JOIN items_localized ON (items_localized.entry=items.entry AND language_code='" . $locales_search_option . "') " : " ") . "WHERE items.entry='" . $slot["entry"] . "'";
                            $i_result = $sql["world"]->query($i_query);
                            $i = $sql["world"]->fetch_assoc($i_result);
                            if (isset($bag[$bag_id[$slot["containerslot"]]][$slot["slot"]])) {
                                $bag[$bag_id[$slot["containerslot"]]][$slot["slot"]][1]++;
                            } else {
                                $bag[$bag_id[$slot["containerslot"]]][$slot["slot"]] = array($slot["entry"], 0, $slot["count"], $i, $slot["enchantment"], $slot["property"], $slot["creator"], $slot["durability"], $slot["flags"], $slot["bag"], $slot["slot"]);
                            }
                        } elseif (isset($bank_bag_id[$slot["containerslot"]])) {
                            $i_query = "SELECT\r\n                *, description AS description1, name1 AS name, quality AS Quality, inventorytype AS InventoryType, \r\n                socket_color_1 AS socketColor_1, socket_color_2 AS socketColor_2, socket_color_3 AS socketColor_3,\r\n                requiredlevel AS RequiredLevel, allowableclass AS AllowableClass,\r\n                sellprice AS SellPrice, itemlevel AS ItemLevel\r\n                FROM items " . ($locales_search_option != 0 ? "LEFT JOIN items_localized ON (items_localized.entry=items.entry AND language_code='" . $locales_search_option . "') " : " ") . "WHERE items.entry='" . $slot["entry"] . "'";
                            $i_result = $sql["world"]->query($i_query);
                            $i = $sql["world"]->fetch_assoc($i_result);
                            $bank[$bank_bag_id[$slot["containerslot"]]][$slot["slot"]] = array($slot["entry"], 0, $slot["count"], $i, $slot["enchantment"], $slot["property"], $slot["creator"], $slot["durability"], $slot["flags"], $slot["bag"], $slot["slot"]);
                        }
                    }
                } else {
                    if ($slot["bag"] == 0 && $slot["slot"] > 18) {
                        if ($slot["slot"] < 23) {
                            $bag_id[$slot["item"]] = $slot["slot"] - 18;
                            $equiped_bag_id[$slot["slot"] - 18] = array($slot["entry"], $sql["world"]->result($sql["world"]->query("SELECT ContainerSlots FROM item_template\r\n                  WHERE entry='" . $slot["entry"] . "'"), 0, "containerslots"), $slot["count"]);
                        } elseif ($slot["slot"] < 39) {
                            $i_query = "SELECT *, description AS description1 FROM item_template " . ($locales_search_option != 0 ? "LEFT JOIN locales_item ON locales_item.entry=item_template.entry " : " ") . "WHERE item_template.entry='" . $slot["entry"] . "'";
                            $i_result = $sql["world"]->query($i_query);
                            $i = $sql["world"]->fetch_assoc($i_result);
                            if (isset($bag[0][$slot["slot"] - 23])) {
                                $bag[0][$slot["slot"] - 23][0]++;
                            } else {
                                $bag[0][$slot["slot"] - 23] = array($slot["entry"], 0, $slot["count"], $i, $slot["enchantment"], $slot["property"], $slot["creator"], $slot["durability"], $slot["flags"], $slot["bag"], $slot["slot"]);
                            }
                        } elseif ($slot["slot"] < 67) {
                            $i_query = "SELECT *, description AS description1 FROM item_template " . ($locales_search_option != 0 ? "LEFT JOIN locales_item ON locales_item.entry=item_template.entry " : " ") . "WHERE item_template.entry='" . $slot["entry"] . "'";
                            $i_result = $sql["world"]->query($i_query);
                            $i = $sql["world"]->fetch_assoc($i_result);
                            $bank[0][$slot["slot"] - 39] = array($slot["entry"], 0, $slot["count"], $i, $slot["enchantment"], $slot["property"], $slot["creator"], $slot["durability"], $slot["flags"], $slot["bag"], $slot["slot"]);
                        } elseif ($slot["slot"] < 74) {
                            $bank_bag_id[$slot["item"]] = $slot["slot"] - 66;
                            $equip_bnk_bag_id[$slot["slot"] - 66] = array($slot["entry"], $sql["world"]->result($sql["world"]->query('SELECT ContainerSlots FROM item_template
                  WHERE entry = ' . $slot["entry"] . ''), 0, "ContainerSlots"), $slot["count"]);
                        }
                    } else {
                        // Bags
                        if (isset($bag_id[$slot["bag"]])) {
                            $i_query = "SELECT *, description AS description1 FROM item_template " . ($locales_search_option != 0 ? "LEFT JOIN locales_item ON locales_item.entry=item_template.entry " : " ") . "WHERE item_template.entry='" . $slot["entry"] . "'";
                            $i_result = $sql["world"]->query($i_query);
                            $i = $sql["world"]->fetch_assoc($i_result);
                            if (isset($bag[$bag_id[$slot["bag"]]][$slot["slot"]])) {
                                $bag[$bag_id[$slot["bag"]]][$slot["slot"]][1]++;
                            } else {
                                $bag[$bag_id[$slot["bag"]]][$slot["slot"]] = array($slot["entry"], 0, $slot["count"], $i, $slot["enchantment"], $slot["property"], $slot["creator"], $slot["durability"], $slot["flags"], $slot["bag"], $slot["slot"]);
                            }
                        } elseif (isset($bank_bag_id[$slot["bag"]])) {
                            $i_query = "SELECT *, description AS description1 FROM item_template " . ($locales_search_option != 0 ? "LEFT JOIN locales_item ON locales_item.entry=item_template.entry " : " ") . "WHERE item_template.entry='" . $slot["entry"] . "'";
                            $i_result = $sql["world"]->query($i_query);
                            $i = $sql["world"]->fetch_assoc($i_result);
                            $bank[$bank_bag_id[$slot["bag"]]][$slot["slot"]] = array($slot["entry"], 0, $slot["count"], $i, $slot["enchantment"], $slot["property"], $slot["creator"], $slot["durability"], $slot["flags"], $slot["bag"], $slot["slot"]);
                        }
                    }
                }
            }
            unset($slot);
            unset($bag_id);
            unset($bank_bag_id);
            unset($result);
            //------------------------Character Tabs---------------------------------
            // we start with a lead of 10 spaces,
            //  because last line of header is an opening tag with 8 spaces
            //  keep html indent in sync, so debuging from browser source would be easy to read
            $output .= '
          <!-- start of char_inv.php -->
            <div class="tab">
              <ul>
                <li><a href="char.php?id=' . $cid . '&amp;realm=' . $realmid . '">' . lang("char", "char_sheet") . '</a></li>';
            $output .= '
                <li class="selected"><a href="char_inv.php?id=' . $cid . '&amp;realm=' . $realmid . '">' . lang("char", "inventory") . '</a></li>';
            if ($view_talent_override) {
                $output .= '
                ' . ($char["level"] < 10 ? '' : '<li><a href="char_talent.php?id=' . $cid . '&amp;realm=' . $realmid . '">' . lang("char", "talents") . '</a></li>') . '';
            }
            if ($view_achieve_override) {
                $output .= '
                <li><a href="char_achieve.php?id=' . $cid . '&amp;realm=' . $realmid . '">' . lang("char", "achievements") . '</a></li>';
            }
            if ($view_quest_override) {
                $output .= '
                <li><a href="char_quest.php?id=' . $cid . '&amp;realm=' . $realmid . '">' . lang("char", "quests") . '</a></li>';
            }
            if ($view_friends_override) {
                $output .= '
                <li><a href="char_friends.php?id=' . $cid . '&amp;realm=' . $realmid . '">' . lang("char", "friends") . '</a></li>';
            }
            if ($view_view_override) {
                $output .= '
                <li><a href="char_view.php?id=' . $cid . '&amp;realm=' . $realmid . '">' . lang("char", "view") . '</a></li>';
            }
            $output .= '
              </ul>
            </div>
            <div class="tab_content center" id="ch_inv_bags_wrap">
              <span class="bold">
                ' . htmlentities($char["name"], ENT_COMPAT, $site_encoding) . ' -
                <img src="img/c_icons/' . $char["race"] . '-' . $char["gender"] . '.gif"
                  onmousemove="oldtoolTip(\'' . char_get_race_name($char["race"]) . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />
                <img src="img/c_icons/' . $char["class"] . '.gif"
                  onmousemove="oldtoolTip(\'' . char_get_class_name($char["class"]) . '\',\'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" /> - ' . lang("char", "level_short") . char_get_level_color($char["level"]) . '
              </span>
              <br />
              <br />
              <table class="lined" id="ch_inv_bags">
                <tr>';
            //---------------Page Specific Data Starts Here--------------------------
            // equipped bags
            for ($i = 4; $i > 0; --$i) {
                $output .= '
                  <th>';
                if ($equiped_bag_id[$i]) {
                    $output .= '
                    <a href="' . $base_datasite . $item_datasite . $equiped_bag_id[$i][0] . '" rel="external">
                      <img class="bag_icon" src="' . get_item_icon($equiped_bag_id[$i][0]) . '" alt="" />
                    </a>
                    ' . lang("item", "bag") . ' ' . $i . '<br />
                    <span class="small">' . $equiped_bag_id[$i][1] . ' ' . lang("item", "slots") . '</span>';
                }
                $output .= '
                  </th>';
            }
            $output .= '
                </tr>
                <tr>';
            // equipped bag slots
            for ($t = 4; $t > 0; --$t) {
                // this_is_junk: style left hardcoded because it's calculated.
                $output .= '
                  <td align="center">
                    <div class="bag" style="width: ' . 4 * 43 . 'px; height: ' . ceil($equiped_bag_id[$t][1] / 4) * 41 . 'px;">';
                $dsp = $equiped_bag_id[$t][1] % 4;
                if ($dsp) {
                    $output .= '
                      <div class="no_slot"></div>';
                }
                foreach ($bag[$t] as $pos => $item) {
                    // this_is_junk: style left hardcoded because it's calculated.
                    $item[2] = $item[2] == 1 ? '' : $item[2];
                    $output .= '
                      <div class="bag_slot" style="left: ' . (($pos + $dsp) % 4 * 43 + 4) . 'px; top: ' . (floor(($pos + $dsp) / 4) * 41 + 4) . 'px;">
                        <a href="' . $base_datasite . $item_datasite . $item[0] . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . $t . 'p' . $pos . ($pos + $dsp) % 4 * 42 . 'x' . floor(($pos + $dsp) / 4) * 41 . '\');" onmouseout="HideTooltip(\'_b' . $t . 'p' . $pos . ($pos + $dsp) % 4 * 42 . 'x' . floor(($pos + $dsp) / 4) * 41 . '\');">
                          <img src="' . get_item_icon($item[0]) . '" alt="" class="inv_icon" />
                        </a>';
                    if ($mode) {
                        $output .= '
                        <div>
                          <a href="char_inv.php?action=delete_item&amp;id=' . $cid . '&amp;bag=' . $item[9] . '&amp;slot=' . $item[10] . '&amp;item=' . $item[0] . '&amp;mode=' . $mode . '">
                            <img src="img/aff_cross.png" class="ch_inv_delete" alt="" />
                          </a>
                        </div>';
                    } else {
                        $output .= '
                        <div class="ch_inv_quantity_shadow">' . $item[2] . '</div>
                        <div class="ch_inv_quantity">' . $item[2] . '</div>';
                    }
                    $output .= '
                      </div>';
                    // build a tooltip object for this item
                    $output .= '
                      <div class="item_tooltip" id="tooltip_b' . $t . 'p' . $pos . ($pos + $dsp) % 4 * 42 . 'x' . floor(($pos + $dsp) / 4) * 41 . '" style="left: ' . (($pos + $dsp) % 4 * 42 - 129) . 'px; top: ' . (floor(($pos + $dsp) / 4) * 41 + 42) . 'px;">
                        <table>
                          <tr>
                            <td>' . get_item_tooltip($item[3], $item[4], $item[5], $item[6], $item[7], $item[8]) . '</td>
                          </tr>
                        </table>
                      </div>';
                }
                $output .= '
                    </div>
                  </td>';
            }
            unset($equiped_bag_id);
            // this_is_junk: style left hardcoded because it's calculated.
            $output .= '
                </tr>
                <tr>
                  <th colspan="2" align="left">
                    <img class="bag_icon" src="' . get_item_icon(3960) . '" alt="" id="ch_backpack_icon_margin" />
                    <span id="ch_backpack_name_margin">' . lang("char", "backpack") . '</span>
                  </th>
                  <th colspan="2">
                    ' . lang("char", "bank_items") . '
                  </th>
                </tr>
                <tr>
                  <td colspan="2" style="height: 220px; text-align: center;">
                    <div class="bag" id="ch_backpack" style="width: ' . 4 * 43 . 'px; height: ' . ceil(16 / 4) * 41 . 'px;">';
            // inventory items
            foreach ($bag[0] as $pos => $item) {
                // this_is_junk: style left hardcoded because it's calculated.
                $item[2] = $item[2] == 1 ? '' : $item[2];
                $output .= '
                      <div class="bag_slot" style="left: ' . ($pos % 4 * 43 + 4) . 'px; top: ' . (floor($pos / 4) * 41 + 4) . 'px;">
                        <a href="' . $base_datasite . $item_datasite . $item[0] . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . $t . 'p' . $pos . $pos % 4 * 42 . 'x' . floor($pos / 4) * 41 . '\');" onmouseout="HideTooltip(\'_b' . $t . 'p' . $pos . $pos % 4 * 42 . 'x' . floor($pos / 4) * 41 . '\');">
                          <img src="' . get_item_icon($item[0]) . '" class="inv_icon" alt="" />
                        </a>';
                if ($mode) {
                    $output .= '
                        <div>
                          <a href="char_inv.php?action=delete_item&amp;id=' . $cid . '&amp;bag=' . $item[9] . '&amp;slot=' . $item[10] . '&amp;item=' . $item[0] . '&amp;mode=' . $mode . '">
                            <img src="img/aff_cross.png" class="ch_inv_delete" alt="" />
                          </a>
                        </div>';
                } else {
                    $output .= '
                        <div class="ch_inv_quantity_shadow">' . $item[2] . '</div>
                        <div class="ch_inv_quantity">' . $item[2] . '</div>';
                }
                $output .= '
                      </div>';
                // build a tooltip object for this item
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . $t . 'p' . $pos . $pos % 4 * 42 . 'x' . floor($pos / 4) * 41 . '" style="left: ' . ($pos % 4 * 42 - 129) . 'px; top: ' . (floor($pos / 4) * 41 + 42) . 'px;">
                        <table>
                          <tr>
                            <td>' . get_item_tooltip($item[3], $item[4], $item[5], $item[6], $item[7], $item[8]) . '</td>
                          </tr>
                        </table>
                      </div>';
            }
            unset($bag);
            $output .= '
                    </div>
                    <div id="ch_money">
                      <b>
                        ' . substr($char["gold"], 0, -4) . '<img src="img/gold.gif" alt="gold" style="position: relative; bottom: -6px;" />
                        ' . substr($char["gold"], -4, 2) . '<img src="img/silver.gif" alt="silver" style="position: relative; bottom: -6px;" />
                        ' . substr($char["gold"], -2) . '<img src="img/copper.gif" alt="copper" style="position: relative; bottom: -6px;" />
                      </b>
                    </div>
                  </td>
                  <td colspan="2" align="center">
                    <div class="bag bank" style="width: ' . (7 * 43 + 2) . 'px; height: ' . ceil(24 / 7) * 41 . 'px;">';
            // bank items
            foreach ($bank[0] as $pos => $item) {
                // this_is_junk: style left hardcoded because it's calculated.
                $item[2] = $item[2] == 1 ? '' : $item[2];
                $output .= '
                      <div class="bag_slot" style="left: ' . ($pos % 7 * 43 + 4) . 'px; top: ' . (floor($pos / 7) * 41 + 4) . 'px;">
                        <a href="' . $base_datasite . $item_datasite . $item[0] . '" rel="external" onmouseover="ShowTooltip(this,\'_bbp' . $pos . $pos % 7 * 43 . 'x' . floor($pos / 7) * 41 . '\');" onmouseout="HideTooltip(\'_bbp' . $pos . $pos % 7 * 43 . 'x' . floor($pos / 7) * 41 . '\');">
                          <img src="' . get_item_icon($item[0]) . '" class="inv_icon" alt="" />
                        </a>';
                if ($mode) {
                    $output .= '
                        <div>
                          <a href="char_inv.php?action=delete_item&amp;id=' . $cid . '&amp;bag=' . $item[9] . '&amp;slot=' . $item[10] . '&amp;item=' . $item[0] . '&amp;mode=' . $mode . '">
                            <img src="img/aff_cross.png" class="ch_inv_delete" alt="" />
                          </a>
                        </div>';
                } else {
                    $output .= '
                        <div class="ch_inv_quantity_shadow">' . $item[2] . '</div>
                        <div class="ch_inv_quantity">' . $item[2] . '</div>';
                }
                $output .= '
                      </div>';
                // build a tooltip object for this item
                $output .= '
                      <div class="item_tooltip" id="tooltip_bbp' . $pos . $pos % 7 * 43 . 'x' . floor($pos / 7) * 41 . '" style="left: ' . ($pos % 7 * 43 - 129) . 'px; top: ' . (floor($pos / 7) * 41 + 42) . 'px;">
                        <table>
                          <tr>
                            <td>' . get_item_tooltip($item[3], $item[4], $item[5], $item[6], $item[7], $item[8]) . '</td>
                          </tr>
                        </table>
                      </div>';
            }
            $output .= '
                    </div>
                  </td>
                </tr>
                <tr>';
            // equipped bank bags, first 4
            for ($i = 1; $i < 5; ++$i) {
                $output .= '
                  <th>';
                if ($equip_bnk_bag_id[$i]) {
                    $output .= '
                    <a href="' . $base_datasite . $item_datasite . $equip_bnk_bag_id[$i][0] . '" rel="external">
                      <img class="bag_icon" src="' . get_item_icon($equip_bnk_bag_id[$i][0]) . '" alt="" />
                    </a>
                    ' . lang("item", "bag") . ' ' . $i . '<br />
                    <span class="small">' . $equip_bnk_bag_id[$i][1] . ' ' . lang("item", "slots") . '</span>';
                }
                $output .= '
                  </th>';
            }
            $output .= '
                </tr>
                <tr>';
            // equipped bank bag slots
            for ($t = 1; $t < 8; ++$t) {
                // equipped bank bags, last 3
                if ($t === 5) {
                    $output .= '
                </tr>
                <tr>';
                    for ($i = 5; $i < 8; ++$i) {
                        $output .= '
                  <th>';
                        if ($equip_bnk_bag_id[$i]) {
                            $output .= '
                    <a href="' . $base_datasite . $item_datasite . $equip_bnk_bag_id[$i][0] . '" rel="external">
                      <img class="bag_icon" src="' . get_item_icon($equip_bnk_bag_id[$i][0]) . '" alt="" />
                    </a>
                    ' . lang("item", "bag") . ' ' . $i . '<br />
                    <span class="small">' . $equip_bnk_bag_id[$i][1] . ' ' . lang("item", "slots") . '</span>';
                        }
                        $output .= '
                  </th>';
                    }
                    $output .= '
                  <th>
                  </th>
                </tr>
                <tr>';
                }
                // this_is_junk: style left hardcoded because it's calculated.
                $output .= '
                  <td align="center">
                    <div class="bag bank" style="width: ' . (4 * 43 + 2) . 'px; height: ' . ceil($equip_bnk_bag_id[$t][1] / 4) * 41 . 'px;">';
                $dsp = $equip_bnk_bag_id[$t][1] % 4;
                if ($dsp) {
                    $output .= '
                      <div class="no_slot"></div>';
                }
                foreach ($bank[$t] as $pos => $item) {
                    // this_is_junk: style left hardcoded because it's calculated.
                    $item[2] = $item[2] == 1 ? '' : $item[2];
                    $output .= '
                      <div class="bag_slot" style="left: ' . (($pos + $dsp) % 4 * 43 + 4) . 'px; top: ' . (floor(($pos + $dsp) / 4) * 41 + 4) . 'px;">
                        <a href="' . $base_datasite . $item_datasite . $item[0] . '" rel="external" onmouseover="ShowTooltip(this,\'_bb' . $t . 'p' . $pos . ($pos + $dsp) % 4 * 43 . 'x' . floor(($pos + $dsp) / 4) * 41 . '\');" onmouseout="HideTooltip(\'_bb' . $t . 'p' . $pos . ($pos + $dsp) % 4 * 43 . 'x' . floor(($pos + $dsp) / 4) * 41 . '\');">
                          <img src="' . get_item_icon($item[0]) . '" class="inv_icon" alt="" />
                        </a>';
                    if ($mode) {
                        $output .= '
                        <div>
                          <a href="char_inv.php?action=delete_item&amp;id=' . $cid . '&amp;bag=' . $item[9] . '&amp;slot=' . $item[10] . '&amp;item=' . $item[0] . '&amp;mode=' . $mode . '">
                            <img src="img/aff_cross.png" class="ch_inv_delete" alt="" />
                          </a>
                        </div>';
                    } else {
                        $output .= '
                        <div class="ch_inv_quantity_shadow">' . $item[2] . '</div>
                        <div class="ch_inv_quantity">' . $item[2] . '</div>';
                    }
                    $output .= '
                      </div>';
                    // build a tooltip object for this item
                    $output .= '
                      <div class="item_tooltip" id="tooltip_bb' . $t . 'p' . $pos . ($pos + $dsp) % 4 * 43 . 'x' . floor(($pos + $dsp) / 4) * 41 . '" style="left: ' . (($pos + $dsp) % 4 * 43 - 129) . 'px; top: ' . (floor(($pos + $dsp) / 4) * 41 + 42) . 'px;">
                        <table>
                          <tr>
                            <td>' . get_item_tooltip($item[3], $item[4], $item[5], $item[6], $item[7], $item[8]) . '</td>
                          </tr>
                        </table>
                      </div>';
                }
                $output .= '
                    </div>
                  </td>';
            }
            unset($equip_bnk_bag_id);
            unset($bank);
            $output .= '
                  <td><div class="bag bank"></div></td>';
            //---------------Page Specific Data Ends here----------------------------
            //---------------Character Tabs Footer-----------------------------------
            $output .= '
                </tr>
              </table>
            </div>
            <br />
            <table class="hidden">
              <tr>
                <td>';
            // button to user account page, user account page has own security
            makebutton(lang("char", "chars_acc"), 'user.php?action=edit_user&amp;id=' . $owner_acc_id . '', 130);
            $output .= '
                </td>
                <td>';
            // show Delete Mode / View Mode button depending on current mode
            if ($mode) {
                makebutton(lang("char", "viewmode"), 'char_inv.php?id=' . $cid . '&amp;realm=' . $realmid . '&amp;mode=0" type="def', 130);
            } else {
                makebutton(lang("char", "deletemode"), 'char_inv.php?id=' . $cid . '&amp;realm=' . $realmid . '&amp;mode=1" type="def', 130);
            }
            $output .= '
                </td>
                <td>';
            // only higher level GM with delete access can edit character
            //  character edit allows removal of character items, so delete permission is needed
            if ($user_lvl > $owner_gmlvl && $user_lvl >= $action_permission["delete"]) {
                //makebutton($lang_char["edit_button"], 'char_edit.php?id='.$cid.'&amp;realm='.$realmid.'', 130);
                $output .= '
                </td>
                <td>';
            }
            // only higher level GM with delete access, or character owner can delete character
            if ($user_lvl > $owner_gmlvl && $user_lvl >= $action_permission["delete"] || $owner_name === $user_name) {
                makebutton(lang("char", "del_char"), 'char_list.php?action=del_char_form&amp;check%5B%5D=' . $cid . '" type="wrn', 130);
                $output .= '
                </td>
                <td>';
            }
            // only GM with update permission can send mail, mail can send items, so update permission is needed
            if ($user_lvl >= $action_permission["update"]) {
                makebutton(lang("char", "send_mail"), 'mail.php?type=ingame_mail&amp;to=' . $char["name"] . '', 130);
                $output .= '
                </td>
                <td>';
            }
            makebutton(lang("global", "back"), 'javascript:window.history.back()" type="def', 130);
            $output .= '
                </td>
              </tr>
            </table>
            <br />
          <!-- end of char_inv.php -->';
        } else {
            error(lang("char", "no_permission"));
        }
    } else {
        error(lang("char", "no_char_found"));
    }
}
Esempio n. 27
0
function edit()
{
    global $lang_global, $lang_game_object, $output, $world_db, $realm_id, $item_datasite, $go_datasite, $go_type, $quest_datasite;
    wowhead_tt();
    if (!isset($_GET['entry'])) {
        redirect("game_object.php?error=1");
    }
    $sql = new SQL();
    $sql->connect($world_db[$realm_id]['addr'], $world_db[$realm_id]['user'], $world_db[$realm_id]['pass'], $world_db[$realm_id]['name']);
    $entry = $sql->quote_smart($_GET['entry']);
    require_once "./scripts/get_lib.php";
    $deplang = get_lang_id();
    $result = $sql->query("SELECT gameobject_template.`entry`,`type`,`displayId`,IFNULL(" . ($deplang != 0 ? "name_loc{$deplang}" : "NULL") . ",`name`) as name,`faction`,`flags`,`size`,`data0`,`data1`,`data2`,`data3`,`data4`,`data5`,`data6`,`data7`,`data8`,`data9`,`data10`,`data11`,`data12`,`data13`,`data14`,`data15`,`data16`,`data17`,`data18`,`data19`,`data20`,`data21`,`data22`,`data23`,`ScriptName` FROM gameobject_template LEFT JOIN locales_gameobject ON gameobject_template.entry = locales_gameobject.entry WHERE gameobject_template.entry = '{$entry}'");
    if ($go = $sql->fetch_assoc($result)) {
        $output .= "<script type=\"text/javascript\" src=\"libs/js/tab.js\"></script>\r\n   <center>\r\n    <br /><br /><br />\r\n    <form method=\"post\" action=\"game_object.php?action=do_update\" name=\"form1\">\r\n    <input type=\"hidden\" name=\"backup_op\" value=\"0\"/>\r\n    <input type=\"hidden\" name=\"opp_type\" value=\"edit\"/>\r\n    <input type=\"hidden\" name=\"entry\" value=\"{$entry}\"/>\r\n\r\n<div class=\"jtab-container\" id=\"container\">\r\n  <ul class=\"jtabs\">\r\n    <li><a href=\"#\" onclick=\"return showPane('pane1', this)\" id=\"tab1\">{$lang_game_object['general']}</a></li>\r\n    <li><a href=\"#\" onclick=\"return showPane('pane2', this)\">{$lang_game_object['datas']}</a></li>";
        if ($go['type'] == 3) {
            $output .= "<li><a href=\"#\" onclick=\"return showPane('pane3', this)\">{$lang_game_object['loot']}</a></li>";
        }
        $output .= "<li><a href=\"#\" onclick=\"return showPane('pane4', this)\">{$lang_game_object['quests']}</a></li>\r\n  </ul>\r\n  <div class=\"jtab-panes\">";
        $output .= "<div id=\"pane1\"><br /><br />\r\n<table class=\"lined\" style=\"width: 720px;\">\r\n<tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_game_object['general']}:</td></tr>\r\n<tr>\r\n <td>" . makeinfocell($lang_game_object['entry'], $lang_game_object['entry_desc']) . "</td>\r\n <td><a href=\"{$go_datasite}{$go['entry']}\" target=\"_blank\">{$go['entry']}</a></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['name'], $lang_game_object['name_desc']) . "</td>\r\n <td ><input type=\"text\" name=\"name\" size=\"25\" maxlength=\"100\" value=\"{$go['name']}\" /></td>\r\n\r\n  <td>" . makeinfocell($lang_game_object['faction'], $lang_game_object['faction_desc']) . "</td>\r\n <td><input type=\"text\" name=\"faction\" size=\"10\" maxlength=\"4\" value=\"{$go['faction']}\" /></td>\r\n</tr>\r\n<tr>\r\n <td>" . makeinfocell($lang_game_object['type'], $lang_game_object['type_desc']) . "</td>\r\n <td colspan=\"3\"><select name=\"type\">";
        foreach ($go_type as $type) {
            $output .= "<option value=\"{$type['0']}\" ";
            if ($type[0] == $go['type']) {
                $output .= "selected=\"selected\" ";
            }
            $output .= ">({$type['0']}) {$type['1']}</option>";
        }
        $output .= "</select></td>\r\n <td>" . makeinfocell($lang_game_object['displayId'], $lang_game_object['displayId_desc']) . "</td>\r\n <td><input type=\"text\" name=\"displayId\" size=\"10\" maxlength=\"11\" value=\"{$go['displayId']}\" /></td>\r\n\r\n</tr>\r\n<tr>\r\n <td>" . makeinfocell($lang_game_object['flags'], $lang_game_object['flags_desc']) . "</td>\r\n <td><input type=\"text\" name=\"flags\" size=\"10\" maxlength=\"4\" value=\"{$go['flags']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['size'], $lang_game_object['size_desc']) . "</td>\r\n <td><input type=\"text\" name=\"size\" size=\"10\" maxlength=\"25\" value=\"{$go['size']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['script_name'], $lang_game_object['ScriptName_desc']) . "</td>\r\n <td><input type=\"text\" name=\"ScriptName\" size=\"10\" maxlength=\"100\" value=\"{$go['ScriptName']}\" /></td>\r\n</tr>\r\n\r\n<tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_game_object['data']}:</td></tr>\r\n<tr>\r\n <td>" . makeinfocell($lang_game_object['data'] . " 0", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data0\" size=\"10\" maxlength=\"11\" value=\"{$go['data0']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 1", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data1\" size=\"10\" maxlength=\"11\" value=\"{$go['data1']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 2", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data2\" size=\"10\" maxlength=\"11\" value=\"{$go['data2']}\" /></td>\r\n</tr>\r\n<tr>\r\n <td>" . makeinfocell($lang_game_object['data'] . " 3", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data3\" size=\"10\" maxlength=\"11\" value=\"{$go['data3']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 4", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data4\" size=\"10\" maxlength=\"11\" value=\"{$go['data4']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 5", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data5\" size=\"10\" maxlength=\"11\" value=\"{$go['data5']}\" /></td>\r\n</tr>\r\n</table><br />";
        $result1 = $sql->query("SELECT COUNT(*) FROM gameobject WHERE id = '{$go['entry']}'");
        $output .= "<tr><td colspan=\"6\">{$lang_game_object['go_swapned']} : " . $sql->result($result1, 0) . " {$lang_game_object['times']}.</td></tr>\r\n\r\n<br />\r\n</div>\r\n\r\n<div id=\"pane2\">\r\n  <br /><br /><table class=\"lined\" style=\"width: 720px;\">\r\n\r\n<tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_game_object['data']}:</td></tr>\r\n<tr>\r\n <td>" . makeinfocell($lang_game_object['data'] . " 6", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data6\" size=\"10\" maxlength=\"11\" value=\"{$go['data6']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 7", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data7\" size=\"10\" maxlength=\"11\" value=\"{$go['data7']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 8", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data8\" size=\"10\" maxlength=\"11\" value=\"{$go['data8']}\" /></td>\r\n</tr>\r\n<tr>\r\n <td>" . makeinfocell($lang_game_object['data'] . " 9", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data9\" size=\"10\" maxlength=\"11\" value=\"{$go['data9']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 10", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data10\" size=\"10\" maxlength=\"11\" value=\"{$go['data10']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 11", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data11\" size=\"10\" maxlength=\"11\" value=\"{$go['data11']}\" /></td>\r\n</tr>\r\n<tr>\r\n <td>" . makeinfocell($lang_game_object['data'] . " 12", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data12\" size=\"10\" maxlength=\"11\" value=\"{$go['data12']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 13", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data13\" size=\"10\" maxlength=\"11\" value=\"{$go['data13']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 14", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data14\" size=\"10\" maxlength=\"11\" value=\"{$go['data14']}\" /></td>\r\n</tr>\r\n<tr>\r\n <td>" . makeinfocell($lang_game_object['data'] . " 15", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data15\" size=\"10\" maxlength=\"11\" value=\"{$go['data15']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 16", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data16\" size=\"10\" maxlength=\"11\" value=\"{$go['data16']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 17", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data17\" size=\"10\" maxlength=\"11\" value=\"{$go['data17']}\" /></td>\r\n</tr>\r\n<tr>\r\n <td>" . makeinfocell($lang_game_object['data'] . " 18", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data18\" size=\"10\" maxlength=\"11\" value=\"{$go['data18']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 19", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data19\" size=\"10\" maxlength=\"11\" value=\"{$go['data19']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 20", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data20\" size=\"10\" maxlength=\"11\" value=\"{$go['data20']}\" /></td>\r\n</tr>\r\n<tr>\r\n <td>" . makeinfocell($lang_game_object['data'] . " 21", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data21\" size=\"10\" maxlength=\"11\" value=\"{$go['data21']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 22", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data22\" size=\"10\" maxlength=\"11\" value=\"{$go['data22']}\" /></td>\r\n\r\n <td>" . makeinfocell($lang_game_object['data'] . " 23", $lang_game_object['data_desc']) . "</td>\r\n <td><input type=\"text\" name=\"data23\" size=\"10\" maxlength=\"11\" value=\"{$go['data23']}\" /></td>\r\n</tr>\r\n</table>\r\n<br />\r\n</div>";
        if ($go['type'] == 3) {
            $output .= "<div id=\"pane3\">\r\n  <br /><br /><table class=\"lined\" style=\"width: 720px;\">\r\n  <tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_game_object['loot_tmpl_id']}:</td></tr>\r\n<tr>\r\n  <td colspan=\"6\">";
            require_once "scripts/get_lib.php";
            $cel_counter = 0;
            $row_flag = 0;
            $output .= "<table class=\"hidden\" align=\"center\"><tr>";
            $result1 = $sql->query("SELECT item,ChanceOrQuestChance,`groupid`,mincountOrRef,maxcount, lootcondition, condition_value1, condition_value2 FROM gameobject_loot_template WHERE entry = {$go['data1']} ORDER BY ChanceOrQuestChance DESC");
            while ($item = $sql->fetch_row($result1)) {
                $cel_counter++;
                $tooltip = get_item_name($item[0]) . " ({$item['0']})<br />{$lang_game_object['drop_chance']}: {$item['1']}%<br />{$lang_game_object['quest_drop_chance']}: {$item['2']}%<br />{$lang_game_object['drop_chance']}: {$item['3']}-{$item['4']}<br />{$lang_game_object['lootcondition']}: {$item['5']}<br />{$lang_game_object['condition_value1']}: {$item['6']}<br />{$lang_game_object['condition_value2']}: {$item['7']}";
                $output .= "<td>";
                $output .= maketooltip("<img src=\"" . get_item_icon($item[0]) . "\" class=\"icon_border\" alt=\"\" />", "{$item_datasite}{$item['0']}", "{$tooltip}", "item_tooltip", "target=\"_blank\"");
                $output .= "<br /><input type=\"checkbox\" name=\"del_loot_items[]\" value=\"{$item['0']}\" /></td>";
                if ($cel_counter >= 16) {
                    $cel_counter = 0;
                    $output .= "</tr><tr>";
                    $row_flag++;
                }
            }
            if ($row_flag) {
                $output .= "<td colspan=\"" . (16 - $cel_counter) . "\"></td>";
            }
            $output .= "</td></tr></table>\r\n </td>\r\n</tr>\r\n<tr class=\"large_bold\"><td colspan=\"6\" class=\"hidden\" align=\"left\">{$lang_game_object['add_items_to_templ']}:</td></tr>\r\n<tr>\r\n<td>" . makeinfocell($lang_game_object['loot_item_id'], $lang_game_object['loot_item_id_desc']) . "</td>\r\n  <td><input type=\"text\" name=\"item\" size=\"8\" maxlength=\"10\" value=\"\" /></td>\r\n<td>" . makeinfocell($lang_game_object['loot_drop_chance'], $lang_game_object['loot_drop_chance_desc']) . "</td>\r\n  <td><input type=\"text\" name=\"ChanceOrQuestChance\" size=\"8\" maxlength=\"11\" value=\"0\" /></td>\r\n<td>" . makeinfocell($lang_game_object['loot_quest_drop_chance'], $lang_game_object['loot_quest_drop_chance_desc']) . "</td>\r\n  <td><input type=\"text\" name=\"groupid\" size=\"8\" maxlength=\"10\" value=\"0\" /></td>\r\n</tr>\r\n<tr>\r\n<td>" . makeinfocell($lang_game_object['min_count'], $lang_game_object['min_count_desc']) . "</td>\r\n  <td><input type=\"text\" name=\"mincountOrRef\" size=\"8\" maxlength=\"3\" value=\"1\" /></td>\r\n<td>" . makeinfocell($lang_game_object['max_count'], $lang_game_object['max_count_desc']) . "</td>\r\n  <td><input type=\"text\" name=\"maxcount\" size=\"8\" maxlength=\"3\" value=\"1\" /></td>\r\n</tr>\r\n<tr>\r\n<td>" . makeinfocell($lang_game_object['lootcondition'], $lang_game_object['lootcondition_desc']) . "</td>\r\n  <td><input type=\"text\" name=\"lootcondition\" size=\"8\" maxlength=\"3\" value=\"0\" /></td>\r\n<td>" . makeinfocell($lang_game_object['condition_value1'], $lang_game_object['condition_value1_desc']) . "</td>\r\n  <td><input type=\"text\" name=\"condition_value1\" size=\"8\" maxlength=\"3\" value=\"0\" /></td>\r\n<td>" . makeinfocell($lang_game_object['condition_value2'], $lang_game_object['condition_value2']) . "</td>\r\n  <td><input type=\"text\" name=\"condition_value2\" size=\"8\" maxlength=\"3\" value=\"0\" /></td>\r\n</tr>\r\n</table><br />{$lang_game_object['check_to_delete']}<br /><br />\r\n</div>";
        }
        $output .= "<div id=\"pane4\">\r\n  <br /><br /><table class=\"lined\" style=\"width: 720px;\">\r\n  <tr class=\"large_bold\"><td colspan=\"2\" class=\"hidden\" align=\"left\">{$lang_game_object['start_quests']}:</td></tr>";
        $result1 = $sql->query("SELECT quest FROM gameobject_questrelation WHERE id = {$go['entry']}");
        while ($quest = $sql->fetch_row($result1)) {
            $query1 = $sql->query("SELECT QuestLevel, IFNULL(" . ($deplang != 0 ? "title_loc{$deplang}" : "NULL") . ",`title`) as Title FROM quest_template LEFT JOIN locales_quest ON quest_template.entry = locales_quest.entry WHERE quest_template.entry ='{$quest['0']}'");
            $quest_templ = $sql->fetch_row($query1);
            $output .= "<tr><td width=\"5%\"><input type=\"checkbox\" name=\"del_questrelation[]\" value=\"{$quest['0']}\" /></td>\r\n          <td width=\"95%\" align=\"left\"><a class=\"tooltip\" href=\"{$quest_datasite}{$quest['0']}\" target=\"_blank\">({$quest_templ[0]}) {$quest_templ['1']}</a></td></tr>";
        }
        $output .= "<tr class=\"large_bold\" align=\"left\"><td colspan=\"2\" class=\"hidden\">{$lang_game_object['add_starts_quests']}:</td></tr>\r\n  <tr><td colspan=\"2\" align=\"left\">" . makeinfocell($lang_game_object['quest_id'], $lang_game_object['quest_id_desc']) . " :\r\n    <input type=\"text\" name=\"questrelation\" size=\"8\" maxlength=\"8\" value=\"\" /></td></tr>\r\n\r\n<tr class=\"large_bold\"><td colspan=\"2\" class=\"hidden\" align=\"left\">{$lang_game_object['ends_quests']}:</td></tr>";
        $result1 = $sql->query("SELECT quest FROM gameobject_involvedrelation WHERE id = {$go['entry']}");
        while ($quest = $sql->fetch_row($result1)) {
            $query1 = $sql->query("SELECT QuestLevel, IFNULL(" . ($deplang != 0 ? "title_loc{$deplang}" : "NULL") . ",`title`) as Title FROM quest_template LEFT JOIN locales_quest ON quest_template.entry = locales_quest.entry WHERE quest_template.entry ='{$quest['0']}'");
            $quest_templ = $sql->fetch_row($query1);
            $output .= "<tr><td width=\"5%\"><input type=\"checkbox\" name=\"del_involvedrelation[]\" value=\"{$quest['0']}\" /></td>\r\n        <td width=\"95%\" align=\"left\"><a class=\"tooltip\" href=\"{$quest_datasite}{$quest['0']}\" target=\"_blank\">({$quest_templ[0]}) {$quest_templ['1']}</a></td></tr>";
        }
        $output .= "<tr class=\"large_bold\" align=\"left\"><td colspan=\"2\" class=\"hidden\">{$lang_game_object['add_ends_quests']}:</td></tr>\r\n  <tr><td colspan=\"2\" align=\"left\">" . makeinfocell($lang_game_object['quest_id'], $lang_game_object['quest_id_desc']) . " :\r\n    <input type=\"text\" name=\"involvedrelation\" size=\"8\" maxlength=\"8\" value=\"\" /></td></tr>\r\n\r\n</table><br />{$lang_game_object['check_to_delete']}<br /><br />\r\n</div>\r\n\r\n</div>\r\n</div>\r\n<br />\r\n</form>\r\n\r\n<script type=\"text/javascript\">setupPanes(\"container\", \"tab1\")</script>";
        $output .= "<table class=\"hidden\">\r\n          <tr><td>";
        makebutton($lang_game_object['save_to_db'], "javascript:do_submit('form1',0)", 180);
        makebutton($lang_game_object['del_go'], "game_object.php?action=delete&amp;entry={$entry}", 180);
        makebutton($lang_game_object['del_spawns'], "game_object.php?action=delete_spwn&amp;entry={$entry}", 180);
        makebutton($lang_game_object['save_to_script'], "javascript:do_submit('form1',1)", 180);
        $output .= "</td></tr><tr><td>";
        makebutton($lang_game_object['lookup_go'], "game_object.php", 760);
        $output .= "</td></tr>\r\n        </table></center>";
        $sql->close();
    } else {
        $sql->close();
        error($lang_game_object['tmpl_not_found']);
        exit;
    }
}
function char_main()
{
    global $output, $realm_id, $logon_db, $characters_db, $world_db, $server, $corem_db, $site_encoding, $action_permission, $user_lvl, $user_name, $user_id, $locales_search_option, $base_datasite, $item_datasite, $spell_datasite, $showcountryflag, $timezone_offset, $sql, $core;
    // this page uses wowhead tooltops
    //wowhead_tt();
    // we need at either an id or a name or we would have nothing to show
    if (empty($_GET["id"])) {
        if (empty($_GET["name"])) {
            error(lang("global", "empty_fields"));
        }
    }
    // this is multi realm support, as of writing still under development
    // this page is already implementing it
    if (empty($_GET["realm"])) {
        $realmid = $realm_id;
    } else {
        $realmid = $sql["logon"]->quote_smart($_GET["realm"]);
        if (is_numeric($realmid)) {
            $sql["char"]->connect($characters_db[$realmid]["addr"], $characters_db[$realmid]["user"], $characters_db[$realmid]["pass"], $characters_db[$realmid]["name"], $characters_db[$realmid]["encoding"]);
        } else {
            $realmid = $realm_id;
        }
    }
    if (empty($_GET["id"])) {
        $name = $sql["char"]->quote_smart($_GET["name"]);
        if ($core == 1) {
            $result = $sql["char"]->query("SELECT guid, acct, race FROM characters WHERE name='" . $name . "' LIMIT 1");
        } else {
            $result = $sql["char"]->query("SELECT guid, id AS acct, race FROM characters WHERE name='" . $name . "' LIMIT 1");
        }
        $id_result = $sql["char"]->fetch_assoc($result);
        $id = $id_result["guid"];
    } else {
        $id = $sql["char"]->quote_smart($_GET["id"]);
    }
    if (!is_numeric($id)) {
        error(lang("global", "empty_fields"));
    }
    if ($core == 1) {
        $result = $sql["char"]->query("SELECT acct, race FROM characters WHERE guid='" . $id . "' LIMIT 1");
    } else {
        $result = $sql["char"]->query("SELECT account AS acct, race FROM characters WHERE guid='" . $id . "' LIMIT 1");
    }
    if ($sql["char"]->num_rows($result)) {
        //resrict by owner's gmlvl
        $owner_acc_id = $sql["char"]->result($result, 0, "acct");
        if ($core == 1) {
            $query = $sql["logon"]->query("SELECT login FROM accounts WHERE acct='" . $owner_acc_id . "'");
        } else {
            $query = $sql["logon"]->query("SELECT username as login FROM account WHERE id='" . $owner_acc_id . "'");
        }
        $owner_name = $sql["logon"]->result($query, 0, "login");
        $s_query = "SELECT *, SecurityLevel AS gm FROM config_accounts WHERE Login='******'";
        $s_result = $sql["mgr"]->query($s_query);
        $s_fields = $sql["mgr"]->fetch_assoc($s_result);
        $owner_gmlvl = $s_fields["gm"];
        $view_mod = $s_fields["View_Mod_Sheet"];
        if ($owner_gmlvl >= 1073741824) {
            $owner_gmlvl -= 1073741824;
        }
        // owner configured overrides
        $view_override = false;
        if ($view_mod > 0) {
            if ($view_mod == 1) {
            } elseif ($view_mod == 2) {
                // only registered users may view this page
                if ($user_lvl > -1) {
                    $view_override = true;
                }
            }
        }
        if ($user_lvl || $server[$realmid]["both_factions"]) {
            $side_v = 0;
            $side_p = 0;
        } else {
            $side_p = in_array($sql["char"]->result($result, 0, "race"), array(2, 5, 6, 8, 10)) ? 1 : 2;
            if ($core == 1) {
                $result_1 = $sql["char"]->query("SELECT race FROM characters WHERE acct='" . $user_id . "' LIMIT 1");
            } else {
                $result_1 = $sql["char"]->query("SELECT race FROM characters WHERE account='" . $user_id . "' LIMIT 1");
            }
            if ($sql["char"]->num_rows($result)) {
                $side_v = in_array($sql["char"]->result($result_1, 0, "race"), array(2, 5, 6, 8, 10)) ? 1 : 2;
            } else {
                $side_v = 0;
            }
            unset($result_1);
        }
        if ($view_override || $user_lvl >= gmlevel($owner_gmlvl) && ($side_v === $side_p || !$side_v)) {
            if ($core == 1) {
                $result = $sql["char"]->query("SELECT guid, name, race, class, level, zoneid, mapid, online, gender,\n          SUBSTRING_INDEX(SUBSTRING_INDEX(playedtime, ' ', 2), ' ', -1) AS totaltime,\n          acct, data, timestamp, xp \n          FROM characters WHERE guid='" . $id . "'");
            } elseif ($core == 2) {
                $result = $sql["char"]->query("SELECT guid, name, race, class, level, zone AS zoneid, map AS mapid, \n          online, gender, totaltime, account AS acct, logout_time AS timestamp, health, \n\t\t\t\t\tpower1, power2, power3, power4, power5, power6, power7, xp,\n          arenaPoints, totalHonorPoints, totalKills\n          FROM characters WHERE guid='" . $id . "'");
            } else {
                $result = $sql["char"]->query("SELECT guid, name, race, class, level, zone AS zoneid, map AS mapid, \n          online, gender, totaltime, account AS acct, logout_time AS timestamp, health, \n\t\t\t\t\tpower1, power2, power3, power4, power5, power6, power7, xp, arenaPoints, totalHonorPoints, totalKills\n          FROM characters WHERE guid='" . $id . "'");
            }
            $char = $sql["char"]->fetch_assoc($result);
            // find out what mode we're in View or Delete (0 = View, 1 = Delete)
            $mode = isset($_GET["mode"]) ? $_GET["mode"] : 0;
            // only the character's owner or a GM with Delete privs can enter Delete Mode
            if ($owner_name != $user_name) {
                if ($user_lvl < $action_permission["delete"]) {
                    $mode = 0;
                } else {
                    $mode = $mode;
                }
            }
            // View Mode is only availble on characters that are offline
            if ($char["online"] != 0) {
                $mode = 0;
            }
            if ($core == 1) {
                $char_data = $char["data"];
                if (empty($char_data)) {
                    $char_data = str_repeat("0;", PLAYER_END);
                }
                $char_data = explode(";", $char_data);
            } else {
                $query = "SELECT * FROM characters LEFT JOIN character_stats ON characters.guid=character_stats.guid WHERE characters.guid='" . $id . "'";
                $char_data_result = $sql["char"]->query($query);
                $char_data_fields = $sql["char"]->fetch_assoc($char_data_result);
                $char_data[PLAYER_BLOCK_PERCENTAGE] = isset($char_data_fields["blockPct"]) ? $char_data_fields["blockPct"] : '&nbsp;';
                $char_data[PLAYER_DODGE_PERCENTAGE] = isset($char_data_fields["dodgePct"]) ? $char_data_fields["dodgePct"] : '&nbsp;';
                $char_data[PLAYER_PARRY_PERCENTAGE] = isset($char_data_fields["parryPct"]) ? $char_data_fields["parryPct"] : '&nbsp;';
                $char_data[PLAYER_CRIT_PERCENTAGE] = isset($char_data_fields["critPct"]) ? $char_data_fields["critPct"] : '&nbsp;';
                $char_data[PLAYER_RANGED_CRIT_PERCENTAGE] = isset($char_data_fields["rangedCritPct"]) ? $char_data_fields["rangedCritPct"] : '&nbsp;';
                $char_data[UNIT_FIELD_MAXDAMAGE] = isset($char_data_fields["attackPower"]) ? $char_data_fields["attackPower"] : '&nbsp;';
                $char_data[UNIT_FIELD_MINDAMAGE] = isset($char_data_fields["attackPower"]) ? $char_data_fields["attackPower"] : '&nbsp;';
                $char_data[UNIT_FIELD_MAXRANGEDDAMAGE] = isset($char_data_fields["rangedAttackPower"]) ? $char_data_fields["rangedAttackPower"] : '&nbsp;';
                $char_data[UNIT_FIELD_MINRANGEDDAMAGE] = isset($char_data_fields["rangedAttackPower"]) ? $char_data_fields["rangedAttackPower"] : '&nbsp;';
                $char_data[PLAYER_SPELL_CRIT_PERCENTAGE1] = isset($char_data_fields["spellCritPct"]) ? $char_data_fields["spellCritPct"] : '&nbsp;';
                $char_data[PLAYER_FIELD_MOD_DAMAGE_DONE_POS] = isset($char_data_fields["spellPower"]) ? $char_data_fields["spellPower"] : '&nbsp;';
                $char_data[UNIT_FIELD_STAT0] = isset($char_data_fields["strength"]) ? $char_data_fields["strength"] : '&nbsp;';
                $char_data[UNIT_FIELD_STAT1] = isset($char_data_fields["agility"]) ? $char_data_fields["agility"] : '&nbsp;';
                $char_data[UNIT_FIELD_STAT2] = isset($char_data_fields["stamina"]) ? $char_data_fields["stamina"] : '&nbsp;';
                $char_data[UNIT_FIELD_STAT3] = isset($char_data_fields["intellect"]) ? $char_data_fields["intellect"] : '&nbsp;';
                $char_data[UNIT_FIELD_STAT4] = isset($char_data_fields["spirit"]) ? $char_data_fields["spirit"] : '&nbsp;';
                $char_data[UNIT_FIELD_RESISTANCES] = isset($char_data_fields["armor"]) ? $char_data_fields["armor"] : '&nbsp;';
                $char_data[UNIT_FIELD_RESISTANCES + 1] = isset($char_data_fields["resHoly"]) ? $char_data_fields["resHoly"] : '&nbsp;';
                $char_data[UNIT_FIELD_RESISTANCES + 2] = isset($char_data_fields["resArcane"]) ? $char_data_fields["resArcane"] : '&nbsp;';
                $char_data[UNIT_FIELD_RESISTANCES + 3] = isset($char_data_fields["resFire"]) ? $char_data_fields["resFire"] : '&nbsp;';
                $char_data[UNIT_FIELD_RESISTANCES + 4] = isset($char_data_fields["resNature"]) ? $char_data_fields["resNature"] : '&nbsp;';
                $char_data[UNIT_FIELD_RESISTANCES + 5] = isset($char_data_fields["resFrost"]) ? $char_data_fields["resFrost"] : '&nbsp;';
                $char_data[UNIT_FIELD_RESISTANCES + 6] = isset($char_data_fields["resShadow"]) ? $char_data_fields["resShadow"] : '&nbsp;';
                $char_data[UNIT_FIELD_HEALTH] = isset($char["health"]) ? $char["health"] : '&nbsp;';
                $char_data[UNIT_FIELD_MAXHEALTH] = isset($char_data_fields["maxhealth"]) ? $char_data_fields["maxhealth"] : '&nbsp;';
                $char_data[UNIT_FIELD_POWER1] = isset($char["power1"]) ? $char["power1"] : '&nbsp;';
                $char_data[UNIT_FIELD_POWER2] = isset($char["power2"]) ? $char["power2"] : '&nbsp;';
                $char_data[UNIT_FIELD_POWER3] = isset($char["power3"]) ? $char["power3"] : '&nbsp;';
                $char_data[UNIT_FIELD_POWER4] = isset($char["power4"]) ? $char["power4"] : '&nbsp;';
                $char_data[UNIT_FIELD_POWER5] = isset($char["power5"]) ? $char["power5"] : '&nbsp;';
                $char_data[UNIT_FIELD_POWER6] = isset($char["power6"]) ? $char["power6"] : '&nbsp;';
                $char_data[UNIT_FIELD_POWER7] = isset($char["power7"]) ? $char["power7"] : '&nbsp;';
                $char_data[UNIT_FIELD_MAXPOWER1] = isset($char_data_fields["maxpower1"]) ? $char_data_fields["maxpower1"] : '&nbsp;';
                $char_data[UNIT_FIELD_MAXPOWER2] = isset($char_data_fields["maxpower2"]) ? $char_data_fields["maxpower2"] : '&nbsp;';
                $char_data[UNIT_FIELD_MAXPOWER3] = isset($char_data_fields["maxpower3"]) ? $char_data_fields["maxpower3"] : '&nbsp;';
                $char_data[UNIT_FIELD_MAXPOWER4] = isset($char_data_fields["maxpower4"]) ? $char_data_fields["maxpower4"] : '&nbsp;';
                $char_data[UNIT_FIELD_MAXPOWER5] = isset($char_data_fields["maxpower5"]) ? $char_data_fields["maxpower5"] : '&nbsp;';
                $char_data[UNIT_FIELD_MAXPOWER6] = isset($char_data_fields["maxpower6"]) ? $char_data_fields["maxpower6"] : '&nbsp;';
                $char_data[UNIT_FIELD_MAXPOWER7] = isset($char_data_fields["maxpower7"]) ? $char_data_fields["maxpower7"] : '&nbsp;';
                $char_data[PLAYER_FIELD_MOD_HEALING_DONE_POS] = "ERR";
                $char_data[PLAYER_FIELD_COMBAT_RATING_1 + 5] = "ERR";
                $char_data[PLAYER_FIELD_COMBAT_RATING_1 + 17] = "ERR";
                $char_data[PLAYER_FIELD_COMBAT_RATING_1 + 6] = "ERR";
                $char_data[PLAYER_FIELD_COMBAT_RATING_1 + 7] = "ERR";
                $char_data[PLAYER_EXPERTISE] = "ERR";
                $char_data[PLAYER_OFFHAND_EXPERTISE] = "ERR";
                $char_data[PLAYER_FIELD_HONOR_CURRENCY] = isset($char["totalHonorPoints"]) ? $char["totalHonorPoints"] : '&nbsp;';
                $char_data[PLAYER_FIELD_ARENA_CURRENCY] = isset($char["arenaPoints"]) ? $char["arenaPoints"] : '&nbsp;';
                $char_data[PLAYER_FIELD_LIFETIME_HONORBALE_KILLS] = isset($char["totalKills"]) ? $char["totalKills"] : '&nbsp;';
            }
            if ($core == 1) {
                $guild_id = $sql["char"]->result($sql["char"]->query("SELECT guildid FROM guild_data WHERE playerid='" . $char["guid"] . "'"), 0);
                $guild_rank = $sql["char"]->result($sql["char"]->query("SELECT guildRank FROM guild_data WHERE playerid='" . $char["guid"] . "'"), 0);
                $guild_name = $sql["char"]->result($sql["char"]->query("SELECT guildName FROM guilds WHERE guildid='" . $guild_id . "'"));
            } else {
                $guild_id = $sql["char"]->result($sql["char"]->query("SELECT guildid FROM guild_member WHERE guid='" . $char["guid"] . "'"), 0);
                $guild_rank = $sql["char"]->result($sql["char"]->query("SELECT rank AS guildRank FROM guild_member WHERE guid='" . $char["guid"] . "'"), 0);
                $guild_name = $sql["char"]->result($sql["char"]->query("SELECT name AS guildName FROM guild WHERE guildid='" . $guild_id . "'"));
            }
            $online = $char["online"] ? lang("char", "online") : lang("char", "offline");
            if ($guild_id) {
                //$guild_name = $sql["char"]->result($sql["char"]->query('SELECT name FROM guild WHERE guildid ='.$char_data[CHAR_DATA_OFFSET_GUILD_ID].''), 0, 'name');
                $guild_name = '<a href="guild.php?action=view_guild&amp;realm=' . $realmid . '&amp;error=3&amp;id=' . $guild_id . '" >' . $guild_name . '</a>';
                $mrank = $guild_rank;
                if ($core == 1) {
                    $guild_rank = $sql["char"]->result($sql["char"]->query("SELECT rankname FROM guild_ranks WHERE guildid='" . $guild_id . "' AND rankId='" . $mrank . "'"), 0, "rankname");
                } else {
                    $guild_rank = $sql["char"]->result($sql["char"]->query("SELECT rname AS rankname FROM guild_rank WHERE guildid='" . $guild_id . "' AND rid='" . $mrank . "'"), 0, "rankname");
                }
            } else {
                $guild_name = lang("global", "none");
                $guild_rank = lang("global", "none");
            }
            if ($core == 1) {
                $block = unpack("f", pack("L", $char_data[PLAYER_BLOCK_PERCENTAGE]));
                $block = round($block[1], 2);
                $dodge = unpack("f", pack("L", $char_data[PLAYER_DODGE_PERCENTAGE]));
                $dodge = round($dodge[1], 2);
                $parry = unpack("f", pack("L", $char_data[PLAYER_PARRY_PERCENTAGE]));
                $parry = round($parry[1], 2);
                $crit = unpack("f", pack("L", $char_data[PLAYER_CRIT_PERCENTAGE]));
                $crit = round($crit[1], 2);
                $ranged_crit = unpack("f", pack("L", $char_data[PLAYER_RANGED_CRIT_PERCENTAGE]));
                $ranged_crit = round($ranged_crit[1], 2);
                $maxdamage = unpack("f", pack("L", $char_data[UNIT_FIELD_MAXDAMAGE]));
                $maxdamage = round($maxdamage[1], 0);
                $mindamage = unpack("f", pack("L", $char_data[UNIT_FIELD_MINDAMAGE]));
                $mindamage = round($mindamage[1], 0);
                $maxrangeddamage = unpack("f", pack("L", $char_data[UNIT_FIELD_MAXRANGEDDAMAGE]));
                $maxrangeddamage = round($maxrangeddamage[1], 0);
                $minrangeddamage = unpack("f", pack("L", $char_data[UNIT_FIELD_MINRANGEDDAMAGE]));
                $minrangeddamage = round($minrangeddamage[1], 0);
            } else {
                $block = $char_data[PLAYER_BLOCK_PERCENTAGE];
                $block = round($block, 2);
                $dodge = $char_data[PLAYER_DODGE_PERCENTAGE];
                $dodge = round($dodge, 2);
                $parry = $char_data[PLAYER_PARRY_PERCENTAGE];
                $parry = round($parry, 2);
                $crit = $char_data[PLAYER_CRIT_PERCENTAGE];
                $crit = round($crit, 2);
                $ranged_crit = $char_data[PLAYER_RANGED_CRIT_PERCENTAGE];
                $ranged_crit = round($ranged_crit, 2);
                $maxdamage = $char_data[UNIT_FIELD_MAXDAMAGE];
                $maxdamage = round($maxdamage, 0);
                $mindamage = $char_data[UNIT_FIELD_MINDAMAGE];
                $mindamage = round($mindamage, 0);
                $maxrangeddamage = $char_data[UNIT_FIELD_MAXRANGEDDAMAGE];
                $maxrangeddamage = round($maxrangeddamage, 0);
                $minrangeddamage = $char_data[UNIT_FIELD_MINRANGEDDAMAGE];
                $minrangeddamage = round($minrangeddamage, 0);
            }
            if ($core == 1) {
                $spell_crit = 100;
                for ($i = 0; $i < 6; ++$i) {
                    $temp = unpack("f", pack("L", $char_data[PLAYER_SPELL_CRIT_PERCENTAGE1 + 1 + $i]));
                    if ($temp[1] < $spell_crit) {
                        $spell_crit = $temp[1];
                    }
                }
                $spell_crit = round($spell_crit, 2);
            } else {
                $spell_crit = $char_data[PLAYER_SPELL_CRIT_PERCENTAGE1];
                $spell_crit = round($spell_crit, 2);
            }
            if ($core == 1) {
                $spell_damage = 9999;
                for ($i = 0; $i < 6; ++$i) {
                    if ($char_data[PLAYER_FIELD_MOD_DAMAGE_DONE_POS + 1 + $i] < $spell_damage) {
                        $spell_damage = $char_data[PLAYER_FIELD_MOD_DAMAGE_DONE_POS + 1 + $i];
                    }
                }
            } else {
                $spell_damage = $char_data[PLAYER_FIELD_MOD_DAMAGE_DONE_POS];
            }
            $spell_heal = $char_data[PLAYER_FIELD_MOD_HEALING_DONE_POS];
            // this_is_junk: PLAYER_FIELD_COMBAT_RATING_1 +5, +6, and +7 seem to have the same value as +5
            //               I'm not sure which of these fields is which hit rating. :/
            $spell_hit = $char_data[PLAYER_FIELD_COMBAT_RATING_1 + 5];
            // this_is_junk: PLAYER_FIELD_COMBAT_RATING_1 +18 and +19 seem to have the same value as +5
            //               I'm not sure which of these fields is really spell haste. :/
            $spell_haste = $char_data[PLAYER_FIELD_COMBAT_RATING_1 + 17];
            // this_is_junk: PLAYER_FIELD_COMBAT_RATING_1 +5, +6, and +7 seem to have the same value as +5
            //               I'm not sure which of these fields is which hit rating. :/
            $ranged_hit = $char_data[PLAYER_FIELD_COMBAT_RATING_1 + 6];
            // this_is_junk: PLAYER_FIELD_COMBAT_RATING_1 +5, +6, and +7 seem to have the same value as +5
            //               I'm not sure which of these fields is which hit rating. :/
            $melee_hit = $char_data[PLAYER_FIELD_COMBAT_RATING_1 + 7];
            $expertise = $char_data[PLAYER_EXPERTISE] . " / " . $char_data[PLAYER_OFFHAND_EXPERTISE];
            //if ( $core == 1 )
            //{
            /*$EQU_HEAD      = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 0];
              $EQU_NECK      = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 2];
              $EQU_SHOULDER  = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 4];
              $EQU_SHIRT     = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 6];
              $EQU_CHEST     = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 8];
              $EQU_BELT      = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 10];
              $EQU_LEGS      = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 12];
              $EQU_FEET      = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 14];
              $EQU_WRIST     = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 16];
              $EQU_GLOVES    = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 18];
              $EQU_FINGER1   = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 20];
              $EQU_FINGER2   = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 22];
              $EQU_TRINKET1  = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 24];
              $EQU_TRINKET2  = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 26];
              $EQU_BACK      = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 28];
              $EQU_MAIN_HAND = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 30];
              $EQU_OFF_HAND  = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 32];
              $EQU_RANGED    = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 34];
              $EQU_TABARD    = $char_data[PLAYER_FIELD_INV_SLOT_HEAD + 36];*/
            //}
            //else
            //{
            $world_db_name = $world_db[$realm_id]["name"];
            if ($core == 1) {
                $char_equip_query = "SELECT *, \n          playeritems.entry AS item_template, randomprop as property, enchantments AS enchantment, flags\n          FROM playeritems WHERE ownerguid='" . $id . "' AND containerslot=-1";
            } elseif ($core == 2) {
                $char_equip_query = "SELECT *,\n          SUBSTRING_INDEX(SUBSTRING_INDEX(item_instance.data, ' ', 11), ' ', -1) AS creator,\n          SUBSTRING_INDEX(SUBSTRING_INDEX(item_instance.data, ' ', 23), ' ', -1) AS enchantment,\n          SUBSTRING_INDEX(SUBSTRING_INDEX(item_instance.data, ' ', 60), ' ', -1) AS property,\n          SUBSTRING_INDEX(SUBSTRING_INDEX(item_instance.data, ' ', 62), ' ', -1) AS durability,\n          SUBSTRING_INDEX(SUBSTRING_INDEX(item_instance.data, ' ', 22), ' ', -1) AS flags\n          FROM character_inventory\n            LEFT JOIN item_instance ON character_inventory.item=item_instance.guid\n          WHERE character_inventory.guid='" . $id . "' AND character_inventory.bag=0";
            } else {
                $char_equip_query = "SELECT *,\n          creatorGuid AS creator, enchantments AS enchantment,\n          randomPropertyId AS property, durability, flags,\n          itemEntry AS item_template\n          FROM character_inventory\n            LEFT JOIN item_instance ON character_inventory.item=item_instance.guid\n          WHERE character_inventory.guid='" . $id . "' AND character_inventory.bag=0";
            }
            $char_equip_result = $sql["char"]->query($char_equip_query);
            while ($equip_row = $sql["char"]->fetch_assoc($char_equip_result)) {
                switch ($equip_row["slot"]) {
                    case 0:
                        $EQU_HEAD = $equip_row["item_template"];
                        $EQU_HEAD_ROW = $equip_row;
                        break;
                    case 1:
                        $EQU_NECK = $equip_row["item_template"];
                        $EQU_NECK_ROW = $equip_row;
                        break;
                    case 2:
                        $EQU_SHOULDER = $equip_row["item_template"];
                        $EQU_SHOULDER_ROW = $equip_row;
                        break;
                    case 3:
                        $EQU_SHIRT = $equip_row["item_template"];
                        $EQU_SHIRT_ROW = $equip_row;
                        break;
                    case 4:
                        $EQU_CHEST = $equip_row["item_template"];
                        $EQU_CHEST_ROW = $equip_row;
                        break;
                    case 5:
                        $EQU_BELT = $equip_row["item_template"];
                        $EQU_BELT_ROW = $equip_row;
                        break;
                    case 6:
                        $EQU_LEGS = $equip_row["item_template"];
                        $EQU_LEGS_ROW = $equip_row;
                        break;
                    case 7:
                        $EQU_FEET = $equip_row["item_template"];
                        $EQU_FEET_ROW = $equip_row;
                        break;
                    case 8:
                        $EQU_WRIST = $equip_row["item_template"];
                        $EQU_WRIST_ROW = $equip_row;
                        break;
                    case 9:
                        $EQU_GLOVES = $equip_row["item_template"];
                        $EQU_GLOVES_ROW = $equip_row;
                        break;
                    case 10:
                        $EQU_FINGER1 = $equip_row["item_template"];
                        $EQU_FINGER1_ROW = $equip_row;
                        break;
                    case 11:
                        $EQU_FINGER2 = $equip_row["item_template"];
                        $EQU_FINGER2_ROW = $equip_row;
                        break;
                    case 12:
                        $EQU_TRINKET1 = $equip_row["item_template"];
                        $EQU_TRINKET1_ROW = $equip_row;
                        break;
                    case 13:
                        $EQU_TRINKET2 = $equip_row["item_template"];
                        $EQU_TRINKET2_ROW = $equip_row;
                        break;
                    case 14:
                        $EQU_BACK = $equip_row["item_template"];
                        $EQU_BACK_ROW = $equip_row;
                        break;
                    case 15:
                        $EQU_MAIN_HAND = $equip_row["item_template"];
                        $EQU_MAIN_HAND_ROW = $equip_row;
                        break;
                    case 16:
                        $EQU_OFF_HAND = $equip_row["item_template"];
                        $EQU_OFF_HAND_ROW = $equip_row;
                        break;
                    case 17:
                        $EQU_RANGED = $equip_row["item_template"];
                        $EQU_RANGED_ROW = $equip_row;
                        break;
                    case 18:
                        $EQU_TABARD = $equip_row["item_template"];
                        $EQU_TABARD_ROW = $equip_row;
                        break;
                }
            }
            //}
            $equiped_items = array(1 => array("", $EQU_HEAD ? get_item_icon($EQU_HEAD) : 0, $EQU_HEAD ? get_item_border($EQU_HEAD) : 0, $EQU_HEAD_ROW), 2 => array("", $EQU_NECK ? get_item_icon($EQU_NECK) : 0, $EQU_NECK ? get_item_border($EQU_NECK) : 0, $EQU_NECK_ROW), 3 => array("", $EQU_SHOULDER ? get_item_icon($EQU_SHOULDER) : 0, $EQU_SHOULDER ? get_item_border($EQU_SHOULDER) : 0, $EQU_SHOULDER_ROW), 4 => array("", $EQU_SHIRT ? get_item_icon($EQU_SHIRT) : 0, $EQU_SHIRT ? get_item_border($EQU_SHIRT) : 0, $EQU_SHIRT_ROW), 5 => array("", $EQU_CHEST ? get_item_icon($EQU_CHEST) : 0, $EQU_CHEST ? get_item_border($EQU_CHEST) : 0, $EQU_CHEST_ROW), 6 => array("", $EQU_BELT ? get_item_icon($EQU_BELT) : 0, $EQU_BELT ? get_item_border($EQU_BELT) : 0, $EQU_BELT_ROW), 7 => array("", $EQU_LEGS ? get_item_icon($EQU_LEGS) : 0, $EQU_LEGS ? get_item_border($EQU_LEGS) : 0, $EQU_LEGS_ROW), 8 => array("", $EQU_FEET ? get_item_icon($EQU_FEET) : 0, $EQU_FEET ? get_item_border($EQU_FEET) : 0, $EQU_FEET_ROW), 9 => array("", $EQU_WRIST ? get_item_icon($EQU_WRIST) : 0, $EQU_WRIST ? get_item_border($EQU_WRIST) : 0, $EQU_WRIST_ROW), 10 => array("", $EQU_GLOVES ? get_item_icon($EQU_GLOVES) : 0, $EQU_GLOVES ? get_item_border($EQU_GLOVES) : 0, $EQU_GLOVES_ROW), 11 => array("", $EQU_FINGER1 ? get_item_icon($EQU_FINGER1) : 0, $EQU_FINGER1 ? get_item_border($EQU_FINGER1) : 0, $EQU_FINGER1_ROW), 12 => array("", $EQU_FINGER2 ? get_item_icon($EQU_FINGER2) : 0, $EQU_FINGER2 ? get_item_border($EQU_FINGER2) : 0, $EQU_FINGER2_ROW), 13 => array("", $EQU_TRINKET1 ? get_item_icon($EQU_TRINKET1) : 0, $EQU_TRINKET1 ? get_item_border($EQU_TRINKET1) : 0, $EQU_TRINKET1_ROW), 14 => array("", $EQU_TRINKET2 ? get_item_icon($EQU_TRINKET2) : 0, $EQU_TRINKET2 ? get_item_border($EQU_TRINKET2) : 0, $EQU_TRINKET2_ROW), 15 => array("", $EQU_BACK ? get_item_icon($EQU_BACK) : 0, $EQU_BACK ? get_item_border($EQU_BACK) : 0, $EQU_BACK_ROW), 16 => array("", $EQU_MAIN_HAND ? get_item_icon($EQU_MAIN_HAND) : 0, $EQU_MAIN_HAND ? get_item_border($EQU_MAIN_HAND) : 0, $EQU_MAIN_HAND_ROW), 17 => array("", $EQU_OFF_HAND ? get_item_icon($EQU_OFF_HAND) : 0, $EQU_OFF_HAND ? get_item_border($EQU_OFF_HAND) : 0, $EQU_OFF_HAND_ROW), 18 => array("", $EQU_RANGED ? get_item_icon($EQU_RANGED) : 0, $EQU_RANGED ? get_item_border($EQU_RANGED) : 0, $EQU_RANGED_ROW), 19 => array("", $EQU_TABARD ? get_item_icon($EQU_TABARD) : 0, $EQU_TABARD ? get_item_border($EQU_TABARD) : 0, $EQU_TABARD_ROW));
            // visibility overrides for specific tabs
            $view_inv_override = false;
            if ($s_fields["View_Mod_Inv"] > 0) {
                if ($s_fields["View_Mod_Inv"] == 1) {
                } elseif ($s_fields["View_Mod_Inv"] == 2) {
                    // only registered users may view this tab
                    if ($user_lvl > -1) {
                        $view_inv_override = true;
                    }
                }
            } else {
                if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                    $view_inv_override = true;
                }
            }
            $view_talent_override = false;
            if ($s_fields["View_Mod_Talent"] > 0) {
                if ($s_fields["View_Mod_Talent"] == 1) {
                } elseif ($s_fields["View_Mod_Talent"] == 2) {
                    // only registered users may view this tab
                    if ($user_lvl > -1) {
                        $view_talent_override = true;
                    }
                }
            } else {
                if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                    $view_talent_override = true;
                }
            }
            $view_achieve_override = false;
            if ($s_fields["View_Mod_Achieve"] > 0) {
                if ($s_fields["View_Mod_Achieve"] == 1) {
                } elseif ($s_fields["View_Mod_Achieve"] == 2) {
                    // only registered users may view this tab
                    if ($user_lvl > -1) {
                        $view_achieve_override = true;
                    }
                }
            } else {
                if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                    $view_achieve_override = true;
                }
            }
            $view_quest_override = false;
            if ($s_fields["View_Mod_Quest"] > 0) {
                if ($s_fields["View_Mod_Quest"] == 1) {
                } elseif ($s_fields["View_Mod_Quest"] == 2) {
                    // only registered users may view this tab
                    if ($user_lvl > -1) {
                        $view_quest_override = true;
                    }
                }
            } else {
                if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                    $view_quest_override = true;
                }
            }
            $view_friends_override = false;
            if ($s_fields["View_Mod_Friends"] > 0) {
                if ($s_fields["View_Mod_Friends"] == 1) {
                } elseif ($s_fields["View_Mod_Friends"] == 2) {
                    // only registered users may view this tab
                    if ($user_lvl > -1) {
                        $view_friends_override = true;
                    }
                }
            } else {
                if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                    $view_friends_override = true;
                }
            }
            $view_view_override = false;
            if ($s_fields["View_Mod_View"] > 0) {
                if ($s_fields["View_Mod_View"] == 1) {
                } elseif ($s_fields["View_Mod_View"] == 2) {
                    // only registered users may view this tab
                    if ($user_lvl > -1) {
                        $view_view_override = true;
                    }
                }
            } else {
                if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                    $view_view_override = true;
                }
            }
            $view_pets_override = false;
            if ($s_fields["View_Mod_Pets"] > 0) {
                if ($s_fields["View_Mod_Pets"] == 1) {
                } elseif ($s_fields["View_Mod_Pets"] == 2) {
                    // only registered users may view this tab
                    if ($user_lvl > -1) {
                        $view_pets_override = true;
                    }
                }
            } else {
                if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                    $view_pets_override = true;
                }
            }
            $view_rep_override = false;
            if ($s_fields["View_Mod_Rep"] > 0) {
                if ($s_fields["View_Mod_Rep"] == 1) {
                } elseif ($s_fields["View_Mod_Rep"] == 2) {
                    // only registered users may view this tab
                    if ($user_lvl > -1) {
                        $view_rep_override = true;
                    }
                }
            } else {
                if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                    $view_rep_override = true;
                }
            }
            $view_skill_override = false;
            if ($s_fields["View_Mod_Skill"] > 0) {
                if ($s_fields["View_Mod_Skill"] == 1) {
                } elseif ($s_fields["View_Mod_Skill"] == 2) {
                    // only registered users may view this tab
                    if ($user_lvl > -1) {
                        $view_skill_override = true;
                    }
                }
            } else {
                if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                    $view_skill_override = true;
                }
            }
            $view_pvp_override = false;
            if ($s_fields["View_Mod_PvP"] > 0) {
                if ($s_fields["View_Mod_PvP"] == 1) {
                } elseif ($s_fields["View_Mod_PvP"] == 2) {
                    // only registered users may view this tab
                    if ($user_lvl > -1) {
                        $view_pvp_override = true;
                    }
                }
            } else {
                if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                    $view_pvp_override = true;
                }
            }
            $output .= '
          <!-- start of char.php -->
          <div class="tab">
            <ul>
              <li class="selected"><a href="char.php?id=' . $id . '&amp;realm=' . $realmid . '">' . lang("char", "char_sheet") . '</a></li>';
            if ($view_inv_override) {
                $output .= '
              <li><a href="char_inv.php?id=' . $id . '&amp;realm=' . $realmid . '">' . lang("char", "inventory") . '</a></li>';
            }
            if ($view_talent_override) {
                $output .= '
              ' . ($char["level"] < 10 ? '' : '<li><a href="char_talent.php?id=' . $id . '&amp;realm=' . $realmid . '">' . lang("char", "talents") . '</a></li>') . '';
            }
            if ($view_achieve_override) {
                $output .= '
              <li><a href="char_achieve.php?id=' . $id . '&amp;realm=' . $realmid . '">' . lang("char", "achievements") . '</a></li>';
            }
            if ($view_quest_override) {
                $output .= '
              <li><a href="char_quest.php?id=' . $id . '&amp;realm=' . $realmid . '">' . lang("char", "quests") . '</a></li>';
            }
            if ($view_friends_override) {
                $output .= '
              <li><a href="char_friends.php?id=' . $id . '&amp;realm=' . $realmid . '">' . lang("char", "friends") . '</a></li>';
            }
            if ($view_view_override) {
                $output .= '
              <li><a href="char_view.php?id=' . $id . '&amp;realm=' . $realmid . '">' . lang("char", "view") . '</a></li>';
            }
            $output .= '
            </ul>
          </div>';
            if ($view_override || $user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                $output .= '
          <div class="tab_content center">
            <div class="tab">
              <ul>
                <li class="selected"><a href="char.php?id=' . $id . '&amp;realm=' . $realmid . '">' . lang("char", "char_sheet") . '</a></li>';
                if (char_get_class_name($char["class"]) === "Hunter" && $view_pets_override) {
                    $output .= '
                <li><a href="char_pets.php?id=' . $id . '&amp;realm=' . $realmid . '">' . lang("char", "pets") . '</a></li>';
                }
                if ($view_rep_override) {
                    $output .= '
                <li><a href="char_rep.php?id=' . $id . '&amp;realm=' . $realmid . '">' . lang("char", "reputation") . '</a></li>';
                }
                if ($view_skill_override) {
                    $output .= '
                <li><a href="char_skill.php?id=' . $id . '&amp;realm=' . $realmid . '">' . lang("char", "skills") . '</a></li>';
                }
                if ($view_pvp_override) {
                    $output .= '
                <li><a href="char_pvp.php?id=' . $id . '&amp;realm=' . $realmid . '">' . lang("char", "pvp") . '</a></li>';
                }
                if ($owner_name == $user_name || $user_lvl >= get_page_permission("insert", "char_mail.php")) {
                    $output .= '
                <li><a href="char_mail.php?id=' . $id . '&amp;realm=' . $realmid . '">' . lang("char", "mail") . '</a></li>';
                }
                $output .= '
              </ul>
            </div>';
            } else {
                $output .= '
            <div class="tab_content center">
              <div class="tab">
              </div>';
            }
            $output .= '
              <div class="tab_content2 center">
                <table class="lined" id="char_character_sheet">
                  <tr>
                    <td colspan="2">
                      <div>
                        <img src="' . char_get_avatar_img($char["level"], $char["gender"], $char["race"], $char["class"], 0) . '" alt="avatar" />
                      </div>
                      <div>';
            // this_is_junk: auras are stored in a string in the characters table.
            // not sure how to query a string as though it were a record
            if ($core == 1) {
            } else {
                $a_results = $sql["char"]->query("SELECT DISTINCT spell FROM character_aura WHERE guid='" . $id . "'");
            }
            if ($sql["char"]->num_rows($a_results)) {
                while ($aura = $sql["char"]->fetch_assoc($a_results)) {
                    $output .= '
                        <a class="char_icon_padding" href="' . $base_datasite . $spell_datasite . $aura["spell"] . '" rel="external">
                          <img src="' . spell_get_icon($aura["spell"]) . '" alt="' . $aura["spell"] . '" width="24" height="24" />
                        </a>';
                }
            }
            $output .= '
                      </div>
                    </td>
                    <td colspan="4">
                      <span class="bold">
                        ' . htmlentities($char["name"], ENT_COMPAT, $site_encoding) . ' -
                        <img src="img/c_icons/' . $char["race"] . '-' . $char["gender"] . '.gif" onmousemove="oldtoolTip(\'' . char_get_race_name($char["race"]) . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />
                        <img src="img/c_icons/' . $char["class"] . '.gif" onmousemove="oldtoolTip(\'' . char_get_class_name($char["class"]) . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />
                       - ' . lang("char", "level_short") . char_get_level_color($char["level"]) . '
                      </span>
                      <br />' . lang("char", "location") . ': ' . get_map_name($char["mapid"]) . ' - ' . get_zone_name($char["zoneid"]) . '
                      <br />' . lang("char", "honor_points") . ': ' . $char_data[PLAYER_FIELD_HONOR_CURRENCY] . ' | ' . lang("char", "arena_points") . ': ' . $char_data[PLAYER_FIELD_ARENA_CURRENCY] . ' | ' . lang("char", "honor_kills") . ': ' . $char_data[PLAYER_FIELD_LIFETIME_HONORBALE_KILLS] . '
                      <br />' . lang("char", "guild") . ': ' . $guild_name . ' | ' . lang("char", "rank") . ': ' . htmlentities($guild_rank, ENT_COMPAT, $site_encoding) . '
                      <br />' . lang("char", "online") . ': ' . ($char["online"] ? '<img src="img/up.gif" onmousemove="oldtoolTip(\'' . lang("char", "online") . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="online" />' : '<img src="img/down.gif" onmousemove="oldtoolTip(\'' . lang("char", "offline") . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="offline" />');
            if ($showcountryflag) {
                require_once 'libs/misc_lib.php';
                $country = misc_get_country_by_account($char["acct"]);
                $output .= ' | ' . lang("global", "country") . ': ' . ($country["code"] ? '<img src="img/flags/' . $country["code"] . '.png" onmousemove="oldtoolTip(\'' . $country["country"] . '\', \'old_item_tooltip\')" onmouseout="oldtoolTip()" alt="" />' : '-');
                unset($country);
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 6%;">';
            if ($equiped_items[1][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_HEAD . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'HEAD' . '\');" onmouseout="HideTooltip(\'_b' . 'HEAD' . '\');">
                        <img src="' . $equiped_items[1][1] . '" class="' . $equiped_items[1][2] . '" alt="Head" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[1][3]["bag"] . '&slot=' . $equiped_items[1][3]["slot"] . '&item=' . $equiped_items[1][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[1][3]["item_template"]);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'HEAD' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[1][3]["enchantment"], $equiped_items[1][3]["property"], $equiped_items[1][3]["creator"], $equiped_items[1][3]["durability"], $equiped_items[1][3]["flags"]) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_head.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td class="half_line" colspan="2" align="center" style="width: 50%;">
                      <div class="gradient_p" id="char_hp_name">' . lang("item", "health") . ':</div>
                      <div class="gradient_pp" id="char_hp_value">' . $char_data[UNIT_FIELD_HEALTH] . '/' . $char_data[UNIT_FIELD_MAXHEALTH] . '</div>';
            if ($char["class"] == 11) {
                //druid
                $output .= '
                      <br />
                      <div class="gradient_p" id="char_energy_name">' . lang("item", "mana") . ':</div>
                      <div class="gradient_pp" id="char_energy_value">' . $char_data[UNIT_FIELD_POWER1] . '/' . $char_data[UNIT_FIELD_MAXPOWER1] . '</div>';
            }
            $output .= '
                    </td>
                    <td class="half_line" colspan="2" align="center" style="width: 50%;">';
            if ($char["class"] == 1) {
                $output .= '
                      <div class="gradient_p" id="char_energy_name">' . lang("item", "rage") . ':</div>
                      <div class="gradient_pp" id="char_energy_value">' . $char_data[UNIT_FIELD_POWER2] / 10 . '/' . $char_data[UNIT_FIELD_MAXPOWER2] / 10 . '</div>';
            } elseif ($char["class"] == 4) {
                $output .= '
                      <div class="gradient_p" id="char_energy_name">' . lang("item", "energy") . ':</div>
                      <div class="gradient_pp" id="char_energy_value">' . $char_data[UNIT_FIELD_POWER4] . '/' . $char_data[UNIT_FIELD_MAXPOWER4] . '</div>';
            } elseif ($char["class"] == 6) {
                $output .= '
                      <div class="gradient_p" id="char_energy_name">' . lang("item", "runic") . ':</div>
                      <div class="gradient_pp" id="char_energy_value">' . $char_data[UNIT_FIELD_POWER7] / 10 . '/' . $char_data[UNIT_FIELD_MAXPOWER7] / 10 . '</div>';
            } elseif ($char["class"] == 11) {
                $output .= '
                      <div class="gradient_p" id="char_energy_name">' . lang("item", "mana") . ':</div>
                      <div class="gradient_pp" id="char_energy_value">' . $char_data[UNIT_FIELD_POWER1] . '/' . $char_data[UNIT_FIELD_MAXPOWER1] . '</div>
                      <br />
                      <div class="gradient_p" id="char_energy_name">' . lang("item", "rage") . ':</div>
                      <div class="gradient_pp" id="char_energy_value">' . $char_data[UNIT_FIELD_POWER2] / 10 . '/' . $char_data[UNIT_FIELD_MAXPOWER2] / 10 . '</div>';
            } elseif ($char["class"] == 2 || $char["class"] == 3 || $char["class"] == 5 || $char["class"] == 7 || $char["class"] == 8 || $char["class"] == 9) {
                $output .= '
                      <div class="gradient_p" id="char_energy_name">' . lang("item", "mana") . ':</div>
                      <div class="gradient_pp" id="char_energy_value">' . $char_data[UNIT_FIELD_POWER1] . '/' . $char_data[UNIT_FIELD_MAXPOWER1] . '</div>';
            }
            $output .= '
                    </td>
                    <td style="width: 6%;">';
            if ($equiped_items[10][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_GLOVES . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'GLOVES' . '\');" onmouseout="HideTooltip(\'_b' . 'GLOVES' . '\');">
                        <img src="' . $equiped_items[10][1] . '" class="' . $equiped_items[10][2] . '" alt="Gloves" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[10][3]["bag"] . '&slot=' . $equiped_items[10][3]["slot"] . '&item=' . $equiped_items[10][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[10][3]["item_template"]);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'GLOVES' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[10][3]["enchantment"], $equiped_items[10][3]["property"], $equiped_items[10][3]["creator"], $equiped_items[10][3]["durability"], $equiped_items[10][3]["flags"]) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_gloves.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 1%;">';
            if ($equiped_items[2][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_NECK . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'NECK' . '\');" onmouseout="HideTooltip(\'_b' . 'NECK' . '\');">
                        <img src="' . $equiped_items[2][1] . '" class="' . $equiped_items[2][2] . '" alt="Neck" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[2][3]["bag"] . '&slot=' . $equiped_items[2][3]["slot"] . '&item=' . $equiped_items[2][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[2][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'NECK' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[2][3]['enchantment'], $equiped_items[2][3]['property'], $equiped_items[2][3]['creator'], $equiped_items[2][3]['durability'], $equiped_items[2][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_neck.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td class="half_line" colspan="2" rowspan="3" align="center" style="width: 50%;">
                      <div class="gradient_p">
                        ' . lang("item", "strength") . ':<br />
                        ' . lang("item", "agility") . ':<br />
                        ' . lang("item", "stamina") . ':<br />
                        ' . lang("item", "intellect") . ':<br />
                        ' . lang("item", "spirit") . ':<br />
                        ' . lang("item", "armor") . ':
                      </div>
                      <div class="gradient_pp">
                        ' . $char_data[UNIT_FIELD_STAT0] . '<br />
                        ' . $char_data[UNIT_FIELD_STAT1] . '<br />
                        ' . $char_data[UNIT_FIELD_STAT2] . '<br />
                        ' . $char_data[UNIT_FIELD_STAT3] . '<br />
                        ' . $char_data[UNIT_FIELD_STAT4] . '<br />
                        ' . $char_data[UNIT_FIELD_RESISTANCES] . '
                      </div>
                    </td>
                    <td class="half_line" colspan="2" rowspan="3" align="center" style="width: 50%;">
                      <div class="gradient_p">
                        ' . lang("item", "res_holy") . ':<br />
                        ' . lang("item", "res_arcane") . ':<br />
                        ' . lang("item", "res_fire") . ':<br />
                        ' . lang("item", "res_nature") . ':<br />
                        ' . lang("item", "res_frost") . ':<br />
                        ' . lang("item", "res_shadow") . ':
                      </div>
                      <div class="gradient_pp">
                        ' . $char_data[UNIT_FIELD_RESISTANCES + 1] . '<br />
                        ' . $char_data[UNIT_FIELD_RESISTANCES + 2] . '<br />
                        ' . $char_data[UNIT_FIELD_RESISTANCES + 3] . '<br />
                        ' . $char_data[UNIT_FIELD_RESISTANCES + 4] . '<br />
                        ' . $char_data[UNIT_FIELD_RESISTANCES + 5] . '<br />
                        ' . $char_data[UNIT_FIELD_RESISTANCES + 6] . '
                      </div>
                    </td>
                    <td style="width: 1%;">';
            if ($equiped_items[6][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_BELT . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'BELT' . '\');" onmouseout="HideTooltip(\'_b' . 'BELT' . '\');">
                        <img src="' . $equiped_items[6][1] . '" class="' . $equiped_items[6][2] . '" alt="Belt" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[6][3]["bag"] . '&slot=' . $equiped_items[6][3]["slot"] . '&item=' . $equiped_items[6][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[6][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'BELT' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[6][3]['enchantment'], $equiped_items[6][3]['property'], $equiped_items[6][3]['creator'], $equiped_items[6][3]['durability'], $equiped_items[6][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_waist.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 1%;">';
            if ($equiped_items[3][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_SHOULDER . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'SHOULDER' . '\');" onmouseout="HideTooltip(\'_b' . 'SHOULDER' . '\');">
                        <img src="' . $equiped_items[3][1] . '" class="' . $equiped_items[3][2] . '" alt="Shoulder" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[3][3]["bag"] . '&slot=' . $equiped_items[3][3]["slot"] . '&item=' . $equiped_items[3][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[3][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'SHOULDER' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[3][3]['enchantment'], $equiped_items[3][3]['property'], $equiped_items[3][3]['creator'], $equiped_items[3][3]['durability'], $equiped_items[3][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_shoulder.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td style="width: 1%;">';
            if ($equiped_items[7][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_LEGS . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'LEGS' . '\');" onmouseout="HideTooltip(\'_b' . 'LEGS' . '\');">
                        <img src="' . $equiped_items[7][1] . '" class="' . $equiped_items[7][2] . '" alt="Legs" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[7][3]["bag"] . '&slot=' . $equiped_items[7][3]["slot"] . '&item=' . $equiped_items[7][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[7][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'LEGS' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[7][3]['enchantment'], $equiped_items[7][3]['property'], $equiped_items[7][3]['creator'], $equiped_items[7][3]['durability'], $equiped_items[7][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_legs.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 1%;">';
            if ($equiped_items[15][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_BACK . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'BACK' . '\');" onmouseout="HideTooltip(\'_b' . 'BACK' . '\');">
                        <img src="' . $equiped_items[15][1] . '" class="' . $equiped_items[15][2] . '" alt="Back" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[15][3]["bag"] . '&slot=' . $equiped_items[15][3]["slot"] . '&item=' . $equiped_items[15][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[15][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'BACK' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[15][3]['enchantment'], $equiped_items[15][3]['property'], $equiped_items[15][3]['creator'], $equiped_items[15][3]['durability'], $equiped_items[15][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_chest_back.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td style="width: 1%;">';
            if ($equiped_items[8][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_FEET . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'FEET' . '\');" onmouseout="HideTooltip(\'_b' . 'FEET' . '\');">
                        <img src="' . $equiped_items[8][1] . '" class="' . $equiped_items[8][2] . '" alt="Feet" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[8][3]["bag"] . '&slot=' . $equiped_items[8][3]["slot"] . '&item=' . $equiped_items[8][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[8][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'FEET' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[8][3]['enchantment'], $equiped_items[8][3]['property'], $equiped_items[8][3]['creator'], $equiped_items[8][3]['durability'], $equiped_items[8][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_feet.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 1%;">';
            if ($equiped_items[5][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_CHEST . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'CHEST' . '\');" onmouseout="HideTooltip(\'_b' . 'CHEST' . '\');">
                        <img src="' . $equiped_items[5][1] . '" class="' . $equiped_items[5][2] . '" alt="Chest" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[5][3]["bag"] . '&slot=' . $equiped_items[5][3]["slot"] . '&item=' . $equiped_items[5][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[5][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'CHEST' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[5][3]['enchantment'], $equiped_items[5][3]['property'], $equiped_items[5][3]['creator'], $equiped_items[5][3]['durability'], $equiped_items[5][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_chest_back.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td class="half_line" colspan="2" rowspan="2" align="center" style="width: 50%;">
                      <div class="gradient_p" id="char_melee_name">
                        ' . lang("char", "melee_d") . ':<br />
                        ' . lang("char", "melee_ap") . ':<br />
                        ' . lang("char", "melee_hit") . ':<br />
                        ' . lang("char", "melee_crit") . ':<br />
                        ' . lang("char", "expertise") . ':<br />
                      </div>
                      <div class="gradient_pp" id="char_melee_value">
                        ' . $mindamage . '-' . $maxdamage . '<br />
                        ' . ($char_data[UNIT_FIELD_ATTACK_POWER] + $char_data[UNIT_FIELD_ATTACK_POWER_MODS]) . '<br />
                        ' . $melee_hit . '<br />
                        ' . $crit . '%<br />
                        ' . $expertise . '<br />
                      </div>
                    </td>
                    <td class="half_line" colspan="2" rowspan="2" align="center" style="width: 50%;">
                      <div class="gradient_p">
                        ' . lang("char", "spell_d") . ':<br />
                        ' . lang("char", "spell_heal") . ':<br />
                        ' . lang("char", "spell_hit") . ':<br />
                        ' . lang("char", "spell_crit") . ':<br />
                        ' . lang("char", "spell_haste") . '
                      </div>
                      <div class="gradient_pp">
                        ' . $spell_damage . '<br />
                        ' . $spell_heal . '<br />
                        ' . $spell_hit . '<br />
                        ' . $spell_crit . '%<br />
                        ' . $spell_haste . '
                      </div>
                    </td>
                    <td style="width: 1%;">';
            if ($equiped_items[11][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_FINGER1 . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'FINGER1' . '\');" onmouseout="HideTooltip(\'_b' . 'FINGER1' . '\');">
                        <img src="' . $equiped_items[11][1] . '" class="' . $equiped_items[11][2] . '" alt="Finger1" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[11][3]["bag"] . '&slot=' . $equiped_items[11][3]["slot"] . '&item=' . $equiped_items[11][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[11][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'FINGER1' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[11][3]['enchantment'], $equiped_items[11][3]['property'], $equiped_items[11][3]['creator'], $equiped_items[11][3]['durability'], $equiped_items[11][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_finger.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 1%;">';
            if ($equiped_items[4][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_SHIRT . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'SHIRT' . '\');" onmouseout="HideTooltip(\'_b' . 'SHIRT' . '\');">
                        <img src="' . $equiped_items[4][1] . '" class="' . $equiped_items[4][2] . '" alt="Shirt" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[4][3]["bag"] . '&slot=' . $equiped_items[4][3]["slot"] . '&item=' . $equiped_items[4][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[4][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'SHIRT' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[4][3]['enchantment'], $equiped_items[4][3]['property'], $equiped_items[4][3]['creator'], $equiped_items[4][3]['durability'], $equiped_items[4][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_shirt.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td style="width: 1%;">';
            if ($equiped_items[12][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_FINGER2 . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'FINGER2' . '\');" onmouseout="HideTooltip(\'_b' . 'FINGER2' . '\');">
                        <img src="' . $equiped_items[12][1] . '" class="' . $equiped_items[12][2] . '" alt="Finger2" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[12][3]["bag"] . '&slot=' . $equiped_items[12][3]["slot"] . '&item=' . $equiped_items[12][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[12][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'FINGER2' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[12][3]['enchantment'], $equiped_items[12][3]['property'], $equiped_items[12][3]['creator'], $equiped_items[12][3]['durability'], $equiped_items[12][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_finger.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 1%;">';
            if ($equiped_items[19][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_TABARD . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'TABARD' . '\');" onmouseout="HideTooltip(\'_b' . 'TABARD' . '\');">
                        <img src="' . $equiped_items[19][1] . '" class="' . $equiped_items[19][2] . '" alt="Tabard" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[19][3]["bag"] . '&slot=' . $equiped_items[19][3]["slot"] . '&item=' . $equiped_items[19][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[19][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'TABARD' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[19][3]['enchantment'], $equiped_items[19][3]['property'], $equiped_items[19][3]['creator'], $equiped_items[19][3]['durability'], $equiped_items[19][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_tabard.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td class="half_line" colspan="2" rowspan="2" align="center" style="width: 50%;">
                      <div class="gradient_p">
                        ' . lang("char", "dodge") . ':<br />
                        ' . lang("char", "parry") . ':<br />
                        ' . lang("char", "block") . ':
                      </div>
                      <div class="gradient_pp">
                        ' . $dodge . '%<br />
                        ' . $parry . '%<br />
                        ' . $block . '%
                      </div>
                    </td>
                    <td class="half_line" colspan="2" rowspan="2" align="center" style="width: 50%;">
                      <div class="gradient_p" id="char_ranged_name">
                        ' . lang("char", "ranged_d") . ':<br />
                        ' . lang("char", "ranged_ap") . ':<br />
                        ' . lang("char", "ranged_hit") . ':<br />
                        ' . lang("char", "ranged_crit") . ':<br />
                      </div>
                      <div class="gradient_pp" id="char_ranged_value">
                        ' . $minrangeddamage . '-' . $maxrangeddamage . '<br />
                        ' . ($char_data[UNIT_FIELD_RANGED_ATTACK_POWER] + $char_data[UNIT_FIELD_RANGED_ATTACK_POWER_MODS]) . '<br />
                        ' . $ranged_hit . '<br />
                        ' . $ranged_crit . '%<br />
                      </div>
                    </td>
                    <td style="width: 1%;">';
            if ($equiped_items[13][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_TRINKET1 . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'TRINKET1' . '\');" onmouseout="HideTooltip(\'_b' . 'TRINKET1' . '\');">
                        <img src="' . $equiped_items[13][1] . '" class="' . $equiped_items[13][2] . '" alt="Trinket1" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[13][3]["bag"] . '&slot=' . $equiped_items[13][3]["slot"] . '&item=' . $equiped_items[13][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[13][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'TRINKET1' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[13][3]['enchantment'], $equiped_items[13][3]['property'], $equiped_items[13][3]['creator'], $equiped_items[13][3]['durability'], $equiped_items[13][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_trinket.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td style="width: 1%;">';
            if ($equiped_items[9][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_WRIST . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'WRIST' . '\');" onmouseout="HideTooltip(\'_b' . 'WRIST' . '\');">
                        <img src="' . $equiped_items[9][1] . '" class="' . $equiped_items[9][2] . '" alt="Wrist" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[9][3]["bag"] . '&slot=' . $equiped_items[9][3]["slot"] . '&item=' . $equiped_items[9][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[9][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'WRIST' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[9][3]['enchantment'], $equiped_items[9][3]['property'], $equiped_items[9][3]['creator'], $equiped_items[9][3]['durability'], $equiped_items[9][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_wrist.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td style="width: 1%;">';
            if ($equiped_items[14][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_TRINKET2 . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'TRINKET2' . '\');" onmouseout="HideTooltip(\'_b' . 'TRINKET2' . '\');">
                        <img src="' . $equiped_items[14][1] . '" class="' . $equiped_items[14][2] . '" alt="Trinket2" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[14][3]["bag"] . '&slot=' . $equiped_items[14][3]["slot"] . '&item=' . $equiped_items[14][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[14][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'TRINKET2' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[14][3]['enchantment'], $equiped_items[14][3]['property'], $equiped_items[14][3]['creator'], $equiped_items[14][3]['durability'], $equiped_items[14][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_trinket.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                  </tr>
                  <tr>
                    <td></td>
                    <td style="width: 15%;">';
            if ($equiped_items[16][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_MAIN_HAND . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'MAIN_HAND' . '\');" onmouseout="HideTooltip(\'_b' . 'MAIN_HAND' . '\');">
                        <img src="' . $equiped_items[16][1] . '" class="' . $equiped_items[16][2] . '" alt="MainHand" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[16][3]["bag"] . '&slot=' . $equiped_items[16][3]["slot"] . '&item=' . $equiped_items[16][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[16][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'MAIN_HAND' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[16][3]['enchantment'], $equiped_items[16][3]['property'], $equiped_items[16][3]['creator'], $equiped_items[16][3]['durability'], $equiped_items[16][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_main_hand.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td style="width: 15%;">';
            if ($equiped_items[17][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_OFF_HAND . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'OFF_HAND' . '\');" onmouseout="HideTooltip(\'_b' . 'OFF_HAND' . '\');">
                        <img src="' . $equiped_items[17][1] . '" class="' . $equiped_items[17][2] . '" alt="OffHand" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[17][3]["bag"] . '&slot=' . $equiped_items[17][3]["slot"] . '&item=' . $equiped_items[17][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[17][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'OFF_HAND' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[17][3]['enchantment'], $equiped_items[17][3]['property'], $equiped_items[17][3]['creator'], $equiped_items[17][3]['durability'], $equiped_items[17][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_off_hand.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td style="width: 15%;">';
            if ($equiped_items[18][1]) {
                $output .= '
                      <a class="char_icon_padding" href="' . $base_datasite . $item_datasite . $EQU_RANGED . '" rel="external" onmouseover="ShowTooltip(this,\'_b' . 'RANGED' . '\');" onmouseout="HideTooltip(\'_b' . 'RANGED' . '\');">
                        <img src="' . $equiped_items[18][1] . '" class="' . $equiped_items[18][2] . '" alt="Ranged" />
                      </a>';
                if ($mode) {
                    $output .= '
                      <div style="position: relative;">
                        <a href="char.php?action=delete_item&id=' . $id . '&bag=' . $equiped_items[18][3]["bag"] . '&slot=' . $equiped_items[18][3]["slot"] . '&item=' . $equiped_items[18][3]["item_template"] . '&mode=' . $mode . '" id="ch_item_delete">
                          <img src="img/aff_cross.png" />
                        </a>
                      </div>';
                }
                // build a tooltip object for this item
                $i_fields = get_item_info($equiped_items[18][3]['item_template']);
                $output .= '
                      <div class="item_tooltip" id="tooltip_b' . 'RANGED' . '">
                        <table>
                          <tr>
                            <td>
                              ' . get_item_tooltip($i_fields, $equiped_items[18][3]['enchantment'], $equiped_items[18][3]['property'], $equiped_items[18][3]['creator'], $equiped_items[18][3]['durability'], $equiped_items[18][3]['flags']) . '
                            </td>
                          </tr>
                        </table>
                      </div>';
            } else {
                $output .= '
                      <img src="img/INV/INV_empty_ranged.png" class="icon_border_0" alt="empty" />';
            }
            $output .= '
                    </td>
                    <td style="width: 15%;"></td>
                    <td></td>
                  </tr>';
            if ($user_lvl > $owner_gmlvl || $owner_name === $user_name || $user_lvl == $action_permission["delete"]) {
                // if the character is still leveling, show an experience bar
                if ($char["level"] < 80) {
                    $xp_query = "SELECT * FROM xp_to_level WHERE level='" . $char["level"] . "'";
                    $xp_result = $sql["mgr"]->query($xp_query);
                    $xp_fields = $sql["mgr"]->fetch_assoc($xp_result);
                    $xp_to_level = $xp_fields["xp_for_next_level"];
                    $output .= '
                    <tr>
                      <td colspan="6" class="bar xp_bar" style="background-position: ' . (round(580 * $char["xp"] / $xp_to_level) - 580) . 'px;">
                        ' . lang("char", "exp") . ": " . $char["xp"] . " / " . $xp_to_level . '
                      </td>
                    </tr>';
                }
                //total time played
                $tot_time = $char["totaltime"];
                $tot_days = (int) ($tot_time / 86400);
                $tot_time = $tot_time - $tot_days * 86400;
                $total_hours = (int) ($tot_time / 3600);
                $tot_time = $tot_time - $total_hours * 3600;
                $total_min = (int) ($tot_time / 60);
                $time_offset = $timezone_offset * 3600;
                if ($char["timestamp"] != 0) {
                    $lastseen = date("F j, Y @ Hi", $char["timestamp"] + $time_offset);
                } else {
                    $lastseen = '-';
                }
                $output .= '
                  <tr>
                    <td colspan="6">
                      ' . lang("char", "tot_play_time") . ': ' . $tot_days . ' ' . lang("char", "days") . ' ' . $total_hours . ' ' . lang("char", "hours") . ' ' . $total_min . ' ' . lang("char", "min") . '
                    </td>
                  </tr>';
                $output .= '
                  <tr>
                    <td colspan="6">
                      ' . lang("char", "lastseen") . ': ' . $lastseen . '
                    </td>
                  </tr>';
            }
            $output .= '
                </table>
              </div>
              <br />
            </div>
            <br />
            <table class="hidden center">
              <tr>
                <td>';
            // button to user account page, user account page has own security
            makebutton(lang("char", "chars_acc"), 'user.php?action=edit_user&amp;acct=' . $owner_acc_id . '', 130);
            $output .= '
                </td>
                <td>';
            // only higher level GM with delete access can edit character
            //  character edit allows removal of character items, so delete permission is needed
            if ($user_lvl >= $owner_gmlvl && $user_lvl >= $action_permission["delete"]) {
                makebutton(lang("char", "edit_button"), 'char_edit.php?id=' . $id . '&amp;realm=' . $realmid, 130);
                $output .= '
                </td>
                <td>';
            }
            // only higher level GM with delete access, or character owner can delete character
            if ($user_lvl > $owner_gmlvl && $user_lvl >= $action_permission["delete"] || $owner_name === $user_name) {
                makebutton(lang("char", "del_char"), 'char_list.php?action=del_char_form&amp;check%5B%5D=' . $id . '" type="wrn', 130);
                $output .= '
                </td>
                <td>';
            }
            // show Delete Mode / View Mode button depending on current mode
            if ($mode) {
                makebutton(lang("char", "viewmode"), 'char.php?id=' . $id . '&amp;realm=' . $realmid . '&amp;mode=0" type="def', 130);
            } else {
                makebutton(lang("char", "deletemode"), 'char.php?id=' . $id . '&amp;realm=' . $realmid . '&amp;mode=1" type="def', 130);
            }
            $output .= '
                </td>
                <td>';
            // only GM with update permission can send mail, mail can send items, so update permission is needed
            if ($user_lvl >= $action_permission["update"]) {
                makebutton(lang("char", "send_mail"), 'mail.php?type=ingame_mail&amp;to=' . $char["name"], 130);
                $output .= '
                </td>';
            } else {
                $output .= '
                </td>';
            }
            $output .= '
              </tr>
              <tr>
                <td>';
            makebutton(lang("global", "back"), 'javascript:window.history.back()" type="def', 130);
            $output .= '
                </td>
              </tr>
            </table>
            <br />
          <!-- end of char.php -->';
        } else {
        }
        //error($lang_char["no_permission"]);
    } else {
        error(lang("char", "no_char_found"));
    }
}
Esempio n. 29
0
function show_reward_item(&$sqlm, &$sqlw)
{
    global $output, $lang_global, $lang_rewards, $mmfpm_db, $world_db, $realm_id, $action_permission, $user_lvl, $item_datasite;
    // this page uses wowhead tooltops
    wowhead_tt();
    $output .= '
<center>
	<div id="tab_content">
		<div id="tab">
			<ul>
				<li><a href="rewards.php">INFO</a></li>
				<li><a href="rewards.php?action=char_select">SELECT CHAR</a></li>
				<li><a href="rewards.php?action=show_reward_gold">GOLD</a></li>
				<li  id="selected"><a href="rewards.php?action=show_reward_item">ITEM</a></li>
			</ul>
		</div>
		<div id="tab_content2">
			<table class="lined" style="width: 450px;">
				<tr>';
    if ($user_lvl >= $action_permission['delete']) {
        $output .= '
					<th width="1%">' . $lang_global['delete'] . '</th>
					<th width="1%">' . $lang_global['edit'] . '</th>';
    }
    $output .= '
					<th width="15%">item</th>
					<th width="69%">name</th>
					<th width="10%">quantity</th>
					<th width="10%">points</th>
				</tr>';
    // main data that we need for this page
    $sqlm = new SQL();
    $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
    $result = $sqlm->query('SELECT item, quantity, points FROM mm_reward_item');
    while ($items = $sqlm->fetch_assoc($result)) {
        $output .= '
				<tr valign="middle">';
        if ($user_lvl >= $action_permission['delete']) {
            $output .= '
					<td><a href="rewards.php?action=delete_reward_item&amp;item=' . $items['item'] . '"><img src="img/aff_cross.png" alt="" /></a></td>
					<td><a href="rewards.php?action=edit_reward_item&amp;item=' . $items['item'] . '"><img src="img/edit.png" alt="" /></a></td>';
        }
        $output .= '
					<td>
						<a style="padding:2px;" href="' . $item_datasite . $items['item'] . '" target="_blank">
							<img src="' . get_item_icon($items['item'], $sqlm, $sqlw) . '" class="' . get_item_border($items['item'], $sqlw) . '" alt="' . $items['item'] . '" />
						</a>
					</td>
					<td>
						' . get_item_name($items['item'], $sqlw) . '
					</td>
					<td>
						' . $items['quantity'] . '
					</td>
					<td>
						' . $items['points'] . '
					</td>
				</tr>';
    }
    $output .= '
			</table>
		</div>
	</div>
	<br />';
    $output .= '
		<table class="hidden">
			<tr>
				<td>';
    if ($user_lvl >= $action_permission['insert']) {
        makebutton('Add Item', 'rewards.php?action=add_reward_item', 130);
        $output .= '
				</td>';
    }
    $output .= '
		</table>
</center>';
    unset($items);
}
Esempio n. 30
0
function char_mail(&$sqlr, &$sqlc)
{
    global $output, $lang_global, $lang_char, $lang_mail, $realm_id, $realm_db, $mmfpm_db, $characters_db, $action_permission, $user_lvl, $user_name, $item_datasite, $itemperpage;
    require_once 'core/char/char_security.php';
    //==========================$_GET and SECURE=================================
    $start = isset($_GET['start']) ? $sqlc->quote_smart($_GET['start']) : 0;
    if (is_numeric($start)) {
    } else {
        $start = 0;
    }
    $order_by = isset($_GET['order_by']) ? $sqlc->quote_smart($_GET['order_by']) : 'id';
    if (preg_match('/^[_[:lower:]]{1,12}$/', $order_by)) {
    } else {
        $order_by = 'id';
    }
    $dir = isset($_GET['dir']) ? $sqlc->quote_smart($_GET['dir']) : 1;
    if (preg_match('/^[01]{1}$/', $dir)) {
    } else {
        $dir = 1;
    }
    $order_dir = $dir ? 'ASC' : 'DESC';
    $dir = $dir ? 0 : 1;
    //==========================$_GET and SECURE end=============================
    // getting character data from database
    $result = $sqlc->query('SELECT account, name, race, class, level, gender
                            FROM characters WHERE guid = ' . $id . ' LIMIT 1');
    if ($sqlc->num_rows($result)) {
        $char = $sqlc->fetch_assoc($result);
        // we get user permissions first
        $owner_acc_id = $sqlc->result($result, 0, 'account');
        $result = $sqlr->query('SELECT `username`, `gmlevel` FROM `account` LEFT JOIN `account_access` ON `account`.`id`=`account_access`.`id` WHERE `account`.`id` = ' . $owner_acc_id . ' ORDER BY `gmlevel` DESC LIMIT 1');
        $owner_name = $sqlr->result($result, 0, 'username');
        $owner_gmlvl = $sqlr->result($result, 0, 'gmlevel');
        if (empty($owner_gmlvl)) {
            $owner_gmlvl = 0;
        }
        if ($user_lvl > $owner_gmlvl || $owner_name === $user_name) {
            //------------------------Character Tabs---------------------------------
            // we start with a lead of 10 spaces,
            //  because last line of header is an opening tag with 8 spaces
            //  keep html indent in sync, so debuging from browser source would be easy to read
            $output .= '
                    <center>
                        <div id="tab_content">
                            <h1>' . $lang_char['mail'] . '</h1>
                            <br />';
            require_once 'core/char/char_header.php';
            $output .= '
                            <br /><br />
                            <table class="lined" style="width: 100%">';
            //---------------Page Specific Starts Ends here----------------------------
            $query = $sqlc->query('SELECT a.id as id, a.messageType as messagetype, a.sender as sender,
                                    a.subject as subject, a.body as body, a.has_items as hasitems, a.money as money, a.cod as cod, a.checked as checked,
                                    b.item_guid as itemtemplate, c.itemEntry
                                    FROM mail a INNER JOIN mail_items b ON a.id = b.mail_id LEFT JOIN item_instance c ON b.item_guid = c.guid where a.receiver = ' . $id . ' LIMIT ' . $start . ', ' . $itemperpage . '');
            $total_mail = $sqlc->result($sqlc->query('SELECT count(*) FROM mail WHERE receiver= ' . $id . ''), 0);
            $output .= '
                                <tr>
                                    <td align="left">
                                        Total Mails: ' . $total_mail . '
                                    </td>
                                    <td align="right" width="45%">';
            $output .= generate_pagination('char_mail.php?start=' . $start . '&amp;order_by=' . $order_by . '&amp;dir=' . ($dir ? 0 : 1), $total_mail, $itemperpage, $start);
            $output .= '
                                    </td>
                                </tr>
                            </table>
                            <table class="lined" style="width: 100%">
                                <tr>
                                    <th width="5%">' . $lang_mail['mail_type'] . '</th>
                                    <th width="10%">' . $lang_mail['sender'] . '</th>
                                    <th width="15%">' . $lang_mail['subject'] . '</th>
                                    <th width="5%">' . $lang_mail['has_items'] . '</th>
                                    <th width="25%">' . $lang_mail['text'] . '</th>
                                    <th width="20%">' . $lang_mail['money'] . '</th>
                                    <th width="5%">' . $lang_mail['checked'] . '</th>
                                </tr>';
            while ($mail = $sqlc->fetch_assoc($query)) {
                $output .= '
                                <tr valign=top>
                                    <td>' . get_mail_source($mail['messagetype']) . '</td>
                                    <td><a href="char.php?id=' . $mail['sender'] . '">' . get_char_name($mail['sender']) . '</a></td>
                                    <td>' . $mail['subject'] . '</td>
                                    <td>
                                        <a style="padding:2px;" href="' . $item_datasite . $mail['itemEntry'] . '" target="_blank">
                                            <img class="bag_icon" src="' . get_item_icon($mail['itemEntry'], $sqlm) . '" alt="" />
                                        </a>
                                    </td>
                                    <td>' . $mail['body'] . '</td>
                                    <td>
                                        ' . substr($mail['money'], 0, -4) . '<img src="img/gold.gif" alt="" align="middle" />
                                        ' . substr($mail['money'], -4, 2) . '<img src="img/silver.gif" alt="" align="middle" />
                                        ' . substr($mail['money'], -2) . '<img src="img/copper.gif" alt="" align="middle" />
                                    </td>
                                    <td>' . get_check_state($mail['checked']) . '</td>
                                </tr>';
            }
            //---------------Page Specific Data Ends here----------------------------
            //---------------Character Tabs Footer-----------------------------------
            $output .= '
                            </table>
                        </div>
                        <br />';
            require_once 'core/char/char_footer.php';
            $output .= '
                        <br />
                    </center>
                    <!-- end of char_mail.php -->';
        } else {
            error($lang_char['no_permission']);
        }
    } else {
        error($lang_char['no_char_found']);
    }
}