function __construct($id) { global $config, $mysql, $_SYSTEM; $this->id = -1; $r = $mysql->getRow("SELECT guild.guildid as id,guild.name,guild.leaderguid,characters.race,characters.class,characters.name as leader,characters.guid as leader_guid,mid(lpad( hex( CAST(substring_index(substring_index(characters.data,' ',23),' ',-1) as unsigned) ),8,'0'),4,1) as gender FROM `guild` inner join `characters` on guild.leaderguid = characters.guid where guild.guildid = ?1", $id, 'char'); if ($r['id']) { $this->id = $r['id']; } else { return; } $this->name = $r['name']; $this->leader_guid = $r['leader_guid']; $this->leader = $r['leader']; $this->faction = character::getAlliance($r['race']); $this->leader_race = $r['race']; $this->leader_class = $r['class']; $this->leader_gender = $r['gender']; $this->realm = $_SYSTEM->Realms[$_SYSTEM->Realm]; $this->realmID = $_SYSTEM->Realm; $this->members = mysql_result($mysql->query("SELECT count(*) FROM `guild_member` WHERE guildid = ?1", $this->id, 'char'), 0) or $this->members = 0; $r = $mysql->getRows("select rname,rid from guild_rank where guildid = ?1", $this->id, 'char'); if ($r) { foreach ($r as $row) { $this->ranks[$row['rid']] = $row['rname']; } } $r = $mysql->getRows("select guid,race,class,?3 as level,?4 as gender,name from characters where ?1 = ?2", SQL_template(CHAR_GUILD_OFFSET), $this->id, SQL_template(CHAR_LEVEL_OFFSET), CHAR_GENDER_OFFSET, 'char'); if ($r) { foreach ($r as $key => $row) { foreach ($row as $c => $col) { $this->membersList[$key][$c] = $col; } } } }
function load_arenateams() { global $config, $mysql; $this->Types = array(2, 3, 5); foreach ($this->Types as $t) { $this->ArenaTeams[$t] = array(); $r[$t] = $mysql->getRows("select arena_team.arenateamid, arena_team.name, arena_team.type, arena_team.captainguid, characters.race from arena_team inner join characters on arena_team.captainguid = characters.guid where type = ?1 limit 50", $t, 'char'); if (!$r[$t]) { continue; } foreach ($r[$t] as $i => $row) { $arenalist .= $row['arenateamid'] . ','; foreach ($row as $key => $value) { if ($key == 'race') { $this->ArenaTeams[$t][$i]['faction'] = character::getAlliance($value); } else { $this->ArenaTeams[$t][$i][$key] = $value; } } } } $this->load_arena_members($arenalist); $this->load_arena_stats($arenalist); $this->arena_sort(); }
function __construct($id) { global $config, $mysql, $_SYSTEM; $this->id = -1; $r = $mysql->getRow("SELECT guild.guildid as id,guild.name,guild.leaderguid,characters.race,characters.class,characters.name as leader,characters.guid as leader_guid,mid(lpad( hex( CAST(substring_index(substring_index(characters.data,' ',23),' ',-1) as unsigned) ),8,'0'),4,1) as gender FROM `guild` inner join `characters` on guild.leaderguid = characters.guid where guild.guildid = ?1", $id, 'char'); if ($r['id']) { $this->id = $r['id']; } else { return; } $this->name = $r['name']; $this->leader_guid = $r['leader_guid']; $this->leader = $r['leader']; $this->faction = character::getAlliance($r['race']); $this->leader_race = $r['race']; $this->leader_class = $r['class']; $this->leader_gender = $r['gender']; $this->realm = $_SYSTEM->Realms[$_SYSTEM->Realm]; $this->realmID = $_SYSTEM->Realm; $this->members = mysql_result($mysql->query("SELECT count(*) FROM `guild` WHERE guildid = ?1", $this->id, 'char'), 0) or $this->members = 0; }
function start() { global $config, $SQL, $mysql, $_SYSTEM; $WHERE = 'WHERE '; if ($this->name != '') { $WHERE .= 'guild.name LIKE \'%' . $this->name . '%\' AND '; } $WHERE .= '1=1'; $il = $this->per_page + 1; $st = $this->per_page * $this->page; $LIMIT = 'LIMIT ' . $st . ', ' . $il; $data = array(); $i = 0; foreach ($_SYSTEM->Realms as $rID => $rName) { $d = $mysql->getRows("SELECT guild.guildid as id,guild.name,guild.leaderguid,characters.race,characters.name as leader,characters.guid as leader_guid\n FROM `guild` inner join `characters` on guild.leaderguid = characters.guid\n\t\t\t\t{$WHERE}\n {$LIMIT}", 'char_' . $rID); if (!$d) { continue; } $this->count += mysql_result($mysql->query("SELECT count(*) FROM `guild` {$WHERE}", 'char_' . $rID), 0) or $this->count = 0; foreach ($d as $r) { foreach ($r as $key => $value) { $data[$i][$key] = $value; } $ids .= $data[$i]['id'] . ','; $data[$i]['members'] = 0; $pos[$data[$i]['id']] = $i; $data[$i]['realm'] = $rName; $data[$i]['faction'] = character::getAlliance($data[$i]['race']); $i++; } if ($r = $mysql->getRows("select * from `guild_member` where guildid in (?1-1)", $ids, 'char_' . $rID)) { foreach ($r as $row) { $data[$pos[$row['guildid']]]['members']++; } } } return $data; }
<?php header("content-type: text/xml"); $_FPREFIX = '../'; include '../init.php'; $_SEARCH = new search_character($_GET['name'], $_GET['lvl_down'], $_GET['lvl_up'], $_GET['guildid'], $_GET['class'], (int) $_GET['page']); $_SEARCH->set_sort($_GET['sort_by'], (int) $_GET['sort_asc']); $_SEARCH->Realm = (int) $_GET['RealmID'] ? (int) $_GET['RealmID'] : -1; $data = $_SEARCH->start(); $oc = count($data) - $_SEARCH->per_page; echo '<?xml version="1.0" encoding="utf-8"?> <characters> <overcount>' . $oc . '</overcount>' . "\n"; echo '<count>' . $_SEARCH->count . '</count>' . "\n"; for ($i = 0; $i < count($data) && $i < 3 * $_SEARCH->per_page; $i++) { if ($data[$i]['honor'] > 1000000000) { $data[$i]['honor'] = 0; } $temp = $data[$i]; echo '<character>' . "\n"; foreach ($temp as $key => $value) { if ($value == '') { $value = ' '; } echo '<' . $key . '>' . $value . '</' . $key . '>' . "\n"; } echo '<alliance>' . character::getAlliance($data[$i]['race']) . '</alliance>' . "\n" . '</character>' . "\n"; } echo '</characters>' . "\n";
$tp->assign('place', $place); $tp->assign('rank_border', $rank[2]); $tp->assign('wg', $r['games']); $tp->assign('ww', $r['wins']); $tp->assign('wl', $r['games'] - $r['wins']); $tp->assign('wp', $r['games'] ? round($r['wins'] / $r['games'] * 100) : 0); $tp->assign('wr', $r['rating']); $tp->assign('sg', $r['played']); $tp->assign('sw', $r['wins2']); $tp->assign('sl', $r['played'] - $r['wins2']); $tp->assign('sp', $r['played'] ? round($r['wins2'] / $r['played'] * 100) : 0); $icon = getSmallArenaIcon($r); $tp->assign('icon', $icon); $m = $mysql->getRows("select arena_team_member.*,characters.name,characters.race,characters.class,?3 as level,?4 as gender,guild.name as gname from arena_team_member inner join characters on arena_team_member.guid= characters.guid left join guild on guild.guildid = ?2 where arena_team_member.arenateamid = ?1", $r['arenateamid'], SQL_template(CHAR_GUILD_OFFSET), SQL_template(CHAR_LEVEL_OFFSET), CHAR_GENDER_OFFSET, 'char'); if ($m) { foreach ($m as $member) { $team_faction = character::getAlliance($member['race']); $table .= '<tr><td><a href="character-sheet.php?Realm={$realm}&name=' . $member['name'] . '">' . $member['name'] . '</a></td>'; $table .= '<td>' . ($member['gname'] ? '<a href="guild-info.php?Realm={$realm}&name=' . $member['gname'] . '">' . $member['gname'] . '</a>' : 'None') . '</td>'; $table .= '<td><img class="staticTip" onmouseover="setTipText(\'' . character::raceToString($member['race']) . '\');" src="images/icons/race/' . $member['race'] . '-' . $member['gender'] . '.gif"> <img class="staticTip" onmouseover="setTipText(\'' . character::classToString($member['class']) . '\');" src="images/icons/class/' . $member['class'] . '.gif"></td>'; $table .= '<td class="rightNum">' . $member['played_season'] . '</td><td class="rightNum" style="color: #678705;">' . $member['wons_season'] . '</td><td class="rightNum" style="color: #9A1401;">' . ($member['played_season'] - $member['wons_season']) . '</td><td class="rightNum">' . ($member['played_season'] ? round($member['wons_season'] / $member['played_season'] * 100) : 0) . '%</td><td class="rightNum">' . $member['personal_rating'] . '</td></tr>'; } } else { $table = '<tr><td colspan="8">No members</td></tr>'; } $tp->assign('table', $table); $tp->assign('faction', $team_faction); $tp->assign('realm', $_SYSTEM->Realms[$_SYSTEM->Realm]); $c->assign('content', $tp->output); $c->display(); $_SYSTEM->printFooter();
function start() { global $config, $SQL, $mysql, $_SYSTEM; $WHERE = 'WHERE '; if ($this->name != '') { $WHERE .= 'arena_team.name LIKE \'%' . $this->name . '%\' AND '; } $WHERE .= '1=1'; $il = $this->per_page; $st = $this->per_page * $this->page; $LIMIT = 'LIMIT ' . $st . ', ' . $il; $data = array(); $i = 0; foreach ($_SYSTEM->Realms as $rID => $rName) { $d = $mysql->getRows("SELECT arena_team.arenateamid as id,arena_team.name,arena_team.type,arena_team_stats.rating,characters.race FROM `arena_team`,`characters`,`arena_team_stats`\n\t\t\t\t{$WHERE} AND arena_team.arenateamid = arena_team_stats.arenateamid AND arena_team.captainguid = characters.guid\n {$LIMIT}", 'char_' . $rID); if (!$d) { continue; } $this->count += mysql_result($mysql->query("SELECT count(*) FROM `arena_team` {$WHERE}", 'char_' . $rID), 0) or $this->count = 0; foreach ($d as $r) { foreach ($r as $key => $value) { $data[$i][$key] = $value; } $data[$i]['realm'] = $rName; $data[$i]['faction'] = character::getAlliance($data[$i]['race']); $i++; } } return $data; }
<?php require 'init.php'; $c->add('main'); $c->assign('menu', $menu->output); $tp = new template(); $tp->add('honor-ranking'); if (!in_array($_GET['type'], array('hk', 'honor'))) { $_SYSTEM->error("Invalid ranking type."); } $r = $mysql->getRows("select characters.name,characters.race,characters.class,?2 as gender,?1 as hh,guild.name as gname,?4 as level from characters left join guild on guild.guildid = ?3 where ?1 < 2000000000 order by ?1 desc limit ?5", $_GET['type'] == 'hk' ? SQL_template(CHAR_HK_OFFSET) : SQL_template(CHAR_HONOR_OFFSET), CHAR_GENDER_OFFSET, SQL_template(CHAR_GUILD_OFFSET), SQL_template(CHAR_LEVEL_OFFSET), $config['ladder_rows_limit'], 'char'); if ($r) { $i = 1; foreach ($r as $row) { $row['faction'] = character::getAlliance($row['race']); $table .= '<tr onMouseOver="zoomInArenaIcon(this)" onMouseOut="zoomOutArenaIcon(this)"><td class="rightNum" style="font-weight: bold;">' . $i++ . '</td><td> <a href="character-sheet.php?Realm={$realm}&name=' . $row['name'] . '">' . $row['name'] . '</a></td><td style="white-space: nowrap">' . $row['level'] . '</td><td class="centNum"><img src="images/icons/race/' . $row['race'] . '-' . $row['gender'] . '.gif" > <img src="images/icons/class/' . $row['class'] . '.gif" ></td><td class="centNum"><img class="" src="images/icons/faction/icon-' . $row['faction'] . '.gif" ></td><td style="font-weight: bold; color: #678705;">' . ($row['gname'] ? '<a href="guild-info.php?Realm={$realm}&name=' . $row['gname'] . '">' . $row['gname'] . '</a>' : 'None') . '</td><td class="rightNum" style="font-weight: bold;">' . $row['hh'] . '</td> </tr>'; } } else { $table = '<tr><td colspan="7">No results</td></tr>'; } $tp->assign('table', $table); $tp->assign('realm', $_SYSTEM->Realms[$_SYSTEM->Realm]); if (count($_SYSTEM->Realms) > 1) { foreach ($_SYSTEM->Realms as $r) { $realmlist .= '<a href="honor-ranking.php?Realm=' . $r . '&type=' . $_GET['type'] . '">' . $r . '</a>, '; } } $tp->assign('realmlist', $realmlist ? '(Realms: ' . substr($realmlist, 0, -2) . ')' : ''); $tp->assign('type', $_GET['type'] == 'hk' ? 'HK' : 'Honor');
//$tp->add('table'); $tp->add('pvp_table'); $s = new search_character(); $s->set_sort('hk', 1); $s->per_page = 50; $s->Realm = $_SYSTEM->Realm; $data = $s->start(); $realms = '<h2>PvP Top 50: <i>' . $_SYSTEM->Realms[$_SYSTEM->Realm] . '</i></h2> <span class="page-subheader">(Realms: '; foreach ($_SYSTEM->Realms as $key => $value) { $realms .= '<a href="' . $_DOMAIN . 'index.php?act=pvp&Realm=' . $value . '">' . $value . '</a> |'; } $tp->assign('realms', substr($realms, 0, -1) . ')</span>'); $i = 1; foreach ($data as $char) { $add .= '<tr class="csearch-results-table-item"><td class="">' . $i++ . '.</td> <td class=""><img alt="" src="' . $_DOMAIN . 'images/icons/' . character::getAlliance($char['race']) . '.png"> <a href="' . $_DOMAIN . 'index.php?character=' . $char['guid'] . '&Realm=' . $char['realm'] . '">' . $char['name'] . '</a></td> <td class="">' . $char['level'] . '</td> <td class="rightalign nopadding"> <img onMouseOut="tooltip_hide()" onMouseOver="tooltip(\'' . $_LANGUAGE->text[character::raceToString($char['race'])] . '\')" alt="" src="' . $_DOMAIN . 'images/icons/race/' . $char['race'] . '-' . $char['gender'] . '.gif"></td> <td class="leftalign nopadding"> <img onMouseOut="tooltip_hide()" onMouseOver="tooltip(\'' . $_LANGUAGE->text[character::classToString($char['class'])] . '\')" alt="" src="' . $_DOMAIN . 'images/icons/class/' . $char['class'] . '.gif"></td> <td class="">' . ($char['guildid'] ? '<a href="' . $_DOMAIN . 'index.php?guild=' . $char['guildid'] . '">' : '') . $char['guild'] . ($char['guildid'] ? '</a>' : '') . '</td> <td class="">' . $char['hk'] . '</td> <td class="">' . $char['honor'] . '</td> </tr>'; } $tp->assign('ranking', $add); $_LANGUAGE->translate($tp); $tp->display();