本文整理汇总了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;
}
示例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'));
}
示例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;
}
示例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;
}
示例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();
}
}
示例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);
}
示例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 {
//Обычное отображение страницы
示例8: __construct
public function __construct()
{
$this->_user = Loader::get_user();
}