예제 #1
0
 /**
  * Запуск подчиненных контроллеров
  * @param Request $request Входящие данные и команды для обработки контроллерами
  * @param bool $all Признак, запускать все контроллеры (true), или пока не возвратится результат хотябы от одного из запущенных (false)
  * @param array $result Значения-заглушки для подчиненных контроллеров. Если в массиве есть ключ с именем контроллера, то этот контроллер не исполняется, а испольщуется указанное в элементе значение.
  * @return array Результаты исполнения контроллеров. Ключи массива - названия контроллеров.
  */
 function startChildren($request, $all = true, $result = [])
 {
     $list = $this->getCihildrenControllers([], $request);
     $config = Config::read('collections');
     if (isset($config[$this->uri() . '.startChildren'])) {
         $children = array_reverse($config[$this->uri() . '.startChildren']);
         foreach ($children as $item) {
             array_unshift($list, Data::read($item));
         }
     }
     foreach ($list as $child) {
         $child = $child->linked();
         if ($child instanceof controller) {
             $key = $child->name();
             if (!isset($result[$key])) {
                 $out = $child->start($request);
                 if ($out !== false) {
                     if (!$all) {
                         return $out;
                     }
                     $request->mix(['previous' => true]);
                     $result[$key] = $out;
                 }
             }
         }
     }
     return $result;
 }
예제 #2
0
파일: Auth.php 프로젝트: boolive/core
 static function activate()
 {
     // Конфиг хранилищ
     self::$config = Config::read('auth');
     self::$input = new Request();
     self::$input->setFilter(Rule::arrays(['COOKIE' => Rule::arrays(['ID' => Rule::string()])]));
 }
예제 #3
0
파일: confirm.php 프로젝트: paulinep/auth
 private function searchUser($confirm)
 {
     self::$config = Config::read('auth');
     $search_result = Data::find(array('from' => self::$config['users-list'], 'select' => 'children', 'depth' => 'max', 'where' => array(['child', 'confirm', array('value', '=', $confirm)]), 'key' => false, 'limit' => array(0, 1), 'comment' => 'search  user by confirm property'), false);
     if (!empty($search_result)) {
         $user = $search_result[0];
     } else {
         $user = false;
     }
     return $user;
 }
예제 #4
0
파일: form_auth.php 프로젝트: paulinep/auth
 function show($v, Request $request)
 {
     if ($this->_result == 0) {
         $v['message'] = 'Такого пользователя не существует';
     }
     self::$config = Config::read('auth');
     if (self::$config['registration']) {
         $v['registration'] = '<a class="btn btn-lg btn-primary btn-block" href="registration" type="button">Зарегистрироваться</a>';
     } else {
         $v['registration'] = '';
     }
     return parent::show($v, $request);
 }
예제 #5
0
파일: group.php 프로젝트: boolive/basic
 function checkChild(user $user)
 {
     self::$config = Config::read('auth');
     $where = [['child', 'email', ['value', '=', $user->email->value()]]];
     if ($user->is_exists()) {
         $where[] = ['uri', '!=', $user->uri()];
     }
     $result = Data::find(array('from' => self::$config['users-list'], 'select' => 'children', 'depth' => 'max', 'where' => $where, 'key' => false, 'limit' => array(0, 1), 'comment' => 'search if user already exist'), false);
     if (!empty($result)) {
         $user->errors()->_children->email->_attributes->value->dublicate = 'Email не уникален';
         return false;
     } else {
         return true;
     }
 }
예제 #6
0
파일: Error.php 프로젝트: boolive/core
 /**
  * Загрузка пользовательских сообщений из конфига
  */
 private static function loadGlobalDictionary()
 {
     if (!isset(self::$global_dictionary)) {
         self::$global_dictionary = Config::read('error.messages');
     }
 }
예제 #7
0
파일: DB.php 프로젝트: boolive/core
 static function activate()
 {
     $config = Config::read('db');
     self::$default_connection = self::connect($config);
 }
예제 #8
0
파일: Events.php 프로젝트: boolive/core
 /**
  * Активация модуля
  */
 static function activate()
 {
     self::$handlers = Config::read('events');
 }
예제 #9
0
파일: Data.php 프로젝트: boolive/core
 static function activate()
 {
     // Конфиг хранилищ
     self::$config = array_reverse(Config::read('stores'), true);
 }
예제 #10
0
파일: CLI.php 프로젝트: boolive/core
 /**
  * Исполнение php скрипта в командной строке
  * @param string $command Команда - запускаемый скрипт с аргументами
  * @param bool $background_mode Признак, запускать в фоновом режиме. По умолчанию нет
  * @param bool $ignore_duplicates Признак, игнорировать дубликаты
  */
 static function run_php($command, $background_mode = false, $ignore_duplicates = true)
 {
     if (!$ignore_duplicates || empty(self::$running_commands[$command])) {
         $config = Config::read('core');
         $php = empty($config['php']) ? 'php' : $config['php'];
         if (substr(php_uname(), 0, 7) == "Windows") {
             pclose(popen('start' . ($background_mode ? ' /B ' : ' ') . $php . ' ' . $command, "r"));
         } else {
             exec($php . ' ' . $command . ($background_mode ? " > /dev/null &" : ''));
         }
     }
     self::$running_commands[$command] = true;
 }
예제 #11
0
파일: Template.php 프로젝트: boolive/core
 /**
  * Загрузка шаблонизаторов
  */
 static function activate()
 {
     self::$engines = Config::read('template');
 }