Инструменты пользователя

Инструменты сайта


core:w_user:w_user_login

Это старая версия документа!


Объект w_user_login

Класс для работы с данными авторизации пользователей

Расположение

/administrator/com_wmartalpha/core/user.php

Является дочерним объектом Объекта w_object и наследует его функции, селекторы и поля

Селекторы

СеллекторОписаниеТип
idid пользователяint, array
loginлогин пользователя: массив ['тип'⇒'логин'], телефон или emailstring, array
registredtrue - зарегистрирован, false - не зарегистрированboolean
session_idидентификатор сессииstring
user_idid пользователя joomlaint
По-умолчаниюid пользователяint

Поля объекта

Сохраняемые поля объекта

ПолеОписаниеТип
user_idid пользователя joomlaint
passwordхеш пароляstring
status_idid статусаПоле status_id
session_idидентификатор сессииstring
paramsдополнительные параметрыОбъект w_json
visit_dateдата последнего посещенияОбъект w_date
register_dateдата регистрацииОбъект w_date

Динамические поля объекта

ПолеОписаниеТип
authorizedtrue, если пользователь является текущим авторизованнымboolean
registeredtrue, если пользователь зарегистрированboolean

Поле status_id

id статусаОписание
0Гостевая учетная запись
1Пользователь зарегистрирован, но не имеет пароля
2Пользователь зарегистрирован и имеет пароль

'type','user_id','login','access_token'

      $where[]=1;
$order=[];
$join=[];
$group=[];
      $limit='';
if(!isset($params['sort'])) $params['sort']='';
      if(!isset($params['nogroup'])) $params['nogroup']='';
      if(!isset($params['start'])) $params['start']=0;
      if(!isset($params['group'])) $params['group']='';
      
      if (isset($params['id'])) {
          $where[] = '(u.id=' . db::quote($params['id']) . ')';
      }
      if (!empty($params['group'])) {
          $where[] = '(u.type in (' . db::quote(self::$__group[$params['group']]). '))';
      }
      
      if (isset($params['login'])) {
          $where[] = '(u.login=' . db::quote($params['login']). ')';
      }
      
      if (isset($params['type'])) {
          $where[] = '(u.type in (' . db::quote($params['type']). '))';
      }
      if (isset($params['user_id'])) {
          $where[] = '(u.user_id=' . db::quote($params['user_id']) . ')';
      }
      
      switch ($params['sort']) {
          default: 
              $order[] = 'u.user_id';
              $order[] = 'u.type';
              
      }
if (isset($params['limit'])) {
          $limit = ' limit ' . (int)$params['start'] . ',' . (int) $params['limit'];
      }
$order = implode(',', $order);
      if($group) $group = ' group by '.implode(',', $group); else $group ='';
      
$join = implode(' ', $join);
$where = implode(' and ', $where);
      return ' from #__wmart_user_login as u '.$join.' where '.$where.$group.' order by '.$order.$limit;
      
          protected static $__group = [
      'main'=>['phone','email'],
      'social'=>['fb','instagram','mailru','ok','vk'],
      'service'=>['telegram','google','yandex']
  ];
  protected function __create() {
      $this->params = w_json::load();
  }
  
  protected function __init() {
      foreach(self::$__group as $group=>$types){
          if(in_array($this->type, $types)){
              $this->group=$group;
          }
core/w_user/w_user_login.1542414334.txt.gz · Последние изменения: 2018/11/17 03:25 — a1