コード例 #1
0
 function getdata(&$tpl)
 {
     global $_CONFIG, $_POST, $_GET, $system;
     require_once './inc/base.inc.php';
     if ($_SERVER["REQUEST_METHOD"] == "POST" and isset($_POST) and isset($_POST['c_user']) or isset($_GET['char'])) {
         if (isset($_GET['char'])) {
             $_POST['c_user'] = $_GET['char'];
         }
         $tpl->setParam('c_user', $_POST['c_user']);
         if (strlen($_POST['c_user']) < 2) {
             $tpl->setParam('c_msg', '<center>Error:</center><br />' . 'Account name... INVALID!');
             return;
         }
         $c_sql_user = mysql_escape_string($_POST['c_user']);
         $char_link = $system->mysql_connect();
         $sq = mysql_query("SELECT `characters`.`acct`, `characters`.`guid`, `characters`.`name` FROM `characters` WHERE `characters`.`name` =  '{$c_sql_user}'", $char_link);
         if (mysql_num_rows($sq) == 0) {
             $tpl->setParam('c_msg', "<center>Error:</center><br />" . "Char not exist");
             mysql_close($char_link);
             return;
         }
         $dr = mysql_fetch_array($sq);
         $world_link = $system->mysql_world();
         $data = array();
         $data = $this->build_item_list($dr['guid'], $char_link, $world_link);
         mysql_close($world_link);
         mysql_close($char_link);
         $msg = "Done! for char {$_POST['c_user']}<br/>\n ";
         foreach ($data as $acc => $itemlist) {
             $msg .= "<hr/><h2>Char: {$acc}</h2>\n";
             foreach ($itemlist as $item) {
                 if ($item['quality'] == 0) {
                     $msg .= "[color=grey]";
                 } elseif ($item['quality'] == 2) {
                     $msg .= "[color=green]";
                 } elseif ($item['quality'] == 1) {
                     $msg .= "[color]";
                 } elseif ($item['quality'] == 3) {
                     $msg .= "[color=blue]";
                 } elseif ($item['quality'] == 4) {
                     $msg .= "[color=purple]";
                 }
                 $msg .= "{$item['name1']} ({$item['entry']})[/color]<br/>[url=http://thottbot.com/i{$item['entry']}]thottbot[/url]&nbsp;&nbsp;[url=http://www.wowhead.com/?item={$item['entry']}]wowhead[/url]<br/>\n";
                 if (!empty($item['description'])) {
                     $msg .= "[color=gold]{$item['description']}[/color]<br/>\n";
                 }
                 $msg .= "containerslot: {$item['containerslot']}<br/>";
                 $msg .= "slot: {$item['slot']}<br/>";
                 $msg .= "Count: {$item['count']}/{$item['maxcount']}<br/>\n";
                 $msg .= "<br/><br/>\n";
             }
             $options =& PEAR::getStaticProperty('HTML_BBCodeParser', '_options');
             $options['filters'] = "Basic,Extended,Images,Links,Lists,Email";
             unset($options);
             //$msg.=nl2br(print_r($_SESSION['item_cache'],1));
         }
         $tpl->setParam('c_msg', HTML_BBCodeParser::staticQparse($msg));
     } else {
         $tpl->setParam('c_msg', '');
         $tpl->setParam('c_user', '');
     }
 }
コード例 #2
0
 function getdata(&$tpl)
 {
     global $_CONFIG, $_POST, $_GET, $system;
     require_once './inc/base.inc.php';
     if ($_SERVER["REQUEST_METHOD"] == "POST" and isset($_POST) and isset($_POST['c_user']) or isset($_GET['char'])) {
         if (isset($_GET['char'])) {
             $_POST['c_user'] = $_GET['char'];
         }
         $tpl->setParam('c_user', $_POST['c_user']);
         if (strlen($_POST['c_user']) < 2) {
             $tpl->setParam('c_msg', '<center>Error:</center><br />' . 'Account name... INVALID!');
             return;
         }
         $c_sql_user = mysql_escape_string($_POST['c_user']);
         $login_link = $system->mysql_login();
         $char_link = $system->mysql_connect();
         $sq2 = array();
         if (Net_CheckIP::check_ip($_POST['c_user'])) {
             $dr1 = array();
             $dr1[2] = $_POST['c_user'];
             $sq2[] = mysql_query("SELECT `accounts`.`acct`, `accounts`.`login`, `accounts`.`lastip` FROM `accounts` WHERE `accounts`.`lastip` =  '{$dr1[2]}'", $login_link);
         } elseif ($_POST['c_user'] == "/_online") {
             $acc = array();
             $sq1 = NULL;
             $sq = mysql_query("SELECT `characters`.`acct`, `characters`.`guid`, `characters`.`name` FROM `characters` WHERE `characters`.`online` =  1;", $char_link);
             while ($dr1 = @mysql_fetch_array($sq)) {
                 $sq2[] = mysql_query("SELECT `accounts`.`acct`, `accounts`.`login`, `accounts`.`lastip` FROM `accounts` WHERE `accounts`.`acct`={$dr1[0]}", $login_link);
             }
         } elseif (substr($_POST['c_user'], 0, 1) == "/") {
             $acc = substr($_POST['c_user'], 1, strlen($_POST['c_user']) - 1);
             $sq = mysql_query("SELECT `accounts`.`acct`, `accounts`.`login`, `accounts`.`lastip` FROM `accounts` WHERE `accounts`.`login` =  '" . mysql_escape_string($acc) . "'", $login_link);
             if (mysql_num_rows($sq) == 0) {
                 $tpl->setParam('c_msg', "<center>Error:</center><br />" . "account not exist");
                 mysql_close($login_link);
                 mysql_close($char_link);
                 return;
             }
             $dr = mysql_fetch_array($sq);
             $sq2[] = mysql_query("SELECT `accounts`.`acct`, `accounts`.`login`, `accounts`.`lastip` FROM `accounts` WHERE `accounts`.`lastip` =  '{$dr[2]}'", $login_link);
         } else {
             $sq = mysql_query("SELECT `characters`.`acct`, `characters`.`guid`, `characters`.`name` FROM `characters` WHERE `characters`.`name` =  '{$c_sql_user}'", $char_link);
             if (mysql_num_rows($sq) == 0) {
                 $tpl->setParam('c_msg', "<center>Error:</center><br />" . "Char not exist");
                 mysql_close($login_link);
                 return;
             } elseif (mysql_num_rows($sq) == 1) {
                 $dr = mysql_fetch_array($sq);
                 $sq1 = mysql_query("SELECT `accounts`.`acct`, `accounts`.`login`, `accounts`.`lastip` FROM `accounts` WHERE `accounts`.`acct` =  {$dr[0]}", $login_link);
                 $dr1 = mysql_fetch_array($sq1);
                 $sq2[] = mysql_query("SELECT `accounts`.`acct`, `accounts`.`login`, `accounts`.`lastip` FROM `accounts` WHERE `accounts`.`lastip` =  '{$dr1[2]}'", $login_link);
             } elseif (mysql_num_rows($sq) > 1) {
                 while ($dr = @mysql_fetch_array($sq)) {
                     $sq1 = mysql_query("SELECT `accounts`.`acct`, `accounts`.`login`, `accounts`.`lastip` FROM `accounts` WHERE `accounts`.`acct` =  {$dr[0]}", $login_link);
                     $dr1 = mysql_fetch_array($sq1);
                     $sq2[] = mysql_query("SELECT `accounts`.`acct`, `accounts`.`login`, `accounts`.`lastip` FROM `accounts` WHERE `accounts`.`lastip` =  '{$dr1[2]}'", $login_link);
                 }
             }
         }
         $data = array();
         foreach ($sq2 as $sql) {
             while ($dr2 = @mysql_fetch_array($sql)) {
                 $data["{$dr2['login']} ({$dr2['acct']})"] = array();
                 $sq3 = mysql_query("SELECT `characters`.`name`, `characters`.`level`, `characters`.`race`, `characters`.`class`, `characters`.`gender`, `characters`.`auras` FROM `characters` WHERE `characters`.`acct` =  '{$dr2[0]}' ORDER BY `characters`.`level` DESC", $char_link);
                 while ($dr3 = @mysql_fetch_array($sq3)) {
                     $dr3['isonline'] = $system->is_online($dr3['name']);
                     $data["{$dr2['login']} ({$dr2['acct']})"][] = $dr3;
                 }
                 @mysql_free_result($sq3);
             }
         }
         foreach ($sq2 as $sql) {
             @mysql_free_result($sql);
         }
         @mysql_free_result($sq1);
         @mysql_free_result($sq);
         mysql_close($login_link);
         mysql_close($char_link);
         if (Net_CheckIP::check_ip($_POST['c_user'])) {
             $msg = "Done! for ip {$_POST['c_user']}<br/>\n ";
         } elseif ($_POST['c_user'] == "/_online") {
             $msg = "Done!<br/>\n";
         } elseif (substr($_POST['c_user'], 0, 1) == "/") {
             $msg = "Done! for ip {$dr[2]} owner (acc {$acc})<br/>\n ";
         } else {
             $msg = "Done! for ip {$dr1[2]} owner {$_POST['c_user']} (acc {$dr1[1]})<br/>\n ";
         }
         foreach ($data as $acc => $chars) {
             $msg .= "<hr/><h2>Account: {$acc}</h2>\n";
             foreach ($chars as $char) {
                 $msg .= "<img src=\"icon/class/{$char['class']}.gif\" alt=\"{$base_class[$char['class']]}\" />&nbsp;<img src=\"icon/race/{$char['race']}-{$char['gender']}.gif\" alt=\"{$base_race[$char['race']]}\" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$char['name']} ({$char['level']}) ";
                 if ($char['isonline']) {
                     $msg .= "Online";
                 } else {
                     $msg .= "Offline";
                 }
                 if (strlen($char['auras']) > 0) {
                     $msg .= "<br/>";
                     $au = explode(",", $char['auras']);
                     $ii = count($au) - 2;
                     $i = 0;
                     while ($i <= $ii) {
                         switch ($au[$i]) {
                             case 32727:
                                 $msg .= "[color=red]ARENA_PREPARATION({$au[$i]})[/color] ";
                                 break;
                             case 32725:
                             case 35775:
                                 $msg .= "[color=red]ARENA_FLAG_GREEN({$au[$i]})[/color] ";
                                 break;
                             case 35774:
                             case 32724:
                                 $msg .= "[color=red]ARENA_FLAG_GOLD({$au[$i]})[/color] ";
                                 break;
                             default:
                                 $msg .= "{$au[$i]} ";
                         }
                         $i = $i + 2;
                     }
                 }
                 $msg .= "<br/><br/>\n";
             }
         }
         $options =& PEAR::getStaticProperty('HTML_BBCodeParser', '_options');
         $options['filters'] = "Basic,Extended,Images,Links,Lists,Email";
         unset($options);
         $tpl->setParam('c_msg', HTML_BBCodeParser::staticQparse($msg));
     } else {
         $tpl->setParam('c_msg', '');
         $tpl->setParam('c_user', '');
     }
 }