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

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


ядро:w_user

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


Объект w_user

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

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

core/user.php

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

Селекторы

СеллекторОписаниеТип
idid пользователяПоле id объекта w_user
loginлогин пользователя: массив ['тип'⇒'логин'], телефон или emailstring, array
registredtrue - зарегистрирован, false - не зарегистрированboolean
session_idидентификатор сессииstring
user_idid пользователя joomlaint
По-умолчаниюid пользователяint
$user = w_user::items(['login'=>'info@melissa.team']); //получить пользователя с E-mail или телефоном "info@melissa.team"
$user = w_user::items(['login'=>['phone'=>'79081234567']]); //получить пользователя с телефоном "79081234567"
$user = w_user::items(['registred'=>true]); //получить всех зарегистрированных пользователей
$user = w_user::items(['user_id'=>3]); //получить пользователя с id joomla "3"
$user = w_user::items(10); //получить пользователя с id "10"

Поля

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

ПолеОписаниеТип
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Пользователь зарегистрирован и имеет пароль

Статичные методы

config(key)

Получение переменной конфигурации

АргументОписаниеТипПо-умолчанию
keyКлючstring обязательное
ВозвращаетЗначение переменной конфигурацииstring

current()

Получение текущего пользователя

ВозвращаетОбъект текущего пользователяОбъект w_user

init()

Инициализация класса. Системная функция, не участвует в разработке.

Возвращаетtrueboolean

Методы объекта

checkPassword(password)

Проверка пароля пользователя

АргументОписаниеТипПо-умолчанию
passwordПроверяемый парольstring обязательное
Возвращаетtrue, если пароль верныйstring

isOnline()

Проверка пользователя на онлайн

Возвращаетtrue, если пользователь в сетиboolean

login(remember,merge)

Вход пользователя в учетную запись

АргументОписаниеТипПо-умолчанию
rememberЗапомнить пользователяbooleanfalse
mergeСлить данные пользователя с текущим авторизованнымbooleantrue
Возвращаетtrue, если авторизация успешнаboolean

loginData(params,forced)

Получить данные регистрации пользователя, единичный объект

АргументОписаниеТипПо-умолчанию
paramsУсловия выборкиСелектор w_user_login[]
forcedНе брать из кешаbooleanfalse
ВозвращаетОбъект данных авторизацииОбъект w_user_login

loginDatas(params,forced)

Получить данные регистрации пользователя

АргументОписаниеТипПо-умолчанию
paramsУсловия выборкиСелектор w_user_login[]
forcedНе брать из кешаbooleanfalse
ВозвращаетОбъект данных авторизацииОбъект w_user_login

logout()

Выход пользователя

Возвращаетtrueboolean

merge(slave)

Объединить пользователя slave с данным пользователем

АргументОписаниеТипПо-умолчанию
slaveОбъединяемый пользовательОбъект w_user обязательное
Возвращаетtrueboolean

order(params,forced)

Получить заказ пользователя

АргументОписаниеТипПо-умолчанию
paramsУсловия выборкиСелектор w_order[]
forcedНе брать из кешаbooleanfalse
ВозвращаетОбъект заказаОбъект w_order

orders(params,forced)

Получить заказы пользователя

АргументОписаниеТипПо-умолчанию
paramsУсловия выборкиСелектор w_order[]
forcedНе брать из кешаbooleanfalse
ВозвращаетОбъект заказаОбъект w_order

register(type,login,merge)

Регистрация пользователя

АргументОписаниеТипПо-умолчанию
typeТип логинаПоле type объекта w_user_login
loginЛогинstring обязательное
mergeСлить данные пользователей, если учетная запись существуетbooleantrue
Возвращаетtrue, если регистрация успешнаboolean

Примеры

Создать и зарегистрировать пользователя по E-mail если он не существует

$user = w_user::item(['login'=>['email'=>'info@melissa.team']]); //ищем пользователя в базе
if(!$user){ //если пользователь не зарегистрирован
	$user = w_user::create(); //создаем пользователя
	$user->save(); //сохраняем пользователя
	$user->register('email','info@melissa.team'); //регистрируем пользователя по E-mail
	$user->valueSet('name','Кирилл Сорокин'); //записываем свойство профиля
}

Зарегистрировать по телефону текущего пользователя, установить пароль

$user = w_user::current(); //получаем текущего пользователя
$user->register('phone','79081234567'); //регистрируем пользователя по телефону
$user->setPassword('123456'); //устанавливаем пароль

Войти от имени пользователя

$user = w_user::item(10); //получаем пользователя с id "10"
$user->login(); //входим от его имени
ядро/w_user.1543155176.txt.gz · Последние изменения: 2018/11/25 17:12 — a1