Файл: core/includes/system.php
Строк: 63
<?
if (file_exists($_SERVER['DOCUMENT_ROOT'].'/pages/install/index.php')) {
?>
<script type="text/javascript">
location.replace("/pages/install/");
</script>
<?
die();
}
list($msec, $sec) = explode(chr(32), microtime());
$si = glob(H.'core/autoload/*.php');
foreach($si as $fl) {
require_once $fl;
unset($fl,$si);
}
$_GET = array_map('FilterGlobal::GET', $_GET);
$_POST = array_map('FilterGlobal::POST', $_POST);
$_COOKIE = array_map('FilterGlobal::COOKIE', $_COOKIE);
$_REQUEST = array_map('FilterGlobal::REQUEST', $_REQUEST);
$sql = new db();
$registry = Registry::getInstance();
$browser = new Mobile_Detect();
$urlPage = htmlentities($_SERVER['REQUEST_URI'], ENT_QUOTES, 'UTF-8');
$urlHost = strtoupper($_SERVER['HTTP_HOST']);
$system = array(
'urlPage' => $urlPage,
'urlHost' => $urlHost,
'urlfile' => $_SERVER['SCRIPT_FILENAME'],
'urlScript' => $_SERVER['SCRIPT_NAME'],
'urlRefer' => isset($_SERVER['HTTP_REFERER']) ? output($_SERVER['HTTP_REFERER'],'html') : false ,
'ua' => isset($_SERVER['HTTP_USER_AGENT']) ? output($_SERVER['HTTP_USER_AGENT'],'html'): false ,
'ip' => GetIP(),
'time' => $_SERVER['REQUEST_TIME'] ,
'HostSite' => $_SERVER['HTTP_HOST'] ,
'BrowserTime' => isset($_COOKIE['BrowserTime']) ? (int) substr($_COOKIE['BrowserTime'], 0, -3) : false ,
'BrowserTimeZone' => isset($_COOKIE['BrowserTimeZone']) ? (int) $_COOKIE['BrowserTimeZone'] : false ,
'BrowserScreenSize' => isset($_COOKIE['BrowserScreenSize']) ? $_COOKIE['BrowserScreenSize'] : false ,
);
#--------------------------------------#
if (is_file(H.'core/config/settings.json')) {
$jsonFileSet = file_get_contents(H.'core/config/settings.json');
$set = json_decode($jsonFileSet, true);
} else {
die('core/config/settings.json not file');
}
$set['GenPage'] = $sec + $msec;
$set['session_name'] = 'DjkohadeNewsCms';
$set['lang'] = 'ru';
#--------------------------------------#
//Часовой пояс по умолчанию
date_default_timezone_set($set['timezone']);
//Стартуем сессию
session_name($set['session_name']);
session_start();
include H.'core/includes/user.php';
//Определяем темы пользователя
if ($browser->isTablet()) {
$theme = $user ? $user['theme_tablet'] : $set['theme_tablet'];
}
if ($browser->isMobile() AND !$browser->isTablet()) {
$theme = $user ? $user['theme_mobile'] : $set['theme_mobile'];
}
if (!$browser->isMobile() AND !$browser->isTablet()) {
$theme = $user ? $user['theme_web'] : $set['theme_web'];
}
//На случаи если темы установленная у пользователя не нашлась , ищем папку с темами и выбираем самую первую .
if (!file_exists(H .'themes/'. $theme .'/template/') or $theme == null) {
$themesDefault = false;
$dir = scandir(H.'themes/');
foreach ($dir as $themes) {
if ($themes == '.' or $themes == '..') {
continue;
}
$themesDefault[] = $themes;
}
$themesDefault = @array_values($themesDefault);
$themesDefault = $themesDefault[0];
$theme = $themesDefault;
}
define('THEME', H .'themes/'. $theme .'/template/');
define('THEME_USER', '/themes/'. $theme .'/');
$set['theme'] = $theme;
//Запись логов с ошибками
if ($set['log_errors'] == 1) {
ini_set('log_errors', 'On');
ini_set('error_log', H .'core/config/errors.log');
}
#----Настройка доступа к показу ошибок----#
$display_errors_access = false;
if ($user AND $set['display_errors'] == 1 AND $user['id_level'] != 0) {
$display_errors_access = true;
}elseif ($user AND $set['display_errors'] == 2) {
$display_errors_access = true;
}elseif ($set['display_errors'] == 3) {
$display_errors_access = true;
}
if ($display_errors_access) {
error_reporting(E_ALL);
ini_set('display_errors',true);
} else {
ini_set('display_errors', false);
error_reporting(0);
}
#----Настройка доступа к показу ошибок----#
//Регистрация переменных
$arr_registry = array(
//Настройки
'set' => $set,
//Инициализация шаблонизатора
't' => new template(),
'sql' => $sql,
'time' => time(),
'browser' => $browser,
'user' => $user,
//Текущая страница
'urlPage' => $system['urlPage'],
//Системные данные
'system' => $system,
//Инициализация наших кук и переопределение глобального массива
'_COOKIE' => $_COOKIE ,
);
foreach($arr_registry AS $key => $val) {
$registry->set($key,$val);
//Обьявляем переменные и локально
$$key = $val;
}