180 lines
5.8 KiB
PHP
180 lines
5.8 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.');
|
||
|
|
||
|
if ($auth->userdata['acclevel'] < 80)
|
||
|
die ('Access denied!');
|
||
|
|
||
|
function setdefaults($key)
|
||
|
{
|
||
|
global $db;
|
||
|
// get default values
|
||
|
$db->query("DELETE FROM hlstats_Servers_Config WHERE serverId=$key;");
|
||
|
$db->query("INSERT INTO hlstats_Servers_Config (serverId, parameter, value) SELECT $key,parameter,value FROM hlstats_Servers_Config_Default");
|
||
|
// get server ip and port
|
||
|
$db->query("SELECT CONCAT(address, ':', port) AS addr FROM hlstats_Servers WHERE serverId=$key;");
|
||
|
$r = $db->fetch_array();
|
||
|
}
|
||
|
|
||
|
if (isset($_GET['key'])) {
|
||
|
$key = valid_request(intval($_GET['key']),1);
|
||
|
} else {
|
||
|
if (isset($_POST['key'])) {
|
||
|
$key = valid_request(intval($_POST['key']),1);
|
||
|
} else {
|
||
|
$key = 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if ($key==0)
|
||
|
die('Server ID not set!');
|
||
|
|
||
|
if (isset($_POST['sourceId'])) {
|
||
|
$sourceId = valid_request(intval($_POST['sourceId']),1);
|
||
|
} else {
|
||
|
$sourceId = 0;
|
||
|
}
|
||
|
|
||
|
?>
|
||
|
|
||
|
<table id="startsettings" width="60%" align="center" border=0 cellspacing=0 cellpadding=0 class="border">
|
||
|
<tr>
|
||
|
<td>
|
||
|
<table width="100%" border=0 cellspacing=1 cellpadding=10>
|
||
|
|
||
|
<tr bgcolor="#FF0000">
|
||
|
<td class="fNormal" style="color: #FFF; font-weight: bold; font-size: medium;" align="center">
|
||
|
Note: For changes on this page to take effect, you <strong>must</strong> <a href="<?php echo $g_options['scripturl'] . "?mode=admin&task=tools_perlcontrol"; ?>">reload</a> or restart the HLX:CE daemon.
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</table></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<br>
|
||
|
<?php
|
||
|
// get available help texts
|
||
|
$db->query("SELECT parameter,description FROM hlstats_Servers_Config_Default");
|
||
|
$helptexts = array();
|
||
|
while ($r = $db->fetch_array())
|
||
|
$helptexts[strtolower($r['parameter'])] = $r['description'];
|
||
|
|
||
|
$edlist = new EditList('serverConfigId', 'hlstats_Servers_Config','', false);
|
||
|
|
||
|
$footerscript = $edlist->setHelp('helpdiv','parameter',$helptexts);
|
||
|
|
||
|
$edlist->columns[] = new EditListColumn('serverId', 'Server ID', 0, true, 'hidden', $key);
|
||
|
$edlist->columns[] = new EditListColumn('parameter', 'Server parameter name', 30, true, 'readonly', '', 50);
|
||
|
$edlist->columns[] = new EditListColumn('value', 'Parameter value', 60, false, 'text', '', 128);
|
||
|
|
||
|
if ($_POST)
|
||
|
if ($_POST['setdefaults']=='defaults') {
|
||
|
setdefaults($key);
|
||
|
} else
|
||
|
if ($_POST['sourceId']!='0') {
|
||
|
// copy server settings from another server
|
||
|
$db->query("DELETE FROM hlstats_Servers_Config WHERE serverId=$key");
|
||
|
$db->query("INSERT INTO hlstats_Servers_Config (serverId, parameter, value) SELECT $key,parameter,value FROM hlstats_Servers_Config WHERE serverId=$sourceId");
|
||
|
// get server ip and port
|
||
|
$db->query("SELECT CONCAT(address, ':', port) AS addr FROM hlstats_Servers WHERE serverId=$key;");
|
||
|
$r = $db->fetch_array();
|
||
|
} else {
|
||
|
if ($edlist->update())
|
||
|
message('success', 'Operation successful.');
|
||
|
else
|
||
|
message('warning', $edlist->error());
|
||
|
}
|
||
|
|
||
|
?>
|
||
|
These are the actual server parameters used by the hlstats.pl script.<br>
|
||
|
|
||
|
<?php
|
||
|
|
||
|
$result = $db->query("
|
||
|
SELECT
|
||
|
*
|
||
|
FROM
|
||
|
hlstats_Servers_Config
|
||
|
WHERE
|
||
|
serverId=$key
|
||
|
ORDER BY
|
||
|
parameter ASC
|
||
|
");
|
||
|
if ($db->num_rows($result) == 0) {
|
||
|
setdefaults($key);
|
||
|
$result = $db->query("
|
||
|
SELECT
|
||
|
*
|
||
|
FROM
|
||
|
hlstats_Servers_Config
|
||
|
WHERE
|
||
|
serverId=$key
|
||
|
ORDER BY
|
||
|
parameter ASC
|
||
|
");
|
||
|
}
|
||
|
|
||
|
$edlist->draw($result);
|
||
|
|
||
|
// get all other server id's
|
||
|
$sourceIds = '';
|
||
|
$db->query("SELECT CONCAT(name,' (',address,':',port,')') AS name, serverId FROM hlstats_Servers WHERE serverId<>$key ORDER BY name, address, port");
|
||
|
while ($r = $db->fetch_array())
|
||
|
$sourceIds .= '<OPTION VALUE="'.$r['serverId'].'">'.$r['name'];
|
||
|
|
||
|
?>
|
||
|
|
||
|
<INPUT TYPE="hidden" NAME="key" VALUE="<?php echo $key ?>">
|
||
|
|
||
|
<table width="75%" border=0 cellspacing=0 cellpadding=0>
|
||
|
<tr>
|
||
|
<td align="center">
|
||
|
<INPUT TYPE="checkbox" NAME="setdefaults" VALUE="defaults"> Reset all settings to default!<br>
|
||
|
Set all options like existing server configuration:
|
||
|
<SELECT NAME="sourceId">
|
||
|
<OPTION VALUE="0">Select a server
|
||
|
<?php echo $sourceIds; ?>
|
||
|
</SELECT><br>
|
||
|
|
||
|
<input type="submit" value=" Apply " class="submit"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|