<?php
/**
* ÐлаÑÑ FrontController.
*
* @package energine
* @subpackage core
* @author 1m.dm
* @copyright ColoCall 2006
* @version $Id: FrontController.class.php,v 1.5 2007/12/17 14:16:03 pavka Exp $
*/
//require_once('core/framework/DBWorker.class.php');
//require_once('core/framework/SystemException.class.php');
//require_once('core/framework/DocumentController.class.php');
//require_once('core/framework/UserSession.class.php');
/**
* Front Controller - ÐµÐ´Ð¸Ð½Ð°Ñ ÑоÑка вÑ
ода Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка ÑабоÑÑ ÑиÑÑемÑ.
*
* @package energine
* @subpackage core
* @final
*/
final class FrontController extends DBWorker {
/**
* ÐонÑÑÑÑкÑÐ¾Ñ ÐºÐ»Ð°ÑÑа.
*
* @access public
* @return void
*/
public function __construct() {
try {
UserSession::getInstance()->start();
parent::__construct();
$this->initAccessRightsConstants();
}
catch (SystemException $systemException) {
$systemException->handle();
}
catch (Exception $generalException) {
$systemException = new SystemException(
$generalException->getMessage(),
$generalException->getCode()
);
$systemException->handle();
}
}
/**
* СоздаÑÑ Ð¾Ð±ÑÐµÐºÑ DocumentController и пеÑедаÑÑ ÐµÐ¼Ñ ÑпÑавление.
*
* @access public
* @return void
*/
public function run() {
try {
$documentConroller = new DocumentController;
$documentConroller->run();
}
catch (SystemException $systemException) {
$systemException->handle();
}
catch (Exception $generalException) {
$systemException = new SystemException(
$generalException->getMessage(),
$generalException->getCode()
);
$systemException->handle();
}
}
/**
* ÐниÑиализиÑÑÐµÑ ÐºÐ¾Ð½ÑÑанÑÑ Ð¿Ñав доÑÑÑпа.
*
* @access private
* @return void
*/
private function initAccessRightsConstants() {
$result = $this->dbh->select('user_group_rights', true);
if (!is_array($result)) {
throw new SystemException('ERR_DEV_NO_GROUP', SystemException::ERR_DEVELOPER);
}
define('ACCESS_NONE', 0);
foreach ($result as $row) {
define($row['right_const'], intval($row['right_id']));
}
}
}