<?php
// mod by Golem http://veplog.ru
if (!defined("BASEDIR")) { header("Location:../index.php"); exit; }
if (isset($_SESSION['log']) && isset($_SESSION['par']) && !eregi("[^a-z0-9-]",$_SESSION['log'])){
if(file_exists(BASEDIR."local/profil/".$_SESSION['log'].".prof")){
$text = file_get_contents(BASEDIR."local/profil/".$_SESSION['log'].".prof");
$udata = explode(":||:",$text);
$provlog=trim($udata[0]);
$provpar=trim($udata[1]);
$dostup=trim($udata[7]);
$privat=trim($udata[10]);
if ($provlog==$_SESSION['log'] && $provpar==md5($_SESSION['par']) && $_SESSION['log']!="" && md5($_SESSION['par'])!="") {
$log=$_SESSION['log'];
if(!empty($udata[20])){$config_themes=trim($udata[20]);} # Wap-тема по умолчанию
if(!empty($udata[21])){$config_bookpost=trim($udata[21]);} # Сообщений в гостевой на страницу
if(!empty($udata[22])){$config_postnews=trim($udata[22]);} # Новостей на страницу
if(!empty($udata[23])){$config_forumpost=trim($udata[23]);} # Сообщение в форуме на страницу
if(!empty($udata[24])){$config_forumtem=trim($udata[24]);} # Тем в форуме на страницу
if(!empty($udata[25])){$config_userlist=trim($udata[25]);} # Пользователей в Юзерлисте на страницу
if(!empty($udata[26])){$config_chatpost=trim($udata[26]);} # Cообщений в чате на страницу
if(!empty($udata[27])){$config_chatrew=trim($udata[27]);} # Время автообновления чата в сек
if(!empty($udata[28])){$config_boardspost=trim($udata[28]);} # Объявлений на страницу
if(!empty($udata[29])){$config_showdays=trim($udata[29]);} # Показывать Время Суток
if(!empty($udata[30])){$config_clocks=trim($udata[30]);} # Временной сдвиг (+1, -1)
if(!empty($udata[31])){$config_showtime=trim($udata[31]);} # Показывать Часы и день недели
if(!empty($udata[32])){$config_privatpost=trim($udata[32]);} # Писем в привате на страницу
if($udata[37]=="1" || !empty($_COOKIE['cookid'])){
if(!stristr($php_self,"/pages/ban.php") && !stristr($php_self,"/pages/pravila.php")){header ("Location: ".BASEDIR."pages/ban.php?log=$log&".SID); exit;}} //если есть бан
if($udata[46]=="1"){
if(!stristr($php_self,"/pages/key.php")){header ("Location: ".BASEDIR."pages/key.php?log=$log&".SID); exit;}} //если нужно подтверждение реги
if($sitetime>$udata[53] && $udata[54]>0){
if(!stristr($php_self,"/games/kredit.php")){header ("Location: ".BASEDIR."games/kredit.php?".SID); exit;}} //если просрочен кредит
if($udata[42]=="0"){ob_start("disable_img");} //графика
//---------------------- функция проверки ip и браузера -----------------------//
if($udata[66]==1){
$pr_ip = explode(".",$ip);
$new_ip=$pr_ip[0].$pr_ip[1].$pr_ip[2];
if($new_ip!=$_SESSION['my_ip'] || $brow!=$_SESSION['my_brow']){
session_unset();
setcookie(session_name(), '');
session_destroy();
header ("Location: ".BASEDIR.$request_uri); exit;
}}
//---------------------- функция проверки срока сессии -----------------------//
if($config_sessionlife>0){
if(isset($_SESSION['my_time']) && ($_SESSION['my_time']+$config_sessionlife)<$sitetime && $_SESSION['my_time']>0){
session_unset();
setcookie(session_name(), '');
session_destroy();
header ("Location: ".BASEDIR.$request_uri); exit;
}}
//------------------------ Запись текущей страницы для юзера ------------------------------//
if (!stristr($php_self,$config_mpanel)){
$wholines=file(BASEDIR."local/who.dat");
foreach($wholines as $whokey=>$whovalue){
$whodats=explode("|",$whovalue);
if ($log == $whodats[0]) {
$fp=fopen(BASEDIR."local/who.dat","w");
flock ($fp,LOCK_EX);
unset($wholines[$whokey]);
fputs($fp, implode("",$wholines));
flock ($fp,LOCK_UN);
fclose($fp);
}}
$user=check($log);
if($udata[74]<1){ $location=check($php_self); }else{ $location='invisible'; }
if(!isset($counton)){$counton="0";}
if($user!=""){
$who_text=$user.'|'.$location.'|'.$counton.'|'.$sitetime.'|';
$who_text=htmlspecialchars(stripslashes($who_text));
$fp = fopen(BASEDIR."local/who.dat","a+");
flock ($fp,LOCK_EX);
fputs ($fp,"$who_text\r\n");
fflush($fp);
flock ($fp,LOCK_UN);
fclose($fp);
}
$file=file(BASEDIR."local/who.dat");
$i = count($file);
if ($i>=$config_lastusers) {
$fp=fopen(BASEDIR."local/who.dat","w");
flock ($fp,LOCK_EX);
unset ($file[0],$file[1],$file[2]);
fputs ($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
}
}else{
//------------------------ Запись текущей страницы для админов -----------------------------//
$log_name=check($log);
if($log_name!=""){
$adm_log='|'.$brow.'|'.$ip.'|'.$log_name.'|'.$request_uri.'|'.$http_referer.'|'.$sitetime.'|';
$adm_log=htmlspecialchars(stripslashes($adm_log));
$fp = fopen(BASEDIR."local/datalog/admin.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$adm_log\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
@chmod ($fp, 0666);
@chmod (BASEDIR."local/datalog/admin.dat", 0666);
}
$logfile=file(BASEDIR."local/datalog/admin.dat");
$i = count($logfile);
if ($i>=300) {
$fp=fopen(BASEDIR."local/datalog/admin.dat","w");
flock ($fp,LOCK_EX);
unset($logfile[0],$logfile[1],$logfile[2]);
fputs($fp, implode("",$logfile));
flock ($fp,LOCK_UN);
fclose($fp);
}}
//-------------------------- Дайджест ------------------------------------//
$lifefile = file_get_contents(BASEDIR."local/datalife/$log.dat");
$lifestr = explode("|",$lifefile);
$userlife=$sitetime-$lifestr[0];
if($userlife<600 && $userlife>2){$lifestr[1]+=$userlife;}
if($lifestr[1]==""){$lifestr[1]="0";}
if($lifestr[2]==""){$lifestr[2]=$log;}
$tlife=$sitetime.'|'.$lifestr[1].'|'.$lifestr[2].'|'.$php_self.'|'.$ip.'|';
if($lifestr[1]!="" && $tlife!=""){
$lifefputs = fopen(BASEDIR."local/datalife/$log.dat","a+");
flock ($lifefputs,LOCK_EX);
ftruncate ($lifefputs,0);
fputs ($lifefputs,$tlife);
fflush($lifefputs);
flock ($lifefputs,LOCK_UN);
fclose($lifefputs);
@chmod ($lifefputs, 0666);
@chmod (BASEDIR."local/datalife/$log.dat", 0666);
}
//--------------------------------------------------------------//
} else {$log=""; $par=""; $provlog=""; $provpar=""; $_SESSION['log']=""; $_SESSION['par']="";}
} else {$log=""; $par=""; $provlog=""; $provpar=""; $_SESSION['log']=""; $_SESSION['par']="";}
} else {$log=""; $par=""; $provlog=""; $provpar=""; $_SESSION['log']=""; $_SESSION['par']="";}
//------------------------ Отключение кеширования -----------------------------//
if($config_nocache=="0"){
Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
Header("Cache-Control: no-cache, must-revalidate");
Header("Pragma: no-cache");
Header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT");
}
//------------------------ Автоопределение системы -----------------------------//
if(!empty($config_webthemes) && empty($_SESSION['my_themes'])){
if (empty($_SESSION['log']) || empty($_SESSION['par'])){
if (stristr($_SERVER['HTTP_USER_AGENT'],'windows') || stristr($_SERVER['HTTP_USER_AGENT'],'linux') ||
stristr($_SERVER['HTTP_USER_AGENT'],'macintosh') || stristr($_SERVER['HTTP_USER_AGENT'],'unix') ||
stristr($_SERVER['HTTP_USER_AGENT'],'macos') || stristr($_SERVER['HTTP_USER_AGENT'],'bsd')){
$config_themes=$config_webthemes;
}}}
if(!empty($_SESSION['my_themes'])){$config_themes=$_SESSION['my_themes'];}
if(!file_exists(BASEDIR."themes/$config_themes/index.php")){$config_themes="default";} // Проверка скина
if($config_nikname=="" && file_exists(BASEDIR."INSTALL.php") && !stristr($php_self,"/INSTALL.php")){header ("Location: ".BASEDIR."INSTALL.php?".SID); exit;} // Инсталляция
if($config_closedsite=="1" && !stristr($php_self,"/pages/closed.php") && !stristr($php_self,"/input.php") && $log!=$config_nikname){header ("Location: ".BASEDIR."pages/closed.php?".SID); exit;} // Сайт закрыт
?>