Файл: core/includes/user.php
Строк: 36
<?
$user = false;
if (empty($_SESSION['user_id']) AND isset($_COOKIE['user_id'], $_COOKIE['user_pass'])) {
$user_id = (int) $_COOKIE['user_id'];
$user_pass = $_COOKIE['user_pass'];
$check = $sql->rowCount("SELECT * FROM `users` where `id` = ? AND `password` = ?", [$user_id, $user_pass]);
if ($check == 1) {
$_SESSION['user_id'] = $user_id;
//Таким образом мы обновляем время жизни куки
cookie('user_id', $user_id, $set['user_cookie']);
cookie('user_pass', $user_pass, $set['user_cookie']);
} else {
unset($_SESSION['user_id']);
cookie('user_id');
cookie('user_pass');
}
}
if (isset($_SESSION['user_id'])) {
$user = user::data($_SESSION['user_id']);
}
if ($user) {
$times = time() - $user['date_last'];
$timesCache = $user['times'];
if ($times < 120) {
$user_update[] = "`times` = `times`+'{$times}'";
$timesCache = ($user['times'] + $times);
}
$user_update[] = "`date_last` = '{$system['time']}'";
$user_update[] = "`ua` = '{$system['ua']}'";
$user_update[] = "`ip` = '{$system['ip']}'";
$user_update[] = "`url` = '{$system['urlPage']}'";
if ($browser->isTablet()) {
$browsersql = 'tablet';
}
if ($browser->isMobile() AND !$browser->isTablet()) {
$browsersql = 'mobile';
}
if (!$browser->isMobile() AND !$browser->isTablet()) {
$browsersql = 'web';
}
$user_update[] = "`browser` = '{$browsersql}'";
$sql->query("UPDATE `users` SET ". implode(', ', $user_update)." WHERE `id` = ". $user['id']);
//Перезаписываем время последнего посищения
//* Что бы не перезаписывать весь кэш файл обращаясь к базе
$data_replace_one =
array (
'NameKey' => $user['id'],
'type' => 'users',
'replace' =>
array (
'date_last' => $system['time'],
'browser' => $browsersql,
'url' => $system['urlPage'],
'ip' => $system['ip'],
'ua' => $system['ua'],
'times' => $timesCache,
),
);
$data_replace_two =
array (
'NameKey' => $user['link'],
'type' => 'users',
'replace' =>
array (
'browser' => $browsersql,
'date_last' => $system['time'],
'url' => $system['urlPage'],
'ip' => $system['ip'],
'ua' => $system['ua'],
'times' => $timesCache,
),
);
CacheHade::replace($data_replace_one);
CacheHade::replace($data_replace_two);
unset($times);
}
//Если юзер выбрал автоматическое определение часового пояса
if ($user AND $system['BrowserTimeZone'] AND $user['timezone'] == 99) {
$user['timezone'] = $system['BrowserTimeZone'];
}
//Защита от проникновения в админку ,от тех кто забыл установить нужные ограничения доступа .
if ((!$user OR $user['id_level'] == 0) AND preg_match('#^/apanel/#', $urlPage)) {
exit(header('Location: /'));
}
/*
$logid = ($user ? $user['id'] : 0);
$text_log = "
-> ". date("d.m.y - H:i:s") ."
-> ". $_SERVER['REMOTE_ADDR'] ."
-> ". $_SERVER['REQUEST_URI'] ."
-> ". $_SERVER['SCRIPT_FILENAME'];
if(isset($_GET) AND count($_GET) > 0)
{
$arr_l = null;
foreach($_GET as $key=>$val)
{
if (is_string($val) AND strlen($val) > 2000)
$val = substr($val,0,2000);
$arr_l.= '-> '.$key ."=>". $val ."";
}
$fp = fopen(H."files/logs/". date("d.m.y") ."-". $logid .".txt","a");
fwrite($fp ,"----------------------------------------n-> GET {$text_log}n". $arr_l."n");
fclose($fp);
reset($_GET);
}
if(isset($_POST) AND count($_POST) > 0)
{
$arr_l = null;
foreach($_POST as $key=>$val)
{
if (is_string($val) AND strlen($val) > 2000)
$val = substr($val,0,2000);
$arr_l.= '-> '.$key ."=>". $val ."n";
}
$fp = fopen(H."files/logs/". date("d.m.y") ."-". $logid .".txt","a");
fwrite($fp ,"----------------------------------------n-> POST {$text_log}n{$arr_l}n" .$arr_l."n");
fclose($fp);
reset($_POST);
}
unset($fp,$key,$arr_l,$text_log);
if (!$user AND !preg_match('#^/user/login#', $urlPage) AND !preg_match('#^/user/signin#', $urlPage)) {
$_SESSION['url'] = $system['urlPage'];
}
*/