341 lines
14 KiB
PHP
341 lines
14 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
|
||
*/
|
||
|
||
if ( !defined('IN_HLSTATS') )
|
||
{
|
||
die('Do not access this file directly.');
|
||
}
|
||
|
||
/*
|
||
* HLstatsX Page Header This file will be inserted at the top of every page
|
||
* generated by HLstats. This file can contain PHP code.
|
||
*/
|
||
|
||
// hit counter
|
||
$db->query("UPDATE hlstats_Options SET value=value+1 WHERE keyname='counter_hits';");
|
||
|
||
// visit counter
|
||
if ($_COOKIE['ELstatsNEO_Visit'] == 0) {
|
||
// kein cookie gefunden, also visitcounter erh<72>hen und cookie setzen
|
||
$db->query("UPDATE hlstats_Options SET value=value+1 WHERE keyname='counter_visits';");
|
||
@setcookie('ELstatsNEO_Visit', '1', time() + ($g_options['counter_visit_timeout'] * 60), '/');
|
||
}
|
||
|
||
global $game,$mode;
|
||
|
||
// see if they have a defined style or a new style they'd like
|
||
$selectedStyle = (isset($_COOKIE['style']) && $_COOKIE['style']) ? $_COOKIE['style'] : "";
|
||
$selectedStyle = isset($_POST['stylesheet']) ? $_POST['stylesheet'] : $selectedStyle;
|
||
|
||
// if they do make sure it exists
|
||
if(!empty($selectedStyle))
|
||
{
|
||
// this assumes that styles is up a directory from page_path, this might be a bad assumption
|
||
$testfile=sprintf("%s/%s/%s", PAGE_PATH, '../styles', $selectedStyle);
|
||
if(!file_exists($testfile))
|
||
{
|
||
$selectedStyle = "";
|
||
}
|
||
}
|
||
|
||
// if they don't have one defined or the defined was is invalid use the default
|
||
if(empty($selectedStyle))
|
||
{
|
||
$selectedStyle=$g_options['style'];
|
||
}
|
||
|
||
// if they had one, or tried to have one, set it to whatever we resolved it to
|
||
if (isset($_POST['stylesheet']) || isset($_COOKIE['style']))
|
||
{
|
||
setcookie('style', $selectedStyle, time()+60*60*24*30);
|
||
}
|
||
|
||
// this code here assumes that styles end with .css (the selector box for users and for admin does NOT check), someone may want to change this -octo
|
||
// Determine if we have custom nav images available
|
||
if ($selectedStyle) {
|
||
$style = preg_replace('/\.css$/','',$selectedStyle);
|
||
} else {
|
||
$style = preg_replace('/\.css$/','',$g_options['style']);
|
||
}
|
||
$iconpath = IMAGE_PATH . "/icons";
|
||
if (file_exists($iconpath . "/" . $style)) {
|
||
$iconpath = $iconpath . "/" . $style;
|
||
}
|
||
|
||
?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
|
||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
<meta http-equiv="X-UA-Compatible" content="IE=8" />
|
||
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
|
||
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
|
||
<link rel="stylesheet" type="text/css" href="hlstats.css" />
|
||
<link rel="stylesheet" type="text/css" href="styles/<?php echo $selectedStyle; ?>" />
|
||
<link rel="stylesheet" type="text/css" href="css/SqueezeBox.css" />
|
||
<!-- U R A SMACKHEAD -->
|
||
<?php
|
||
if ($mode == 'players')
|
||
{
|
||
echo "\t<link rel=\"stylesheet\" type=\"text/css\" href=\"css/Autocompleter.css\" />\n";
|
||
}
|
||
?>
|
||
<link rel="SHORTCUT ICON" href="favicon.ico" />
|
||
<script type="text/javascript" src="<?php echo INCLUDE_PATH; ?>/js/mootools.js"></script>
|
||
<script type="text/javascript" src="<?php echo INCLUDE_PATH; ?>/js/SqueezeBox.js"></script>
|
||
<script type="text/javascript" src="<?php echo INCLUDE_PATH; ?>/js/heatmap.js"></script>
|
||
<?php
|
||
if ($g_options['playerinfo_tabs'] == '1') {
|
||
?>
|
||
<script type="text/javascript" src="<?php echo INCLUDE_PATH; ?>/js/tabs.js"></script>
|
||
<?php
|
||
}
|
||
?>
|
||
<title>
|
||
<?php
|
||
echo $g_options['sitename'];
|
||
foreach ($title as $t)
|
||
{
|
||
echo " - $t";
|
||
}
|
||
?>
|
||
</title>
|
||
</head>
|
||
<body>
|
||
<?php
|
||
//JS Check
|
||
|
||
if ( $_POST['js'] )
|
||
{
|
||
$_SESSION['nojs'] = 0;
|
||
} else {
|
||
if ((!isset($_SESSION['nojs'])) or ($_SESSION['nojs'] == 1)) {
|
||
// Send javascript form - if they have javascript enabled it will POST the JS variable, and the code above will update their session variable
|
||
echo '
|
||
<!-- Either this is your first visit in a while, or you don\'t have javascript enabled -->
|
||
<form name="jsform" id="jsform" action="" method="post" style="display:none">
|
||
<div>
|
||
<input name="js" type="text" value="true" />
|
||
<script type="text/javascript">
|
||
document.jsform.submit();
|
||
</script>
|
||
</div>
|
||
</form>'
|
||
;
|
||
$_SESSION['nojs'] = 1;
|
||
$g_options['playerinfo_tabs'] = 0;
|
||
$g_options['show_google_map'] = 0;
|
||
}
|
||
}
|
||
|
||
// Determine if we should show SourceBans links/Forum links
|
||
if ($g_options['sourcebans_address'] && file_exists($iconpath . "/title-sourcebans.png")) {
|
||
$extratabs .= "<li><a href=\"". $g_options['sourcebans_address'] . "\" target=\"_blank\"><img src=\"" . $iconpath . "/title-sourcebans.png\" alt=\"SourceBans\" /></a></li>\n";
|
||
}
|
||
if ($g_options['forum_address'] && file_exists($iconpath . "/title-forum.png")) {
|
||
$extratabs .= "<li><a href=\"" . $g_options['forum_address'] . "\" target=\"_blank\"><img src=\"" . $iconpath . "/title-forum.png\" alt=\"Forum\" /></a></li>\n";
|
||
}
|
||
?>
|
||
<div class="block">
|
||
|
||
<div class="headerblock">
|
||
<div class="title">
|
||
<a href="<?php echo $g_options['scripturl']; ?>"><img src="<?php echo $iconpath; ?>/title.png" alt="HLstatsX Community Edition" title="HLstatsX Community Edition" /></a>
|
||
</div>
|
||
|
||
<?php
|
||
|
||
// Grab count of active games -- if 1, we won't show the games list icons
|
||
$resultGames = $db->query("
|
||
SELECT
|
||
COUNT(code)
|
||
FROM
|
||
hlstats_Games
|
||
WHERE
|
||
hidden='0'
|
||
");
|
||
|
||
list($num_games) = $db->fetch_row($resultGames);
|
||
|
||
if ($num_games > 1 && $g_options['display_gamelist'] == 1) {
|
||
?>
|
||
<div class="header_gameslist"><?php @include(PAGE_PATH .'/gameslist.php'); ?></div>
|
||
<?php
|
||
}
|
||
?>
|
||
<div class="headertabs">
|
||
<ul>
|
||
<li><a href="<?php echo $g_options['scripturl'] ?>"><img src="<?php echo $iconpath; ?>/title-contents.png" alt="Contents" /></a></li>
|
||
<li><a href="<?php echo $g_options['scripturl'] ?>?mode=search"><img src="<?php echo $iconpath; ?>/title-search.png" alt="Search" /></a></li>
|
||
<?php if ($extratabs) { print $extratabs; } ?>
|
||
<li><a href="<?php echo $g_options['scripturl'] ?>?mode=help"><img src="<?php echo $iconpath; ?>/title-help.png" alt="Help" /></a></li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="location" style="clear:both;width:100%;">
|
||
<ul class="fNormal" style="float:left">
|
||
<?php
|
||
if ($g_options['sitename'] && $g_options['siteurl'])
|
||
{
|
||
echo '<li><a href="http://' . preg_replace('/http:\/\//', '', $g_options['siteurl']) . '">'. $g_options['sitename'] . '</a> <span class="arrow">»</span></li>';
|
||
}
|
||
echo '<li><a href="http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '">HLstatsX</a>';
|
||
|
||
|
||
$i=0;
|
||
foreach ($location as $l=>$url)
|
||
{
|
||
$url = preg_replace('/%s/', $g_options['scripturl'], $url);
|
||
$url = preg_replace('/&/', '&', $url);
|
||
echo ' <span class="arrow">»</span></li><li>';
|
||
if ($url) {
|
||
echo "<a href=\"$url\">$l</a>";
|
||
} else {
|
||
echo "<strong>$l</strong>";
|
||
}
|
||
$i++;
|
||
}
|
||
?> </li>
|
||
</ul>
|
||
|
||
<?php
|
||
if ($g_options['display_style_selector'] == 1) {
|
||
?>
|
||
<div class="fNormal" style="float:right;">
|
||
<form name="style_selection" id="style_selection" action="" method="post"> Style:
|
||
<select name="stylesheet" onchange="document.style_selection.submit()">
|
||
<?php
|
||
$d = dir('styles');
|
||
while (false !== ($e = $d->read())) {
|
||
if (is_file("styles/$e") && ($e != '.') && ($e != '..') && $e != $g_options['style']) {
|
||
$ename = ucwords(strtolower(str_replace(array('_','.css'), array(' ',''), $e)));
|
||
$styles[$e] = $ename;
|
||
}
|
||
}
|
||
$d->close();
|
||
asort($styles);
|
||
$styles = array_merge(array($g_options['style'] => 'Default'),$styles);
|
||
foreach ($styles as $e => $ename) {
|
||
$sel = '';
|
||
if ($e == $selectedStyle) $sel = ' selected="selected"';
|
||
echo "\t\t\t\t<option value=\"$e\"$sel>$ename</option>\n";
|
||
} ?>
|
||
</select>
|
||
</form>
|
||
</div>
|
||
<?php
|
||
}
|
||
?>
|
||
</div>
|
||
<div class="location_under" style="clear:both;width:100%;"></div>
|
||
</div>
|
||
|
||
<br />
|
||
|
||
<div class="content" style="clear:both;">
|
||
<?php
|
||
global $mode;
|
||
if ($g_options['bannerdisplay'] != 0 && ($mode == 'contents' || $g_options['bannerdisplay']==1)) {
|
||
?>
|
||
<div class="block" style="text-align:center;">
|
||
<img src="<?php echo ((strncmp($g_options['bannerfile'], 'http:/', 6) == 0)?$g_options['bannerfile']:IMAGE_PATH.'/'.$g_options['bannerfile']); ?>" alt="Banner" />
|
||
</div>
|
||
<?php
|
||
}
|
||
?>
|
||
|
||
<?php
|
||
|
||
if ($game != '') {
|
||
|
||
?>
|
||
|
||
<span class="fHeading"> <img src="<?php echo IMAGE_PATH; ?>/downarrow.gif" alt="" /> Sections</span><p />
|
||
<ul class="navbar">
|
||
<li><a href="<?php echo $g_options['scripturl'] . "?game=$game"; ?>" class="fHeading"><img src="<?php echo $iconpath; ?>/nav-servers.png" alt="Servers" /></a> <a href="<?php echo $g_options['scripturl'] . "?game=$game"; ?>" class="fHeading">Servers</a></li>
|
||
|
||
<?php
|
||
if ($g_options['nav_globalchat']==1) {
|
||
?>
|
||
<li><a href="<?php echo $g_options['scripturl'] . "?mode=chat&game=$game"; ?>" class="fHeading"><img src="<?php echo $iconpath; ?>/nav-chat.png" alt="Chat" /></a> <a href="<?php echo $g_options['scripturl'] . "?mode=chat&game=$game"; ?>" class="fHeading">Chat</a></li>
|
||
<?php
|
||
}
|
||
?>
|
||
<li><a href="<?php echo $g_options['scripturl'] . "?mode=players&game=$game"; ?>" class="fHeading"><img src="<?php echo $iconpath; ?>/nav-players.png" alt="Players" /></a> <a href="<?php echo $g_options['scripturl'] . "?mode=players&game=$game"; ?>" class="fHeading">Players</a></li>
|
||
<li><a href="<?php echo $g_options['scripturl'] . "?mode=clans&game=$game"; ?>" class="fHeading"><img src="<?php echo $iconpath; ?>/nav-clans.png" alt="Clans" /></a> <a href="<?php echo $g_options['scripturl'] . "?mode=clans&game=$game"; ?>" class="fHeading">Clans</a></li>
|
||
|
||
<?php
|
||
if ($g_options["countrydata"]==1) {
|
||
?>
|
||
<li><a href="<?php echo $g_options['scripturl'] . "?mode=countryclans&game=$game"; ?>" class="fHeading"><img src="<?php echo $iconpath; ?>/nav-countryclans.png" alt="CountryClans" /></a> <a href="<?php echo $g_options['scripturl'] . "?mode=countryclans&game=$game&sort=nummembers"; ?>" class="fHeading">Countries</a></li>
|
||
<?php
|
||
}
|
||
?>
|
||
<li><a href="<?php echo $g_options['scripturl'] . "?mode=awards&game=$game"; ?>" class="fHeading"><img src="<?php echo $iconpath; ?>/nav-awards.png" alt="Awards" /></a> <a href="<?php echo $g_options['scripturl'] . "?mode=awards&game=$game"; ?>" class="fHeading">Awards</a></li>
|
||
<?php
|
||
// look for actions
|
||
$db->query("SELECT game FROM hlstats_Actions WHERE game='".$game."' LIMIT 1");
|
||
if ($db->num_rows()>0) {
|
||
?>
|
||
<li><a href="<?php echo $g_options['scripturl'] . "?mode=actions&game=$game"; ?>" class="fHeading"><img src="<?php echo $iconpath; ?>/nav-actions.png" alt="Actions" /></a> <a href="<?php echo $g_options['scripturl'] . "?mode=actions&game=$game"; ?>" class="fHeading">Actions</a></li>
|
||
<?php
|
||
}
|
||
?>
|
||
<li><a href="<?php echo $g_options['scripturl'] . "?mode=weapons&game=$game"; ?>" class="fHeading"><img src="<?php echo $iconpath; ?>/nav-weapons.png" alt="Weapons" /></a> <a href="<?php echo $g_options['scripturl'] . "?mode=weapons&game=$game"; ?>" class="fHeading">Weapons</a></li>
|
||
<li><a href="<?php echo $g_options['scripturl'] . "?mode=maps&game=$game"; ?>" class="fHeading"><img src="<?php echo $iconpath; ?>/nav-maps.png" alt="Maps" /></a> <a href="<?php echo $g_options['scripturl'] . "?mode=maps&game=$game"; ?>" class="fHeading">Maps</a></li>
|
||
<?php
|
||
$result = $db->query("SELECT game from hlstats_Roles WHERE game='$game' AND hidden = '0'");
|
||
$numitems = $db->num_rows($result);
|
||
if ($numitems > 0) {
|
||
?>
|
||
<li><a href="<?php echo $g_options['scripturl'] . "?mode=roles&game=$game"; ?>" class="fHeading"><img src="<?php echo $iconpath; ?>/nav-roles.png" alt="Roles" /></a> <a href="<?php echo $g_options['scripturl'] . "?mode=roles&game=$game"; ?>" class="fHeading">Roles</a></li>
|
||
<?php
|
||
}
|
||
if ($g_options['nav_cheaters'] == 1) {
|
||
?>
|
||
<li><a href="<?php echo $g_options['scripturl'] . "?mode=bans&game=$game"; ?>" class="fHeading"><img src="<?php echo $iconpath; ?>/nav-bans.png" alt="Banned" /></a> <a href="<?php echo $g_options['scripturl'] . "?mode=bans&game=$game"; ?>" class="fHeading">Bans</a></li>
|
||
<?php
|
||
}
|
||
?>
|
||
</ul>
|
||
<?php
|
||
}
|
||
?>
|