====== Объект w_user ======
Класс для работы с пользователями
===== Расположение =====
''core/user.php''
Является дочерним объектом [[ядро:w_object|Объекта w_object]] и наследует его функции, селекторы и поля
===== Селекторы =====
^Селлектор^Описание^Тип^
|id|id пользователя|[[ядро:w_user|Поле id объекта w_user]]|
|login|логин пользователя: массив ''['тип'=>'логин']'', телефон или email|string, array|
|online|true - онлайн, false - оффлайн|boolean|
|registered|true - зарегистрирован, false - не зарегистрирован|boolean|
|session_id|идентификатор сессии|string|
|user_id|id пользователя joomla|int|
^По-умолчанию|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(['registered'=>true]); //получить всех зарегистрированных пользователей
$user = w_user::items(['user_id'=>3]); //получить пользователя с id joomla "3"
$user = w_user::items(10); //получить пользователя с id "10"
===== Поля =====
==== Сохраняемые поля объекта ====
^Поле^Описание^Тип^
|user_id|id пользователя joomla|int|
|password|хеш пароля|string|
|status_id|id статуса|[[ядро:w_user#поле_status_id|Поле status_id]]|
|session_id|идентификатор сессии|string|
|params|дополнительные параметры|[[ядро:w_json|Объект w_json]]|
|visit_date|дата последнего посещения|[[ядро:w_date|Объект w_date]]|
|register_date|дата регистрации|[[ядро:w_date|Объект w_date]]|
==== Динамические поля объекта ====
^Поле^Описание^Тип^
|authorized|true, если пользователь является текущим авторизованным|boolean|
|registered|true, если пользователь зарегистрирован|boolean|
==== Поле status_id ====
^id статуса^Описание^
|0|Гостевая учетная запись|
|1|Пользователь зарегистрирован, но не имеет пароля|
|2|Пользователь зарегистрирован и имеет пароль|
===== Статичные методы =====
==== config(key) ====
Получение переменной конфигурации
^Аргумент^Описание^Тип^По-умолчанию^
|key|Ключ|string обязательное| |
^Возвращает|Значение переменной конфигурации|string| |
==== current() ====
Получение текущего пользователя
^Возвращает|Объект текущего пользователя|[[ядро:w_user|Объект w_user]]| |
==== init() ====
Инициализация класса. Системная функция, не участвует в разработке.
^Возвращает|true|boolean| |
===== Методы объекта =====
==== checkPassword(password) ====
Проверка пароля пользователя
^Аргумент^Описание^Тип^По-умолчанию^
|password|Проверяемый пароль|string обязательное| |
^Возвращает|true, если пароль верный|string| |
==== isOnline() ====
Проверка пользователя на онлайн
^Возвращает|true, если пользователь в сети|boolean| |
==== login(remember,merge) ====
Вход пользователя в учетную запись
^Аргумент^Описание^Тип^По-умолчанию^
|remember|Запомнить пользователя|boolean|false|
|merge|Слить данные пользователя с текущим авторизованным|boolean|true|
^Возвращает|true, если авторизация успешна|boolean| |
==== loginData(params,forced) ====
Получить данные регистрации пользователя, единичный объект
^Аргумент^Описание^Тип^По-умолчанию^
|params|Условия выборки|[[core:w_user:w_user_login#селекторы|Селектор w_user_login]]|[]|
|forced|Не брать из кеша|boolean|false|
^Возвращает|Объект данных авторизации|[[core:w_user:w_user_login|Объект w_user_login]]| |
==== loginDatas(params,forced) ====
Получить данные регистрации пользователя
^Аргумент^Описание^Тип^По-умолчанию^
|params|Условия выборки|[[core:w_user:w_user_login#селекторы|Селектор w_user_login]]|[]|
|forced|Не брать из кеша|boolean|false|
^Возвращает|Объект данных авторизации|[[core:w_user:w_user_login|Объект w_user_login]]| |
==== logout() ====
Выход пользователя
^Возвращает|true|boolean| |
==== merge(slave) ====
Объединить пользователя slave с данным пользователем
^Аргумент^Описание^Тип^По-умолчанию^
|slave|Объединяемый пользователь|[[ядро:w_user|Объект w_user]] обязательное| |
^Возвращает|true|boolean| |
==== order(params,forced) ====
Получить заказ пользователя
^Аргумент^Описание^Тип^По-умолчанию^
|params|Условия выборки|[[core:w_order|Селектор w_order]]|[]|
|forced|Не брать из кеша|boolean|false|
^Возвращает|Объект заказа|[[core:w_order|Объект w_order]]| |
==== orders(params,forced) ====
Получить заказы пользователя
^Аргумент^Описание^Тип^По-умолчанию^
|params|Условия выборки|[[core:w_order|Селектор w_order]]|[]|
|forced|Не брать из кеша|boolean|false|
^Возвращает|Объект заказа|[[core:w_order|Объект w_order]]| |
==== register(type,login,merge) ====
Регистрация пользователя
^Аргумент^Описание^Тип^По-умолчанию^
|type|Тип логина|[[core:w_user:w_user_login#поля_type_и_group|Поле type объекта w_user_login]]| |
|login|Логин|string обязательное| |
|merge|Слить данные пользователей, если учетная запись существует|boolean|true|
^Возвращает|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(); //входим от его имени