View file index.php

File size: 2.76Kb
<?php
/**
 * Ant0ha's project
 *
 * @package
 * @author Anton Pisarenko <[email protected]>
 * @copyright Copyright (c) 2006 - 2010, Anton Pisarenko
 * @license http://ant0ha.ru/license.txt
 * @link http://ant0ha.ru
 */

$start_time = microtime(true);

defined('ROOT') or define('ROOT', str_replace('\\', '/', realpath(dirname (__FILE__))) .'/');
define('IN_SYSTEM', TRUE);

# Конфигурация системы
if(file_exists(ROOT .'data_files/config.php')) {
	include_once ROOT .'data_files/config.php';
}
else {
	header("Location: ./install/index.php");
	exit;
}

# Подключаем главные функции ядра
include_once(ROOT .'kernel/general_functions.php');
# Конфигурация php
include_once(ROOT .'kernel/ini_set.php');
# Подключаем Registry
a_import('libraries/registry');

session_name('sid');
session_start();

# Легкий XSS clean =)
$_GET = array_map('htmlspecialchars_array', $_GET);

# Подключаем MySQL класс
a_import('libraries/mysql');
$db = new MySQL();
$db->connect();
$db->charset('utf8');

# Добавяем $db в Registry
Registry::set('db', $db);

# Загрузка конфигурации системы
$CONFIG = array();
$result = $db->query("SELECT * FROM #__config");
while($item = $db->fetch_array($result)) $CONFIG[$item['module']][$item['key']] = $item['value'];
define('MAIN_MENU', $CONFIG['system']['main_menu']);
define('EXT', $CONFIG['system']['ext']);
define('DEFAULT_MODULE', $CONFIG['system']['default_module']);

# Добавяем $CONFIG в Registry
Registry::set('config', $CONFIG);

# Показ ошибок
if($CONFIG['system']['display_errors']) ini_set('display_errors', 'On');
else ini_set('display_errors', 'Off');

# Мини роутинг
a_import('libraries/route');
$route = new Route;

# Загрузка основного хелпера основного модуля
a_import('modules/main/helpers/main');
# Загрузка хелпера модулей
a_import('modules/modules/helpers/modules');

# Ежедневные действия в системе
a_import('kernel/everyday');

# Подключаем и инициализируем контроллер
a_import('libraries/controller');
$controller = a_load_class(ROUTE_CONTROLLER_PATH, 'controller');

# Выполняем метод контроллера
if(!empty($route->action)) {
	$action_method = 'action_'. $route->action;
	if(method_exists($controller, $action_method)) {
		$controller->$action_method();
	}
	else header('Location: '. a_url('main/page_not_found', '', true));
}
else {
	if(method_exists($controller, 'action_index')) {
		$controller->action_index();
	}
	else header('Location: '. a_url('main/page_not_found', '', true));
}

if($CONFIG['system']['profiler'] == 'on' && ACCESS_LEVEL == 10) a_profiler($start_time);
?>