<?php

# обработка токена сессии
if (isset($_COOKIE[SERV['sess']])) { if (!$FUNC->sess('token')) // проверка токена
$FUNC->sess('token', $FUNC->random(20)); else define('TOKEN', $FUNC->sess('token')); } // запись токена

# проверка авторизации
if ($FUNC->sess('auth')) { $sess = explode('z', trim($FUNC->sess('auth'))); // проверка авторизации, парсинг
$hash = $FUNC->filter($sess[0], 'sql'); $num = (isset($sess[1])) ? $FUNC->filter($sess[1], 'sql') : 0; // определение данных
if (db_exist($DB, 'auths', 'id', array('hash' => $hash, 'num' => $num))) // проверка в базе данных
$auth = db_output($DB, 'auths', 'user', array('hash' => $hash, 'num' => $num)); } // вывод данных пользователя

# отсутствует авторизация, удаление куки
if (!isset($auth)) { $FUNC->sess('auth', false, true); // удаление данных сессии
if (!$USER->status('none', $status)) $stop = true; } // проверка прав доступа

# авторизация успешна, обработка информации 
else { define('USER', db_output($DB, 'users', '*', array('id' => $auth['user']))); // основа
define('STATS', db_output($DB, 'statistic', '*', array('id' => $auth['user']))); // статистика
define('SETUP', db_output($DB, 'settings', '*', array('id' => $auth['user']))); // настройки
if (!$USER->status(USER['status'], $status)) $stop = true; // проверка прав доступа

# обработка визита пользователя
db_update($DB, 'users', array('visit' => time()), array ('id' => USER['id'])); }

?>