593 lines
20 KiB
PHP
593 lines
20 KiB
PHP
<?php
|
|
/*
|
|
HLstatsX Community Edition - Real-time player and clan rankings and statistics
|
|
Copyleft (L) 2008-20XX Nicholas Hastings (nshastings@gmail.com)
|
|
http://www.hlxcommunity.com
|
|
|
|
HLstatsX Community Edition is a continuation of
|
|
ELstatsNEO - Real-time player and clan rankings and statistics
|
|
Copyleft (L) 2008-20XX Malte Bayer (steam@neo-soft.org)
|
|
http://ovrsized.neo-soft.org/
|
|
|
|
ELstatsNEO is an very improved & enhanced - so called Ultra-Humongus Edition of HLstatsX
|
|
HLstatsX - Real-time player and clan rankings and statistics for Half-Life 2
|
|
http://www.hlstatsx.com/
|
|
Copyright (C) 2005-2007 Tobias Oetzel (Tobi@hlstatsx.com)
|
|
|
|
HLstatsX is an enhanced version of HLstats made by Simon Garner
|
|
HLstats - Real-time player and clan rankings and statistics for Half-Life
|
|
http://sourceforge.net/projects/hlstats/
|
|
Copyright (C) 2001 Simon Garner
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation; either version 2
|
|
of the License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
For support and installation notes visit http://www.hlxcommunity.com
|
|
*/
|
|
|
|
define('IN_HLSTATS', true);
|
|
|
|
foreach ($_SERVER as $key => $entry) {
|
|
if ($key !== 'HTTP_COOKIE') {
|
|
$search_pattern = array('/<script>/', '/<\/script>/', '/[^A-Za-z0-9.\-\/=:;_?#&~]/');
|
|
$replace_pattern = array('', '', '');
|
|
$entry = preg_replace($search_pattern, $replace_pattern, $entry);
|
|
|
|
if ($key == 'PHP_SELF') {
|
|
if ((strrchr($entry, '/') !== '/hlstats.php') &&
|
|
(strrchr($entry, '/') !== '/ingame.php') &&
|
|
(strrchr($entry, '/') !== '/show_graph.php') &&
|
|
(strrchr($entry, '/') !== '/sig.php') &&
|
|
(strrchr($entry, '/') !== '/sig2.php') &&
|
|
(strrchr($entry, '/') !== '/index.php') &&
|
|
(strrchr($entry, '/') !== '/status.php') &&
|
|
(strrchr($entry, '/') !== '/top10.php') &&
|
|
(strrchr($entry, '/') !== '/config.php') &&
|
|
(strrchr($entry, '/') !== '/') &&
|
|
($entry !== '')) {
|
|
header('Location: http://'.$_SERVER['HTTP_HOST'].'/hlstats.php');
|
|
exit;
|
|
}
|
|
}
|
|
$_SERVER[$key] = $entry;
|
|
}
|
|
}
|
|
|
|
require('config.php');
|
|
header('Content-Type: text/html; charset=utf-8');
|
|
|
|
// Check PHP configuration
|
|
|
|
if (version_compare(phpversion(), "4.1.0", "<"))
|
|
{
|
|
error("HLstats requires PHP version 4.1.0 or newer (you are running PHP version " . phpversion() . ").");
|
|
}
|
|
|
|
// do not report NOTICE warnings
|
|
error_reporting(E_ALL ^ E_NOTICE);
|
|
|
|
///
|
|
/// Classes
|
|
///
|
|
|
|
// Load database classes
|
|
require(INCLUDE_PATH . "/class_db.php");
|
|
require(INCLUDE_PATH . "/functions.php");
|
|
|
|
////
|
|
//// Initialisation
|
|
////
|
|
|
|
$db_classname = 'DB_' . DB_TYPE;
|
|
if ( class_exists($db_classname) )
|
|
{
|
|
$db = new $db_classname(DB_ADDR, DB_USER, DB_PASS, DB_NAME, DB_PCONNECT);
|
|
}
|
|
else
|
|
{
|
|
error('Database class does not exist. Please check your config.php file for DB_TYPE');
|
|
}
|
|
|
|
$g_options = getOptions();
|
|
|
|
if (!isset($g_options['scripturl']))
|
|
$g_options['scripturl'] = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF');
|
|
|
|
$g_options['scriptbase'] = str_replace('/status.php', '', $g_options['scripturl']);
|
|
|
|
////
|
|
//// Main Config
|
|
////
|
|
|
|
$game = 'css';
|
|
if ((isset($_GET['game'])) && (is_string($_GET['game'])))
|
|
$game = valid_request($_GET['game'], 0);
|
|
$game_escaped = $db->escape($game);
|
|
$server_id = '1';
|
|
if ((isset($_GET['server_id'])) && (is_numeric($_GET['server_id'])))
|
|
$server_id = valid_request($_GET['server_id'], 1);
|
|
$width = '218';
|
|
if ((isset($_GET['width'])) && (is_numeric($_GET['width'])))
|
|
$width = valid_request($_GET['width'], 1);
|
|
$body_color = 'ECF8FF';
|
|
if ((isset($_GET['body_color'])) && (is_string($_GET['body_color'])))
|
|
$body_color = valid_request($_GET['body_color'], 0);
|
|
$background_color = 'ABCCD6';
|
|
if (isset($_GET['bg_color']))
|
|
$background_color = valid_request($_GET['bg_color'], 0);
|
|
$color = '000000';
|
|
if ((isset($_GET['color'])) && (is_string($_GET['color'])))
|
|
$color = valid_request($_GET['color'], 0);
|
|
$border_width = '1';
|
|
if (isset($_GET['border_width']))
|
|
$border_width = valid_request($_GET['border_width'], 1);
|
|
$border_color = 'ABCCD6';
|
|
if (isset($_GET['border_color']))
|
|
$border_color = valid_request($_GET['border_color'], 0);
|
|
$show_logo = '1';
|
|
if ((isset($_GET['show_logo'])) && (is_string($_GET['show_logo'])))
|
|
$show_logo = valid_request($_GET['show_logo'], 1);
|
|
$small_fonts = '1';
|
|
if ((isset($_GET['small_fonts'])) && (is_numeric($_GET['small_fonts'])))
|
|
$small_fonts = valid_request($_GET['small_fonts'], 1);
|
|
$server_name = '1';
|
|
if ((isset($_GET['server_name'])) && (is_string($_GET['server_name'])))
|
|
$server_name = valid_request($_GET['server_name'], 1);
|
|
$server_url = '1';
|
|
if ((isset($_GET['server_url'])) && (is_string($_GET['server_url'])))
|
|
$server_url = valid_request($_GET['server_url'], 1);
|
|
$map_image = '1';
|
|
if ((isset($_GET['map_image'])) && (is_numeric($_GET['map_image'])))
|
|
$map_image = valid_request($_GET['map_image'], 1);
|
|
$show_summary = '1';
|
|
if ((isset($_GET['show_summary'])) && (is_numeric($_GET['show_summary'])))
|
|
$show_summary = valid_request($_GET['show_summary'], 1);
|
|
$map_name = '1';
|
|
if ((isset($_GET['map_name'])) && (is_numeric($_GET['map_name'])))
|
|
$map_name = valid_request($_GET['map_name'], 1);
|
|
$show_flags = '1';
|
|
if ((isset($_GET['show_flags'])) && (is_numeric($_GET['show_flags'])))
|
|
$show_flags = valid_request($_GET['show_flags'], 1);
|
|
$show_players = '1';
|
|
if ((isset($_GET['show_players'])) && (is_numeric($_GET['show_players'])))
|
|
$show_players = valid_request($_GET['show_players'], 1);
|
|
$show_teams = '1';
|
|
if ((isset($_GET['show_teams'])) && (is_numeric($_GET['show_teams'])))
|
|
$show_teams = valid_request($_GET['show_teams'], 1);
|
|
$show_team_wins = '1';
|
|
if ((isset($_GET['show_team_wins'])) && (is_numeric($_GET['show_team_wins'])))
|
|
$show_team_wins = valid_request($_GET['show_team_wins'], 1);
|
|
$show_map_wins = '1';
|
|
if ((isset($_GET['show_map_wins'])) && (is_numeric($_GET['show_map_wins'])))
|
|
$show_map_wins = valid_request($_GET['show_map_wins'], 1);
|
|
$top_players = '10';
|
|
if ((isset($_GET['top_players'])) && (is_numeric($_GET['top_players'])))
|
|
$top_players = valid_request($_GET['top_players'], 1);
|
|
$players_images = '1';
|
|
if ((isset($_GET['players_images'])) && (is_numeric($_GET['players_images'])))
|
|
$players_images = valid_request($_GET['players_images'], 1);
|
|
$show_password = '';
|
|
if ((isset($_GET['show_password'])) && (is_string($_GET['show_password'])))
|
|
$show_password = valid_request($_GET['show_password'], 1);
|
|
|
|
//// Entries
|
|
$result = $db->query("
|
|
SELECT
|
|
IF(publicaddress != '', publicaddress, concat(address, ':', port)) AS addr,
|
|
name,
|
|
publicaddress,
|
|
act_map,
|
|
players,
|
|
kills,
|
|
headshots,
|
|
map_started,
|
|
act_players,
|
|
max_players,
|
|
map_ct_wins,
|
|
map_ts_wins
|
|
FROM
|
|
hlstats_Servers
|
|
WHERE
|
|
serverId=$server_id");
|
|
$server_data = $db->fetch_array($result);
|
|
|
|
if ($small_fonts == 1)
|
|
{
|
|
$fsize = 'fSmall';
|
|
}
|
|
else
|
|
{
|
|
$fsize = 'fNormal';
|
|
}
|
|
|
|
if ($server_data['addr'] != '') {
|
|
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">';
|
|
echo '<html>';
|
|
echo '<head>';
|
|
echo '<title>'.$g_options["sitename"].'</title>';
|
|
echo '<style type="text/css">{margin:0px;padding:0px;}</style>';
|
|
echo '<link rel="stylesheet" type="text/css" href="hlstats.css">';
|
|
echo '<link rel="stylesheet" type="text/css" href="styles/'.$g_options['style'].'">';
|
|
echo '</head>';
|
|
echo '<body style="background:#'.$body_color.';color:#'.$color.';" class="'.$fsize.'">';
|
|
echo '<table border="0" cellpadding="0" cellspacing="0" style="border:'.$border_width.'px solid #'.$border_color.';background:#'.$background_color.';color:#'.$color.';width:'.$width.'px;">';
|
|
|
|
if ($show_logo == 1)
|
|
{
|
|
echo '<tr style="background-image:url('.IMAGE_PATH.'/icons/title-background.gif);"><td align="center" colspan="2" class="'.$fsize.'">';
|
|
$logo = file_exists(IMAGE_PATH.'/icons/shorttitle-'.$game.'.png');
|
|
if ($logo) {
|
|
if ($server_name == 1)
|
|
{
|
|
echo '<a target="_blank" href="'.$g_options["siteurl"].'"><img src="'.IMAGE_PATH.'/icons/shorttitle-'.$game.'.png" style="width:'.$width.'px;border:0px;" alt="'.$g_options['sitename'].'" title="'.$g_options['sitename'].'" /></a>';
|
|
}
|
|
else
|
|
{
|
|
echo '<a target="_blank" href="'.$g_options["siteurl"].'"><img src="'.IMAGE_PATH.'/icons/shorttitle-'.$game.'.png" style="width:'.$width.'px;border:0px;" alt="'.$server_data['name'].'" title="'.$server_data['name'].'" /></a>';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
echo '<a target="_blank" href="http://www.hlxcommunity.com" style="display:block;"><img src="'.IMAGE_PATH.'/icons/title-short.png" style="width:'.$width.'px;border:0px;" alt="Realtime player statistics for Halflife2 Source Engine" title="Realtime player statistics for Halflife2 Source Engine" /></a>';
|
|
}
|
|
echo '</td></tr>';
|
|
}
|
|
|
|
if ($server_name == 1)
|
|
{
|
|
echo '<tr><td align="center" colspan="2" class="'.$fsize.'">';
|
|
echo '<a target="_blank" href="'.$g_options['scriptbase'].'" title="View statistics"><b>'.$server_data['name'].'</b></a>';
|
|
echo '</td></tr>';
|
|
}
|
|
|
|
if ($server_url == 1)
|
|
{
|
|
echo '<tr><td align="center" colspan="2" class="'.$fsize.'">';
|
|
echo '<a href="steam://connect/'.$server_data['addr'].'" title="Connent to Server"><b>'.$server_data['addr'].'</b></a>';
|
|
echo '</td></tr>';
|
|
}
|
|
|
|
if ($show_password != '')
|
|
{
|
|
echo '<tr><td align="center" colspan="2" class="'.$fsize.'">';
|
|
echo '<b>Password: '.$show_password.'</b>';
|
|
echo '</td></tr>';
|
|
}
|
|
|
|
if ($map_image == 1)
|
|
{
|
|
$mapimg = getImage("/games/{$game}/maps/{$server_data['act_map']}");
|
|
if (!file_exists($mapimg['path'])) {
|
|
$mapimg = getImage("/games/{$game}/maps/default");
|
|
if (!file_exists($mapimg['path'])) {
|
|
$mapimg = getImage("/nomap");
|
|
}
|
|
}
|
|
|
|
echo '<tr><td align="center" colspan="2">';
|
|
echo '<a target="_blank" href="'.$g_options['scriptbase'].'/hlstats.php?mode=mapinfo&map='.$server_data['act_map'].'&game='.$game.'"><img src="'.$mapimg['url'].'" style="width:'.$width.'px;border:0px" alt="'.$server_data['act_map'].'" title="'.$server_data['act_map'].'" /></a>';
|
|
echo '</td></tr>';
|
|
}
|
|
|
|
if ($show_summary == 1)
|
|
{
|
|
echo '<tr><td align="left" style="padding-left:2px" class="'.$fsize.'">';
|
|
echo 'Players:';
|
|
echo '</td><td align="right" style="padding-right:2px;" class="'.$fsize.'">';
|
|
echo number_format($server_data['players']);
|
|
echo '</td></tr>';
|
|
|
|
echo '<tr><td align="left" style="padding-left:2px" class="'.$fsize.'">';
|
|
echo 'Kills:';
|
|
echo '</td><td align="right" style="padding-right:2px;" class="'.$fsize.'">';
|
|
echo number_format($server_data['kills']);
|
|
echo '</td></tr>';
|
|
|
|
if ($server_data['headshots'] > 0)
|
|
{
|
|
echo '<tr><td align="left" style="padding-left:2px" class="'.$fsize.'">';
|
|
echo 'Headshots:';
|
|
echo '</td><td align="right" style="padding-right:2px;" class="'.$fsize.'">';
|
|
echo number_format($server_data['headshots']);
|
|
echo '</td></tr>';
|
|
}
|
|
}
|
|
|
|
if ($map_name == 1) {
|
|
echo '<tr><td align="left" style="padding-left:2px" class="'.$fsize.'">';
|
|
echo 'Map:';
|
|
echo '</td><td align="right" style="padding-right:2px;" class="'.$fsize.'">';
|
|
echo $server_data['act_map'];
|
|
echo '</td></tr>';
|
|
}
|
|
$stamp = $server_data['map_started']==0?0:time() - $server_data['map_started'];
|
|
$hours = sprintf("%02d", floor($stamp / 3600));
|
|
$min = sprintf("%02d", floor(($stamp % 3600) / 60));
|
|
$sec = sprintf("%02d", floor($stamp % 60));
|
|
echo '<tr><td align="left" style="padding-left:2px" class="'.$fsize.'">';
|
|
echo 'Map Time:';
|
|
echo '</td><td align="right" style="padding-right:2px;" class="'.$fsize.'">';
|
|
echo $hours.':'.$min.':'.$sec;
|
|
echo '</td></tr>';
|
|
echo '<tr><td align="left" style="padding-left:2px;border-bottom:1px solid #000000;" class="'.$fsize.'">';
|
|
echo 'Online:';
|
|
echo '</td><td align="right" style="padding-right:2px;border-bottom:1px solid #000000;" class="'.$fsize.'">';
|
|
echo $server_data['act_players'].'/'.$server_data['max_players'];
|
|
echo '</td></tr>';
|
|
|
|
if ($show_players == 1)
|
|
{
|
|
echo '<tr><td colspan="2"><table width="100%" border="0" cellpadding="0" cellspacing="0">';
|
|
|
|
unset($team_colors);
|
|
$statsdata = $db->query("
|
|
SELECT
|
|
team,
|
|
name,
|
|
teamkills,
|
|
teamdeaths,
|
|
teamheadshots,
|
|
teamping,
|
|
teamskill,
|
|
teamshots,
|
|
teamhits,
|
|
teamjointime,
|
|
IFNULL(playerlist_bgcolor,'#D5D5D5') as playerlist_bgcolor,
|
|
IFNULL(playerlist_color,'#050505') AS playerlist_color,
|
|
IFNULL(playerlist_index, 99 ) AS playerlist_index
|
|
FROM
|
|
hlstats_Teams
|
|
RIGHT JOIN
|
|
(SELECT
|
|
team,
|
|
sum( kills ) AS teamkills,
|
|
sum( deaths ) AS teamdeaths,
|
|
sum( headshots ) AS teamheadshots,
|
|
avg( ping /2 ) AS teamping,
|
|
avg( skill ) AS teamskill,
|
|
sum( shots ) AS teamshots,
|
|
sum( hits ) AS teamhits,
|
|
sum( unix_timestamp( NOW( ) ) - connected ) AS teamjointime
|
|
FROM
|
|
hlstats_Livestats
|
|
WHERE
|
|
server_id = $server_id
|
|
AND connected >0
|
|
GROUP BY
|
|
team
|
|
ORDER BY
|
|
teamkills
|
|
) teaminfo
|
|
ON
|
|
code = team
|
|
AND
|
|
hlstats_Teams.game = '{$game_escaped}'
|
|
ORDER BY
|
|
playerlist_index
|
|
LIMIT 0 , 30
|
|
");
|
|
|
|
$teamdata = array();
|
|
$playerdata = array();
|
|
$teamno = 0;
|
|
|
|
while ($thisteam = $db->fetch_array($statsdata))
|
|
{
|
|
$teamdata[$teamno] = $thisteam;
|
|
$thisteam_escaped = $db->escape($thisteam['team']);
|
|
$pldata = $db->query("
|
|
SELECT
|
|
player_id,
|
|
name,
|
|
kills,
|
|
deaths,
|
|
headshots,
|
|
ping,
|
|
skill,
|
|
shots,
|
|
hits,
|
|
connected,
|
|
skill_change,
|
|
cli_flag
|
|
FROM
|
|
hlstats_Livestats
|
|
WHERE
|
|
server_id = $server_id
|
|
AND team = '{$thisteam_escaped}'
|
|
ORDER BY
|
|
kills DESC
|
|
");
|
|
|
|
while ($thisplayer = $db->fetch_array($pldata))
|
|
{
|
|
$playerdata[$teamno][] = $thisplayer;
|
|
}
|
|
$teamno++;
|
|
}
|
|
$curteam = 0;
|
|
|
|
while (isset($teamdata[$curteam]))
|
|
{
|
|
$j=0;
|
|
$thisteam = $teamdata[$curteam];
|
|
$teamcolor = 'background:'.$thisteam['playerlist_bgcolor'].';color:'.$thisteam['playerlist_color'];
|
|
$bordercolor = 'background:'.$$thisteam['playerlist_bgcolor'].';color:'.$thisteam['playerlist_color'].';border-top:1px '.$thisteam['playerlist_color'].' solid';
|
|
$team_display_name = htmlspecialchars($thisteam['name']);
|
|
|
|
while (isset($playerdata[$curteam][$j]))
|
|
{
|
|
$thisplayer = $playerdata[$curteam][$j];
|
|
echo '<tr style="'.$teamcolor.'">';
|
|
echo '<td align="left" width="85%" style="'.$teamcolor.';padding-left:3px;" class="'.$fsize.'">';
|
|
if (isset($thisplayer))
|
|
{
|
|
if (strlen($thisplayer['name'])>50)
|
|
{
|
|
$thisplayer['name'] = substr($thisplayer['name'], 0, 50);
|
|
}
|
|
echo '<a target="_blank" style="color:'.$thisteam['playerlist_color'].';" href="'.$g_options['scriptbase'].'/hlstats.php?mode=playerinfo&player='.$thisplayer['player_id'].'" title="Player Details">';
|
|
if ($show_flags == 1)
|
|
{
|
|
echo '<img src="'.getFlag($thisplayer['cli_flag']).'" alt="'.ucfirst(strtolower($thisplayer['cli_country'])).'" title="'.ucfirst(strtolower($thisplayer['cli_country'])).'"> ';
|
|
}
|
|
echo '<span style="vertical-align:middle;">'.htmlspecialchars($thisplayer['name'], ENT_COMPAT).'</span></a>';
|
|
}
|
|
else
|
|
{
|
|
echo ' ';
|
|
}
|
|
echo '</td>';
|
|
echo '<td align="right" width="15%" style="'.$teamcolor.';padding-right:3px" class="'.$fsize.'">';
|
|
if (isset($thisplayer))
|
|
{
|
|
echo $thisplayer['kills'];
|
|
}
|
|
else
|
|
{
|
|
echo ' ';
|
|
}
|
|
echo ' : ';
|
|
if (isset($thisplayer))
|
|
{
|
|
echo $thisplayer['deaths'];
|
|
}
|
|
else
|
|
{
|
|
echo ' ';
|
|
}
|
|
echo '</td>';
|
|
echo '</tr>';
|
|
$j++;
|
|
}
|
|
|
|
if ($show_teams == 1)
|
|
{
|
|
if ($team_display_name)
|
|
{
|
|
echo '<tr style="'.$teamcolor.'">';
|
|
echo '<td align="left" width="85%" style="'.$bordercolor.';'.$teamcolor.';padding-left:3px;" class="'.$fsize.'">';
|
|
echo ' <b>'.$team_display_name.'</b>';
|
|
if ($show_team_wins == 1) {
|
|
if (($map_teama_wins > 0) || ($map_teamb_wins > 0))
|
|
{
|
|
echo ' ('.$map_teama_wins.' wins)';
|
|
}
|
|
}
|
|
echo '</td>';
|
|
echo '<td align="right" width="15%" style="'.$bordercolor.';'.$teamcolor.';padding-right:3px" class="'.$fsize.'">';
|
|
if (count($teamdata[$curteam]) > 0)
|
|
{
|
|
echo $teamdata[$curteam]['teamkills'];
|
|
}
|
|
else
|
|
{
|
|
echo ' ';
|
|
}
|
|
echo ' : ';
|
|
if (count($teamdata[$curteam]) > 0)
|
|
{
|
|
echo $teamdata[$curteam]['teamdeaths'];
|
|
}
|
|
else
|
|
{
|
|
echo ' ';
|
|
}
|
|
echo '</td>';
|
|
echo '</tr>';
|
|
}
|
|
}
|
|
$curteam++;
|
|
}
|
|
// these variables are not set - so removing it
|
|
/*
|
|
if ((count($teama_players) > 0) || (count($teamb_players) > 0))
|
|
{
|
|
if ($show_map_wins == 1) {
|
|
echo '<tr><td align="center" colspan="2" class="'.$fsize.'">';
|
|
echo '<span style="color:'.$teamcolor.';font-weight:bold;">'.$teama_display_name.' '.$server_data['map_ct_wins'].' </span><span style="color:black;">: </span><span style="color:'.$teamcolor.';font-weight:bold;">'.$server_data['map_ts_wins'].' '.$teamb_display_name.'</span>';
|
|
echo '</td></tr>';
|
|
}
|
|
}
|
|
*/
|
|
if (count($teamdata) == 0)
|
|
{
|
|
echo '<tr><td colspan="2" align="left" style="background:#EFEFEF;color:black" class="'.$fsize.'">';
|
|
echo ' No Players';
|
|
echo '</td></tr>';
|
|
}
|
|
echo '</table></td></tr>';
|
|
}
|
|
|
|
if ($top_players > 0)
|
|
{
|
|
$db->query("
|
|
SELECT
|
|
playerId,
|
|
unhex(replace(hex(lastName), 'E280AE', '')) as lastName,
|
|
flag,
|
|
country,
|
|
skill,
|
|
IFNULL(kills/deaths, '-') AS kpd,
|
|
IFNULL(ROUND((hits / shots * 100), 1), 0.0) AS acc
|
|
FROM
|
|
hlstats_Players
|
|
WHERE
|
|
game='{$game_escaped}'
|
|
AND hideranking=0
|
|
ORDER BY
|
|
skill DESC,
|
|
kpd DESC
|
|
LIMIT 0,$top_players
|
|
");
|
|
echo '<tr><td colspan="2"><table border="0" cellpadding="0" cellspacing="0" style="width:100%">';
|
|
echo '<tr><td align="center" colspan="2" style="border:1px solid #000000;" class="'.$fsize.'">';
|
|
echo '<b>TOP '.$top_players.' Players</b>';
|
|
echo '</td></tr>';
|
|
|
|
while ($player = $db->fetch_array())
|
|
{
|
|
echo '<tr><td align="left" width="85%" style="padding-left:2px" class="'.$fsize.'">';
|
|
$cut_pos = 15;
|
|
if ($small_fonts == 1)
|
|
$cut_pos += 10;
|
|
$display_name = $player['lastName'];
|
|
if (strlen($player['lastName']) > $cut_pos)
|
|
$display_name = substr($player['lastName'], 0, $cut_pos);
|
|
echo '<a target="_blank" href="'.$g_options["scriptbase"].'/hlstats.php?mode=playerinfo&player='.$player['playerId'].'" title="Player Details">';
|
|
if ($show_flags == 1)
|
|
{
|
|
if ($player['country'] == '')
|
|
$player['country'] = 'Unknown Country';
|
|
echo '<img src="'.getFlag($player['flag']).'" alt="'.ucfirst($player['country']).'" title="'.ucfirst($player['country']).'"> ';
|
|
}
|
|
else
|
|
{
|
|
if ($players_images == 1)
|
|
{
|
|
echo '<img src="'.IMAGE_PATH.'/player.gif" /> ';
|
|
}
|
|
}
|
|
echo '<span style="vertical-align:middle;">'.htmlspecialchars($display_name, ENT_COMPAT).'</span></a>';
|
|
echo '</td><td align="right" width="15%" style="padding-right:2px;" class="'.$fsize.'">';
|
|
echo $player['skill'];
|
|
echo '</td></tr>';
|
|
}
|
|
echo '</table></td></tr>';
|
|
}
|
|
echo '</table>';
|
|
echo '</body>';
|
|
echo '</html>';
|
|
}
|
|
?>
|