====== Объект 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(); //входим от его имени