/*
Main administration script for Intellect Board 2
(c) 2004, XXXX Pro, United Open Project
Visit us online: http://intboard.ru
*/
error_reporting(E_ERROR | E_WARNING | E_PARSE |E_CORE_ERROR | E_CORE_WARNING);
set_error_handler("err_handler");
set_magic_quotes_runtime(0);
$IBOARD=1;
$GLOBALS['admin']=1;
require("../xaphpi.php");
require("../common.php");
require("../auth.php");
require("../config/database.php");
require("../config/iboard.php");
require("../db/$DBdriver.php");
require("../addons.php");
if (get_magic_quotes_gpc()) {
strips($_GET);
strips($_POST);
strips($_COOKIE);
}
if (file_exists("../install.php")) {
if (!is_writable("../")) global_error("Can't delete install.php! Delete it manually via FTP!");
unlink("../install.php");
if (file_exists("../install.php")) global_error("Can't delete install.php! Delete it manually via FTP!");
}
global $link;
if ($DBpersist) $link=db_pconnect($DBhost,$DBusername,$DBpassword,$DBname);
else $link=db_connect($DBhost,$DBusername,$DBpassword,$DBname);
$GLOBALS['inuser']=auth_process("");
if (auth_checkpass($GLOBALS['inuser'])!=1) global_error("Invalid password");
if ($GLOBALS['inuser']['u__level']<1000) global_error("You are not Administrator");
$GLOBALS['inuserlevel']=1000;
load_style("admin/message.php");
load_lang("admin.php");
load_lang("main.php");
load_lang("addons.php");
load_style("main.php");
load_style("common.php");
load_style("admin/main.php");
//setlocale(LC_ALL,$inuser['ln_locale']);
$action = getvar("a");
$module = getvar("m");
if (!$module) $module = "stats";
if (!$action) $action = "view";
load_style("admin/".$module.".php");
require ($module.".php");
if ($action=="logout") {
$_SESSION['uid']=1;
$_SESSION['password']="";
$_SESSION['salt']=0;
setcookie('IB2XP_long'.$GLOBALS['DBprefix'],"",24*60*60,"/");
setcookie('IB2XP'.$GLOBALS['DBprefix'],"",24*60*60,"/");
header("Location: $opt_url/agent.php?a=logout");
exit();
}
elseif ($action=="do_backup") {
check_post();
if (!check_system_pass(getvar('sys_pass'))) error(MSG_e_badsyspass);
if (!$mode=getvar("mode")) $mode="f";
$curtime=time();
$filename=strtolower($GLOBALS['opt_url']);
$filename=str_replace("http://","",$filename);
$filename=str_replace(".","_",$filename);
$filename=str_replace("/","_",$filename);
$filename.="_".date("j",$curtime)."_".date("m",$curtime)."_".date("Y",$curtime).".sql";
if ($mode=="bz") $filename.=".bz2";
if ($mode=="gz") $filename.=".gz";
$filepath=$GLOBALS['opt_dir']."/temp/$filename";
db_backup($filepath,$mode);
header("Location: ".$GLOBALS['opt_url']."/admin/index.php?m=basic&a=backup_files");
$GLOBALS['opt_last_backup']=$curtime;
options_save();
}
else {
header("Content-type: text/html; charset=".$inuser['ln_charset']);
header("Cache-Control: private, must-revalidate");
header("Last-Modified: ".date("r",$lasttime));
ad_main_start();
$sql="SELECT * FROM ".$GLOBALS['DBprefix']."AdminEntry ORDER BY ad_sortfield,ad_category";
$res=db_query($sql,$link);
$oldcat = "";
while ($menuitem=db_fetch_array($res)) {
if ($menuitem['ad_category']!=$oldcat) {
ad_category($menuitem);
$oldcat = $menuitem['ad_category'];
}
ad_menuitem($menuitem);
}
ad_main_middle();
call_user_func($action);
ad_main_end();
}
function ad_message($msgtext,$text1,$link1) {
// load_style($GLOBALS['inuser'],"admin/message.php");
output_message($msgtext,"$text1","".MSG_go_stats."","");
}
function err_handler($errno, $errstr, $errfile, $errline) {
if ($errno & (E_ALL ^ E_NOTICE)) {
$errfile = substr($errstr,0,strrpos($errfile,"/")-1);
global_error($errno." ($errfile line $errline)"." ".$errstr);
}
}
function global_error($errtext) {
$fh=fopen("../config/error.log","a");
$errtext=str_replace("\n","
",$errtext);
$errtext=str_replace("\r","",$errtext);
$str=time()."|".$_SERVER['REMOTE_ADDR']."|".$_SERVER['HTTP_X_FORWARDED_FOR']."|".$GLOBALS['inuserid']."|".htmlspecialchars($GLOBALS['inuser']['u__name'])."|".htmlspecialchars($errtext)."\n";
fputs($fh,$str);
fclose($fh);?>
GLOBAL ADMIN ERROR: =htmlspecialchars($errtext);?> |