mirror of
https://github.com/Znote/ZnoteAAC.git
synced 2025-04-30 03:09:22 +02:00
Heavily improved SQL queries usage for guilds.
This commit is contained in:
parent
90c60cb5a0
commit
af729aacb1
@ -499,7 +499,7 @@ function get_guilds_list() {
|
|||||||
function get_guild_players($gid) {
|
function get_guild_players($gid) {
|
||||||
$gid = (int)$gid; // Sanitizing the parameter id
|
$gid = (int)$gid; // Sanitizing the parameter id
|
||||||
if (config('TFSVersion') !== 'TFS_10') return mysql_select_multi("SELECT p.rank_id, p.name, p.level, p.vocation FROM players AS p LEFT JOIN guild_ranks AS gr ON gr.id = p.rank_id WHERE gr.guild_id ='$gid';");
|
if (config('TFSVersion') !== 'TFS_10') return mysql_select_multi("SELECT p.rank_id, p.name, p.level, p.vocation FROM players AS p LEFT JOIN guild_ranks AS gr ON gr.id = p.rank_id WHERE gr.guild_id ='$gid';");
|
||||||
else return mysql_select_multi("SELECT p.id, p.name, p.level, p.vocation, gm.rank_id FROM players AS p LEFT JOIN guild_membership AS gm ON gm.player_id = p.id WHERE gm.guild_id = '$gid' ORDER BY gm.rank_id, p.name;");
|
else return mysql_select_multi("SELECT p.id, p.name, p.level, p.vocation, gm.rank_id, gr.name AS `rank_name` FROM players AS p LEFT JOIN guild_membership AS gm ON gm.player_id = p.id LEFT JOIN guild_ranks AS gr ON gr.id = gm.rank_id WHERE gm.guild_id = '$gid' ORDER BY gm.rank_id, p.name");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns total members in a guild (integer)
|
// Returns total members in a guild (integer)
|
||||||
|
26
guilds.php
26
guilds.php
@ -24,7 +24,7 @@ if (empty($_GET['name'])) {
|
|||||||
|
|
||||||
<h1>Guild List:</h1>
|
<h1>Guild List:</h1>
|
||||||
<?php
|
<?php
|
||||||
$guilds = get_guilds_list();
|
$guilds = mysql_select_multi("SELECT `id`, `name`, `creationdata`, (SELECT COUNT('guild_id') FROM `guild_membership` WHERE `guild_id`=`id`) AS `total` FROM `guilds` ORDER BY `name`;");
|
||||||
if ($guilds !== false) {
|
if ($guilds !== false) {
|
||||||
?>
|
?>
|
||||||
<table id="guildsTable" class="table table-striped table-hover">
|
<table id="guildsTable" class="table table-striped table-hover">
|
||||||
@ -35,12 +35,11 @@ if ($guilds !== false) {
|
|||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
foreach ($guilds as $guild) {
|
foreach ($guilds as $guild) {
|
||||||
$gcount = count_guild_members($guild['id']);
|
if ($guild['total'] >= 1) {
|
||||||
if ($gcount >= 1) {
|
|
||||||
$url = url("guilds.php?name=". $guild['name']);
|
$url = url("guilds.php?name=". $guild['name']);
|
||||||
echo '<tr class="special" onclick="javascript:window.location.href=\'' . $url . '\'">';
|
echo '<tr class="special" onclick="javascript:window.location.href=\'' . $url . '\'">';
|
||||||
echo '<td>'. $guild['name'] .'</td>';
|
echo '<td>'. $guild['name'] .'</td>';
|
||||||
echo '<td>'. count_guild_members($guild['id']) .'</td>';
|
echo '<td>'. $guild['total'] .'</td>';
|
||||||
echo '<td>'. getClock($guild['creationdata'], true) .'</td>';
|
echo '<td>'. getClock($guild['creationdata'], true) .'</td>';
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
}
|
}
|
||||||
@ -179,11 +178,24 @@ if (user_logged_in() === true) {
|
|||||||
<th>Status:</th>
|
<th>Status:</th>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
|
if ($config['TFSVersion'] == 'TFS_10') {
|
||||||
|
$onlinelist = array();
|
||||||
|
$gplayers = array();
|
||||||
foreach ($players as $player) {
|
foreach ($players as $player) {
|
||||||
if ($config['TFSVersion'] !== 'TFS_10') $chardata = user_character_data(user_character_id($player['name']), 'online');
|
$gplayers[] = $player['id'];
|
||||||
else $chardata['online'] = (user_is_online_10(user_character_id($player['name']))) ? 1 : 0;
|
}
|
||||||
|
$gplayers = join(',',$gplayers);
|
||||||
|
$onlinequery = mysql_select_multi("SELECT `player_id` FROM `players_online` WHERE `player_id` IN ($gplayers);");
|
||||||
|
if ($onlinequery !== false) foreach ($onlinequery as $online) {
|
||||||
|
$onlinelist[] = $online['player_id'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($players as $player) {
|
||||||
|
if ($config['TFSVersion'] !== 'TFS_10') $chardata = user_character_data($player['id'], 'online');
|
||||||
|
else $chardata['online'] = (in_array($player['id'], $onlinelist)) ? 1 : 0;
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
echo '<td>'. get_player_guild_rank($player['rank_id']) .'</td>';
|
echo '<td>'. $player['rank_name'] .'</td>';
|
||||||
echo '<td><a href="characterprofile.php?name='. $player['name'] .'">'. $player['name'] .'</a></td>';
|
echo '<td><a href="characterprofile.php?name='. $player['name'] .'">'. $player['name'] .'</a></td>';
|
||||||
echo '<td>'. $player['level'] .'</td>';
|
echo '<td>'. $player['level'] .'</td>';
|
||||||
echo '<td>'. $config['vocations'][$player['vocation']] .'</td>';
|
echo '<td>'. $config['vocations'][$player['vocation']] .'</td>';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user