<?php /** * Назначение скрипта - записать сведения о посетителе сайта в базу */ // Использовать новый алгоритм сбора статистики или нет if (!defined('NEW_STAT')) { define('NEW_STAT', false); } #### Основной подсчет статистики ############################# if (!class_exists('TStatClass')) { include_once 'sms3.6/common/classes/stat.class.php'; } $stat = new TStatClass(); $sess_id = $stat->getSessId(); // Если нет номера сессии, то не считаем статистику (в старом способе) if (!NEW_STAT && !$sess_id) { return; } /***********************************************************/ // Определение статуса документа /***********************************************************/ $document_status = $GLOBALS['document_status']; if (empty($document_status)) { $document_status = $_SERVER['REDIRECT_STATUS']; } if (empty($document_status)) { $document_status = 200; } /***********************************************************/ // Определение ID пользователя
* Назначение скрипта - определить id сессии, после чего сохранить его в куки и * в переменную $GLOBALS['statlog_session'] или $GLOBALS['statlog_new_session'], если сессия новая */ // время через которое считается сессия (мин.) if (!defined('STAT_SESS_TIME')) { define('STAT_SESS_TIME', 30); } // Использовать новый алгоритм сбора статистики или нет if (!defined('NEW_STAT')) { define('NEW_STAT', false); } ##################################################### if (!class_exists('TStatClass')) { include_once 'sms3.6/common/classes/stat.class.php'; } $stat = new TStatClass(); // Проверяем, забанен этот ip или нет if ($stat->isUserBanned() && $_SERVER['REQUEST_URI'] != '/access_denied') { redirect("/access_denied"); } // Проверка сессии пользователя if (isset($_COOKIE['statlog_session']) && (int) $_COOKIE['statlog_session']) { // Если нашли cookie, пишем statlog_session в глобальную переменную $GLOBALS['statlog_session'] = $_COOKIE['statlog_session']; if (NEW_STAT) { // Пишем еще раз, чтобы продлить ее время setcookie('statlog_session', $GLOBALS['statlog_session'], time() + STAT_SESS_TIME * 60, '/'); } } else { if (NEW_STAT) { // Не нашли - пытаемся сгенерировать (случайная строка длиной 32 символа)