Esempio n. 1
0
File: skey.php Progetto: pnixx/boot
 /**
  * Получаем инстанс
  * @static
  * @return Boot_Skey
  */
 public static function getInstance()
 {
     if (!self::$_instance instanceof Boot_Skey) {
         self::$_instance = new Boot_Skey();
     }
     return self::$_instance;
 }
Esempio n. 2
0
File: auth.php Progetto: pnixx/boot
 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;
 }
Esempio n. 3
0
File: boot.php Progetto: pnixx/boot
 /**
  * Инициализация
  * @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();
 }