当前位置: 首页>>代码示例>>PHP>>正文


PHP Loader::get_user方法代码示例

本文整理汇总了PHP中Loader::get_user方法的典型用法代码示例。如果您正苦于以下问题:PHP Loader::get_user方法的具体用法?PHP Loader::get_user怎么用?PHP Loader::get_user使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Loader的用法示例。


在下文中一共展示了Loader::get_user方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _is_display

 protected function _is_display()
 {
     $user = Loader::get_user();
     $access_zone = config(URL_AP, 'access', 'zone');
     $access_users = (array) config(URL_AP, 'access', 'user');
     $access_groups = (array) config(URL_AP, 'access', 'group');
     $controller_name = Buffer::get(URL_CONTROLLER);
     $controller_zone = config(URL_CONTROLLER, $controller_name, 'zone');
     $permissions = config(URL_AP, 'access', $controller_name, 'permissions') | config(URL_AP, 'access', 'permissions');
     $path_url = get_path_url();
     //Попытка доступа в области закрытые для посещения?
     if ($controller_zone == Z_CLOSED or $access_zone == Z_CLOSED) {
         return FALSE;
     }
     if ($access_zone != Z_PUBLIC and $user->is_visitor()) {
         return FALSE;
     }
     //Проверяем не заблокирован ли IP
     if (config(URL_AP, 'access', 'check_blocked_ip')) {
         Security::check_access_ip();
     }
     //разрешён ли вход этому типу пользователей?
     if (!in_array(User::T_ALL, $access_users) and !empty($access_users) and !in_array($user->get_type(), $access_users)) {
         return FALSE;
     }
     //Состоит ли пользователь в нужных для доступа группах?
     if (!$user->is_groups($access_groups)) {
         return FALSE;
     }
     //Проверка прав доступа при входе в закрытую зону сайта
     if ((bool) $permissions === TRUE and ($controller_zone == Z_PRIVATE or $access_zone == Z_PRIVATE) and !($user->check_permission($path_url) & $permissions)) {
         return FALSE;
     }
     return TRUE;
 }
开发者ID:viking2000,项目名称:web-antarix,代码行数:35,代码来源:display.php

示例2: execute

 public function execute()
 {
     $user = Loader::get_user();
     $user->get_module('secret_key')->unset_secret_key();
     Session::destroy(Session::get_sid());
     $user->reset(0);
     self::set_client_command('unset_secret_key', array());
     self::set_client_command('refresh', array('url' => 'self'));
 }
开发者ID:viking2000,项目名称:web-antarix,代码行数:9,代码来源:user.php

示例3: check_signature

 public static function check_signature($client_sig)
 {
     $user = Loader::get_user();
     if (!$client_sig) {
         return FALSE;
     }
     if (!$user->get_module(User::M_SECRET_KEY)->check_secret_key()) {
         $user->get_module(User::M_SECRET_KEY)->unset_secret_key();
         Session::destroy(Session::get_sid(), Session::ST_INCORRECT);
         return FALSE;
     }
     //Создаём серверную сигнатуру
     //1. получаем все параметры и удаляем параметр с сигнатурой
     $all_params = Buffer::get_post();
     unset($all_params['sig']);
     $elements_sig = array();
     //2. извлекаем значения из пришедших параметров в обязательный список параметров на серврере
     $params = config('web', 'sig_params');
     foreach ($params as $param) {
         //некоторые параметрый дублируем в ручную, по тем правилам, по которомы они дложны были создаваться на клиенте
         switch ($param) {
             case Session::COOKIE_ID:
                 $elements_sig[$param] = Session::get_sid();
                 break;
             case 'location':
                 $elements_sig[$param] = get_full_url();
                 $elements_sig[$param] = str_replace('/www.', '/', $elements_sig[$param]);
                 break;
             default:
                 $elements_sig[$param] = isset($all_params[$param]) ? $all_params[$param] : '';
         }
         if (isset($all_params[$param])) {
             unset($all_params[$param]);
         }
     }
     //Если в запросе остались какие-то параметры то добавляем их в конец массива
     if (!empty($all_params)) {
         $elements_sig = array_merge($elements_sig, $all_params);
     }
     //3. получаем секретный ключ текущего пользователя
     $elements_sig[self::NAME_SECRET_KEY] = $user->get_secret_key();
     //4. Сортируем и собираем в строку элементы запроса
     $server_sig = array();
     ksort($elements_sig);
     foreach ($elements_sig as $key => $value) {
         $server_sig[] = $key . '=' . $value;
     }
     //5. Формируем сигнатуру сервера
     $server_sig = md5(implode('&', $server_sig));
     //6. Сравниваем результаты
     if ($server_sig == $client_sig) {
         return TRUE;
     }
     return FALSE;
 }
开发者ID:viking2000,项目名称:web-antarix,代码行数:55,代码来源:security.php

示例4: add_image

 public function add_image($opt = array())
 {
     $user = Loader::get_user();
     if (empty($opt)) {
         $path = './modules/images';
     } else {
         $path = './modules/images/' . implode('/', $opt);
     }
     if (!$user->is_admin() or empty($_FILES['uploadFile']) or empty($_FILES['uploadFile']['name'])) {
         return;
     }
     if (!file_exists($path)) {
         mkdir($path);
     }
     $upload_file = $path . '/' . basename($_FILES['uploadFile']['name']);
     move_uploaded_file($_FILES['uploadFile']['tmp_name'], $upload_file);
     header("Content-type: application/xml; charset=UTF-8");
     echo '<?xml version="1.0" encoding="UTF-8" ?><result>', str_replace('./', config('settings', 'base_url'), $upload_file), '</result>';
     exit;
 }
开发者ID:viking2000,项目名称:web-antarix,代码行数:20,代码来源:files.php

示例5: execute

 public function execute()
 {
     //Проверяем, нужно ли проверять ip адрес у страницы на которую пытаемся попасть
     if (config(URL_AP, 'access', 'check_blocked_ip')) {
         Security::check_access_ip();
     }
     if (!Loader::get_user()->is_visitor() or Buffer::get(URL_AP) == self::AP) {
         header('Location: ' . config('settings', 'base_url'));
         exit;
     }
     Buffer::set(self::USER_TYPE, config(URL_AP, 'access', 'user'));
     Buffer::set(URL_AP, self::AP);
     Buffer::set(URL_CONTROLLER, self::CONTROLLER);
     Buffer::set(URL_METHOD, self::METHOD);
     //Любую команду от пользователя перенаправляем в команду авторизации
     if (is_ajax()) {
         $this->_command();
     } else {
         $this->_display();
     }
 }
开发者ID:viking2000,项目名称:web-antarix,代码行数:21,代码来源:identification.php

示例6: set_user

 public static function set_user($uid, $remember = FALSE)
 {
     self::$_session_options['user_data']['remember'] = (bool) $remember;
     self::$_session_options['uid'] = $uid;
     self::$_session_state = self::ST_OUTDATED;
     //old sid
     $sid = self::get_sid();
     //reset session
     self::destroy($sid);
     self::create();
     //new sid
     $sid = self::get_sid();
     if (!$remember) {
         $user_data = Format::converter(self::$_session_options['user_data'], config('settings', 'db_format'));
         db::simple_query(self::Q_UPDATE_UID, array('%uid' => $uid, '%sid' => $sid, '%user_data' => $user_data), TRUE);
     }
     Loader::get_user()->reset($uid);
 }
开发者ID:viking2000,项目名称:web-antarix,代码行数:18,代码来源:session.php

示例7: unset

 if (!empty($path[$i])) {
     for ($j = 0; $j < $i; $j++) {
         unset($path[$j]);
     }
     $options = array_values($path);
 }
 Buffer::set(URL_OPT, $options);
 //Проверяем корректность сессии
 if (!Session::analysis()) {
     Session::create();
 }
 //Разрешён ли вообще доступ пользователю?
 $access_zone = config(URL_AP, 'access', 'zone');
 $access_users = (array) config(URL_AP, 'access', 'user');
 if ($access_zone != Z_PUBLIC) {
     $user = Loader::get_user();
     if (!empty($access_users) and !in_array(User::T_ALL, $access_users) and $user->is_visitor() or !in_array($user->get_type(), $access_users)) {
         require_once PATH_STRATEGIES . 'identification.php';
         $class_name = 'Identification' . $postfix;
         $strategy = new $class_name();
     }
 }
 if (empty($strategy)) {
     //Определяем стратегию поведения
     if (is_ajax()) {
         //Обработка комманд
         require_once PATH_STRATEGIES . 'commands.php';
         $class_name = 'Commands' . $postfix;
         $strategy = new $class_name();
     } else {
         //Обычное отображение страницы
开发者ID:viking2000,项目名称:web-antarix,代码行数:31,代码来源:engine.php

示例8: __construct

 public function __construct()
 {
     $this->_user = Loader::get_user();
 }
开发者ID:viking2000,项目名称:web-antarix,代码行数:4,代码来源:secret_key.php


注:本文中的Loader::get_user方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。