Kod:
<?php
/*
*
* AMXBans, managing bans for Half-Life modifications
* Copyright (C) 2003, 2004 Ronald Renes / Jeroen de Rover
*
* web : http://www.xs4all.nl/~yomama/amxbans/
* mail : yomama@xs4all.nl
* ICQ : 104115504
*
* AMXBans, menadzer banow dla Half-Life
* Copyright (C) 2008 zmodyfikowany przez d3f3nd3r
* web : http://www.amxbans.org
* mail : admin@amxbans.org
* Niniejszy program jest wolnym oprogramowaniem; możesz go
* rozprowadzać dalej i/lub modyfikować na warunkach Powszechnej
* Licencji Publicznej GNU, wydanej przez Fundację Wolnego
* Oprogramowania - według wersji 2-giej tej Licencji lub którejś
* z późniejszych wersji.
* Niniejszy program rozpowszechniany jest z nadzieją, iż będzie on
* użyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej
* gwarancji PRZYDATNOŚCI HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH
* ZASTOSOWAŃ. W celu uzyskania bliższych informacji - Powszechna
* Licencja Publiczna GNU.
* Z pewnością wraz z niniejszym programem otrzymałeś też egzemplarz
* Powszechnej Licencji Publicznej GNU (GNU General Public License);
* jeśli nie - napisz do Free Software Foundation, Inc., 675 Mass Ave,
* Cambridge, MA 02139, USA.
*
*/
// Start session
session_start();
ini_set('register_globals', off);
// Require basic site files
require("../include/config.inc.php");
if ($config->error_handler == "enabled") {
include("$config->error_handler_path");
}
require("$config->path_root/include/functions.lang.php");
require("$config->path_root/include/functions.skin.php");
include("$config->path_root/include/accesscontrol.inc.php");
if(($_SESSION['amxadmins_edit'] != "yes") && ($_SESSION['webadmins_edit'] != "yes") && ($_SESSION['permissions_edit'] != "yes")) {
echo lang("_NOACCESS");
exit();
}
if ( isset($_POST['action']) && $_POST['action'] == lang("_APPLY")) {
$config->document_root = $_POST['document_root'];
$config->path_root = $_POST['path_root'];
$config->importdir = $_POST['import_dir'];
$config->templatedir = $_POST['template_dir'];
$config->db_host = $_POST['db_host'];
$config->db_name = $_POST['db_name'];
$config->db_user = $_POST['db_user'];
$config->db_pass = $_POST['db_pass'];
$config->bans = $_POST['tbl_bans'];
$config->ban_history = $_POST['tbl_banhistory'];
$config->webadmins = $_POST['tbl_webadmins'];
$config->amxadmins = $_POST['tbl_amxadmins'];
$config->levels = $_POST['tbl_levels'];
$config->admins_servers = $_POST['tbl_admins_servers'];
$config->servers = $_POST['tbl_servers'];
$config->logs = $_POST['tbl_logs'];
$config->reasons = $_POST['tbl_reasons'];
$config->admin_nickname = $_POST['admin_nick'];
$config->admin_email = $_POST['admin_email'];
$config->error_handler = $_POST['error_handler'];
$config->error_handler_path = $_POST['error_handler_path'];
$config->admin_management = $_POST['admin_management'];
$config->view_servers = $_POST['view_servers'];
$config->fancy_layers = $_POST['fancy_layers'];
$config->version_checking = $_POST['version_checking'];
$config->bans_per_page = $_POST['bans_per_page'];
$config->bans_per_web = $_POST['bans_per_web'];
$config->display_search = $_POST['display_search'];
$config->timezone_fixx = $_POST['timezone_fixx'];
$config->display_admin = $_POST['display_admin'];
$config->display_reason = $_POST['display_reason'];
$config->disable_frontend = $_POST['disable_frontend'];
$config->rcon_class = $_POST['rcon_class'];
$config->geoip = $_POST['geoip'];
$config->autopermban_count = $_POST['autopermban_count'];
$config->default_lang = $_POST['default_lang'];
$config->default_skin = $_POST['default_skin'];
$config->view_searchsite= $_POST['view_searchsite'];
$config->info_link = $_POST['info_link'];
$config->srcbanner = $_POST['srcbanner'];
$config->linkbanner = $_POST['linkbanner'];
$config->textsize1 = $_POST['textsize1'];
$config->textsize2 = $_POST['textsize2'];
$config->linksbanners = $_POST['linksbanners'];
$config->bannerwidth = $_POST['bannerwidth'];
$config->bannerheight = $_POST['bannerheight'];
$config->textlink1 = $_POST['textlink1'];
$config->link1 = $_POST['link1'];
$config->textlink2 = $_POST['textlink2'];
$config->link2 = $_POST['link2'];
$config->textlink3 = $_POST['textlink3'];
$config->link3 = $_POST['link3'];
$config->textlink4 = $_POST['textlink4'];
$config->link4 = $_POST['link4'];
$config->textlink5 = $_POST['textlink5'];
$config->link5 = $_POST['link5'];
$config->textlink6 = $_POST['textlink6'];
$config->link6 = $_POST['link6'];
$config->textlink7 = $_POST['textlink7'];
$config->link7 = $_POST['link7'];
$config->textlink8 = $_POST['textlink8'];
$config->link8 = $_POST['link8'];
$config->textlink11 = $_POST['textlink11'];
$config->link11 = $_POST['link11'];
$config->textlink12 = $_POST['textlink12'];
$config->link12 = $_POST['link12'];
$config->textlink13 = $_POST['textlink13'];
$config->link13 = $_POST['link13'];
$config->textlink14 = $_POST['textlink14'];
$config->link14 = $_POST['link14'];
$config->textlink15 = $_POST['textlink15'];
$config->link15 = $_POST['link15'];
$config->textlink16 = $_POST['textlink16'];
$config->link16 = $_POST['link16'];
$config->textlink17 = $_POST['textlink17'];
$config->link17 = $_POST['link17'];
$config->textlink18 = $_POST['textlink18'];
$config->link18 = $_POST['link18'];
$disclaimer = "
/*
*
* AMXBans, managing bans for Half-Life modifications
* Copyright (C) 2003, 2004 Ronald Renes / Jeroen de Rover
*
* web : http://www.xs4all.nl/~yomama/amxbans/
* mail : yomama@xs4all.nl
* ICQ : 104115504
*
* This file is part of AMXBans.
*
* AMXBans 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.
*
* AMXBans 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 AMXBans; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
";
$security_fix = "
if (!get_magic_quotes_gpc()) {
\$_POST = addslashes(\$_POST);
\$_GET = addslashes(\$_GET);
}
// fix text to display
\$_POST = str_replace(\"\'\", \"\", \$_POST);
\$_POST = str_replace(\"\\\"\", \"\", \$_POST);
\$_POST = str_replace(\"\\\\\", \"\", \$_POST);
\$_GET = str_replace(\"\'\", \"\", \$_GET);
\$_GET = str_replace(\"\\\"\", \"\", \$_GET);
\$_GET = str_replace(\"\\\\\", \"\", \$_GET);
";
$smarty_meuk = "
/* Smarty settings */
define(\"SMARTY_DIR\", \$config->path_root.\"/smarty/\");
require(SMARTY_DIR.\"Smarty.class.php\");
class dynamicPage extends Smarty {
function dynamicPage() {
global \$config;
\$this->Smarty();
\$this->template_dir = \$config->templatedir;
\$this->compile_dir = SMARTY_DIR.\"templates_c/\";
\$this->config_dir = SMARTY_DIR.\"configs/\";
\$this->cache_dir = SMARTY_DIR.\"cache/\";
\$this->caching = FALSE;
\$this->assign(\"app_name\",\"dynamicPage\");
}
}
?>";
$arr = get_object_vars($config);
$fp = fopen("$config->path_root/include/config.inc.php", "w");
if (!$fp) {
$config_fail = 1;
} else {
$config_fail = 0;
fwrite($fp, "<?php\n");
fwrite($fp, $disclaimer);
fwrite($fp, $security_fix);
fwrite($fp, "\n\n");
while (list($prop, $val) = each($arr)) {
fwrite($fp, "\$config->$prop = \"$val\";\n");
}
fwrite($fp, $smarty_meuk);
fclose($fp);
}
$now = date("U");
$add_log = mysql_query("INSERT INTO $config->logs (timestamp, ip, username, action, remarks) VALUES ('$now', '".$_SERVER['REMOTE_ADDR']."', '".$_SESSION['uid']."', 'AMXBans config', 'Changed AMXBans configuration')") or die (mysql_error());
}
if (isset($_POST['db']) && $_POST['db'] == lang("_CHECKCONNECT")) {
if (($_POST['db_host'] == "") || ($_POST['db_name'] == "") || ($_POST['db_user'] == "")) {
$dblogin = 0; //some fields are left blank
} else {
$link = @mysql_connect($_POST['db_host'], $_POST['db_user'], $_POST['db_pass']);
if (!$link) { // can't connect to database
$dblogin = 1;
} else {
$db_selected = mysql_select_db($_POST['db_name'], $link);
if (!$db_selected) { //can't switch to mentioned database
$dblogin = 2;
} else { // connection successfull and database exists
$dblogin = 3;
}
}
}
} else {
$dblogin = 9;
}
if (isset($_POST['dir']) && $_POST['dir'] == lang("_CHECKDIRS")) {
unset($checked_dirs);
if (($_POST['document_root'] == "") || ($_POST['path_root'] == "") || ($_POST['import_dir'] == "") || ($_POST['template_dir'] == "")) {
$checked_dirs = 1; //some fields are left blank
} else {
$docroot = str_replace("/admin/cfg.php", "", $_SERVER["PHP_SELF"]);
if ($_POST['document_root'] == $docroot) {
$doc_root_is_dir = 1;
} else {
$doc_root_is_dir = 0;
}
if (is_dir($_POST['path_root'])) {
$path_root_is_dir = 1;
} else {
$path_root_is_dir = 0;
}
if (is_dir($_POST['import_dir'])) {
$dir_import_is_dir = 1;
} else {
$dir_import_is_dir = 0;
}
if (is_dir($_POST['template_dir'])) {
$dir_template_is_dir = 1;
} else {
$dir_template_is_dir = 0;
}
}
if (isset($checked_dirs) && $checked_dirs != 1) {
if (($path_root_is_dir == 0) || ($dir_import_is_dir == 0) || ($dir_template_is_dir == 0)) {
$checked_dirs = 2;
} else {
$checked_dirs = 3;
}
}
}
/*
*
* Template parsing
*
*/
// Header
$title = lang("_AMXBANSCONFIG");
// Section
$section = "config";
// Parsing
$smarty = new dynamicPage;
$smarty->assign("meta","");
$smarty->assign("title",$title);
$smarty->assign("section",$section);
$smarty->assign("dir",$config->document_root);
$smarty->assign("skin",$config->default_skin);
$smarty->assign("cfg",$config);
$smarty->assign("post",$_POST);
$smarty->assign("this",$_SERVER['PHP_SELF']);
$smarty->assign("dblogin",$dblogin);
$smarty->assign("checked_dirs", isset($checked_dirs) ? $checked_dirs : NULL);
$smarty->assign("doc_root_is_dir", isset($doc_root_is_dir) ? $doc_root_is_dir : NULL);
$smarty->assign("path_root_is_dir", isset($path_root_is_dir) ? $path_root_is_dir : NULL);
$smarty->assign("dir_import_is_dir", isset($dir_import_is_dir) ? $dir_import_is_dir : NULL);
$smarty->assign("dir_template_is_dir", isset($dir_template_is_dir) ? $dir_template_is_dir : NULL);
$smarty->assign("addlink", isset($_POST['addlink']) ? $_POST['addlink'] : NULL);
$smarty->display('main_header.tpl');
$smarty->display('cfg.tpl');
$smarty->display('main_footer.tpl');
?>