コード例 #1
0
ファイル: Session.php プロジェクト: boolive/core
 static function activate()
 {
     // Сессиия идентифицируется по пользователю
     ini_set('session.use_cookies', 0);
     self::init();
     // При смене пользователя сменить сессию
     Events::on('Auth:set_user', ['\\boolive\\core\\session\\Session', 'init']);
 }
コード例 #2
0
ファイル: Auth.php プロジェクト: boolive/core
 /**
  * Установка текущего пользователя
  * Используется при "ручной" аутентификации, например, формой входа. При этом поиск пользователя
  * по логину, паролю или другим параметрам выполняется моделью формы входа.
  * @param null | Entity $user Авторизованный пользователь или NULL для отмены авторизации
  * @param int $duration Длительность в секундах запоминания пользователя. Если 0, то пользователь запоминается на период работы браузера
  */
 static function set_user($user, $duration = 0)
 {
     if ($user instanceof Entity) {
         self::$user = $user;
         self::remember($duration);
     } else {
         // Забыть текущего пользователя и создать нового гостя
         unset(self::$input['COOKIE']['ID']);
         self::remind();
     }
     Events::trigger('Auth::set_user', [self::get_user()]);
 }
コード例 #3
0
ファイル: Core.php プロジェクト: boolive/core
 /**
  * Обработчик исключений
  * Вызывается автоматически при исключениях и ошибках
  * @param \Exception $e Обрабатываемое исключение
  * @return bool
  */
 static function exception($e)
 {
     // Если обработчики событий не вернут положительный результат, то
     // обрабатываем исключение по умолчанию
     if (!\boolive\core\events\Events::trigger('Core::error', [$e])) {
         trace_log(get_class($e) . ' [' . $e->getCode() . ']: ' . $e->getMessage() . ' in ' . $e->getFile() . ' on line ' . $e->getLine());
         if (isset($e->xdebug_message)) {
             echo '<table cellspacing="0" cellpadding="1" border="1" dir="ltr">' . $e->xdebug_message . '</table>';
         } else {
             trace($e, 'error');
         }
     }
 }
コード例 #4
0
ファイル: Check.php プロジェクト: boolive/core
 /**
  * Вызов внешнего фильтра
  * @param string $method Названия фильтра
  * @param array $args Аргументы для метода фильтра
  * @return mixed
  */
 static function __callStatic($method, $args)
 {
     $args[1] =& $args[1];
     // needed for call_user_function()
     return Events::trigger('Check::' . $method, $args, false);
 }