/web/ingame.php
PHP | 153 lines | 97 code | 11 blank | 45 comment | 6 complexity | 1b952160dfeeaef3dc48c2ed4cf14c4e MD5 | raw file
Possible License(s): GPL-2.0
- <?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();
- ?>