UserManager

    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()); //Выводим ошибку процесса обработки данных
      }