<?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 */ 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; } } // Several Stuff end @header("Content-Type: text/html; charset=utf-8"); // do not report NOTICE warnings @error_reporting(E_ALL ^ E_NOTICE); //// //// Initialisation //// define('IN_HLSTATS', true); define('PAGE', 'INGAME'); /// /// Classes /// // Load required files require("config.php"); require(INCLUDE_PATH . "/class_db.php"); require(INCLUDE_PATH . "/class_table.php"); require(INCLUDE_PATH . "/functions.php"); $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'] = str_replace('\\','/',$_SERVER['PHP_SELF']); //// //// Main //// if ( isset($_GET["game"]) ) { $game = valid_request($_GET["game"], 0); } $mode = isset($_GET["mode"])?$_GET["mode"]:""; $valid_modes = array( "pro", "motd", "status", "load", "help", "players", "clans", "statsme", "kills", "targets", "accuracy", "actions", "weapons", "maps", "servers", "bans", "claninfo", "weaponinfo", "mapinfo", "actioninfo" ); if (!in_array($mode, $valid_modes)) { $mode = "status"; } pageHeader(); if ( file_exists(PAGE_PATH . "/ingame/$mode.php") ) @include(PAGE_PATH . "/ingame/$mode.php"); else error('Unable to find ' . PAGE_PATH . "/ingame/$mode.php"); pageFooter(); ?>