Skip to content

Latest commit

 

History

History
621 lines (498 loc) · 36.4 KB

File metadata and controls

621 lines (498 loc) · 36.4 KB

UserManager

Это различные методы связанные с управлением пользователем в EvolutionCMS, все действия связанные с пользователем проходят через эти методы.

Доступные функции и примеры использования

  1. get - получение пользователя
  2. create - регистрация пользователя
  3. edit - редактирование пользователя
  4. delete - удаление пользователя
  5. login - авторизация пользователя
  6. loginById - авторизация пользователя по его id
  7. logout - Выход пользователя из системы
  8. setRole - назначение пользователю его роли
  9. setGroups - назначению пользователю его группы пользователей
  10. clearSettings - удалеение всех настроек пользователя
  11. saveSettings - сохранение настроек пользователя
  12. repairPassword - получение хэша для сброса пароля
  13. changePassword - смена пароля при наличии старого пароля
  14. hashChangePassword - смена пароля по хэшу полученному из метода repairPassword
  15. generateAndSavePassword - смена пароля на автосгенерированный для дальнейшей отправки пользователю
  16. refreshToken - обновление токена авторизации
  17. getVerifiedKey - получение ключа верификации пользователя
  18. verified - подтверждение пользователя с помощью ключа верификации

get - получение пользователя

User \UserManager::get(integer $userId)

Функция возвращает объект модели пользователя User

Параметры, которые принимает функция:

  • $userId - id пользователя которого желаем получить

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

$user = \UserManager::get(1);
print_r($user->attributes->toArray());

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

User \UserManager::create(array $userData, bool $events = true, bool $cache = true)

Пользователи по умолчанию создаются подтверждёнными, если необходимо чтобы пользователь был не подтверждён, необходимо в $userData передать элемент с ключом verified и значнием 0 Функция возвращает объект модели пользователя User

Параметры, которые принимает функция:

  • $userData - массив содержащий поля пользователя. Обязательные поля username, password, password_confirmation, email. password должен быть минимум 6 символов. password_confirmation должен быть равен полю password. Поля email и username должны быть уникальными.
  • $events - указатель вызываем ли мы события связанные с созданием пользователя
  • $cache - указатель сбрасываем ли кэш после создания пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции регистрации пользователя

$data = ['username' => 'admin22', 'password' => '123456', 'password_confirmation' => '123456', 'email' => 'test@test.test'];
try {
    $user = \UserManager::create($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
     print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

edit - редактирование пользователя

User \UserManager::edit(array $userData, bool $events = true, bool $cache = true)

Функция возвращает объект модели пользователя User

Параметры, которые принимает функция:

  • $userData - массив содержащий поля пользователя. Обязательные поля id, необходимо для поиска пользователя. В ситуациях если вы передаёте поле password: password должен быть минимум 6 символов. password_confirmation должен быть равен полю password. Если передаёте email и username они должны быть уникальными для этого пользователя.
  • $events - указатель вызываем ли мы события связанные с редактированием пользователя
  • $cache - указатель сбрасываем ли кэш после редактирования пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции редактирования пользователя

$data = ['id'=> 1, 'username' => 'admin22', 'email' => 'test@test.test'];
try {
    $user = \UserManager::edit($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
     print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

delete - удаление пользователя

User \UserManager::delete(array $userData, bool $events = true, bool $cache = true)

Функция возвращает username пользователя

Параметры, которые принимает функция:

  • $userData - массив содержащий id пользователя.
  • $events - указатель вызываем ли мы события связанные с удалением пользователя
  • $cache - указатель сбрасываем ли кэш после удаления пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции удаления пользователя

$data = ['id'=> 1];
try {
    $user = \UserManager::delete($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

login - авторизация пользователя

User \UserManager::login(array $userData, bool $events = true, bool $cache = true)

Функция возвращает объект модели пользователя User

Параметры, которые принимает функция:

  • $userData - массив содержащий поля необходимые для авторизации пользователя. Обязательные поля username и password, необходимы для авторизации пользователя.
  • $events - указатель вызываем ли мы события связанные с авторизацией пользователя
  • $cache - указатель сбрасываем ли кэш после авторизации пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример авторизации пользователя

$data = ['username'=> 'manager', 'password' => '123456'];
try {
    $user = \UserManager::login($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

loginById - авторизация пользователя по его id

User \UserManager::loginById(array $userData, bool $events = true, bool $cache = true)

Функция возвращает объект модели пользователя User

Параметры, которые принимает функция:

  • $userData - массив содержащий поля необходимые для авторизации пользователя. Обязательнон поле id
  • $events - указатель вызываем ли мы события связанные с авторизацией пользователя
  • $cache - указатель сбрасываем ли кэш после авторизации пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример авторизации пользователя

$data = ['id'=> 1];
try {
    $user = \UserManager::loginById($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

logout - Выход пользователя из системы

User \UserManager::logout(array $userData, bool $events = true, bool $cache = true)

Функция возвращает username пользователя

Параметры, которые принимает функция:

  • $userData - можно передавать пустой массив или вообще ничего.
  • $events - указатель вызываем ли мы события связанные с выходом пользователя из системы
  • $cache - указатель сбрасываем ли кэш после выхода пользователя из системы

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

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

try {
    $user = \UserManager::logout();
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

setRole - назначению пользователю его роли

User \UserManager::setRole(array $userData, bool $events = true, bool $cache = true)

Функция возвращает объект модели пользователя User

Параметры, которые принимает функция:

  • $userData - массив содержащий id пользователя и role оба поля обязательны.
  • $events - указатель вызываем ли мы события связанные с назначением роли пользователя
  • $cache - указатель сбрасываем ли кэш после назначения роли пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции назначения роли

$data = ['id'=> 1, 'role' => 2];
try {
    $user = \UserManager::setRole($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

setGroups - назначению пользователю его группы пользователей

User \UserManager::setGroups(array $userData, bool $events = true, bool $cache = true)

Функция возвращает объект модели пользователя User

Параметры, которые принимает функция:

  • $userData - массив содержащий id пользователя и groups массив групп пользователя. Оба поля обязательны.
  • $events - указатель вызываем ли мы события связанные с назначением группы пользователя
  • $cache - указатель сбрасываем ли кэш после назначения группы пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции назначения группы пользователей

$data = ['id'=> 1, 'groups' => [1,2]];
try {
    $user = \UserManager::setGroups($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

clearSettings - удаление всех настроек пользователя

User \UserManager::clearSettings(array $userData, bool $events = true, bool $cache = true)

Функция возвращает true в случае успешного сохранения

Параметры, которые принимает функция:

  • $userData - массив содержащий id пользователя. Поле id является обязательным.
  • $events - указатель вызываем ли мы события связанные с удалением настроек пользователя
  • $cache - указатель сбрасываем ли кэш после удаления настроек пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции сохранения настроек пользователей

$data = ['id'=> 1];
try {
    $user = \UserManager::clearSettings($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

saveSettings - сохранение настроек пользователя

User \UserManager::saveSettings(array $userData, bool $events = true, bool $cache = true)

Функция возвращает true в случае успешного сохранения

Параметры, которые принимает функция:

  • $userData - массив содержащий id пользователя и прочие данные. Поле id является обязательным.
  • $events - указатель вызываем ли мы события связанные с сохранением настроек пользователя
  • $cache - указатель сбрасываем ли кэш после сохранения настроек пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции сохранения настроек пользователей

$data = ['id'=> 1, 'some_settings' => 'some_data'];
try {
    $user = \UserManager::saveSettings($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

repairPassword - получение хэша для сброса пароля

User \UserManager::repairPassword(array $userData, bool $events = true, bool $cache = true)

Функция возвращает hash для сброса пароля

Параметры, которые принимает функция:

  • $userData - массив содержащий id пользователя. Поле id является обязательным.
  • $events - указатель вызываем ли мы события связанные с созданием хэша пароля пользователя
  • $cache - указатель сбрасываем ли кэш после создания хэша пароля пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции сброса пароля

$data = ['id'=> 1];
try {
    $user = \UserManager::repairPassword($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

changePassword - смена пароля при наличии старого пароля

User \UserManager::changePassword(array $userData, bool $events = true, bool $cache = true)

Функция возвращает hash для сброса пароля

Параметры, которые принимает функция:

  • $userData - массив содержащий поля id, old_password, password, password_confirmation. Все поля обязательны к заполнению.
  • $events - указатель вызываем ли мы события связанные со сменой пароля пользователя
  • $cache - указатель сбрасываем ли кэш после смены пароля пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции сброса пароля

$data = ['id'=>1, 'old_password'=>'111111', 'password'=>'123456', 'password_confirmation'=>'123456'];
try {
    $user = \UserManager::changePassword($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

hashChangePassword - смена пароля по хэшу полученному из метода repairPassword

User \UserManager::hashChangePassword(array $userData, bool $events = true, bool $cache = true)

Функция возвращает hash для сброса пароля

Параметры, которые принимает функция:

  • $userData - массив содержащий поля hash, password, password_confirmation. Все поля обязательны к заполнению.
  • $events - указатель вызываем ли мы события связанные со сменой пароля пользователя
  • $cache - указатель сбрасываем ли кэш после смены пароля пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции сброса пароля

$data = ['hash'=>'111111', 'password'=>'123456', 'password_confirmation'=>'123456'];
try {
    $user = \UserManager::hashChangePassword($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

generateAndSavePassword - смена пароля на автосгенерированный для дальнейшей отправки пользователю

User \UserManager::generateAndSavePassword(array $userData, bool $events = true, bool $cache = true)

Функция возвращает пароль

Параметры, которые принимает функция:

  • $userData - массив содержащий поле id. Поле обязательно к заполнению.
  • $events - указатель вызываем ли мы события связанные со сменой пароля пользователя
  • $cache - указатель сбрасываем ли кэш после смены пароля пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции смена пароля

$data = ['id'=>1];
try {
    $user = \UserManager::generateAndSavePassword($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

refreshToken - обновление токена авторизации

User \UserManager::refreshToken(array $userData, bool $events = true, bool $cache = true)

Функция возвращает актуальный токен

Параметры, которые принимает функция:

  • $userData - массив содержащий поле refresh_token. Поле обязательно к заполнению.
  • $events - указатель вызываем ли мы события связанные с обновлением токена пользователя
  • $cache - указатель сбрасываем ли кэш после обновления токена пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции обновления токена

$data = ['refresh_token'=>'1asdasd1sad2dd4t54351fd1dfs1fd1'];
try {
    $user = \UserManager::refreshToken($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

getVerifiedKey - получение ключа верификации пользователя

User \UserManager::getVerifiedKey(array $userData, bool $events = true, bool $cache = true)

Функция возвращает объект пользователя из которого можно получить ключ верификации $user->verified_key;

Параметры, которые принимает функция:

  • $userData - массив содержащий поле id. Поле обязательно к заполнению.
  • $events - указатель вызываем ли мы события связанные с верификацией пользователя
  • $cache - указатель сбрасываем ли кэш после верификации пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции обновления токена

$data = ['id'=>'1'];
try {
    $user = \UserManager::getVerifiedKey($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}

verified - подтверждение пользователя с помощью ключа верификации

User \UserManager::verified(array $userData, bool $events = true, bool $cache = true)

Функция возвращает объект пользователя

Параметры, которые принимает функция:

  • $userData - массив содержащий поля verified_key и username. Оба поля обязательны к заполнению.
  • $events - указатель вызываем ли мы события связанные с верификацией пользователя
  • $cache - указатель сбрасываем ли кэш после оверификациии пользователя

ВНИМАНИЕ Функция может бросить два различных исключения

  • \EvolutionCMS\Exceptions\ServiceValidationException исключение срабатывает в случае если мы передали плохие данные в $userData.
  • \EvolutionCMS\Exceptions\ServiceActionException исключение срабатывает в ситуации когда возникла ошибка в процессе обработки данных.

Пример функции обновления токена

$data = ['username'=>'test', 'verified_key'=>'166a44621c209ef152cc92a2316c6307'];
try {
    $user = \UserManager::verified($data);
} catch (\EvolutionCMS\Exceptions\ServiceValidationException $exception) {
    $validateErrors = $exception->getValidationErrors(); //Получаем все ошибки валидации
    print_r($validateErrors); //Выводим все ошибки валидации
} catch (\EvolutionCMS\Exceptions\ServiceActionException $exception) {
    print_r($exception->getMessage()); //Выводим ошибку процесса обработки данных
}