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>';
 | 
						|
} 
 | 
						|
?>
 |