/** * Получаем инстанс * @static * @return Boot_Skey */ public static function getInstance() { if (!self::$_instance instanceof Boot_Skey) { self::$_instance = new Boot_Skey(); } return self::$_instance; }
public function setAuth($id, $user_key = "") { //Получаем секретный ключ $skey = Boot_Skey::get(); //Записываем токен в куки $token = $id . "#" . $skey . "#" . md5($id . $skey . $user_key); Boot_Cookie::set("auth_token", $token); //Возвращаем токен return $token; }
/** * Инициализация * @throws Exception * @return void */ public function run() { $this->root = realpath(dirname(__FILE__)); header("Content-type: text/html; charset=UTF-8"); //Загружаем классы require_once 'boot/exception/exception.php'; require_once 'boot/exception/db.php'; require_once 'boot/cookie.php'; require_once 'boot/skey.php'; require_once 'boot/routes.php'; require_once 'boot/flash.php'; require_once 'boot/mail.php'; require_once 'boot/assets.php'; require_once 'boot/params.php'; //Инклудим треды require_once SYSTEM_PATH . '/boot/trait/controller.php'; foreach (glob(SYSTEM_PATH . '/boot/trait/' . '*.php') as $path) { require_once $path; } //Инклудим абстрактные классы foreach (glob(SYSTEM_PATH . '/boot/abstract/' . '*.php') as $path) { require_once $path; } //Инклудим интерфейсы foreach (glob(SYSTEM_PATH . '/boot/interface/' . '*.php') as $path) { require_once $path; } require_once 'library/log.php'; //Устанавливаем отлавливатели ошибок set_error_handler('Boot_Exception::err_handler'); set_exception_handler("Boot_Exception::ex"); ob_start("Boot_Exception::shutdown"); //Загружаем конфиг $this->config(); //Создаём маршруты Boot_Routes::getInstance(); //Инициализируем защищённый ключ Boot_Skey::getInstance(); //Получаем имя шаблона $this->_nameLayout = $this->config->default->layout ? $this->config->default->layout : "index"; //Загружаем драйвер БД $this->load_model(); //Загружаем модель предствлений $this->load_view(); //Загружаем модель контроллера $this->load_controller(); //Устанавливаем путь подключения моделей set_include_path(APPLICATION_PATH); spl_autoload_register(array("Boot", "autoload")); //Загружаем библиотеки $this->load_library(); //Debug if (preg_match("/\\.(css|js)\$/", $_SERVER['REQUEST_URI']) == false) { $this->debug(PHP_EOL . PHP_EOL . $_SERVER['REQUEST_METHOD'] . " \"" . $_SERVER['REQUEST_URI'] . "\" for " . self::getRealIp() . " at " . date("Y-m-d H:i:s O")); } try { //Инициализируем контроллер $this->init_controller(); //Если не отключали вьюху, запускаем if ($this->_view) { $view = $this->init_view(); } else { $view = null; } //Загружаем шаблон $this->load_layout($view); //Выводим содержимое буфера ob_end_flush(); } catch (Exception $e) { ob_end_clean(); throw $e; } //Завершение работы скрипта $this->end(); }