/** * Возвращает URL сайта с относительной директорией в которую установлен сайт. * * @param bool $EndSlash * @return String * @since 1.3.3 */ function GetSiteUrl($EndSlash = true) { return GetSiteHost() . GetSiteDir($EndSlash); }
/** * Конструктор. */ public function __construct() { if ($this->Started == false) { if (isset($_GET['PHPSESSID'])) { // Установка ИД сессии session_id($_GET['PHPSESSID']); } elseif (isset($_POST['PHPSESSID'])) { session_id($_POST['PHPSESSID']); } elseif (isset($_COOKIE['PHPSESSID'])) { session_id($_COOKIE['PHPSESSID']); } session_set_cookie_params(0, GetSiteDir(true)); if (!session_start()) { echo $this->errors[] = '<b>Внимание!</b>: User->User(): Ошибка при запуске сессии.<br />'; } else { $this->Started = true; } } if (!isset($_SESSION['u_ip']) || $_SESSION['u_ip'] != getip()) { // сессия привязывается к ip адресу $_SESSION = array(); } $this->session = $_SESSION; $this->Auth = $this->Get('u_auth'); // Пишем свой http_referer. Брать реферер из $_SERVER['HTTP_REFERER']. if (!IsAjax()) { // Не Ajax запрос if ($this->isDef('REFERER')) { $_SERVER['HTTP_REFERER'] = $this->Get('REFERER'); // Пишем свой HTTP_REFERER // Модуль History if ($this->isDef('HISTORY')) { $history = $this->Get('HISTORY'); $history[] = $_SERVER['HTTP_REFERER']; if (count($history) > 10) { // Максимальное число шагов которое сохраняется в сессии array_shift($history); } $this->Def('HISTORY', $history); } else { $this->Def('HISTORY', array($_SERVER['HTTP_REFERER'])); } } else { if (isset($_SERVER['HTTP_REFERER']) && trim($_SERVER['HTTP_REFERER']) != '') { $this->Def('FIRST_REFERER', SafeEnv(trim($_SERVER['HTTP_REFERER']), 255, str)); } } $this->Def('REFERER', GetSiteHost() . $_SERVER['REQUEST_URI']); } }