コード例 #1
0
ファイル: mail_on.php プロジェクト: TheProjecter/mmfm
function search()
{
    global $lang_global, $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;
    $temp = $sql->query("SELECT guid FROM `characters` WHERE name like '%{$search_value}%'");
    $search_value = $sql->result($temp, 0, 'guid');
    $query_1 = $sql->query("SELECT count(*) FROM `mail`");
    $query = $sql->query("SELECT a.id, a.messageType, a.sender, a.receiver, a.subject, a.itemTextId, a.has_items, a.money, a.cod, a.checked, b.item_template\r\n            FROM mail a\r\n            INNER JOIN mail_items b ON a.id = b.mail_id\r\n            WHERE {$search_by} = {$search_value}\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=\"sender\">Sender</option>\r\n                <option value=\"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%\">ID</th>\r\n    <th width=\"5%\">Source</th>\r\n    <th width=\"10%\">Sender</th>\r\n    <th width=\"10%\">Receiver</th>\r\n    <th width=\"15%\">Subject</th>\r\n    <th width=\"5%\">Has Items</th>\r\n    <th width=\"25%\">Text</th>\r\n    <th width=\"15%\">Money</th>\r\n    <th width=\"5%\">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>";
        $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[5]) . "</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();
}
コード例 #2
0
ファイル: del_lib.php プロジェクト: BACKUPLIB/minimanager
function del_acc($acc_id)
{
    global $characters_db, $realm_db, $user_lvl, $user_id, $tab_del_user_realmd, $tab_del_user_char, $tab_del_user_characters, $tab_del_pet;
    $del_char = 0;
    $sqlc = new SQL();
    $sqlr = new SQL();
    $sqlr->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
    $query = $sqlr->query('SELECT `account`.`online`, `account_access`.`gmlevel` FROM `account` LEFT JOIN `account_access` ON `account`.`id`=`account_access`.`id` WHERE `account`.`id` = ' . $acc_id . '');
    $gmlevel = $sqlr->result($query, 0, 'gmlevel');
    if ($user_lvl > $gmlevel || $acc_id == $user_id) {
        if ($sqlr->result($query, 0, 'online')) {
        } else {
            foreach ($characters_db as $db) {
                $sqlc->connect($db['addr'], $db['user'], $db['pass'], $db['name']);
                $result = $sqlc->query('SELECT guid 
                                        FROM characters 
                                        WHERE account = ' . $acc_id . '');
                while ($row = $sqlc->fetch_assoc($result)) {
                    //Delete pet aura ,spells and cooldowns
                    foreach ($tab_del_pet as $value) {
                        $sqlc->query('DELETE 
                                    FROM ' . $value[0] . ' 
                                    WHERE ' . $value[1] . ' IN
                                (SELECT id 
                                    FROM character_pet 
                                    WHERE owner IN
                                (SELECT guid 
                                    FROM characters 
                                    WHERE guid = ' . $row['guid'] . '))');
                    }
                    foreach ($tab_del_user_characters as $value) {
                        $sqlc->query('DELETE 
                                    FROM ' . $value[0] . ' 
                                    WHERE ' . $value[1] . ' = ' . $row['guid'] . '');
                    }
                    $del_char++;
                }
                $sqlc->query('DELETE 
                            FROM account_data 
                            WHERE account = ' . $acc_id . '');
            }
            foreach ($tab_del_user_realmd as $value) {
                $sqlr->query('DELETE 
                            FROM ' . $value[0] . ' 
                            WHERE ' . $value[1] . ' = ' . $acc_id . '');
            }
            if ($sqlr->affected_rows()) {
                return array(true, $del_char);
            }
        }
    }
    return array(false, $del_char);
}
コード例 #3
0
ファイル: get_lib.php プロジェクト: scamp/minimanager
function get_realm_name($realm_id)
{
    global $realm_db;
    $sqlr = new SQL();
    $sqlr->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
    $result = $sqlr->query("SELECT name FROM `realmlist` WHERE id = '{$realm_id}'");
    $realm_name = $sqlr->result($result, 0);
    return $realm_name;
}
コード例 #4
0
ファイル: mail_lib.php プロジェクト: BACKUPLIB/minimanager
function get_char_name($id)
{
    global $characters_db, $realm_id;
    if ($id) {
        $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']);
        $result = $sqlc->query("SELECT `name` FROM `characters` WHERE `guid` = '{$id}'");
        $player_name = $sqlc->result($result, 0);
        return $player_name;
    } else {
        return NULL;
    }
}
コード例 #5
0
function get_mail_text($id)
{
    global $characters_db, $realm_id;
    if ($id) {
        $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']);
        $result = $sqlc->query("SELECT `body` FROM `mail` WHERE `id` = '{$id}'");
        $text_subject = $sqlc->result($result, 0);
        return $text_subject;
    } else {
        return NULL;
    }
}
コード例 #6
0
ファイル: item.php プロジェクト: BACKUPLIB/Infinity_MaNGOS
function search()
{
    global $lang_global, $lang_item, $lang_item_edit, $output, $mmfpm_db, $world_db, $realm_id, $action_permission, $user_lvl;
    valid_login($action_permission['read']);
    $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']);
    $sqlm = new SQL();
    $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
    $result = $sqlw->query("SELECT count(*) FROM item_template");
    $tot_items = $sqlw->result($result, 0);
    $output .= "\n        <center>\n          <fieldset class=\"full_frame\">\n            <legend>{$lang_item_edit['search_item']}</legend><br />\n            <form action=\"item.php?action=do_search&amp;error=2\" method=\"post\" name=\"form\">\n              <table class=\"hidden\">\n                <tr>\n                  <td align=\"right\">{$lang_item_edit['entry']}:</td>\n                  <td align=\"right\"><input type=\"text\" size=\"6\" maxlength=\"6\" name=\"entry\" /></td>\n                  <td align=\"right\">{$lang_item_edit['item_name']}:</td>\n                  <td align=\"right\" colspan=\"3\"><input type=\"text\" size=\"24\" maxlength=\"35\" name=\"name\" /></td>\n                  <td align=\"right\">{$lang_item_edit['model_id']}:</td>\n                  <td align=\"right\"><input type=\"text\" size=\"6\" maxlength=\"6\" name=\"displayid\" /></td>\n                </tr>\n                <tr>\n                  <td align=\"right\" width=\"10%\">{$lang_item_edit['class']}:</td>\n                  <td align=\"right\" width=\"10%\">\n                    <select name=\"class\">\n                      <option value=\"-1\">{$lang_item_edit['all']}</option>\n                      <option value=\"0\">{$lang_item['consumable']}</option>\n                      <option value=\"1\">{$lang_item['bag']}</option>\n                      <option value=\"2\">{$lang_item['weapon']}</option>\n                      <option value=\"4\">{$lang_item['armor']}</option>\n                      <option value=\"5\">{$lang_item['reagent']}</option>\n                      <option value=\"6\">{$lang_item['projectile']}</option>\n                      <option value=\"7\">{$lang_item['trade_goods']}</option>\n                      <option value=\"9\">{$lang_item['recipe']}</option>\n                      <option value=\"11\">{$lang_item['quiver']}</option>\n                      <option value=\"12\">{$lang_item['quest']}</option>\n                      <option value=\"13\">{$lang_item['key']}</option>\n                      <option value=\"14\">{$lang_item['permanent']}</option>\n                      <option value=\"15\">{$lang_item['misc_short']}</option>\n                    </select>\n                  </td>\n                  <td align=\"right\" width=\"10%\">{$lang_item_edit['quality']}:</td>\n                  <td align=\"right\" width=\"10%\">\n                    <select name=\"Quality\">\n                      <option value=\"-1\">{$lang_item_edit['all']}</option>\n                      <option value=\"0\">{$lang_item['poor']}</option>\n                      <option value=\"1\">{$lang_item['common']}</option>\n                      <option value=\"2\">{$lang_item['uncommon']}</option>\n                      <option value=\"3\">{$lang_item['rare']}</option>\n                      <option value=\"4\">{$lang_item['epic']}</option>\n                      <option value=\"5\">{$lang_item['legendary']}</option>\n                      <option value=\"6\">{$lang_item['artifact']}</option>\n                    </select>\n                  </td>\n                  <td align=\"right\" width=\"10%\">{$lang_item_edit['inv_type']}:</td>\n                  <td align=\"right\" width=\"10%\">\n                    <select name=\"InventoryType\">\n                      <option value=\"-1\">{$lang_item_edit['all']}</option>\n                      <option value=\"1\">{$lang_item['head']}</option>\n                      <option value=\"2\">{$lang_item['neck']}</option>\n                      <option value=\"3\">{$lang_item['shoulder']}</option>\n                      <option value=\"4\">{$lang_item['shirt']}</option>\n                      <option value=\"5\">{$lang_item['chest']}</option>\n                      <option value=\"6\">{$lang_item['belt']}</option>\n                      <option value=\"7\">{$lang_item['legs']}</option>\n                      <option value=\"8\">{$lang_item['feet']}</option>\n                      <option value=\"9\">{$lang_item['belt']}</option>\n                      <option value=\"10\">{$lang_item['gloves']}</option>\n                      <option value=\"11\">{$lang_item['finger']}</option>\n                      <option value=\"12\">{$lang_item['trinket']}</option>\n                      <option value=\"13\">{$lang_item['one_hand']}</option>\n                      <option value=\"14\">{$lang_item['off_hand']}</option>\n                      <option value=\"15\">{$lang_item['bow']}</option>\n                      <option value=\"16\">{$lang_item['back']}</option>\n                      <option value=\"17\">{$lang_item['two_hand']}</option>\n                      <option value=\"18\">{$lang_item['bag']}</option>\n                      <option value=\"19\">{$lang_item['tabard']}</option>\n                      <option value=\"20\">{$lang_item['robe']}</option>\n                      <option value=\"21\">{$lang_item['main_hand']}</option>\n                      <option value=\"22\">{$lang_item['off_misc']}</option>\n                      <option value=\"23\">{$lang_item['tome']}</option>\n                      <option value=\"24\">{$lang_item['projectile']}</option>\n                      <option value=\"25\">{$lang_item['thrown']}</option>\n                      <option value=\"26\">{$lang_item['rifle']}</option>\n                    </select>\n                  </td>\n                  <td align=\"right\" width=\"10%\">{$lang_item_edit['req_level']}:</td>\n                  <td align=\"right\" width=\"10%\"><input type=\"text\" size=\"6\" maxlength=\"3\" name=\"RequiredLevel\" /></td>\n                </tr>\n                <tr>\n                  <td align=\"right\">{$lang_item_edit['spell_id']} 1:</td>\n                  <td align=\"right\"><input type=\"text\" size=\"6\" maxlength=\"6\" name=\"spellid_1\" /></td>\n                  <td align=\"right\">{$lang_item_edit['spell_id']} 2:</td>\n                  <td align=\"right\"><input type=\"text\" size=\"6\" maxlength=\"6\" name=\"spellid_2\" /></td>\n                  <td align=\"right\">{$lang_item_edit['spell_id']} 3:</td>\n                  <td align=\"right\"><input type=\"text\" size=\"6\" maxlength=\"6\" name=\"spellid_3\" /></td>\n                  <td align=\"right\">{$lang_item_edit['spell_id']} 4:</td>\n                  <td align=\"right\"><input type=\"text\" size=\"6\" maxlength=\"6\" name=\"spellid_4\" /></td>\n                </tr>\n                <tr>\n                  <td align=\"right\">{$lang_item_edit['item_level']}:</td>\n                  <td align=\"right\"><input type=\"text\" size=\"6\" maxlength=\"6\" name=\"ItemLevel\" /></td>\n                  <td align=\"right\">{$lang_item_edit['item_set']}:</td>\n                  <td align=\"right\" colspan=\"3\">\n                    <select name=\"itemset\">\n                      <option value=\"\">{$lang_item_edit['all']}</option>";
    $itemset_id = $sqlm->query("SELECT `id`, `field_1` FROM `dbc_itemset`");
    while ($set = $sqlm->fetch_row($itemset_id)) {
        $output .= "\n                      <option value=\"{$set[0]}\">({$set['0']}) {$set[1]}</option>";
    }
    $output .= "\n                    </select>\n                  </td>\n                  <td align=\"right\">{$lang_item_edit['flags']}:</td>\n                  <td align=\"right\"><input type=\"text\" size=\"6\" maxlength=\"6\" name=\"Flags\" /></td>\n                </tr>\n                <tr>\n                  <td align=\"right\">{$lang_item_edit['bonding']}:</td>\n                  <td align=\"right\" colspan=\"2\">\n                    <select name=\"bonding\">\n                      <option value=\"-1\">{$lang_item_edit['all']}</option>\n                      <option value=\"1\">{$lang_item['bop']}</option>\n                      <option value=\"2\">{$lang_item['boe']}</option>\n                      <option value=\"3\">{$lang_item['bou']}</option>\n                      <option value=\"4\">{$lang_item['quest_item']}</option>\n                    </select>\n                  </td>\n                  <td align=\"right\">{$lang_item_edit['custom_search']}:</td>\n                  <td align=\"right\" colspan=\"2\"><input type=\"text\" size=\"24\" maxlength=\"512\" name=\"custom_search\" /></td>\n                  <td align=\"right\" colspan=\"2\">\n                  </td>\n                </tr>\n                <tr>\n                  <td colspan=\"8\">-----------------------------------------------------------------------------------------------------------------------------------------------</td>\n                </tr>\n                <tr>\n                  <td align=\"right\"></td>\n                  <td align=\"right\" colspan=\"4\">";
    if ($user_lvl >= $action_permission['insert']) {
        makebutton($lang_item_edit['add_new_item'], "item.php?action=add_new&error=3", 130);
    }
    makebutton($lang_item_edit['search'], "javascript:do_submit()", 130);
    $output .= "\n                  </td>\n                  <td align=\"right\" colspan=\"2\">{$lang_item_edit['tot_items_in_db']}: {$tot_items}</td>\n                  <td align=\"right\"></td>\n                </tr>\n              </table>\n            </form>\n          </fieldset>\n          <br /><br />\n        </center>\n";
}
function accounts()
{
    global $output, $corem_db, $logon_db, $itemperpage, $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"]);
    $sqll = new SQL();
    $sqll->connect($logon_db["addr"], $logon_db["user"], $logon_db["pass"], $logon_db["name"], $logon_db["encoding"]);
    $start = isset($_GET["start"]) ? $sqll->quote_smart($_GET["start"]) : 0;
    if (!is_numeric($start)) {
        $start = 0;
    }
    $order_by = isset($_GET["order_by"]) ? $sqll->quote_smart($_GET["order_by"]) : "acct";
    if ($order_by == "login") {
        if ($core == 1) {
            $order_by = "login";
        } else {
            $order_by = "username";
        }
    }
    $dir = isset($_GET["dir"]) ? $sqll->quote_smart($_GET["dir"]) : 1;
    if (!preg_match('/^[01]{1}$/', $dir)) {
        $dir = 1;
    }
    $accts_per_page = isset($_GET["perpage"]) ? $sqll->quote_smart($_GET["perpage"]) : $itemperpage;
    if (!is_numeric($accts_per_page)) {
        $accts_per_page = $itemperpage;
    }
    $order_dir = $dir ? "ASC" : "DESC";
    $dir = $dir ? 0 : 1;
    $search_value = isset($_GET["search_value"]) ? $sqll->quote_smart($_GET["search_value"]) : "";
    $search_by = isset($_GET["search_by"]) ? $sqll->quote_smart($_GET["search_by"]) : "";
    if ($core == 1) {
        $search_menu = array(array("login", "by_name"), array("acct", "by_id"), array("ScreenName", "by_sn"), array("SecurityLevel", "by_sl"), array("WebAdmin", "by_web"));
    } else {
        $search_menu = array(array("username", "by_name"), array("id", "by_id"), array("ScreenName", "by_sn"), array("SecurityLevel", "by_sl"), array("WebAdmin", "by_web"));
    }
    $search = "";
    if ($search_value != "" && $search_by != "") {
        if ($search_by == "WebAdmin") {
            $search = "WHERE SecurityLevel>='1073741824'";
        } else {
            $search = "WHERE " . $search_by . " LIKE '%" . $search_value . "%'";
        }
    }
    if ($core == 1) {
        $query = "SELECT *, (SecurityLevel & 1073741824) AS WebAdmin\n              FROM accounts\n                LEFT JOIN `" . $corem_db["name"] . "`.config_accounts ON accounts.login=`" . $corem_db["name"] . "`.config_accounts.Login COLLATE utf8_general_ci\n              " . $search . "\n              ORDER BY " . $order_by . " " . $order_dir . " LIMIT " . $start . ", " . $accts_per_page;
        $count_query = "SELECT COUNT(*) FROM accounts\n                      LEFT JOIN `" . $corem_db["name"] . "`.config_accounts ON accounts.login=`" . $corem_db["name"] . "`.config_accounts.Login COLLATE utf8_general_ci\n                    " . $search;
    } else {
        $query = "SELECT *, id AS acct, username AS login, (SecurityLevel & 1073741824) AS WebAdmin\n              FROM account\n                LEFT JOIN `" . $corem_db["name"] . "`.config_accounts ON account.username=`" . $corem_db["name"] . "`.config_accounts.Login\n              " . $search . "\n              ORDER BY " . $order_by . " " . $order_dir . " LIMIT " . $start . ", " . $accts_per_page;
        $count_query = "SELECT COUNT(*) FROM account\n                      LEFT JOIN `" . $corem_db["name"] . "`.config_accounts ON account.username=`" . $corem_db["name"] . "`.config_accounts.Login\n                    " . $search;
    }
    $result = $sqll->query($query);
    $count_result = $sqll->query($count_query);
    $all_record = $sqll->result($count_result, 0);
    $accounts_action = 0;
    if (isset($_GET["editacct"])) {
        $accounts_action = "edit";
    }
    if (!$accounts_action) {
        $output .= '
        <div class="center" id="admin_accounts_search">
          <form action="admin.php" method="get" id="form">
            <div>
              <input type="hidden" name="section" value="accounts" />
            </div>
            <table class="hidden" id="admin_accounts_search_table">
              <tr>
                <td>
                  <input type="text" size="24" maxlength="50" name="search_value" value="' . $search_value . '" />
                </td>
                <td>
                  <select name="search_by">';
        foreach ($search_menu as $row) {
            $output .= '
                    <option value="' . $row[0] . '"' . ($search_by === $row[0] ? ' selected="selected"' : '') . '>' . lang("admin", $row[1]) . '</option>';
        }
        $output .= '
                  </select>
                </td>
                <td>
                  <input type="submit" name="search" value="' . lang("global", "search") . '" />
                </td>
              </tr>
            </table>
          </form>';
        $output .= '
          <a href="admin.php?section=accounts&amp;order_by=' . $order_by . '&amp;start=' . $start . '&amp;dir=' . ($dir ? 0 : 1) . '&amp;perpage=' . $accts_per_page . '">' . lang("admin", "clearsearch") . '</a>
          <br />
          <br />';
        if ($order_by == "username") {
            $order_by = "login";
        }
        $output .= '
          <table class="hidden admin_accounts">
            <tr>
              <td colspan="2" align="left">
                ' . lang("admin", "per_page") . ': ';
        $per_page_choices = array(25, 50, 100, 200);
        for ($i = 0; $i < count($per_page_choices); $i++) {
            if ($accts_per_page != $per_page_choices[$i]) {
                $output .= '<a href="admin.php?section=accounts&amp;order_by=' . $order_by . '&amp;start=' . $start . '&amp;dir=' . ($dir ? 0 : 1) . ($search_value && $search_by ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '' : '') . '&amp;perpage=' . $per_page_choices[$i] . '">' . $per_page_choices[$i] . '</a>';
            } else {
                $output .= $per_page_choices[$i];
            }
            if ($i < count($per_page_choices) - 1) {
                $output .= ',&nbsp;';
            }
        }
        $output .= '
              </td>
            </tr>
            <tr>
              <td align="left">' . lang("admin", "total") . ': ' . $all_record . '</td>
              <td align="right">';
        $output .= generate_pagination('admin.php?section=accounts&amp;order_by=' . $order_by . '&amp;start=' . $start . '&amp;dir=' . ($dir ? 0 : 1) . ($search_value && $search_by ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '' : '') . '&amp;perpage=' . $accts_per_page, $all_record, $accts_per_page, $start);
        $output .= '
              </td>
            </tr>
          </table>
          <table class="simple admin_accounts">
            <tr>
              <th style="width: 10%;">' . lang("admin", "edit") . '</th>
              <th>
                <a href="admin.php?section=accounts&amp;order_by=acct&amp;start=' . $start . ($search_value && $search_by ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '' : '') . '&amp;dir=' . $dir . '&amp;perpage=' . $accts_per_page . '"' . ($order_by == 'acct' ? ' class="' . $order_dir . '"' : '') . '>' . lang("user", "acct") . '</a>
              </th>
              <th>
                <a href="admin.php?section=accounts&amp;order_by=login&amp;start=' . $start . ($search_value && $search_by ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '' : '') . '&amp;dir=' . $dir . '&amp;perpage=' . $accts_per_page . '"' . ($order_by == 'login' ? ' class="' . $order_dir . '"' : '') . '>' . lang("admin", "login") . '</a>
              </th>
              <th>
                <a href="admin.php?section=accounts&amp;order_by=ScreenName&amp;start=' . $start . ($search_value && $search_by ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '' : '') . '&amp;dir=' . $dir . '&amp;perpage=' . $accts_per_page . '"' . ($order_by == 'ScreenName' ? ' class="' . $order_dir . '"' : '') . '>' . lang("admin", "screenname") . '</a>
              </th>
              <th style="width: 20%;">
                <a href="admin.php?section=accounts&amp;order_by=SecurityLevel&amp;start=' . $start . ($search_value && $search_by ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '' : '') . '&amp;dir=' . $dir . '&amp;perpage=' . $accts_per_page . '"' . ($order_by == 'SecurityLevel' ? ' class="' . $order_dir . '"' : '') . '>' . lang("admin", "seclvl") . '</a>
              </th>
              <th style="width: 15%;">
                <a href="admin.php?section=accounts&amp;order_by=WebAdmin&amp;start=' . $start . ($search_value && $search_by ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '' : '') . '&amp;dir=' . $dir . '&amp;perpage=' . $accts_per_page . '"' . ($order_by == 'WebAdmin' ? ' class="' . $order_dir . '"' : '') . '>' . lang("admin", "acpaccess") . '</a>
              </th>
              <th style="width: 15%;">
                <a href="admin.php?section=accounts&amp;order_by=TempPassword&amp;start=' . $start . ($search_value && $search_by ? '&amp;search_by=' . $search_by . '&amp;search_value=' . $search_value . '' : '') . '&amp;dir=' . $dir . '&amp;perpage=' . $accts_per_page . '"' . ($order_by == 'TempPassword' ? ' class="' . $order_dir . '"' : '') . '>' . lang("admin", "confirm_account") . '</a>
              </th>
            </tr>';
        $color = "#EEEEEE";
        while ($acct = $sqll->fetch_assoc($result)) {
            $acct["SecurityLevel"] = isset($acct["SecurityLevel"]) ? $acct["SecurityLevel"] : 0;
            $acct["WebAdmin"] = isset($acct["WebAdmin"]) ? $acct["WebAdmin"] : 0;
            $acct["ScreenName"] = isset($acct["ScreenName"]) ? $acct["ScreenName"] : "";
            if ($acct["SecurityLevel"] >= 1073741824) {
                $acct["SecurityLevel"] -= 1073741824;
            }
            $sl_query = "SELECT * FROM config_gm_level_names WHERE Security_Level='" . $acct["SecurityLevel"] . "'";
            $sl_result = $sqlm->query($sl_query);
            $sl = $sqlm->fetch_assoc($sl_result);
            $output .= '
            <tr>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>
                  <a href="admin.php?section=accounts&amp;acct=' . $acct["login"] . '&amp;editacct=editaccount">
                    <img src="img/edit.png" alt="" />
                  </a>
                </span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $acct["acct"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . strtolower($acct["login"]) . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $acct["ScreenName"] . '</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>' . $sl["Full_Name"] . ' (' . $acct["SecurityLevel"] . ')</span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">
                <span>
                  <img src="img/' . ($acct["WebAdmin"] ? 'up' : 'down') . '.gif" alt="" />
                </span>
              </td>
              <td style="background-color:' . $color . '; text-align: center;">';
            if ($acct["TempPassword"] != "") {
                $output .= '
                <center>
                  <aspanhref="register.php?action=do_activate&amp;key=' . $acct["TempPassword"] . '&amp;redirect=1" onmouseover="oldtoolTip(\'' . lang("admin", "confirm_account_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">
                    <img src="img/aff_tick.png" alt="" />
                  </a>
                </span>';
            } else {
                $output .= '
                &nbsp;';
            }
            $output .= '
              </td>
            </tr>';
            $color = $color == "#EEEEEE" ? "#FFFFFF" : "#EEEEEE";
        }
        $output .= '
          </table>
        </div>';
    } else {
        if (isset($_GET["acct"])) {
            $acct = $sqlm->quote_smart($_GET["acct"]);
        } else {
            redirect("admin.php?section=accounts&error=1");
        }
        if ($core == 1) {
            $logon_acct = $sqll->fetch_assoc($sqll->query("SELECT * FROM accounts WHERE login='******'"));
        } else {
            $logon_acct = $sqll->fetch_assoc($sqll->query("SELECT *, username AS login FROM account WHERE username='******'"));
        }
        $sl_query = "SELECT * FROM config_gm_level_names";
        $sl_result = $sqlm->query($sl_query);
        $sn_acct = $sqlm->fetch_assoc($sqlm->query("SELECT * FROM config_accounts WHERE Login='******'"));
        $sec_level_only = $sn_acct["SecurityLevel"] ? $sn_acct["SecurityLevel"] : 0;
        if ($sec_level_only >= 1073741824) {
            $sec_level_only -= 1073741824;
        }
        $web_admin_only = $sn_acct["SecurityLevel"] & 1073741824;
        $output .= '
        <div id="admin_edit_account">
          <form action="admin.php" method="get" id="form">
            <div>
              <input type="hidden" name="section" value="accounts" />
              <input type="hidden" name="action" value="saveacct" />
            </div>
            <fieldset>
              <table>
                <tr>
                  <td style="width: 50%;">' . lang("admin", "login") . ': </td>
                  <td>
                    <input type="text" readonly="readonly" name="login" value="' . $logon_acct["login"] . '" />
                  </td>
                </tr>
                <tr>
                  <td>' . lang("admin", "screenname") . ': </td>
                  <td>
                    <input type="text" name="sn" value="' . $sn_acct["ScreenName"] . '" />
                  </td>
                </tr>
                <tr>
                  <td>' . lang("admin", "seclvl") . ': </td>
                  <td>
                    <select name="sec">';
        while ($row = $sqlm->fetch_assoc($sl_result)) {
            $output .= '
                      <option value="' . $row["Security_Level"] . '" ' . ($sec_level_only == $row["Security_Level"] ? 'selected="selected"' : '') . '>' . $row["Full_Name"] . ' (' . $row["Security_Level"] . ')</option>';
        }
        $output .= '
                    </select>
                  </td>
                </tr>
                <tr>
                  <td class="help">
                    <a href="#" onmouseover="oldtoolTip(\'' . lang("admin", "acpaccess_tip") . '\', \'info_tooltip\')" onmouseout="oldtoolTip()">' . lang("admin", "acpaccess") . '</a>:
                  </td>
                  <td>
                    <input type="checkbox" name="acp" ' . ($web_admin_only ? 'checked="checked"' : '') . ' />
                  </td>
                </tr>
              </table>
            </fieldset>
            <div>
              <input type="submit" name="saveacct" value="' . lang("admin", "save") . '" />
            </div>
          </form>
        </div>';
    }
}
コード例 #8
0
ファイル: arenateam.php プロジェクト: BACKUPLIB/minimanager
function browse_teams()
{
    global $lang_arenateam, $lang_global, $output, $realm_db, $characters_db, $realm_id, $itemperpage, $action_permission, $user_lvl, $user_id;
    $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']) : "atid";
    if (!preg_match("/^[_[:lower:]]{1,17}\$/", $order_by)) {
        $order_by = "atid";
    }
    $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=============================
    //==========================Browse/Search CHECK==============================
    $search_by = '';
    $search_value = '';
    if (isset($_GET['search_value']) && isset($_GET['search_by'])) {
        $search_value = $sqlc->quote_smart($_GET['search_value']);
        $search_by = $sqlc->quote_smart($_GET['search_by']);
        $search_menu = array('atname', 'leadername', 'atid');
        if (!in_array($search_by, $search_menu)) {
            $search_by = 'atid';
        }
        switch ($search_by) {
            case "atname":
                $query = $sqlc->query("SELECT art.`arenateamid` as atid, art.`name` as atname, art.`captainguid` as lguid, art.`type` as attype, cCaptain.`name` as lname, COUNT(atm.`arenateamid`) as tot_chars, art.`rating` as atrating, art.`seasonGames` as atgames, art.`seasonWins` as atwins FROM `arena_team` art\r\n                LEFT JOIN `characters` cCaptain on art.`captainguid` = cCaptain.`guid`\r\n                RIGHT JOIN `arena_team_member` atm on atm.`arenateamid` = art.`arenateamid`\r\n                WHERE art.`name` LIKE '%{$search_value}%' GROUP BY atid ORDER BY {$order_by} {$order_dir} LIMIT {$start}, {$itemperpage}");
                $query_1 = $sqlc->query("SELECT count(*) FROM arena_team WHERE arena_team.name LIKE '%{$search_value}%'");
                break;
            case "leadername":
                $query = $sqlc->query("SELECT art.`arenateamid` as atid, art.`name` as atname, art.`captainguid` as lguid, art.`type` as attype, cCaptain.`name` as lname, COUNT(atm.`arenateamid`) as tot_chars, art.`rating` as atrating, art.`seasonGames` as atgames, art.`seasonWins` as atwins FROM `arena_team` art\r\n                LEFT JOIN `characters` cCaptain on art.`captainguid` = cCaptain.`guid`\r\n                RIGHT JOIN `arena_team_member` atm on atm.`arenateamid` = art.`arenateamid`\r\n                WHERE cCaptain.`name` LIKE '%{$search_value}%' GROUP BY atid ORDER BY {$order_by} {$order_dir} LIMIT {$start}, {$itemperpage}");
                $query_1 = $sqlc->query("SELECT count(*) FROM arena_team WHERE arena_team.captainguid in (SELECT guid from characters where name like '%{$search_value}%')");
                break;
            case "atid":
                $query = $sqlc->query("SELECT art.`arenateamid` as atid, art.`name` as atname, art.`captainguid` as lguid, art.`type` as attype, cCaptain.`name` as lname, COUNT(atm.`arenateamid`) as tot_chars, art.`rating` as atrating, art.`seasonGames` as atgames, art.`seasonWins` as atwins, COUNT(cOnlineCount.`guid`) as arenateam_online\r\n                                               FROM `arena_team` art\r\n                                               LEFT JOIN `characters` cCaptain on art.`captainguid` = cCaptain.`guid`\r\n                                               RIGHT JOIN `arena_team_member` atm on atm.`arenateamid` = art.`arenateamid`\r\n                                               LEFT JOIN (SELECT `guid` FROM `characters` WHERE `online` = 1) cOnlineCount on cOnlineCount.`guid` = atm.`guid`\r\n                                               GROUP BY atid ORDER BY {$order_by} {$order_dir} LIMIT {$start}, {$itemperpage}");
                $query_1 = $sqlc->query("SELECT count(*) FROM arena_team arena_team.arenateamid ='{$search_value}'");
                break;
        }
    } else {
        $query = $sqlc->query("SELECT arena_team.arenateamid AS atid, arena_team.name AS atname, arena_team.captainguid AS lguid, arena_team.type AS attype, (SELECT NAME FROM `characters` WHERE guid = lguid) AS lname,(SELECT COUNT(*) FROM  arena_team_member WHERE arenateamid = atid) AS tot_chars, rating AS atrating, seasonGames AS atgames, seasonWins AS atwins, (SELECT COUNT(*) AS GCNT  FROM `arena_team_member`, `characters`, `arena_team` WHERE arena_team.arenateamid = atid AND arena_team_member.arenateamid = arena_team.arenateamid AND arena_team_member.guid = characters.guid AND characters.online = 1) AS arenateam_online FROM arena_team ORDER BY {$order_by} {$order_dir} LIMIT {$start}, {$itemperpage}");
        $query_1 = $sqlc->query("SELECT count(*) FROM arena_team");
    }
    $all_record = $sqlc->result($query_1, 0);
    unset($query_1);
    $this_page = $sqlc->num_rows($query);
    //==========================top page navigation starts here====================
    $output .= "\r\n        <center>\r\n            <table class=\"top_hidden\">\r\n                <tr>\r\n                    <td>";
    makebutton($lang_global['back'], "javascript:window.history.back()", 130);
    $search_by && $search_value ? makebutton($lang_arenateam['arenateams'], "arenateam.php", 130) : ($output .= "");
    $output .= "\r\n                    </td>\r\n                </tr>\r\n                <tr>\r\n                    <td>\r\n                        <table class=\"hidden\">\r\n                            <tr>\r\n                                <td>\r\n                                    <form action=\"arenateam.php\" method=\"get\" name=\"form\">\r\n                                        <input type=\"hidden\" name=\"error\" value=\"4\" />\r\n                                        <input type=\"text\" size=\"24\" name=\"search_value\" value=\"{$search_value}\"/>\r\n                                        <select name=\"search_by\">\r\n                                            <option value=\"atname\"" . ($search_by == 'atname' ? " selected=\"selected\"" : "") . ">{$lang_arenateam['by_name']}</option>\r\n                                            <option value=\"leadername\"" . ($search_by == 'leadername' ? " selected=\"selected\"" : "") . ">{$lang_arenateam['by_team_leader']}</option>\r\n                                            <option value=\"atid\"" . ($search_by == 'atid' ? " selected=\"selected\"" : "") . ">{$lang_arenateam['by_id']}</option>\r\n                                        </select>\r\n                                    </form>\r\n                                </td>\r\n                                <td>";
    makebutton($lang_global['search'], "javascript:do_submit()", 80);
    $output .= "\r\n                                </td>\r\n                            </tr>\r\n                        </table>\r\n                    </td>\r\n                    <td align=\"right\">";
    $output .= generate_pagination("arenateam.php?order_by={$order_by}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir=" . !$dir, $all_record, $itemperpage, $start);
    $output .= "\r\n                    </td>\r\n                </tr>\r\n            </table>";
    //==========================top page navigation ENDS here =====================
    $output .= "\r\n            <table class=\"lined\">\r\n                <tr>\r\n                    <th width=\"1%\"><a href=\"arenateam.php?order_by=atid&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\">" . ($order_by == 'atid' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" /> " : "") . "{$lang_arenateam['id']}</a></th>\r\n                    <th width=\"1%\"><a href=\"arenateam.php?order_by=atname&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\">" . ($order_by == 'atname' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" /> " : "") . "{$lang_arenateam['arenateam_name']}</a></th>\r\n                    <th width=\"1%\"><a href=\"arenateam.php?order_by=lname&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\">" . ($order_by == 'lname' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" /> " : "") . "{$lang_arenateam['captain']}</a></th>\r\n                    <th width=\"1%\"><a href=\"arenateam.php?order_by=attype&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\">" . ($order_by == 'attype' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" /> " : "") . "{$lang_arenateam['type']}</a></th>\r\n                    <th width=\"1%\"><a href=\"arenateam.php?order_by=tot_chars&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\">" . ($order_by == 'tot_chars' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" /> " : "") . "{$lang_arenateam['members']}</a></th>\r\n                    <th width=\"1%\"><a href=\"arenateam.php?order_by=arenateam_online&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\">" . ($order_by == 'arenateam_online' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" /> " : "") . "{$lang_arenateam['arenateam_online']}</a></th>\r\n                    <th width=\"1%\"><a href=\"arenateam.php?order_by=rating&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\">" . ($order_by == 'rating' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" /> " : "") . "{$lang_arenateam['rating']}</a></th>\r\n                    <th width=\"1%\"><a href=\"arenateam.php?order_by=atgames&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\">" . ($order_by == 'atgames' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" /> " : "") . "{$lang_arenateam['games']}</a></th>\r\n                    <th width=\"1%\"><a href=\"arenateam.php?order_by=atwins&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\">" . ($order_by == 'atwins' ? "<img src=\"img/arr_" . ($dir ? "up" : "dw") . ".gif\" /> " : "") . "{$lang_arenateam['wins']}</a></th>\r\n                </tr>";
    while ($data = $sqlc->fetch_row($query)) {
        $gonline = $sqlc->query("SELECT count(*) AS GCNT  FROM `arena_team_member`, `characters`, `arena_team` WHERE arena_team.arenateamid = " . $data[0] . " AND arena_team_member.arenateamid = arena_team.arenateamid AND arena_team_member.guid = characters.guid AND characters.online = 1;");
        $arenateam_online = $sqlc->result($gonline, "GCNT");
        $output .= "\r\n                <tr>\r\n                    <td>{$data['0']}</td>\r\n                    <td><a href=\"arenateam.php?action=view_team&amp;error=3&amp;id={$data['0']}\">" . htmlentities($data[1]) . "</a></td>\r\n                    <td><a href=\"char.php?id={$data['2']}\">" . htmlentities($data[4]) . "</a></td>\r\n                    <td>{$lang_arenateam[$data[3]]}</td>\r\n                    <td>{$data['5']}</td>\r\n                    <td>{$arenateam_online}</td>\r\n                    <td>{$data['6']}</td>\r\n                    <td>{$data['7']}</td>\r\n                    <td>{$data['8']}</td>\r\n                </tr>";
    }
    $output .= "\r\n                <tr>\r\n                    <td colspan=\"9\" class=\"hidden\" align=\"right\">{$lang_arenateam['tot_teams']} : {$all_record}</td>\r\n                </tr>\r\n            </table>\r\n        </center>";
}
コード例 #9
0
ファイル: register.php プロジェクト: scamp/minimanager
function do_pass_activate()
{
    global $lang_global, $realm_db;
    if (empty($_GET['h']) || empty($_GET['p'])) {
        redirect("register.php?action=pass_recovery&err=1");
    }
    $sql = new SQL();
    $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
    $pass = $sql->quote_smart(trim($_GET['p']));
    $hash = $sql->quote_smart($_GET['h']);
    $result = $sql->query("SELECT id,username FROM account WHERE sha_pass_hash = '{$hash}'");
    if ($sql->num_rows($result) == 1) {
        $username = $sql->result($result, 0, 'username');
        $id = $sql->result($result, 0, 'id');
        if (substr(sha1(strtoupper($sql->result($result, 0, 'username'))), 0, 7) == $pass) {
            $sql->query("UPDATE account SET sha_pass_hash=SHA1(CONCAT(UPPER('{$username}'),':',UPPER('{$pass}'))), v=0, s=0 WHERE id = '{$id}'");
            redirect("login.php");
        }
    } else {
        redirect("register.php?action=pass_recovery&err=1");
    }
    redirect("register.php?action=pass_recovery&err=1");
}
コード例 #10
0
function instances()
{
    global $output, $lang_instances, $realm_id, $world_db, $mmfpm_db, $itemperpage;
    $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']);
    //-------------------SQL Injection Prevention--------------------------------
    // this page has multipage support and field ordering, so we need these
    $start = isset($_GET['start']) ? $sqlw->quote_smart($_GET['start']) : 0;
    if (is_numeric($start)) {
    } else {
        $start = 0;
    }
    $order_by = isset($_GET['order_by']) ? $sqlw->quote_smart($_GET['order_by']) : 'levelMin';
    if (preg_match('/^[_[:lower:]]{1,11}$/', $order_by)) {
    } else {
        $order_by = 'levelMin';
    }
    $dir = isset($_GET['dir']) ? $sqlw->quote_smart($_GET['dir']) : 1;
    if (preg_match('/^[01]{1}$/', $dir)) {
    } else {
        $dir = 1;
    }
    $order_dir = $dir ? 'ASC' : 'DESC';
    $dir = $dir ? 0 : 1;
    //-------------------SQL Injection Prevention--------------------------------
    // for multipage support
    $all_record = $sqlw->result($sqlw->query('SELECT count(*) FROM instance_template'), 0);
    // main data that we need for this page, instances
    $result = $sqlw->query('
		SELECT map, levelMin, levelMax
		FROM instance_template
		ORDER BY ' . $order_by . ' ' . $order_dir . ' LIMIT ' . $start . ', ' . $itemperpage . ';');
    //---------------Page Specific Data Starts Here--------------------------
    $output .= '
<center>
<table class="top_hidden">
	<tr>
		<td width="25%" align="right">';
    // multi page links
    $output .= $lang_instances['total'] . ' : ' . $all_record . '<br /><br />' . generate_pagination('instances.php?order_by=' . $order_by . '&amp;dir=' . ($dir ? 0 : 1), $all_record, $itemperpage, $start);
    // column headers, with links for sorting
    $output .= '
		</td>
	</tr>
</table>
<table class="lined">
	<tr>
		<th width="20%"><a href="instances.php?order_by=map&amp;start=' . $start . '&amp;dir=' . $dir . '"' . ($order_by === 'map' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_instances['map'] . '</a></th>
		<th width="5%"><a href="instances.php?order_by=levelMin&amp;start=' . $start . '&amp;dir=' . $dir . '"' . ($order_by === 'levelMin' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_instances['level_min'] . '</a></th>
		<th width="5%"><a href="instances.php?order_by=levelMax&amp;start=' . $start . '&amp;dir=' . $dir . '"' . ($order_by === 'levelMax' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_instances['level_max'] . '</a></th>
		<th width="20%">' . $lang_instances['area'] . '</th>
		<th width="10%">' . $lang_instances['type'] . '</th>
		<th width="5%">' . $lang_instances['expansion'] . '</th>
		<th width="5%">' . $lang_instances['ppl'] . '</th>
	</tr>';
    $sqlm = new SQL();
    $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
    while ($instances = $sqlw->fetch_assoc($result)) {
        $output .= '
	<tr valign="top">
		<td>' . get_map_name($instances['map'], $sqlm) . '</td>
		<td>' . char_get_level_color($instances['levelMin']) . '</td>
		<td>' . char_get_level_color($instances['levelMax']) . '</td>
		<td>' . get_map_zone($instances['map'], $sqlm) . '</td>
		<td>' . get_map_type($instances['map'], $sqlm) . '</td>
		<td>' . get_map_exp($instances['map'], $sqlm) . '</td>
		<td>' . get_map_ppl($instances['map'], $sqlm) . '</td>
	</tr>';
    }
    unset($reset);
    unset($hours);
    unset($days);
    unset($instances);
    unset($result);
    $output .= '
</table>
<table class="top_hidden">
	<tr>
		<td width="25%" align="right">';
    // multi page links
    $output .= $lang_instances['total'] . ' : ' . $all_record . '<br /><br />' . generate_pagination('instances.php?order_by=' . $order_by . '&amp;dir=' . ($dir ? 0 : 1), $all_record, $itemperpage, $start);
    unset($start);
    $output .= '
		</td>
	</tr>
</table>
</center>';
}
コード例 #11
0
ファイル: banned.php プロジェクト: BACKUPLIB/minimanager
function do_add_entry()
{
    global $realm_db, $user_name, $output, $action_permission, $user_lvl;
    valid_login($action_permission['insert']);
    if (empty($_GET['ban_type']) || empty($_GET['entry']) || empty($_GET['bantime'])) {
        redirect("banned.php?error=1&action=add_entry");
    }
    $sqlr = new SQL();
    $sqlr->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
    $ban_type = $sqlr->quote_smart($_GET['ban_type']);
    $entry = $sqlr->quote_smart($_GET['entry']);
    if ($ban_type == "account_banned") {
        $result1 = $sqlr->query("SELECT id FROM account WHERE username ='******'");
        if (!$sqlr->num_rows($result1)) {
            redirect("banned.php?error=4&action=add_entry");
        } else {
            $entry = $sqlr->result($result1, 0, 'id');
        }
    }
    $bantime = time() + 3600 * $sqlr->quote_smart($_GET['bantime']);
    $banreason = isset($_GET['banreason']) && $_GET['banreason'] != '' ? $sqlr->quote_smart($_GET['banreason']) : "none";
    if ($ban_type === "account_banned") {
        $result = $sqlr->query("SELECT count(*) FROM account_banned WHERE id = '{$entry}'");
        if (!$sqlr->result($result, 0)) {
            $sqlr->query("INSERT INTO account_banned (id, bandate, unbandate, bannedby, banreason, active)\r\n                            VALUES ('{$entry}'," . time() . ",{$bantime},'{$user_name}','{$banreason}', 1)");
        }
    } else {
        $sqlr->query("INSERT INTO ip_banned (ip, bandate, unbandate, bannedby, banreason)\r\n                        VALUES ('{$entry}'," . time() . ",{$bantime},'{$user_name}','{$banreason}')");
    }
    if ($sqlr->affected_rows()) {
        redirect("banned.php?error=3&ban_type={$ban_type}");
    } else {
        redirect("banned.php?error=2&ban_type={$ban_type}");
    }
}
コード例 #12
0
function doupdate_referral($referredby, $user_id)
{
    global $realm_db, $mmfpm_db;
    $sqlr = new SQL();
    $sqlr->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
    $sqlm = new SQL();
    $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
    if (NULL == $sqlm->result($sqlm->query('
		SELECT InviterAccount 
		FROM mm_point_system_invites 
		WHERE PlayersAccount = \'' . $user_id . '\''), 'InviterAccount')) {
        $referred_by = $sqlr->result($sqlr->query('
			SELECT id 
			FROM account 
			WHERE username = \'' . $referredby . '\''), 'id');
        if ($referred_by == NULL) {
        } else {
            if ($referred_by == $user_id) {
            } else {
                $sqlm->query('
					INSERT INTO mm_point_system_invites
						(PlayersAccount, InviterAccount) 
					VALUES
						(\'' . $user_id . '\', \'' . $referred_by . '\')');
                return true;
            }
        }
    }
    return false;
}
コード例 #13
0
ファイル: spell_lib.php プロジェクト: BACKUPLIB/minimanager-1
function spell_get_icon($auraid, &$sqlm = 0)
{
    global $mmfpm_db, $proxy_cfg, $get_icons_from_web, $item_icons;
    // not all functions that call this function will pass reference to existing SQL links
    // so we need to check and overload when needed
    if (empty($sqlm)) {
        $sqlm = new SQL();
        $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
    }
    $result = $sqlm->query('
		SELECT field_133
		FROM dbc_spell WHERE id = ' . $auraid . '
		LIMIT 1');
    if ($result) {
        $displayid = $sqlm->result($result, 0);
    } else {
        $displayid = 0;
    }
    if ($displayid) {
        $result = $sqlm->query('
			SELECT name
			FROM dbc_spellicon
			WHERE id = ' . $displayid . ' LIMIT 1');
        if ($result) {
            $aura_uppercase = $sqlm->result($result, 0);
            $aura = strtolower($aura_uppercase);
            if ($aura) {
                if (file_exists('' . $item_icons . '/' . $aura . '.jpg')) {
                    if (filesize('' . $item_icons . '/' . $aura . '.jpg') > 349) {
                        return '' . $item_icons . '/' . $aura . '.jpg';
                    } else {
                        $sqlm->query('
							DELETE FROM dbc_spellicon
							WHERE id = ' . $displayid . '');
                        if (file_exists('' . $item_icons . '/' . $aura . '.jpg')) {
                            unlink('' . $item_icons . '/' . $aura . '.jpg');
                        }
                        $aura = '';
                    }
                } else {
                    $aura = '';
                }
            } else {
                $aura = '';
            }
        } else {
            $aura = '';
        }
    } else {
        $aura = '';
    }
    if ($get_icons_from_web) {
        $xmlfilepath = 'http://www.wowhead.com/spell=';
        $proxy = $proxy_cfg['addr'];
        $port = $proxy_cfg['port'];
        if (empty($proxy_cfg['addr'])) {
            $proxy = 'www.wowhead.com';
            $xmlfilepath = 'spell=';
            $port = 80;
        }
        if ($aura == '') {
            //get the icon name
            $fp = @fsockopen($proxy, $port, $errno, $errstr, 0.5);
            if (!$fp) {
                return 'img/INV/INV_blank_32.gif';
            }
            $out = "GET /{$xmlfilepath}{$auraid} HTTP/1.0\r\nHost: www.wowhead.com\r\n";
            if (!empty($proxy_cfg['user'])) {
                $out .= "Proxy-Authorization: Basic " . base64_encode("{$proxy_cfg['user']}:{$proxy_cfg['pass']}") . "\r\n";
            }
            $out .= "Connection: Close\r\n\r\n";
            $temp = '';
            fwrite($fp, $out);
            while ($fp && !feof($fp)) {
                $temp .= fgets($fp, 4096);
            }
            fclose($fp);
            $wowhead_string = $temp;
            $temp_string1 = strstr($wowhead_string, 'Icon.create(');
            $temp_string2 = substr($temp_string1, 12, 50);
            $temp_string3 = strtok($temp_string2, ',');
            $temp_string4 = substr($temp_string3, 1, strlen($temp_string3) - 2);
            $aura_icon_name = $temp_string4;
            $aura_uppercase = $aura_icon_name;
            $aura = strtolower($aura_uppercase);
        }
        if (file_exists('' . $item_icons . '/' . $aura . '.jpg')) {
            if (filesize('' . $item_icons . '/' . $aura . '.jpg') > 349) {
                $sqlm->query('
					REPLACE INTO dbc_spellicon
						(id, name)
					VALUES
						(\'' . $displayid . '\', \'' . $aura . '\')');
                return '' . $item_icons . '/' . $aura . '.jpg';
            } else {
                $sqlm->query('
					DELETE FROM dbc_spellicon
					WHERE id = ' . $displayid . '');
                if (file_exists('' . $item_icons . '/' . $aura . '.jpg')) {
                    unlink('' . $item_icons . '/' . $aura . '.jpg');
                }
            }
        }
        //get the icon itself
        if (empty($proxy_cfg['addr'])) {
            $proxy = 'static.wowhead.com';
            $port = 80;
        }
        $fp = @fsockopen($proxy, $port, $errno, $errstr, 0.5);
        if (!$fp) {
            return 'img/INV/INV_blank_32.gif';
        }
        $iconfilename = strtolower($aura);
        $file = 'http://static.wowhead.com/images/wow/icons/medium/' . $iconfilename . '.jpg';
        $out = "GET {$file} HTTP/1.0\r\nHost: static.wowhead.com\r\n";
        if (!empty($proxy_cfg['user'])) {
            $out .= "Proxy-Authorization: Basic " . base64_encode("{$proxy_cfg['user']}:{$proxy_cfg['pass']}") . "\r\n";
        }
        $out .= "Connection: Close\r\n\r\n";
        fwrite($fp, $out);
        //remove header
        while ($fp && !feof($fp)) {
            $headerbuffer = fgets($fp, 4096);
            if (urlencode($headerbuffer) == '%0D%0A') {
                break;
            }
        }
        if (file_exists('' . $item_icons . '/' . $aura . '.jpg')) {
            if (filesize('' . $item_icons . '/' . $aura . '.jpg') > 349) {
                $sqlm->query('
					REPLACE INTO dbc_spellicon
						(id, name)
					VALUES
						(\'' . $displayid . '\', \'' . $aura . '\')');
                return '' . $item_icons . '/' . $aura . '.jpg';
            } else {
                $sqlm->query('
					DELETE FROM dbc_spellicon
					WHERE id = ' . $displayid . '');
                if (file_exists('' . $item_icons . '/' . $aura . '.jpg')) {
                    unlink('' . $item_icons . '/' . $aura . '.jpg');
                }
            }
        }
        $img_file = fopen('' . $item_icons . '/' . $aura . '.jpg', 'wb');
        while (!feof($fp)) {
            fwrite($img_file, fgets($fp, 4096));
        }
        fclose($fp);
        fclose($img_file);
        if (file_exists('' . $item_icons . '/' . $aura . '.jpg')) {
            if (filesize('' . $item_icons . '/' . $aura . '.jpg') > 349) {
                $sqlm->query('
					REPLACE INTO dbc_spellicon
						(id, name)
					VALUES
						(\'' . $displayid . '\', \'' . $aura . '\')');
                return '' . $item_icons . '/' . $aura . '.jpg';
            } else {
                $sqlm->query('
					DELETE FROM dbc_spellicon
					WHERE id = ' . $displayid . '');
                if (file_exists('' . $item_icons . '/' . $aura . '.jpg')) {
                    unlink('' . $item_icons . '/' . $aura . '.jpg');
                }
            }
        } else {
            return 'img/INV/INV_blank_32.gif';
        }
    } else {
        return 'img/INV/INV_blank_32.gif';
    }
}
コード例 #14
0
ファイル: user.php プロジェクト: scamp/minimanager
function doedit_user()
{
    global $lang_global, $realm_db, $mmfpm_db, $user_lvl, $user_name, $action_permission;
    valid_login($action_permission['update']);
    if ((!isset($_POST['pass']) || $_POST['pass'] === '') && (!isset($_POST['mail']) || $_POST['mail'] === '') && (!isset($_POST['expansion']) || $_POST['expansion'] === '') && (!isset($_POST['referredby']) || $_POST['referredby'] === '')) {
        redirect("user.php?action=edit_user&&id={$_POST['id']}&error=1");
    }
    $sqlr = new SQL();
    $sqlr->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
    $id = $sqlr->quote_smart($_POST['id']);
    $username = $sqlr->quote_smart($_POST['username']);
    $banreason = $sqlr->quote_smart($_POST['banreason']);
    $pass = $sqlr->quote_smart($_POST['pass']);
    $user_pass_change = $pass != sha1(strtoupper($username) . ":******") ? "username='******',sha_pass_hash='{$pass}'," : "";
    $mail = isset($_POST['mail']) && $_POST['mail'] != '' ? $sqlr->quote_smart($_POST['mail']) : "";
    $failed = isset($_POST['failed']) ? $sqlr->quote_smart($_POST['failed']) : 0;
    $gmlevel = isset($_POST['gmlevel']) ? $sqlr->quote_smart($_POST['gmlevel']) : 0;
    $expansion = isset($_POST['expansion']) ? $sqlr->quote_smart($_POST['expansion']) : 1;
    $banned = isset($_POST['banned']) ? $sqlr->quote_smart($_POST['banned']) : 0;
    $locked = isset($_POST['locked']) ? $sqlr->quote_smart($_POST['locked']) : 0;
    $referredby = $sqlr->quote_smart(trim($_POST['referredby']));
    //make sure username/pass at least 4 chars long and less than max
    if (strlen($username) < 4 || strlen($username) > 15) {
        redirect("user.php?action=edit_user&id={$id}&error=8");
    }
    if ($gmlevel >= $user_lvl) {
        redirect("user.php?action=edit_user&&id={$_POST['id']}&error=16");
    }
    require_once "libs/valid_lib.php";
    if (!valid_alphabetic($username)) {
        redirect("user.php?action=edit_user&error=9&id={$id}");
    }
    //restricting accsess to lower gmlvl
    $result = $sqlr->query("SELECT gmlevel,username FROM account WHERE id = '{$id}'");
    if ($user_lvl <= $sqlr->result($result, 0, 'gmlevel') && $user_name != $sqlr->result($result, 0, 'username')) {
        redirect("user.php?error=14");
    }
    if (!$banned) {
        $sqlr->query("DELETE FROM account_banned WHERE id='{$id}'");
    } else {
        $result = $sqlr->query("SELECT count(*) FROM account_banned WHERE id = '{$id}'");
        if (!$sqlr->result($result, 0)) {
            $sqlr->query("INSERT INTO account_banned (id, bandate, unbandate, bannedby, banreason, active)\r\n                 VALUES ({$id}, " . time() . "," . (time() + 365 * 24 * 3600) . ",'{$user_name}','{$banreason}', 1)");
        }
    }
    $sqlr->query("UPDATE account SET email='{$mail}', {$user_pass_change} v=0,s=0,failed_logins='{$failed}',locked='{$locked}',expansion='{$expansion}' WHERE id='{$id}'");
    $sqlr->query("UPDATE account SET gmlevel='{$gmlevel}' WHERE id='{$id}'");
    if (doupdate_referral($referredby, $id) || $sqlr->affected_rows()) {
        redirect("user.php?action=edit_user&error=13&id={$id}");
    } else {
        redirect("user.php?action=edit_user&error=12&id={$id}");
    }
}
コード例 #15
0
ファイル: guild.php プロジェクト: brunogcar/minimanager
function del_guild()
{
    global $lang_guild, $lang_global, $output, $characters_db, $realm_id, $realm_db, $action_permission, $user_lvl, $user_id;
    $sqlr = new SQL();
    $sqlr->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
    if (empty($_GET['realm'])) {
        $realmid = $realm_id;
    } else {
        $realmid = $sqlr->quote_smart($_GET['realm']);
        if (!is_numeric($realmid)) {
            $realmid = $realm_id;
        }
    }
    if (isset($_GET['id'])) {
        $id = $_GET['id'];
    } else {
        redirect("guild.php?error=1&amp;realm={$realmid}");
    }
    if (is_numeric($id)) {
    } else {
        redirect("guild.php?error=5&amp;realm={$realmid}");
    }
    $sqlc = new SQL();
    $sqlc->connect($characters_db[$realmid]['addr'], $characters_db[$realmid]['user'], $characters_db[$realmid]['pass'], $characters_db[$realmid]['name']);
    $q_amIguildleader = $sqlc->query("select 1 from guild where guildid = '{$id}' and leaderguid in (select guid from characters where account = '{$user_id}')");
    $amIguildleader = $sqlc->result($q_amIguildleader, 0, '1');
    if ($user_lvl < $action_permission['delete'] && !$amIguildleader) {
        redirect("guild.php?error=6&amp;realm={$realmid}");
    }
    $output .= "\r\n        <center>\r\n          <h1><font class=\"error\">{$lang_global['are_you_sure']}</font></h1>\r\n          <br />\r\n          <font class=\"bold\">{$lang_guild['guild_id']}: {$id} {$lang_global['will_be_erased']}</font>\r\n          <br /><br />\r\n          <form action=\"cleanup.php?action=docleanup\" method=\"post\" name=\"form\">\r\n            <input type=\"hidden\" name=\"type\" value=\"guild\" />\r\n            <input type=\"hidden\" name=\"check\" value=\"-{$id}\" />\r\n            <input type=\"hidden\" name=\"override\" value=\"1\" />\r\n            <table class=\"hidden\">\r\n              <tr>\r\n                <td>";
    makebutton($lang_global['yes'], "javascript:do_submit()\" type=\"wrn", 130);
    $output .= "\r\n                </td>\r\n                <td>";
    makebutton($lang_global['no'], "guild.php?action=view_guild&amp;realm={$realmid}&amp;id={$id}\" type=\"def", 130);
    $output .= '
                </td>
              </tr>
            </table>
          </form>
        </center>
        <br />';
}
コード例 #16
0
ファイル: index.php プロジェクト: BACKUPLIB/minimanager
function front(&$sqlr, &$sqlc, &$sqlm)
{
    global $output, $lang_global, $lang_index, $realm_id, $world_db, $mmfpm_db, $server, $action_permission, $user_lvl, $user_id, $showcountryflag, $motd_display_poster, $gm_online_count, $gm_online, $itemperpage;
    $output .= '
                <div class="top">';
    if (test_port($server[$realm_id]['addr'], $server[$realm_id]['game_port'])) {
        $stats = $sqlr->fetch_assoc($sqlr->query('SELECT starttime, maxplayers FROM uptime WHERE realmid = ' . $realm_id . ' ORDER BY starttime DESC LIMIT 1'), 0);
        $uptimetime = time() - $stats['starttime'];
        function format_uptime($seconds)
        {
            $secs = intval($seconds % 60);
            $mins = intval($seconds / 60 % 60);
            $hours = intval($seconds / 3600 % 24);
            $days = intval($seconds / 86400);
            $uptimeString = '';
            if ($days) {
                $uptimeString .= $days;
                $uptimeString .= 1 === $days ? ' day' : ' days';
            }
            if ($hours) {
                $uptimeString .= (0 < $days ? ', ' : '') . $hours;
                $uptimeString .= 1 === $hours ? ' hour' : ' hours';
            }
            if ($mins) {
                $uptimeString .= (0 < $days || 0 < $hours ? ', ' : '') . $mins;
                $uptimeString .= 1 === $mins ? ' minute' : ' minutes';
            }
            if ($secs) {
                $uptimeString .= (0 < $days || 0 < $hours || 0 < $mins ? ', ' : '') . $secs;
                $uptimeString .= 1 === $secs ? ' second' : ' seconds';
            }
            return $uptimeString;
        }
        $staticUptime = $lang_index['realm'] . ' <em>' . htmlentities(get_realm_name($realm_id)) . '</em> ' . $lang_index['online'] . ' for ' . format_uptime($uptimetime);
        unset($uptimetime);
        $output .= '
                    <div id="uptime">
                        <h1>
                            <font color="#55aa55">' . $staticUptime . '<br />' . $lang_index['maxplayers'] . ': ' . $stats['maxplayers'] . '</font>
                        </h1>
                    </div>';
        unset($staticUptime);
        unset($stats);
        $online = true;
    } else {
        $output .= '
                    <h1>
                        <font class="error">' . $lang_index['realm'] . ' <em>' . htmlentities(get_realm_name($realm_id)) . '</em> ' . $lang_index['offline_or_let_high'] . '</font>
                    </h1>';
        $online = false;
    }
    $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']);
    //  This retrieves the actual database version from the database itself, instead of hardcoding it into a string
    $version = $sqlw->fetch_assoc($sqlw->query('SELECT core_revision, db_version FROM version'), 0);
    $output .= '
                    ' . $lang_index['trinity_rev'] . ' ' . $version['core_revision'] . ' ' . $lang_index['using_db'] . ' ' . $version['db_version'] . '
                </div>';
    unset($version);
    //MOTD part
    $start_m = isset($_GET['start_m']) ? $sqlc->quote_smart($_GET['start_m']) : 0;
    if (is_numeric($start_m)) {
    } else {
        $start_m = 0;
    }
    $sqlm = new SQL();
    $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
    $all_record_m = $sqlm->result($sqlm->query('SELECT count(*) FROM mm_motd'), 0);
    if ($user_lvl >= $action_permission['delete']) {
        $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>';
    }
    $output .= '
                <center>
                    <table class="lined">
                        <tr>
                            <th align="right">';
    if ($user_lvl >= $action_permission['insert']) {
        $output .= '
                                <a href="motd.php?action=add_motd">' . $lang_index['add_motd'] . '</a>';
    }
    $output .= '
                            </th>
                        </tr>';
    if ($all_record_m) {
        $result = $sqlm->query('SELECT id, realmid, type, content FROM mm_motd WHERE realmid = ' . $realm_id . ' ORDER BY id DESC LIMIT ' . $start_m . ', 3');
        while ($post = $sqlm->fetch_assoc($result)) {
            $output .= '
                        <tr>
                            <td align="left" class="large">
                                <blockquote>' . bbcode_bbc2html($post['content']) . '</blockquote>
                            </td>
                        </tr>
                        <tr>
                            <td align="right">';
            $motd_display_poster ? $output .= $post['type'] : '';
            if ($user_lvl >= $action_permission['delete']) {
                $output .= '
                                <img src="img/cross.png" width="12" height="12" onclick="answerBox(\'' . $lang_global['delete'] . ': &lt;font color=white&gt;' . $post['id'] . '&lt;/font&gt;&lt;br /&gt;' . $lang_global['are_you_sure'] . '\', del_motd + ' . $post['id'] . ');" style="cursor:pointer;" alt="" />';
            }
            if ($user_lvl >= $action_permission['update']) {
                $output .= '
                                <a href="motd.php?action=edit_motd&amp;error=3&amp;id=' . $post['id'] . '">
                                    <img src="img/edit.png" width="14" height="14" alt="" />
                                </a>';
            }
            $output .= '
                            </td>
                        </tr>
                        <tr>
                            <td class="hidden"></td>
                        </tr>';
        }
        if ($online) {
            $output .= '%%REPLACE_TAG%%';
        } else {
            $output .= '
                        <tr>
                            <td align="right" class="hidden">' . generate_pagination('index.php?start=0', $all_record_m, 3, $start_m, 'start_m') . '</td>
                        </tr>';
        }
    }
    $output .= '
                    </table>';
    //print online chars
    if ($online) {
        //==========================$_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']) : 'level';
        if (preg_match('/^[_[:lower:]]{1,12}$/', $order_by)) {
        } else {
            $order_by = 'level';
        }
        $dir = isset($_GET['dir']) ? $sqlc->quote_smart($_GET['dir']) : 1;
        if (preg_match('/^[01]{1}$/', $dir)) {
        } else {
            $dir = 1;
        }
        $order_dir = $dir ? 'DESC' : 'ASC';
        $dir = $dir ? 0 : 1;
        //==========================$_GET and SECURE end=============================
        if ($order_by === 'map') {
            $order_by = 'map ' . $order_dir . ', zone';
        } elseif ($order_by === 'zone') {
            $order_by = 'zone ' . $order_dir . ', map';
        }
        $order_side = '';
        if ($user_lvl || $server[$realm_id]['both_factions']) {
        } else {
            $result = $sqlc->query('SELECT race FROM characters WHERE account = ' . $user_id . '
                                    AND totaltime = (SELECT MAX(totaltime) FROM characters WHERE account = ' . $user_id . ') LIMIT 1');
            if ($sqlc->num_rows($result)) {
                $order_side = in_array($sqlc->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 ($order_by == 'ip') {
            $result = $sqlr->query('SELECT id, last_ip FROM account WHERE online = 1 ORDER BY last_ip ' . $order_dir . ' LIMIT ' . $start . ', ' . $itemperpage . '');
        } else {
            $result = $sqlc->query('SELECT characters.guid,  characters.name,  characters.race,  characters.class,  characters.zone,  characters.map,  characters.level,  characters.account,  characters.gender,  characters.totalHonorPoints, COALESCE(guild_member.guildid,0) AS guildid FROM characters LEFT JOIN guild_member ON guild_member.guid = characters.guid WHERE characters.online = 1 ' . ($gm_online == '0' ? 'AND characters.extra_flags &1 = 0 ' : '') . $order_side . ' ORDER BY ' . $order_by . ' ' . $order_dir . ' LIMIT ' . $start . ', ' . $itemperpage);
        }
        $total_online = $sqlc->result($sqlc->query('SELECT count(*) FROM characters WHERE online= 1' . ($gm_online_count == '0' ? ' AND extra_flags &1 = 0' : '')), 0);
        $replace = '
              <tr>
                <td align="right" class="hidden">' . generate_pagination('index.php?start=' . $start . '&amp;order_by=' . $order_by . '&amp;dir=' . ($dir ? 0 : 1) . '', $all_record_m, 3, $start_m, 'start_m') . '</td>
              </tr>';
        unset($all_record_m);
        $output = str_replace('%%REPLACE_TAG%%', $replace, $output);
        unset($replace);
        $output .= '
                    <font class="bold">' . $lang_index['tot_users_online'] . ': ' . $total_online . '</font>
                    <table class="lined">
                        <tr>
                            <td colspan="' . (10 - $showcountryflag) . '" align="right" class="hidden" 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>
                        <tr>
                            <th 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 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 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 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 width="1%"><a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=totalHonorPoints&amp;dir=' . $dir . '"' . ($order_by === 'totalHonorPoints' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_index['rank'] . '</a></th>
                            <th width="15%"><a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=guildid&amp;dir=' . $dir . '"' . ($order_by === 'guildid' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_index['guild'] . '</a></th>
                            <th width="20%"><a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=map&amp;dir=' . $dir . '"' . ($order_by === 'map ' . $order_dir . ', zone' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_index['map'] . '</a></th>
                            <th width="25%"><a href="index.php?start=' . $start . '&amp;start_m=' . $start_m . '&amp;order_by=zone&amp;dir=' . $dir . '"' . ($order_by === 'zone ' . $order_dir . ', map' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_index['zone'] . '</a></th>';
        if ($showcountryflag) {
            require_once 'libs/misc_lib.php';
            $output .= '
                            <th width="1%">' . $lang_global['country'] . '</th>';
        }
        $output .= '
                        </tr>';
        $sqlm = new SQL();
        $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
        while ($char = $sqlc->fetch_assoc($result)) {
            if ($order_by == 'ip') {
                $temp = $sqlc->fetch_assoc($sqlc->query('SELECT characters.guid,  characters.name,  characters.race,  characters.class,  characters.zone,  characters.map,  characters.level,  characters.account,  characters.gender,  characters.totalHonorPoints, COALESCE(guild_member.guildid,0) AS guildid FROM characters LEFT JOIN guild_member ON guild_member.guid = characters.guid WHERE characters.online= 1 ' . ($gm_online == '0' ? 'AND characters.extra_flags &1 = 0 ' : '') . $order_side . ' and account = ' . $char['id']));
                if (isset($temp['guid'])) {
                    $char = $temp;
                } else {
                    continue;
                }
            }
            $gm = $sqlr->result($sqlr->query('SELECT gmlevel FROM account_access WHERE id=' . $char['account'] . ''), 0);
            $guild_name = $sqlc->result($sqlc->query('SELECT name FROM guild WHERE guildid=' . $char['guildid'] . ''));
            $output .= '
                        <tr>
                            <td>';
            if ($user_lvl >= $gm) {
                $output .= '
                                <a href="char.php?id=' . $char['guid'] . '">
                                    <span onmousemove="toolTip(\'' . id_get_gm_level($gm) . '\', \'item_tooltip\')" onmouseout="toolTip()">' . htmlentities($char['name']) . '</span>
                                </a>';
            } else {
                $output .= '
                                <span onmousemove="toolTip(\'' . id_get_gm_level($gm) . '\', \'item_tooltip\')" onmouseout="toolTip()">' . htmlentities($char['name']) . '</span>';
            }
            $output .= '
                            </td>
                            <td>
                                <img src="img/c_icons/' . $char['race'] . '-' . $char['gender'] . '.gif" onmousemove="toolTip(\'' . char_get_race_name($char['race']) . '\', \'item_tooltip\')" onmouseout="toolTip()" alt="" />
                            </td>
                            <td>
                                <img src="img/c_icons/' . $char['class'] . '.gif" onmousemove="toolTip(\'' . char_get_class_name($char['class']) . '\', \'item_tooltip\')" onmouseout="toolTip()" alt="" />
                            </td>
                            <td>' . char_get_level_color($char['level']) . '</td>
                            <td>
                                <span onmouseover="toolTip(\'' . char_get_pvp_rank_name($char['totalHonorPoints'], char_get_side_id($char['race'])) . '\', \'item_tooltip\')" onmouseout="toolTip()" style="color: white;"><img src="img/ranks/rank' . char_get_pvp_rank_id($char['totalHonorPoints'], char_get_side_id($char['race'])) . '.gif" alt="" /></span>
                            </td>
                            <td>
                                <a href="guild.php?action=view_guild&amp;error=3&amp;id=' . $char['guildid'] . '">' . htmlentities($guild_name) . '</a>
                            </td>
                            <td><span onmousemove="toolTip(\'MapID:' . $char['map'] . '\', \'item_tooltip\')" onmouseout="toolTip()">' . get_map_name($char['map'], $sqlm) . '</span></td>
                            <td><span onmousemove="toolTip(\'ZoneID:' . $char['zone'] . '\', \'item_tooltip\')" onmouseout="toolTip()">' . get_zone_name($char['zone'], $sqlm) . '</span></td>';
            if ($showcountryflag) {
                $country = misc_get_country_by_account($char['account'], $sqlr, $sqlm);
                $output .= '
                            <td>' . ($country['code'] ? '<img src="img/flags/' . $country['code'] . '.png" onmousemove="toolTip(\'' . $country['country'] . '\',\'item_tooltip\')" onmouseout="toolTip()" alt="" />' : '-') . '</td>';
            }
            $output .= '
                        </tr>';
        }
        $output .= '
                        <tr>';
        $output .= '
                            <td colspan="' . (10 - $showcountryflag) . '" align="right" class="hidden" 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);
        unset($total_online);
        $output .= '
                            </td>
                        </tr>
                    </table>
                    <br />
                </center>';
    }
}
コード例 #17
0
ファイル: sql_lib.php プロジェクト: BACKUPLIB/minimanager-1
function sql_table_dump($dbhost, $dbuser, $dbpass, $database, $table, $construct, $file)
{
    global $lang_global;
    $sql_0 = new SQL();
    $sql_0->connect($dbhost, $dbuser, $dbpass, $database, true);
    $fp = fopen($file, 'r+') or die(error($lang_backup['file_write_err']));
    fseek($fp, 0, SEEK_END);
    fwrite($fp, "--\n") or die(error($lang_backup['file_write_err']));
    fwrite($fp, "-- Dump of {$database}.{$table}\n") or die(error($lang_backup['file_write_err']));
    fwrite($fp, "-- Dump DATE : " . date("m.d.y H:i:s") . "\n--\n\n") or die(error($lang_backup['file_write_err']));
    if ($construct) {
        fwrite($fp, "-- Table structure for table {$database}.{$table}\n") or die(error($lang_backup['file_write_err']));
        if (!($fi = $sql_0->query("DESC " . $table))) {
            error($sql_0->error());
        }
        fwrite($fp, "DROP TABLE IF EXISTS {$table};\n") or die(error($lang_backup['file_write_err']));
        $pri = "";
        $creatinfo = array();
        while ($tmp = $sql_0->fetch_row($fi)) {
            $con = "`" . $tmp[0] . "` ";
            $con .= trim($tmp[1] . " ");
            if ($tmp[2] != "YES") {
                $con .= " NOT NULL";
            }
            if ($tmp[4]) {
                if ($tmp[4] == 'CURRENT_TIMESTAMP' || $tmp[4] == 'timestamp') {
                    $con .= " default " . $tmp[4];
                } else {
                    $con .= " default '" . $tmp[4] . "'";
                }
            } else {
                if ($tmp[4] === '' && $tmp[3] != "PRI") {
                    $con .= " default ''";
                } else {
                    if (strlen($tmp[4]) != 0) {
                        $con .= " default '0'";
                    }
                }
            }
            if (strtolower($tmp[5]) == "auto_increment") {
                $con .= " auto_increment";
            }
            $creatinfo[] = $con;
        }
        $fieldscon = implode(",\n\t", $creatinfo);
        fwrite($fp, "CREATE TABLE " . $table . " (") or die(error($lang_backup['file_write_err']));
        fwrite($fp, "\n\t{$fieldscon}") or die(error($lang_backup['file_write_err']));
        $qkey = $sql_0->query("SHOW INDEX FROM " . $table);
        if ($rkey = $sql_0->fetch_array($qkey)) {
            $knames = array();
            $keys = array();
            do {
                $keys[$rkey["Key_name"]]["nonunique"] = $rkey["Non_unique"];
                if (!$rkey["Sub_part"]) {
                    $keys[$rkey["Key_name"]]["order"][$rkey["Seq_in_index"] - 1] = $rkey["Column_name"];
                } else {
                    $keys[$rkey["Key_name"]]["order"][$rkey["Seq_in_index"] - 1] = $rkey["Column_name"] . "(" . $rkey["Sub_part"] . ")";
                }
                $flag = false;
                for ($l = 0; $l < sizeof($knames); $l++) {
                    if ($knames[$l] == $rkey["Key_name"]) {
                        $flag = true;
                    }
                }
                if (!$flag) {
                    $knames[] = $rkey["Key_name"];
                }
            } while ($rkey = $sql_0->fetch_array($qkey));
            for ($kl = 0; $kl < sizeof($knames); $kl++) {
                if ($knames[$kl] == "PRIMARY") {
                    fwrite($fp, ",\n\tPRIMARY KEY") or die(error($lang_backup['file_write_err']));
                } else {
                    if ($keys[$knames[$kl]]["nonunique"] == "0") {
                        fwrite($fp, ",\n\tUNIQUE `{$knames[$kl]}`") or die(error($lang_backup['file_write_err']));
                    } else {
                        fwrite($fp, ",\n\tKEY `{$knames[$kl]}`") or die(error($lang_backup['file_write_err']));
                    }
                }
                $a = @implode("`,`", $keys[$knames[$kl]]["order"]);
                fwrite($fp, " (`{$a}`)") or die(error($lang_backup['file_write_err']));
            }
        }
        $query_res = $sql_0->query("SHOW TABLE STATUS FROM {$database} WHERE Name = '{$table}'");
        $tmp = $sql_0->fetch_row($query_res);
        $query_charset = $sql_0->query("SHOW VARIABLES WHERE Variable_name = 'character_set_database'");
        $info = " ";
        if ($tmp[1]) {
            $info .= "ENGINE={$tmp['1']} ";
        }
        $info .= "DEFAULT CHARSET=" . $sql_0->result($query_charset, 0, 'Value') . " ";
        if ($tmp[16]) {
            $info .= strtoupper($tmp[16]) . " ";
        }
        if ($tmp[10]) {
            $info .= "AUTO_INCREMENT={$tmp['10']} ";
        }
        if ($tmp[17]) {
            $info .= "COMMENT='{$tmp['17']}'";
        }
        fwrite($fp, "\n){$info};\n\n") or die(error($lang_backup['file_write_err']));
    }
    $query = $sql_0->query("SELECT * FROM {$table}");
    $num_fields = $sql_0->num_fields($query);
    $numrow = $sql_0->num_rows($query);
    $row_counter = 0;
    if ($numrow) {
        fwrite($fp, "-- Dumping data for table {$database}.{$table}\n") or die(error($lang_backup['file_write_err']));
        fwrite($fp, "LOCK TABLES {$table} WRITE;\n") or die(error($lang_backup['file_write_err']));
        fwrite($fp, "DELETE FROM {$table};\n") or die(error($lang_backup['file_write_err']));
        fwrite($fp, "INSERT INTO {$table} (") or die(error($lang_backup['file_write_err']));
        for ($count = 0; $count < $num_fields; $count++) {
            fwrite($fp, "`" . $sql_0->field_name($query, $count) . "`") or die(error($lang_backup['file_write_err']));
            if ($count < $num_fields - 1) {
                fwrite($fp, ",") or die(error($lang_backup['file_write_err']));
            }
        }
        fwrite($fp, ") VALUES \n") or die(error($lang_backup['file_write_err']));
        for ($i = 0; $i < $numrow; $i++) {
            $row_counter++;
            fwrite($fp, "\t(") or die(error($lang_backup['file_write_err']));
            $row = $sql_0->fetch_row($query);
            for ($j = 0; $j < $num_fields; $j++) {
                $row[$j] = addslashes($row[$j]);
                $row[$j] = ereg_replace("\n", "\\n", $row[$j]);
                if (isset($row[$j])) {
                    if ($sql_0->field_type($query, $j) == "int") {
                        fwrite($fp, "{$row[$j]}") or die(error($lang_backup['file_write_err']));
                    } else {
                        fwrite($fp, "'{$row[$j]}'") or die(error($lang_backup['file_write_err']));
                    }
                } else {
                    fwrite($fp, "''") or die(error($lang_backup['file_write_err']));
                }
                if ($j < $num_fields - 1) {
                    fwrite($fp, ",") or die(error($lang_backup['file_write_err']));
                }
            }
            if ($row_counter >= 10) {
                fwrite($fp, ");\n") or die(error($lang_backup['file_write_err']));
                fwrite($fp, "INSERT INTO {$table} (") or die(error($lang_backup['file_write_err']));
                for ($count = 0; $count < $num_fields; $count++) {
                    fwrite($fp, "`" . $sql_0->field_name($query, $count) . "`") or die(error($lang_backup['file_write_err']));
                    if ($count < $num_fields - 1) {
                        fwrite($fp, ",") or die(error($lang_backup['file_write_err']));
                    }
                }
                fwrite($fp, ") VALUES \n") or die(error($lang_backup['file_write_err']));
                $row_counter = 0;
            } elseif ($i < $numrow - 1) {
                fwrite($fp, "),\n") or die(error($lang_backup['file_write_err']));
            }
        }
        fwrite($fp, ");\n") or die(error($lang_backup['file_write_err']));
        fwrite($fp, "UNLOCK TABLES;\n") or die(error($lang_backup['file_write_err']));
    } else {
        fwrite($fp, "-- EMPTY\n") or die(error($lang_backup['file_write_err']));
    }
    $sql_0->close();
    fwrite($fp, "\n") or die(error($lang_backup['file_write_err']));
    fclose($fp);
}
コード例 #18
0
ファイル: edit.php プロジェクト: BACKUPLIB/minimanager
function doupdate_referral($referredby, &$sqlr, &$sqlc)
{
    global $mmfpm_db, $user_id;
    $sqlm = new SQL();
    $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
    if (NULL == $sqlm->result($sqlm->query('SELECT InvitedBy FROM mm_point_system_invites WHERE PlayersAccount = \'' . $user_id . '\''), 0)) {
        $referred_by = $sqlc->result($sqlc->query('SELECT guid FROM characters WHERE name = \'' . $referredby . '\''), 0);
        if ($referred_by == NULL) {
        } else {
            $char = $sqlc->result($sqlc->query('SELECT account FROM characters WHERE guid = \'' . $referred_by . '\''), 0, 'account');
            $result = $sqlr->result($sqlr->query('SELECT id FROM account WHERE id = \'' . $char . '\''), 0, 'id');
            if ($result == $user_id) {
            } else {
                $sqlm->query('INSERT INTO mm_point_system_invites (PlayersAccount, InvitedBy, InviterAccount) VALUES (\'' . $user_id . '\', \'' . $referred_by . '\', \'' . $result . '\')');
                return true;
            }
        }
    }
    return false;
}
コード例 #19
0
ファイル: cleanup.php プロジェクト: GlassFace/CoreManager2
function run_cleanup()
{
    global $lang_cleanup, $lang_global, $output, $realm_db, $characters_db, $realm_id, $user_lvl;
    if (empty($_GET['cleanup_by']) || empty($_GET['cleanup_sign'])) {
        redirect("cleanup.php?error=1");
    }
    $sql = new SQL();
    $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
    $cleanup_by = $sql->quote_smart($_GET['cleanup_by']);
    $cleanup_sign = $sql->quote_smart($_GET['cleanup_sign']);
    $cleanup_value = $sql->quote_smart($_GET['cleanup_value']);
    switch ($cleanup_by) {
        // clean by lvl
        case "char_lvl":
            $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
            $result = $sql->query("SELECT guid FROM `characters` WHERE level {$cleanup_sign} {$cleanup_value}");
            $total_chars = $sql->num_rows($result);
            $output .= "<center>";
            if ($total_chars) {
                $output .= "<h1><font class=\"error\">{$lang_global['are_you_sure']}</font></h1><br />";
                $output .= "<form action=\"cleanup.php?action=docleanup\" method=\"post\" name=\"form\">\r\n        <input type=\"hidden\" name=\"type\" value=\"char\" />\r\n        <font class=\"bold\">{$lang_cleanup['chars_id']}: ";
                $pass_array = "";
                while ($char = $sql->fetch_row($result)) {
                    $output .= "<a href=\"char.php?id={$char['0']}\" target=\"_blank\">{$char['0']}, </a>";
                    $pass_array .= "-{$char['0']}";
                }
                $output .= "<input type=\"hidden\" name=\"check\" value=\"{$pass_array}\" />";
                $output .= "<br />{$lang_cleanup['tot_of']} {$total_chars} {$lang_global['will_be_erased']}</font><br /><br />";
                $output .= "<table class=\"hidden\">\r\n           <tr><td>";
                makebutton($lang_global['yes'], "javascript:do_submit()", 120);
                makebutton($lang_global['no'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n         </table>\r\n    </form>";
            } else {
                $output .= "<h1><font class=\"error\">{$lang_global['err_no_records_found']}</font></h1><br />";
                $output .= "<table class=\"hidden\">\r\n          <tr><td>";
                makebutton($lang_global['go_back'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n        </table>";
            }
            $output .= "</center><br />";
            break;
            //last loggin
        //last loggin
        case "last_login":
            $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
            $result = $sql->query("SELECT id FROM account WHERE last_login {$cleanup_sign} '{$cleanup_value}' AND gmlevel < {$user_lvl}");
            $total_accounts = $sql->num_rows($result);
            $output .= "<center>";
            if ($total_accounts) {
                $output .= "<h1><font class=\"error\">{$lang_global['are_you_sure']}</font></h1><br />";
                $output .= "<form action=\"cleanup.php?action=docleanup\" method=\"post\" name=\"form\">\r\n        <input type=\"hidden\" name=\"type\" value=\"acc\" />\r\n        <font class=\"bold\">{$lang_cleanup['acc_ids']}: ";
                $pass_array = "";
                while ($acc = $sql->fetch_row($result)) {
                    $output .= "<a href=\"user.php?action=edit_user&amp;id={$acc['0']}\" target=\"_blank\">{$acc['0']}, </a>";
                    $pass_array .= "-{$acc['0']}";
                }
                $output .= "<input type=\"hidden\" name=\"check\" value=\"{$pass_array}\" />";
                $output .= "<br />{$lang_cleanup['tot_of']} {$total_accounts} {$lang_global['will_be_erased']}</font><br /><br />";
                $output .= "<table class=\"hidden\">\r\n           <tr><td>";
                makebutton($lang_global['yes'], "javascript:do_submit()", 120);
                makebutton($lang_global['no'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n          </table>\r\n    </form>";
            } else {
                $output .= "<h1><font class=\"error\">{$lang_global['err_no_records_found']}</font></h1><br />";
                $output .= "<table class=\"hidden\">\r\n          <tr><td>";
                makebutton($lang_global['go_back'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n        </table>";
            }
            $output .= "</center><br />";
            break;
            //failed loggin attempts
        //failed loggin attempts
        case "failed_login":
            $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
            $result = $sql->query("SELECT id FROM account WHERE failed_logins {$cleanup_sign} {$cleanup_value} AND gmlevel < {$user_lvl}");
            $total_accounts = $sql->num_rows($result);
            $output .= "<center>";
            if ($total_accounts) {
                $output .= "<h1><font class=\"error\">{$lang_global['are_you_sure']}</font></h1><br />";
                $output .= "<form action=\"cleanup.php?action=docleanup\" method=\"post\" name=\"form\">\r\n        <input type=\"hidden\" name=\"type\" value=\"acc\" />\r\n        <font class=\"bold\">{$lang_cleanup['acc_ids']}: ";
                $pass_array = "";
                while ($acc = $sql->fetch_row($result)) {
                    $output .= "<a href=\"user.php?action=edit_user&amp;id={$acc['0']}\" target=\"_blank\">{$acc['0']}, </a>";
                    $pass_array .= "-{$acc['0']}";
                }
                $output .= "<input type=\"hidden\" name=\"check\" value=\"{$pass_array}\" />";
                $output .= "<br />{$lang_cleanup['tot_of']} {$total_accounts} {$lang_global['will_be_erased']}</font><br /><br />";
                $output .= "<table class=\"hidden\">\r\n           <tr><td>";
                makebutton($lang_global['yes'], "javascript:do_submit()", 120);
                makebutton($lang_global['no'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n          </table>\r\n      </form>";
            } else {
                $output .= "<h1><font class=\"error\">{$lang_global['err_no_records_found']}</font></h1><br />";
                $output .= "<table class=\"hidden\">\r\n          <tr><td>";
                makebutton($lang_global['go_back'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n        </table>";
            }
            $output .= "</center><br />";
            break;
            //clean banned accounts
        //clean banned accounts
        case "banned":
            $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
            $result = $sql->query("SELECT id FROM account_banned");
            $total_accounts = $sql->num_rows($result);
            $output .= "<center>";
            if ($total_accounts) {
                $output .= "<h1><font class=\"error\">{$lang_global['are_you_sure']}</font></h1><br />";
                $output .= "<form action=\"cleanup.php?action=docleanup\" method=\"post\" name=\"form\">\r\n        <input type=\"hidden\" name=\"type\" value=\"acc\" />\r\n        <font class=\"bold\">{$lang_cleanup['acc_ids']}: ";
                $pass_array = "";
                while ($acc = $sql->fetch_row($result)) {
                    $output .= "<a href=\"user.php?action=edit_user&amp;id={$acc['0']}\" target=\"_blank\">{$acc['0']}, </a>";
                    $pass_array .= "-{$acc['0']}";
                }
                $output .= "<input type=\"hidden\" name=\"check\" value=\"{$pass_array}\" />";
                $output .= "<br />{$lang_cleanup['tot_of']} {$total_accounts} {$lang_global['will_be_erased']}</font><br /><br />";
                $output .= " <table class=\"hidden\">\r\n           <tr><td>";
                makebutton($lang_global['yes'], "javascript:do_submit()", 120);
                makebutton($lang_global['no'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n          </table>\r\n      </form>";
            } else {
                $output .= "<h1><font class=\"error\">{$lang_global['err_no_records_found']}</font></h1><br />";
                $output .= "<table class=\"hidden\">\r\n          <tr><td>";
                makebutton($lang_global['go_back'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n        </table>";
            }
            $output .= "</center><br />";
            break;
            //clean chars with given total time played
        //clean chars with given total time played
        case "totaltime":
            $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
            $result = $sql->query("SELECT guid FROM `characters` WHERE totaltime {$cleanup_sign} {$cleanup_value}");
            $total_chars = $sql->num_rows($result);
            $output .= "<center>";
            if ($total_chars) {
                $output .= "<h1><font class=\"error\">{$lang_global['are_you_sure']}</font></h1><br />";
                $output .= "<form action=\"cleanup.php?action=docleanup\" method=\"post\" name=\"form\">\r\n        <input type=\"hidden\" name=\"type\" value=\"char\" />\r\n        <font class=\"bold\">{$lang_cleanup['chars_id']}: ";
                $pass_array = "";
                while ($char = $sql->fetch_row($result)) {
                    $output .= "<a href=\"char.php?id={$char['0']}\" target=\"_blank\">{$char['0']}, </a>";
                    $pass_array .= "-{$char['0']}";
                }
                $output .= "<input type=\"hidden\" name=\"check\" value=\"{$pass_array}\" />";
                $output .= "<br />{$lang_cleanup['tot_of']} {$total_chars} {$lang_global['will_be_erased']}</font><br /><br />";
                $output .= " <table class=\"hidden\">\r\n           <tr><td>";
                makebutton($lang_global['yes'], "javascript:do_submit()", 120);
                makebutton($lang_global['no'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n          </table>\r\n      </form>";
            } else {
                $output .= "<h1><font class=\"error\">{$lang_global['err_no_records_found']}</font></h1><br />";
                $output .= "<table class=\"hidden\">\r\n          <tr><td>";
                makebutton($lang_global['go_back'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n        </table>";
            }
            $output .= "</center><br />";
            break;
            //clean locked acc
        //clean locked acc
        case "locked":
            $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
            $result = $sql->query("SELECT id FROM account WHERE locked {$cleanup_sign} {$cleanup_value} AND gmlevel < {$user_lvl}");
            $total_accounts = $sql->num_rows($result);
            $output .= "<center>";
            if ($total_accounts) {
                $output .= "<h1><font class=\"error\">{$lang_global['are_you_sure']}</font></h1><br />";
                $output .= "<form action=\"cleanup.php?action=docleanup\" method=\"post\" name=\"form\">\r\n        <input type=\"hidden\" name=\"type\" value=\"acc\" />\r\n        <font class=\"bold\">{$lang_cleanup['acc_ids']}: ";
                $pass_array = "";
                while ($acc = $sql->fetch_row($result)) {
                    $output .= "<a href=\"user.php?action=edit_user&amp;id={$acc['0']}\" target=\"_blank\">{$acc['0']}, </a>";
                    $pass_array .= "-{$acc['0']}";
                }
                $output .= "<input type=\"hidden\" name=\"check\" value=\"{$pass_array}\" />";
                $output .= "<br />{$lang_cleanup['tot_of']} {$total_accounts} {$lang_global['will_be_erased']}</font><br /><br />";
                $output .= "<table class=\"hidden\">\r\n           <tr><td>";
                makebutton($lang_global['yes'], "javascript:do_submit()", 120);
                makebutton($lang_global['no'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n          </table>\r\n      </form>";
            } else {
                $output .= "<h1><font class=\"error\">{$lang_global['err_no_records_found']}</font></h1><br />";
                $output .= "<table class=\"hidden\">\r\n          <tr><td>";
                makebutton($lang_global['go_back'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n        </table>";
            }
            $output .= "</center><br />";
            break;
            //accounts without chars or specified number of chars
        //accounts without chars or specified number of chars
        case "num_of_char_in_acc":
            $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
            $result = $sql->query("SELECT id FROM account WHERE gmlevel < {$user_lvl}");
            $acc_output_array = array();
            while ($acc = $sql->fetch_row($result)) {
                $total_chars_in_acc = 0;
                foreach ($characters_db as $db) {
                    $sql->connect($db['addr'], $db['user'], $db['pass'], $db['name']);
                    $query = $sql->query("SELECT count(*) FROM `characters` WHERE account = '{$acc['0']}'");
                    $total_chars_in_acc = $total_chars_in_acc + $sql->result($query, 0);
                }
                switch ($cleanup_sign) {
                    case "=":
                        if ($total_chars_in_acc == $cleanup_value) {
                            array_push($acc_output_array, $acc[0]);
                        }
                        break;
                    case "<":
                        if ($total_chars_in_acc < $cleanup_value) {
                            array_push($acc_output_array, $acc[0]);
                        }
                        break;
                    case "<=":
                        if ($total_chars_in_acc <= $cleanup_value) {
                            array_push($acc_output_array, $acc[0]);
                        }
                        break;
                    case ">":
                        if ($total_chars_in_acc > $cleanup_value) {
                            array_push($acc_output_array, $acc[0]);
                        }
                        break;
                    case ">=":
                        if ($total_chars_in_acc >= $cleanup_value) {
                            array_push($acc_output_array, $acc[0]);
                        }
                        break;
                    case "!=":
                        if ($total_chars_in_acc != $cleanup_value) {
                            array_push($acc_output_array, $acc[0]);
                        }
                        break;
                    default:
                        redirect("cleanup.php?error=1");
                }
            }
            $output .= "<center>";
            if ($acc_output_array) {
                $output .= "<h1><font class=\"error\">{$lang_global['are_you_sure']}</font></h1><br />";
                $output .= "<form action=\"cleanup.php?action=docleanup\" method=\"post\" name=\"form\">\r\n        <input type=\"hidden\" name=\"type\" value=\"acc\" />\r\n        <font class=\"bold\">{$lang_cleanup['acc_ids']}: ";
                $pass_array = "";
                for ($i = 0; $i < count($acc_output_array); $i++) {
                    $output .= "<a href=\"user.php?action=edit_user&amp;id={$acc_output_array[$i]}\" target=\"_blank\">{$acc_output_array[$i]}, </a>";
                    $pass_array .= "-{$acc_output_array[$i]}";
                }
                $output .= "<input type=\"hidden\" name=\"check\" value=\"{$pass_array}\" />";
                $output .= "<br />{$lang_cleanup['tot_of']} " . count($acc_output_array) . " {$lang_global['will_be_erased']}</font><br /><br />";
                $output .= " <table class=\"hidden\">\r\n           <tr><td>";
                makebutton($lang_global['yes'], "javascript:do_submit()", 120);
                makebutton($lang_global['no'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n          </table>\r\n      </form>";
            } else {
                $output .= "<h1><font class=\"error\">{$lang_global['err_no_records_found']}</font></h1><br />";
                $output .= "<table class=\"hidden\">\r\n          <tr><td>";
                makebutton($lang_global['go_back'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n        </table>";
            }
            $output .= "</center><br />";
            break;
            //guild  without chars or specified number of chars
        //guild  without chars or specified number of chars
        case "num_of_char_in_guild":
            $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
            $result = $sql->query("SELECT guildid FROM guild");
            $guild_output_array = array();
            while ($guild = $sql->fetch_row($result)) {
                $query = $sql->query("SELECT count(*) FROM guild_member WHERE guildid = '{$guild['0']}'");
                $total_chars_in_guild = $sql->result($query, 0);
                switch ($cleanup_sign) {
                    case "=":
                        if ($total_chars_in_guild == $cleanup_value) {
                            array_push($guild_output_array, $guild[0]);
                        }
                        break;
                    case "<":
                        if ($total_chars_in_guild < $cleanup_value) {
                            array_push($guild_output_array, $guild[0]);
                        }
                        break;
                    case "<=":
                        if ($total_chars_in_guild <= $cleanup_value) {
                            array_push($guild_output_array, $guild[0]);
                        }
                        break;
                    case ">":
                        if ($total_chars_in_guild > $cleanup_value) {
                            array_push($guild_output_array, $guild[0]);
                        }
                        break;
                    case ">=":
                        if ($total_chars_in_guild >= $cleanup_value) {
                            array_push($guild_output_array, $guild[0]);
                        }
                        break;
                    case "!=":
                        if ($total_chars_in_guild != $cleanup_value) {
                            array_push($guild_output_array, $guild[0]);
                        }
                        break;
                    default:
                        redirect("cleanup.php?error=1");
                }
            }
            $output .= "<center>";
            if ($guild_output_array) {
                $output .= "<h1><font class=\"error\">{$lang_global['are_you_sure']}</font></h1><br />";
                $output .= "<form action=\"cleanup.php?action=docleanup\" method=\"post\" name=\"form\">\r\n        <input type=\"hidden\" name=\"type\" value=\"guild\" />\r\n        <font class=\"bold\">{$lang_cleanup['guilds_id']}: ";
                $pass_array = "";
                for ($i = 0; $i < count($guild_output_array); $i++) {
                    $output .= "<a href=\"guild.php?action=view_guild&amp;error=3&amp;id={$guild_output_array[$i]}\" target=\"_blank\">{$guild_output_array[$i]}, </a>";
                    $pass_array .= "-{$guild_output_array[$i]}";
                }
                $output .= "<input type=\"hidden\" name=\"check\" value=\"{$pass_array}\" />";
                $output .= "<br />{$lang_cleanup['tot_of']} " . count($guild_output_array) . " {$lang_global['will_be_erased']}</font><br /><br />";
                $output .= " <table class=\"hidden\">\r\n           <tr><td>";
                makebutton($lang_global['yes'], "javascript:do_submit()", 120);
                makebutton($lang_global['no'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n          </table>\r\n      </form>";
            } else {
                $output .= "<h1><font class=\"error\">{$lang_global['err_no_records_found']}</font></h1><br />";
                $output .= "<table class=\"hidden\">\r\n          <tr><td>";
                makebutton($lang_global['go_back'], "cleanup.php", 120);
                $output .= "</td></tr>\r\n        </table>";
            }
            $output .= "</center><br />";
            break;
        default:
            redirect("Location: cleanup.php?error=1");
    }
    $sql->close();
    unset($sql);
}
コード例 #20
0
ファイル: tele.php プロジェクト: scamp/minimanager
function browse_tele()
{
    global $lang_tele, $lang_global, $output, $world_db, $realm_id, $mmfpm_db, $itemperpage, $action_permission, $user_lvl;
    $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']);
    //==========================$_GET and SECURE=================================
    $start = isset($_GET['start']) ? $sqlw->quote_smart($_GET['start']) : 0;
    if (is_numeric($start)) {
    } else {
        $start = 0;
    }
    $order_by = isset($_GET['order_by']) ? $sqlw->quote_smart($_GET['order_by']) : "id";
    if (!preg_match("/^[_[:lower:]]{1,12}\$/", $order_by)) {
        $order_by = "id";
    }
    $dir = isset($_GET['dir']) ? $sqlw->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=============================
    //==========================Browse/Search CHECK==============================
    $search_by = '';
    $search_value = '';
    if (isset($_GET['search_value']) && isset($_GET['search_by'])) {
        $search_value = $sqlw->quote_smart($_GET['search_value']);
        $search_by = $sqlw->quote_smart($_GET['search_by']);
        $search_menu = array("name", "id", "map");
        if (!in_array($search_by, $search_menu)) {
            $search_by = 'name';
        }
        unset($search_menu);
        if (preg_match('/^[\\t\\v\\b\\f\\a\\n\\r\\\\"\'\\? <>[](){}_=+-|!@#$%^&*~`.,0123456789\\0]{1,30}$/', $search_value)) {
            redirect("tele.php?error=1");
        }
        $query_1 = $sqlw->query("SELECT count(*) FROM game_tele WHERE {$search_by} LIKE '%{$search_value}%'");
        $query = $sqlw->query("SELECT id, name, map, position_x, position_y, position_z, orientation\n      FROM game_tele WHERE {$search_by} LIKE '%{$search_value}%' ORDER BY {$order_by} {$order_dir} LIMIT  {$start}, {$itemperpage}");
    } else {
        $query_1 = $sqlw->query("SELECT count(*) FROM game_tele");
        $query = $sqlw->query("SELECT id, name, map, position_x, position_y, position_z, orientation\n      FROM game_tele ORDER BY {$order_by} {$order_dir} LIMIT {$start}, {$itemperpage}");
    }
    $all_record = $sqlw->result($query_1, 0);
    unset($query_1);
    //=====================top tage navigaion starts here========================
    $output .= "\n        <center>\n          <table class=\"top_hidden\">\n            <tr>\n              <td>";
    if ($user_lvl >= $action_permission['insert']) {
        makebutton($lang_tele['add_new'], "tele.php?action=add_tele", 130);
    }
    makebutton($lang_global['back'], "javascript:window.history.back()", 130);
    $search_by && $search_value ? makebutton($lang_tele['teleports'], "tele.php\" type=\"def", 130) : ($output .= "");
    $output .= "\n              </td>\n              <td width=\"25%\" align=\"right\" rowspan=\"2\">";
    $output .= generate_pagination("tele.php?order_by={$order_by}&amp;dir=" . ($dir ? 0 : 1) . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : ""), $all_record, $itemperpage, $start);
    $output .= "\n              </td>\n            </tr>\n            <tr align=\"left\">\n              <td>\n                <table class=\"hidden\">\n                  <tr>\n                    <td>\n                      <form action=\"tele.php\" method=\"get\" name=\"form\">\n                        <input type=\"hidden\" name=\"error\" value=\"4\" />\n                        <input type=\"text\" size=\"24\" name=\"search_value\" value=\"{$search_value}\" />\n                        <select name=\"search_by\">\n                          <option value=\"name\"" . ($search_by == 'name' ? " selected=\"selected\"" : "") . ">{$lang_tele['loc_name']}</option>\n                          <option value=\"id\"" . ($search_by == 'id' ? " selected=\"selected\"" : "") . ">{$lang_tele['loc_id']}</option>\n                          <option value=\"map\"" . ($search_by == 'map' ? " selected=\"selected\"" : "") . ">{$lang_tele['on_map']}</option>\n                        </select>\n                      </form>\n                    </td>\n                    <td>";
    makebutton($lang_global['search'], "javascript:do_submit()", 80);
    $output .= "\n                    </td>\n                  </tr>\n                </table>\n              </td>\n            </tr>\n          </table>";
    //======================top tage navigaion ENDS here ========================
    $output .= "\n          <script type=\"text/javascript\">\n            answerbox.btn_ok='{$lang_global['yes']}';\n            answerbox.btn_cancel='{$lang_global['no']}';\n            var question = '{$lang_global['are_you_sure']}';\n            var del_tele = 'tele.php?action=del_tele&amp;order_by={$order_by}&amp;start={$start}&amp;dir={$dir}&amp;id=';\n          </script>\n          <table class=\"lined\">\n            <tr>";
    if ($user_lvl >= $action_permission['delete']) {
        $output .= "\n              <th width=\"5%\">{$lang_global['delete_short']}</th>";
    }
    $output .= "\n              <th width=\"5%\"><a href=\"tele.php?order_by=id&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\"" . ($order_by == 'id' ? " class=\"{$order_dir}\"" : "") . ">{$lang_tele['id']}</a></th>\n              <th width=\"28%\"><a href=\"tele.php?order_by=name&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\"" . ($order_by == 'name' ? " class=\"{$order_dir}\"" : "") . ">{$lang_tele['name']}</a></th>\n              <th width=\"22%\"><a href=\"tele.php?order_by=map&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\"" . ($order_by == 'map' ? " class=\"{$order_dir}\"" : "") . ">{$lang_tele['map']}</a></th>\n              <th width=\"9%\"><a href=\"tele.php?order_by=position_x&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\"" . ($order_by == 'position_x' ? " class=\"{$order_dir}\"" : "") . ">{$lang_tele['x']}</a></th>\n              <th width=\"9%\"><a href=\"tele.php?order_by=position_y&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\"" . ($order_by == 'position_y' ? " class=\"{$order_dir}\"" : "") . ">{$lang_tele['y']}</a></th>\n              <th width=\"9%\"><a href=\"tele.php?order_by=position_z&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\"" . ($order_by == 'position_z' ? " class=\"{$order_dir}\"" : "") . ">{$lang_tele['z']}</a></th>\n              <th width=\"10%\"><a href=\"tele.php?order_by=orientation&amp;start={$start}" . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : "") . "&amp;dir={$dir}\"" . ($order_by == 'orientation' ? " class=\"{$order_dir}\"" : "") . ">{$lang_tele['orientation']}</a></th>\n            </tr>";
    $sqlm = new SQL();
    $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
    while ($data = $sqlw->fetch_row($query)) {
        $output .= "\n            <tr>";
        if ($user_lvl >= $action_permission['delete']) {
            $output .= "\n              <td><img src=\"img/aff_cross.png\" alt=\"\" onclick=\"answerBox('{$lang_global['delete']}: &lt;font color=white&gt;{$data[1]}&lt;/font&gt;&lt;br /&gt; ' + question, del_tele + {$data['0']});\" style=\"cursor:pointer;\" /></td>";
        }
        $output .= "\n              <td>{$data['0']}</td>\n              <td>";
        if ($user_lvl >= $action_permission['update']) {
            $output .= "\n                <a href=\"tele.php?action=edit_tele&amp;id={$data['0']}\">{$data['1']}</a>";
        } else {
            $output .= "{$data['1']}";
        }
        $output .= "\n              </td>\n              <td>" . get_map_name($data[2], $sqlm) . " ({$data['2']})</td>\n              <td>{$data['3']}</td>\n              <td>{$data['4']}</td>\n              <td>{$data['5']}</td>\n              <td>{$data['6']}</td>\n            </tr>";
    }
    unset($query);
    unset($data);
    $output .= "\n            <tr>\n              <td  colspan=\"7\" class=\"hidden\" align=\"right\" width=\"25%\">";
    $output .= generate_pagination("tele.php?order_by={$order_by}&amp;dir=" . ($dir ? 0 : 1) . ($search_value && $search_by ? "&amp;search_by={$search_by}&amp;search_value={$search_value}" : ""), $all_record, $itemperpage, $start);
    $output .= "\n              </td>\n            </tr>\n            <tr>\n              <td colspan=\"7\" class=\"hidden\" align=\"right\">{$lang_tele['tot_locations']} : {$all_record}</td>\n            </tr>\n          </table>\n        </center>\n";
}
コード例 #21
0
ファイル: creature.php プロジェクト: BACKUPLIB/minimanager
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;
    }
}
コード例 #22
0
ファイル: char_edit.php プロジェクト: BACKUPLIB/minimanager
function do_edit_char()
{
    global $lang_global, $lang_char, $output, $realm_db, $characters_db, $realm_id, $action_permission, $user_lvl, $world_db;
    valid_login($action_permission['delete']);
    if (empty($_GET['id']) || empty($_GET['name'])) {
        error($lang_global['empty_fields']);
    }
    $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']);
    $id = $sql->quote_smart($_GET['id']);
    $result = $sql->query("SELECT account, online FROM characters WHERE guid = '{$id}'");
    if ($sql->num_rows($result)) {
        //we cannot edit online chars
        if (!$sql->result($result, 0, 'online')) {
            //resrict by owner's gmlvl
            $owner_acc_id = $sql->result($result, 0, 'account');
            $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
            $query = $sql->query("SELECT gmlevel FROM account_access WHERE id ='{$owner_acc_id}' and (`RealmID` = {$realm_id} or `RealmID` = -1)");
            $owner_gmlvl = $sql->result($query, 0, 'gmlevel');
            $new_owner_name = $_GET['owner_name'];
            $query = $sql->query("SELECT id FROM account WHERE username ='******'");
            $new_owner_acc_id = $sql->result($query, 0, 'id');
            if ($owner_acc_id != $new_owner_acc_id) {
                $max_players = $sql->query("SELECT numchars FROM realmcharacters WHERE acctid ='{$new_owner_acc_id}'");
                $max_players = $max_players[0];
                if ($max_players <= 9) {
                    $result = $sql->query("UPDATE `{$characters_db[$realm_id]['name']}`.`characters` SET account = {$new_owner_acc_id} WHERE guid = {$id}");
                } else {
                    redirect("char_edit.php?action=edit_char&id={$id}&error=5");
                }
            }
            if ($user_lvl > $owner_gmlvl) {
                if (isset($_GET['check'])) {
                    $check = $sql->quote_smart($_GET['check']);
                } else {
                    $check = NULL;
                }
                $new_name = $sql->quote_smart($_GET['name']);
                if (isset($_GET['tot_time'])) {
                    $new_tot_time = $sql->quote_smart($_GET['tot_time']);
                } else {
                    $new_tot_time = 0;
                }
                if (isset($_GET['money'])) {
                    $new_money = $sql->quote_smart($_GET['money']);
                } else {
                    $new_money = 0;
                }
                if (isset($_GET['arena_points'])) {
                    $new_arena_points = $sql->quote_smart($_GET['arena_points']);
                } else {
                    $new_arena_points = 0;
                }
                if (isset($_GET['honor_points'])) {
                    $new_honor_points = $sql->quote_smart($_GET['honor_points']);
                } else {
                    $new_honor_points = 0;
                }
                if (isset($_GET['total_kills'])) {
                    $new_total_kills = $sql->quote_smart($_GET['total_kills']);
                } else {
                    $new_total_kills = 0;
                }
                if (!is_numeric($new_tot_time) || !is_numeric($new_money) || !is_numeric($new_arena_points) || !is_numeric($new_honor_points)) {
                    error($lang_char['use_numeric']);
                }
                $x = isset($_GET['x']) ? $sql->quote_smart($_GET['x']) : 0;
                $y = isset($_GET['y']) ? $sql->quote_smart($_GET['y']) : 0;
                $z = isset($_GET['z']) ? $sql->quote_smart($_GET['z']) : 0;
                $map = isset($_GET['map']) ? $sql->quote_smart($_GET['map']) : 0;
                $tp_to = isset($_GET['tp_to']) ? $sql->quote_smart($_GET['tp_to']) : 0;
                $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
                $result = $sql->query("SELECT equipmentCache FROM characters WHERE guid = '{$id}'");
                $char = $sql->fetch_row($result);
                $eq_data = explode(' ', $char[0]);
                //some items need to be deleted
                if ($check) {
                    $item_offset = array("a0" => EQ_DATA_OFFSET_EQU_HEAD, "a1" => EQ_DATA_OFFSET_EQU_NECK, "a2" => EQ_DATA_OFFSET_EQU_SHOULDER, "a3" => EQ_DATA_OFFSET_EQU_SHIRT, "a4" => EQ_DATA_OFFSET_EQU_CHEST, "a5" => EQ_DATA_OFFSET_EQU_BELT, "a6" => EQ_DATA_OFFSET_EQU_LEGS, "a7" => EQ_DATA_OFFSET_EQU_FEET, "a8" => EQ_DATA_OFFSET_EQU_WRIST, "a9" => EQ_DATA_OFFSET_EQU_GLOVES, "a10" => EQ_DATA_OFFSET_EQU_FINGER1, "a11" => EQ_DATA_OFFSET_EQU_FINGER2, "a12" => EQ_DATA_OFFSET_EQU_TRINKET1, "a13" => EQ_DATA_OFFSET_EQU_TRINKET2, "a14" => EQ_DATA_OFFSET_EQU_BACK, "a15" => EQ_DATA_OFFSET_EQU_MAIN_HAND, "a16" => EQ_DATA_OFFSET_EQU_OFF_HAND, "a17" => EQ_DATA_OFFSET_EQU_RANGED, "a18" => EQ_DATA_OFFSET_EQU_TABARD);
                    foreach ($check as $item_num) {
                        //deleting equiped items
                        if ($item_num[0] == "a") {
                            $eq_data[$item_offset[$item_num]] = 0;
                            sscanf($item_num, "a%d", $item_num);
                            $result = $sql->query("SELECT item FROM character_inventory WHERE guid = '{$id}' AND slot = {$item_num} AND bag = 0");
                            $item_inst_id = $sql->result($result, 0, 'item');
                            $sql->query("DELETE FROM character_inventory WHERE guid = '{$id}' AND slot = {$item_num} AND bag = 0");
                            $sql->query("DELETE FROM item_instance WHERE guid = '{$item_inst_id}' AND owner_guid = '{$id}'");
                        } else {
                            //deleting inv/bank items
                            $sql->query("DELETE FROM character_inventory WHERE guid = '{$id}' AND item = '{$item_num}'");
                            $sql->query("DELETE FROM item_instance WHERE guid = '{$item_num}' AND owner_guid = '{$id}'");
                        }
                    }
                }
                $data = implode(' ', $eq_data);
                if ($tp_to) {
                    $query = $sql->query("SELECT map, position_x, position_y, position_z, orientation FROM `" . $world_db[$realm_id]['name'] . "`.`game_tele` WHERE LOWER(name) = '" . strtolower($tp_to) . "'");
                    $tele = $sql->fetch_row($query);
                    if ($tele) {
                        $teleport = "map='{$tele['0']}', position_x='{$tele['1']}', position_y='{$tele['2']}', position_z='{$tele['3']}', orientation='{$tele['4']}',";
                    } else {
                        error($lang_char['no_tp_location']);
                    }
                } else {
                    $teleport = "map='{$map}', position_x='{$x}', position_y='{$y}', position_z='{$z}',";
                }
                $result = $sql->query("UPDATE characters SET equipmentCache = '{$data}', name = '{$new_name}', {$teleport} totaltime = '{$new_tot_time}', money = '{$new_money}', arenaPoints = '{$new_arena_points}', totalHonorPoints = '{$new_honor_points}', totalKills = '{$new_total_kills}' WHERE guid = {$id}");
                $sql->close();
                unset($sql);
                if ($result) {
                    redirect("char_edit.php?action=edit_char&id={$id}&error=3");
                } else {
                    redirect("char_edit.php?action=edit_char&id={$id}&error=4");
                }
            } else {
                $sql->close();
                unset($sql);
                error($lang_char['no_permission']);
            }
        } else {
            $sql->close();
            unset($sql);
            redirect("char_edit.php?action=edit_char&id={$id}&error=2");
        }
    } else {
        error($lang_char['no_char_found']);
    }
    $sql->close();
    unset($sql);
}
コード例 #23
0
ファイル: events.php プロジェクト: scamp/minimanager
function events()
{
    global $output, $lang_events, $realm_id, $world_db, $itemperpage;
    $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']);
    //-------------------SQL Injection Prevention--------------------------------
    // this page has multipage support and field ordering, so we need these
    $start = isset($_GET['start']) ? $sqlw->quote_smart($_GET['start']) : 0;
    if (is_numeric($start)) {
    } else {
        $start = 0;
    }
    $order_by = isset($_GET['order_by']) ? $sqlw->quote_smart($_GET['order_by']) : 'description';
    if (preg_match('/^[_[:lower:]]{1,11}$/', $order_by)) {
    } else {
        $order_by = 'description';
    }
    $dir = isset($_GET['dir']) ? $sqlw->quote_smart($_GET['dir']) : 1;
    if (preg_match('/^[01]{1}$/', $dir)) {
    } else {
        $dir = 1;
    }
    $order_dir = $dir ? 'ASC' : 'DESC';
    $dir = $dir ? 0 : 1;
    // for multipage support
    $all_record = $sqlw->result($sqlw->query('SELECT count(*) FROM game_event WHERE start_time <> end_time'), 0);
    // main data that we need for this page, game events
    $result = $sqlw->query('SELECT description, start_time, occurence, length
FROM game_event WHERE start_time <> end_time ORDER BY ' . $order_by . ' ' . $order_dir . ' LIMIT ' . $start . ', ' . $itemperpage . '');
    //---------------Page Specific Data Starts Here--------------------------
    // 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 events.php -->
<center>
	<table class="top_hidden">
		<tr>
			<td width="25%" align="right">';
    // multi page links
    $output .= $lang_events['total'] . ' : ' . $all_record . '<br /><br />' . generate_pagination('events.php?order_by=' . $order_by . '&amp;dir=' . ($dir ? 0 : 1), $all_record, $itemperpage, $start);
    // column headers, with links for sorting
    $output .= '
			</td>
		</tr>
	</table>
	<table class="lined">
		<tr>
			<th width="35%"><a href="events.php?order_by=description&amp;start=' . $start . '&amp;dir=' . $dir . '"' . ($order_by === 'description' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_events['descr'] . '</a></th>
			<th width="25%"><a href="events.php?order_by=start_time&amp;start=' . $start . '&amp;dir=' . $dir . '"' . ($order_by === 'start_time' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_events['start'] . '</a></th>
			<th width="20%"><a href="events.php?order_by=occurence&amp;start=' . $start . '&amp;dir=' . $dir . '"' . ($order_by === 'occurence' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_events['occur'] . '</a></th>
			<th width="20%"><a href="events.php?order_by=length&amp;start=' . $start . '&amp;dir=' . $dir . '"' . ($order_by === 'length' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_events['length'] . '</a></th>
		</tr>';
    while ($events = $sqlw->fetch_assoc($result)) {
        $days = floor(round($events['occurence'] / 60) / 24);
        $hours = round($events['occurence'] / 60) - $days * 24;
        $event_occurance = '';
        if ($days) {
            $event_occurance .= $days . ' days ';
        }
        if ($hours) {
            $event_occurance .= $hours . ' hours';
        }
        $days = floor(round($events['length'] / 60) / 24);
        $hours = round($events['length'] / 60) - $days * 24;
        $event_duration = '';
        if ($days) {
            $event_duration .= $days . ' days ';
        }
        if ($hours) {
            $event_duration .= $hours . ' hours';
        }
        $output .= '
			<tr valign="top">
				<td align="left">' . $events['description'] . '</td>
				<td>' . $events['start_time'] . '</td>
				<td>' . $event_occurance . '</td>
				<td>' . $event_duration . '</td>
			</tr>';
    }
    unset($event_duration);
    unset($event_occurance);
    unset($hours);
    unset($days);
    unset($events);
    unset($result);
    $output .= '
<tr>
	<td colspan="4" class="hidden" align="right" width="25%">';
    // multi page links
    $output .= generate_pagination('events.php?order_by=' . $order_by . '&amp;dir=' . ($dir ? 0 : 1), $all_record, $itemperpage, $start);
    unset($start);
    $output .= '
	</td>
</tr>
<tr>
	<td colspan="4" class="hidden" align="right">' . $lang_events['total'] . ' : ' . $all_record . '</td>
</tr>
</table>
</center>
<!-- end of events.php -->';
}
コード例 #24
0
ファイル: repair.php プロジェクト: BACKUPLIB/minimanager-1
function repair_form()
{
    global $output, $lang_global, $lang_repair, $realm_db, $world_db, $characters_db, $mmfpm_db, $action_permission, $user_lvl;
    $output .= '
<center>
<fieldset class="tquarter_frame">
<legend>' . $lang_repair['repair_optimize'] . '</legend>
<form action="repair.php?action=do_repair" method="post" name="form">';
    if ($user_lvl >= $action_permission['update']) {
        $output .= '
		<table class="hidden">
			<tr>
				<td>
					<select name="repair_action">
						<option value="REPAIR">' . $lang_repair['repair'] . '</option>
						<option value="OPTIMIZE">' . $lang_repair['optimize'] . '</option>
					</select>
				</td>
				<td>';
        makebutton($lang_repair['start'], 'javascript:do_submit()" type="wrn', 130);
        $output .= '
				</td>
				<td>';
        makebutton($lang_global['back'], 'javascript:window.history.back()" type="def', 130);
        $output .= '
				</td>
			</tr>
		</table>
		<p>' . $lang_repair['select_tables'] . '</p>';
    }
    $output .= '
<script type="text/javascript" src="libs/js/check.js"></script>
<table style="width: 550px;" class="lined">
	<tr>';
    if ($user_lvl >= $action_permission['update']) {
        $output .= '
		<th width="5%"><input name="allbox" type="checkbox" value="Check All" onclick="CheckAll(document.form);" /></th>';
    }
    $output .= '
		<th width="25%">' . $lang_repair['table_name'] . '</th>
		<th width="35%">' . $lang_repair['status'] . '</th>
		<th width="15%">' . $lang_repair['num_records'] . '</th>
	</tr>
</table>';
    $sql = new SQL();
    $mm_dbs = array($realm_db, $mmfpm_db);
    foreach ($mm_dbs as $db) {
        $output .= '
	<table style="width: 550px;" class="lined">
		<tr class="large_bold">
			<td colspan="3" class="hidden" align="left">
				<div id="div' . $db['name'] . '" onclick="expand(\'' . $db['name'] . '\', this, \'' . $db['name'] . ' ' . $lang_repair['tables'] . ' :\');">[+] ' . $db['name'] . ' ' . $lang_repair['tables'] . ' :</div>
			</td>
		</tr>
	</table>
	<table id="' . $db['name'] . '" style="width: 550px; display: none;" class="lined">';
        $sql->connect($db['addr'], $db['user'], $db['pass'], $db['name']);
        $result = $sql->query('SHOW TABLES FROM ' . $db['name'] . '');
        while ($table = $sql->fetch_row($result)) {
            $result1 = $sql->query('SELECT count(*) FROM ' . $table[0] . '');
            $result2 = $sql->query('CHECK TABLE ' . $table[0] . ' CHANGED');
            $output .= '
		<tr>';
            if ($user_lvl >= $action_permission['update']) {
                $output .= '
			<td>
				<input type="checkbox" name="check[]" value="db~0~' . $db['name'] . '~' . $table[0] . '" onclick="CheckCheckAll(document.form);" />
			</td>';
            }
            $output .= '
			<td>' . $table[0] . '</td>
			<td>' . $sql->result($result2, 0, 'Msg_type') . ' : ' . $sql->result($result2, 0, 'Msg_text') . '</td>
			<td>' . $sql->result($result1, 0) . '</td>
		</tr>';
        }
        $output .= '
</table>';
    }
    $mm_dbs = array($world_db, $characters_db);
    foreach ($mm_dbs as $dbs) {
        foreach ($dbs as $dbr => $db) {
            $output .= '
		<table style="width: 550px;" class="lined">
			<tr class="large_bold">
				<td colspan="3" class="hidden" align="left">
					<div id="div' . $db['name'] . $dbr . '" onclick="expand(\'' . $db['name'] . $dbr . '\', this, \'' . $db['name'] . ' Realm ' . $dbr . ' Tables :\');">[+] ' . $db['name'] . ' Realm ' . $dbr . ' Tables :</div>
				</td>
			</tr>
		</table>
		<table id="' . $db['name'] . $dbr . '" style="width: 550px; display: none;" class="lined">';
            $sql->connect($db['addr'], $db['user'], $db['pass'], $db['name']);
            $result = $sql->query('SHOW TABLES FROM ' . $db['name'] . '');
            while ($table = $sql->fetch_row($result)) {
                $result1 = $sql->query('SELECT count(*) FROM ' . $table[0] . '');
                $result2 = $sql->query('CHECK TABLE ' . $table[0] . ' CHANGED');
                $output .= '
				<tr>';
                if ($user_lvl >= $action_permission['update']) {
                    $output .= '
					<td>
						<input type="checkbox" name="check[]" value="db~' . $dbr . '~' . $db['name'] . '~' . $table[0] . '" onclick="CheckCheckAll(document.form);" />
					</td>';
                }
                $output .= '
					<td>' . $table[0] . '</td>
					<td>' . $sql->result($result2, 0, 'Msg_type') . ' : ' . $sql->result($result2, 0, 'Msg_text') . '</td>
					<td>' . $sql->result($result1, 0) . '</td>
				</tr>';
            }
            $output .= '
		</table>';
        }
    }
    unset($dbs);
    unset($db);
    unset($result);
    unset($result2);
    unset($result1);
    unset($table);
    unset($mm_dbs);
    $output .= '
</form>
</fieldset>
<br /><br />
</center>';
}
コード例 #25
0
ファイル: del_lib.php プロジェクト: scamp/minimanager
function del_guild($guid, $realm)
{
    global $characters_db, $tab_del_guild;
    require_once 'data_lib.php';
    $sqlc = new SQL();
    $sqlc->connect($characters_db[$realm]['addr'], $characters_db[$realm]['user'], $characters_db[$realm]['pass'], $characters_db[$realm]['name']);
    //clean data inside characters.data field
    while ($guild_member = $sqlc->result($sqlc->query('SELECT guid 
														FROM guild_member 
														WHERE guildid = ' . $guid . ''), 0)) {
        $data = $sqlc->result($sqlc->query('SELECT data 
											FROM characters 
											WHERE guid = ' . $guild_member . ''), 0);
        $data = explode(' ', $data);
        $data[CHAR_DATA_OFFSET_GUILD_ID] = 0;
        $data[CHAR_DATA_OFFSET_GUILD_RANK] = 0;
        $data = implode(' ', $data);
        $sqlc->query('UPDATE characters 
						SET data = ' . $data . ' 
						WHERE guid = ' . $guild_member . '');
    }
    $sqlc->query('DELETE 
					FROM item_instance 
					WHERE guid IN 
				(SELECT item_guid 
					FROM guild_bank_item 
					WHERE guildid =' . $guid . ')');
    foreach ($tab_del_guild as $value) {
        $sqlr->query('DELETE 
					FROM ' . $value[0] . ' 
					WHERE ' . $value[1] . ' = ' . $guid . '');
    }
    if ($sqlc->affected_rows()) {
        return true;
    } else {
        return false;
    }
}
コード例 #26
0
ファイル: mail.php プロジェクト: BACKUPLIB/minimanager-1
function send_mail()
{
    global $lang_global, $output, $realm_db, $characters_db, $realm_id, $user_name, $from_mail, $mailer_type, $smtp_cfg;
    if (empty($_POST['body']) || empty($_POST['subject']) || empty($_POST['type']) || empty($_POST['group_sign']) || empty($_POST['group_send'])) {
        redirect("mail.php?error=1");
    }
    $sqlr = new SQL();
    $sqlr->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
    $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']);
    $body = explode("\n", $_POST['body']);
    $subject = $sqlc->quote_smart($_POST['subject']);
    if (isset($_POST['to']) && $_POST['to'] != '') {
        $to = $sqlc->quote_smart($_POST['to']);
    } else {
        $to = 0;
        if (!isset($_POST['group_value']) || $_POST['group_value'] === '') {
            redirect("mail.php?error=1");
        } else {
            $group_value = $sqlc->quote_smart($_POST['group_value']);
            $group_sign = $sqlc->quote_smart($_POST['group_sign']);
            $group_send = $sqlc->quote_smart($_POST['group_send']);
        }
    }
    $type = addslashes($_POST['type']);
    $att_gold = $sqlc->quote_smart($_POST['money']);
    $att_item = $sqlc->quote_smart($_POST['att_item']);
    $att_stack = $sqlc->quote_smart($_POST['att_stack']);
    switch ($type) {
        case "email":
            require_once "libs/mailer/class.phpmailer.php";
            $mail = new PHPMailer();
            $mail->Mailer = $mailer_type;
            if ($mailer_type == "smtp") {
                $mail->Host = $smtp_cfg['host'];
                $mail->Port = $smtp_cfg['port'];
                if ($smtp_cfg['user'] != '') {
                    $mail->SMTPAuth = true;
                    $mail->Username = $smtp_cfg['user'];
                    $mail->Password = $smtp_cfg['pass'];
                }
            }
            $value = NULL;
            for ($i = 0; $i < count($body); $i++) {
                $value .= $body[$i] . "\r\n";
            }
            $body = $value;
            $mail->From = $from_mail;
            $mail->FromName = $user_name;
            $mail->Subject = $subject;
            $mail->IsHTML(true);
            $body = str_replace("\n", "<br />", $body);
            $body = str_replace("\r", " ", $body);
            $body = str_replace(array("\r\n", "\n", "\r"), '<br />', $body);
            $body = preg_replace("/([^\\/=\"\\]])((http|ftp)+(s)?:\\/\\/[^<>\\s]+)/i", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $body);
            $body = preg_replace('/([^\\/=\\"\\]])(www\\.)(\\S+)/', '\\1<a href="http://\\2\\3" target="_blank">\\2\\3</a>', $body);
            $mail->Body = $body;
            $mail->WordWrap = 50;
            if ($to) {
                //single Recipient
                $mail->AddAddress($to);
                if (!$mail->Send()) {
                    $mail->ClearAddresses();
                    redirect("mail.php?error=3&mail_err=" . $mail->ErrorInfo);
                } else {
                    $mail->ClearAddresses();
                    redirect("mail.php?error=2");
                }
            } elseif (isset($group_value)) {
                //group send
                $email_array = array();
                switch ($group_send) {
                    case "gm_level":
                        $result = $sqlr->query("SELECT email FROM account WHERE gmlevel {$group_sign} '{$group_value}'");
                        while ($user = $sqlr->fetch_row($result)) {
                            if ($user[0] != "") {
                                array_push($email_array, $user[0]);
                            }
                        }
                        break;
                    case "locked":
                        $result = $sqlr->query("SELECT email FROM account WHERE locked {$group_sign} '{$group_value}'");
                        while ($user = $sqlr->fetch_row($result)) {
                            if ($user[0] != "") {
                                array_push($email_array, $user[0]);
                            }
                        }
                        break;
                    case "banned":
                        $que = $sqlr->query("SELECT id FROM account_banned");
                        while ($banned = $sql->fetch_row($que)) {
                            $result = $sqlr->query("SELECT email FROM account WHERE id = '{$banned['0']}'");
                            if ($sqlr->result($result, 0, 'email')) {
                                array_push($email_array, $sql->result($result, 0, 'email'));
                            }
                        }
                        break;
                    default:
                        redirect("mail.php?error=5");
                        break;
                }
                foreach ($email_array as $mail_addr) {
                    $mail->AddAddress($mail_addr);
                    if (!$mail->Send()) {
                        $mail->ClearAddresses();
                        redirect("mail.php?error=3&mail_err=" . $mail->ErrorInfo);
                    } else {
                        $mail->ClearAddresses();
                    }
                }
                redirect("mail.php?error=2");
            } else {
                redirect("mail.php?error=1");
            }
            break;
        case "ingame_mail":
            $value = NULL;
            for ($i = 0; $i < count($body); $i++) {
                $value .= $body[$i] . " ";
            }
            $body = $value;
            $body = str_replace("\r", " ", $body);
            if ($to) {
                //single Recipient
                $result = $sqlc->query("SELECT name FROM characters WHERE name = '{$to}'");
                if ($sqlc->num_rows($result) == 1) {
                    $receiver = $sqlc->result($result, 0, 'name');
                    $mails = array();
                    array_push($mails, array($receiver, $subject, $body, $att_gold, $att_item, $att_stack));
                    send_ingame_mail($realm_id, $mails);
                } else {
                    redirect("mail.php?error=4");
                }
                redirect("mail.php?error=2");
                break;
            } elseif (isset($group_value)) {
                //group send
                $char_array = array();
                switch ($group_send) {
                    case "gm_level":
                        $result = $sqlr->query("SELECT id FROM account WHERE gmlevel {$group_sign} '{$group_value}'");
                        while ($acc = $sqlc->fetch_row($result)) {
                            $result_2 = $sqlc->query("SELECT name FROM `characters` WHERE account = '{$acc['0']}'");
                            while ($char = $sqlc->fetch_row($result_2)) {
                                array_push($char_array, $char[0]);
                            }
                        }
                        break;
                    case "online":
                        $result = $sqlc->query("SELECT name FROM `characters` WHERE online {$group_sign} '{$group_value}'");
                        while ($user = $sqlc->fetch_row($result)) {
                            array_push($char_array, $user[0]);
                        }
                        break;
                    case "char_level":
                        $result = $sqlc->query("SELECT name FROM `characters` WHERE SUBSTRING_INDEX(SUBSTRING_INDEX(`data`, ' ', 35), ' ', -1) {$group_sign} '{$group_value}'");
                        while ($user = $sqlc->fetch_row($result)) {
                            array_push($char_array, $user[0]);
                        }
                        break;
                    default:
                        redirect("mail.php?error=5");
                }
                $mails = array();
                foreach ($char_array as $receiver) {
                    array_push($mails, array($receiver, $subject, $body, $att_gold, $att_item, $att_stack));
                }
                send_ingame_mail($realm_id, $mails);
                redirect("mail.php?error=2");
            }
            break;
        default:
            redirect("mail.php?error=1");
    }
}
コード例 #27
0
ファイル: events.php プロジェクト: BACKUPLIB/Infinity_MaNGOS
function events()
{
    global $output, $lang_events, $realm_id, $world_db, $itemperpage;
    $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']);
    //==========================$_GET and SECURE========================
    // pagination and order by to prevent sql injection
    require_once './include/security.php';
    $order_dir = $dir ? 'DESC' : 'ASC';
    $dir = $dir ? 1 : 0;
    //==========================$_GET and SECURE end========================
    // for multipage support
    $all_record = $sqlw->result($sqlw->query('
		SELECT count(*) 
		FROM game_event 
		WHERE start_time <> end_time'), 0);
    // main data that we need for this page, game events
    $result = $sqlw->query('
		SELECT entry, description, start_time, occurence, length
		FROM game_event 
		WHERE start_time <> end_time 
		ORDER BY ' . $order_by . ' ' . $order_dir . ' 
		LIMIT ' . $start . ', ' . $itemperpage . '');
    //---------------Page Specific Data Starts Here--------------------------
    $output .= '
<center>
<table class="top_hidden">
	<tr>
		<td width="25%" align="right">';
    // multi page links
    $output .= $lang_events['total'] . ' : ' . $all_record . '<br /><br />' . generate_pagination('events.php?order_by=' . $order_by . '&amp;dir=' . ($dir ? 0 : 1), $all_record, $itemperpage, $start);
    // column headers, with links for sorting
    $output .= '
		</td>
	</tr>
</table>
<table class="lined">
	<tr>
		<th width="1%"><a href="events.php?order_by=entry&amp;start=' . $start . '&amp;dir=' . $dir . '"' . ($order_by === 'entry' ? ' class="' . $order_dir . '"' : '') . '>ID</a></th>
		<th width="34%"><a href="events.php?order_by=description&amp;start=' . $start . '&amp;dir=' . $dir . '"' . ($order_by === 'description' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_events['descr'] . '</a></th>
		<th width="25%"><a href="events.php?order_by=start_time&amp;start=' . $start . '&amp;dir=' . $dir . '"' . ($order_by === 'start_time' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_events['start'] . '</a></th>
		<th width="20%"><a href="events.php?order_by=occurence&amp;start=' . $start . '&amp;dir=' . $dir . '"' . ($order_by === 'occurence' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_events['occur'] . '</a></th>
		<th width="20%"><a href="events.php?order_by=length&amp;start=' . $start . '&amp;dir=' . $dir . '"' . ($order_by === 'length' ? ' class="' . $order_dir . '"' : '') . '>' . $lang_events['length'] . '</a></th>
	</tr>';
    while ($events = $sqlw->fetch_assoc($result)) {
        $days = floor(round($events['occurence'] / 60) / 24);
        $hours = round($events['occurence'] / 60) - $days * 24;
        $event_occurance = '';
        if ($days) {
            $event_occurance .= $days . ' days ';
        }
        if ($hours) {
            $event_occurance .= $hours . ' hours';
        }
        $days = floor(round($events['length'] / 60) / 24);
        $hours = round($events['length'] / 60) - $days * 24;
        $event_duration = '';
        if ($days) {
            $event_duration .= $days . ' days ';
        }
        if ($hours) {
            $event_duration .= $hours . ' hours';
        }
        $output .= '
	<tr valign="top">
			<td>' . $events['entry'] . '</td>
			<td align="left">' . $events['description'] . '</td>
			<td>' . $events['start_time'] . '</td>
			<td>' . $event_occurance . '</td>
			<td>' . $event_duration . '</td>
		</tr>';
    }
    unset($event_duration);
    unset($event_occurance);
    unset($hours);
    unset($days);
    unset($events);
    unset($result);
    $output .= '
	<tr>
		<td colspan="4" class="hidden" align="right" width="25%">';
    // multi page links
    $output .= generate_pagination('events.php?order_by=' . $order_by . '&amp;dir=' . ($dir ? 0 : 1), $all_record, $itemperpage, $start);
    unset($start);
    $output .= '
		</td>
	</tr>
	<tr>
		<td colspan="4" class="hidden" align="right">' . $lang_events['total'] . ' : ' . $all_record . '</td>
	</tr>
</table>
</center>';
}
コード例 #28
0
ファイル: item_lib.php プロジェクト: BACKUPLIB/minimanager
function get_item_icon($itemid, &$sqlm = 0, &$sqlw = 0)
{
    global $mmfpm_db, $world_db, $realm_id, $proxy_cfg, $get_icons_from_web, $item_icons;
    // not all functions that call this function will pass reference to existing SQL links
    // so we need to check and overload when needed
    if (empty($sqlm)) {
        $sqlm = new SQL();
        $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
    }
    if (empty($sqlw)) {
        $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 `displayid` FROM `item_template` WHERE `entry` = {$itemid} LIMIT 1");
    if ($result) {
        $displayid = $sqlw->result($result, 0);
    } else {
        $result = $sqlm->query("SELECT `field_5` FROM `dbc_item` WHERE `id` = {$itemid} LIMIT 1");
        if ($result) {
            $displayid = $sqlm->result($result, 0);
        } else {
            $displayid = 0;
        }
    }
    if ($displayid) {
        $result = $sqlm->query("SELECT `field_5` FROM `dbc_itemdisplayinfo` WHERE `id`={$displayid} LIMIT 1");
        if ($result) {
            $item_uppercase = $sqlm->result($result, 0);
            $item = strtolower($item_uppercase);
            if ($item) {
                if (file_exists('' . $item_icons . '/' . $item . '.jpg')) {
                    if (filesize('' . $item_icons . '/' . $item . '.jpg') > 349) {
                        return '' . $item_icons . '/' . $item . '.jpg';
                    } else {
                        $sqlm->query('DELETE FROM dbc_itemdisplayinfo WHERE id = ' . $displayid . '');
                        if (file_exists('' . $item_icons . '/' . $item . '.jpg')) {
                            unlink('' . $item_icons . '/' . $item . '.jpg');
                        }
                        $item = '';
                    }
                } else {
                    $item = '';
                }
            } else {
                $item = '';
            }
        } else {
            $item = '';
        }
    } else {
        $item = '';
    }
    if ($get_icons_from_web) {
        $xmlfilepath = "http://www.wowhead.com/item=";
        $proxy = $proxy_cfg['addr'];
        $port = $proxy_cfg['port'];
        if (empty($proxy_cfg['addr'])) {
            $proxy = "www.wowhead.com";
            $xmlfilepath = "item=";
            $port = 80;
        }
        if ($item == '') {
            //get the icon name
            $fp = @fsockopen($proxy, $port, $errno, $errstr, 0.5);
            if (!$fp) {
                return "img/INV/INV_blank_32.gif";
            }
            $out = "GET /{$xmlfilepath}{$itemid} HTTP/1.0\r\nHost: www.wowhead.com\r\n";
            if (!empty($proxy_cfg['user'])) {
                $out .= "Proxy-Authorization: Basic " . base64_encode("{$proxy_cfg['user']}:{$proxy_cfg['pass']}") . "\r\n";
            }
            $out .= "Connection: Close\r\n\r\n";
            $temp = "";
            fwrite($fp, $out);
            while ($fp && !feof($fp)) {
                $temp .= fgets($fp, 4096);
            }
            fclose($fp);
            $wowhead_string = $temp;
            $temp_string1 = strstr($wowhead_string, "Icon.create(");
            $temp_string2 = substr($temp_string1, 12, 50);
            $temp_string3 = strtok($temp_string2, ',');
            $temp_string4 = substr($temp_string3, 1, strlen($temp_string3) - 2);
            $icon_name = $temp_string4;
            $item_uppercase = $icon_name;
            $item = strtolower($item_uppercase);
        }
        if (file_exists('' . $item_icons . '/' . $item . '.jpg')) {
            if (filesize('' . $item_icons . '/' . $item . '.jpg') > 349) {
                $sqlm->query('REPLACE INTO dbc_itemdisplayinfo (id, field_5) VALUES (\'' . $displayid . '\', \'' . $item . '\')');
                return '' . $item_icons . '/' . $item . '.jpg';
            } else {
                $sqlm->query('DELETE FROM dbc_itemdisplayinfo WHERE id = ' . $displayid . '');
                if (file_exists('' . $item_icons . '/' . $item . '.jpg')) {
                    unlink('' . $item_icons . '/' . $item . '.jpg');
                }
            }
        }
        //get the icon itself
        if (empty($proxy_cfg['addr'])) {
            $proxy = "static.wowhead.com";
            $port = 80;
        }
        $fp = @fsockopen($proxy, $port, $errno, $errstr, 0.5);
        if (!$fp) {
            return "img/INV/INV_blank_32.gif";
        }
        $iconfilename = strtolower($item);
        $file = "http://static.wowhead.com/images/icons/medium/{$iconfilename}.jpg";
        $out = "GET {$file} HTTP/1.0\r\nHost: static.wowhead.com\r\n";
        if (!empty($proxy_cfg['user'])) {
            $out .= "Proxy-Authorization: Basic " . base64_encode("{$proxy_cfg['user']}:{$proxy_cfg['pass']}") . "\r\n";
        }
        $out .= "Connection: Close\r\n\r\n";
        fwrite($fp, $out);
        //remove header
        while ($fp && !feof($fp)) {
            $headerbuffer = fgets($fp, 4096);
            if (urlencode($headerbuffer) == "%0D%0A") {
                break;
            }
        }
        if (file_exists('' . $item_icons . '/' . $item . '.jpg')) {
            if (filesize('' . $item_icons . '/' . $item . '.jpg') > 349) {
                $sqlm->query('REPLACE INTO dbc_itemdisplayinfo (id, field_5) VALUES (\'' . $displayid . '\', \'' . $item . '\')');
                return '' . $item_icons . '/' . $item . '.jpg';
            } else {
                $sqlm->query('DELETE FROM dbc_itemdisplayinfo WHERE id = ' . $displayid . '');
                if (file_exists('' . $item_icons . '/' . $item . '.jpg')) {
                    unlink('' . $item_icons . '/' . $item . '.jpg');
                }
            }
        }
        $img_file = fopen("{$item_icons}/{$item}.jpg", 'wb');
        while (!feof($fp)) {
            fwrite($img_file, fgets($fp, 4096));
        }
        fclose($fp);
        fclose($img_file);
        if (file_exists('' . $item_icons . '/' . $item . '.jpg')) {
            if (filesize('' . $item_icons . '/' . $item . '.jpg') > 349) {
                $sqlm->query('REPLACE INTO dbc_itemdisplayinfo (id, field_5) VALUES (\'' . $displayid . '\', \'' . $item . '\')');
                return '' . $item_icons . '/' . $item . '.jpg';
            } else {
                $sqlm->query('DELETE FROM dbc_itemdisplayinfo WHERE id = ' . $displayid . '');
                if (file_exists('' . $item_icons . '/' . $item . '.jpg')) {
                    unlink('' . $item_icons . '/' . $item . '.jpg');
                }
            }
        } else {
            return "img/INV/INV_blank_32.gif";
        }
    } else {
        return "img/INV/INV_blank_32.gif";
    }
}
コード例 #29
0
ファイル: motd.php プロジェクト: BACKUPLIB/Infinity_MaNGOS
function do_edit_motd(&$sqlm)
{
    global $action_permission, $user_name, $realm_id, $mmfpm_db;
    // minimum permission to view page
    valid_login($action_permission['update']);
    $sqlm = new SQL();
    $sqlm->connect($mmfpm_db['addr'], $mmfpm_db['user'], $mmfpm_db['pass'], $mmfpm_db['name']);
    if (empty($_POST['msg']) || empty($_POST['id'])) {
        redirect('motd.php?error=1');
    }
    $id = $sqlm->quote_smart($_POST['id']);
    if (is_numeric($id)) {
    } else {
        redirect('motd.php?error=1');
    }
    $msg = $sqlm->quote_smart($_POST['msg']);
    if (4096 < strlen($msg)) {
        redirect('motd.php?error=2');
    }
    $by = $sqlm->result($sqlm->query('
		SELECT type
		FROM mm_motd
		WHERE id = ' . $id . ''), 0);
    $by = split('<br />', $by, 2);
    $by = $by[0] . '<br />' . date('m/d/y H:i:s') . ' Edited by: ' . $user_name;
    $sqlm->query('
		UPDATE mm_motd
		SET realmid = \'' . $realm_id . '\', type = \'' . $by . '\', content = \'' . $msg . '\'
		WHERE id = ' . $id . '');
    unset($by);
    unset($msg);
    unset($id);
    redirect('index.php');
}
コード例 #30
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;
    }
}