View file application/start.php

File size: 2.06Kb
<?PHP
	/*
		Открытие Сессий
	*/
	if(empty(session_id())) {
		session_start();
	}
	
	/*
		Различные Функции
	*/
	require_once('system/functions.php');
	
	/*
		Функции Отлова событий
	*/
	require_once('system/callback.php');
	
	/*
		Загрузка Библиотек
	*/
	require_once('system/bootstrap.php');
	
	/*
		Пользовательские
	*/
	require_once('system/custom.php');
	
	/*
		Создание переменных
	*/
	/* База данных */
	if(file_exists(__DIR__ . '/configs/database.php')) {
		$pdo = CreatePDO(include(__DIR__ . '/configs/database.php'));
	}
	
	/* Конфигурации */
	if(file_exists(__DIR__ . '/configs/system.json')) {
		$conf = file_get_contents(__DIR__ . '/configs/system.json');
		$conf = json_decode($conf);
	}
	
	$memcached = new Memcached();
	$memcached->addServer('127.0.0.1', 11211);
	
	/* Класс CSRF защита */
	$csrf = new CSRF;
	
	/* Класс пользователи */
	$usr = new Users;
	
	/*
		Пользовательские функции
	*/
	if(isset($_SESSION['id'])) {
		if(!$usr->IsValid($_SESSION['id'])) {
			$usr->logOut();
		}
		
		if(empty($_SESSION['NextSetOnline'])) {
			$_SESSION['NextSetOnline'] = strtotime('+5 minute');
			$usr->updateOnline();
		}
		else {
			if($_SESSION['NextSetOnline'] < time()) {
				$_SESSION['NextSetOnline'] = strtotime('+5 minute');
				$usr->updateOnline();
			}
		}
	}
	
	/* Подключение языка */
	$lang = new Language;
	$lang->loadLanguageFromFile('ru', 'ru.json');
	$lang->loadLanguageFromFile('kz', 'kz.json');
	$lang->loadLanguageFromFile('en', 'en.json');
	
	if(isset($_SESSION['id'])) {
		$dataUser = $usr->Get($_SESSION['id']);
		$_SESSION['lang'] = $dataUser->language;
	}
	elseif(empty($_SESSION['lang'])) {
		$_SESSION['lang'] = 'ru';
	}
	
	$lang->setLanguage($_SESSION['lang']);
	
	/* Класс пакетов */
	$pkg = new Packages;
	
	/* Класс шаблонизатора */
	$tpl = new Template;