예제 #1
0
 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();
 }
예제 #3
0
 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;
 }
예제 #4
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";
예제 #6
0
$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">&nbsp;<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();
예제 #7
0
 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;
 }
예제 #8
0
<?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');
예제 #9
0
//$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&amp;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();