Редактирование профиля пользователя

    Редактирование профиля пользователя

    Контроллер Profile позволяет авторизованным пользователям редактировать свои профили, в том числе менять пароль.

    При изменении профиля следует проверять уникальность email. В контроллере предусмотрено соответствующее правило:

    &rules=`{
        "email":{
            "required":"Введите email",
            "email":"Неверный email",
            "custom":{
                "function":"\\FormLister\\Profile::uniqueEmail",
                "message":"Этот email уже использует другой пользователь"
            }
        }
    }`

    Аналогично с полем username:

    &rules=`{
        "username":{
            "required":"Введите имя пользователя",
            "alphaNumeric":"Только буквы и цифры",
            "custom":{
                "function":"\\FormLister\\Profile::uniqueUsername",
                "message":"Имя уже занято"
            }
        }
    }`

    Если поле с паролем пустое, то пароль остается прежний. Новый пароль сохраняется в поле user.password.

    Активация пользователя сбрасывается, если изменяется поле, заданное в параметре verificationField. При этом, если включена проверка активации (параметр checkActivation), пользователь должен авторизоваться заново.

    Параметры

    model

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

    Возможные значения - имя класса. Для Evo 3.x следует использовать модель Pathologic\EvolutionCMS\MODxAPI\modUsers из пакета pathologic/modxapi.

    Значение по умолчанию - \modUsers

    modelPath

    Путь к файлу класса для работы с пользователями.

    Возможные значения - относительный путь к файлу.

    Значение по умолчанию - assets/lib/MODxAPI/modUsers.php

    allowedFields

    Разрешенные для обработки поля. Поля, не указанные в списке, игнорируются. Если пользователь меняет пароль, то в разрешенные поля добавляется поле password. Если у пользователей совпадают поля e-mail и username, то при изменении e-mail будет изменено и поле username, если значение этого поля не задано. В этом случае поле username будет добавлено в список разрешенных.

    Если не задано, то разрешены все поля.

    Возможные значения - имена полей формы, разделенные запятой.

    Значение по умолчанию - пусто.

    forbiddenFields

    Запрещенные для обработки поля. Поля, указанные в списке, игнорируются. Поля password и username исключаются из списка по аналогии с allowedFields.

    Возможные значения - имена полей формы, разделенные запятой.

    Значение по умолчанию - пусто.

    verificationField

    Поле, изменение которого приводит к сбросу активации.

    Возможные значения - имя поля.

    Значение по умолчанию - email.

    checkActivation

    Если включено, то при изменении поля, указанного в параметре verificationField, потребуется повторная авторизация.

    Возможные значения - 0 или 1.

    Значение по умолчанию - 0.

    preparePostProcess

    Позволяет выполнить обработку данных после сохранения.

    Возможные значения - имена сниппетов, анонимные функции, статические методы загруженных классов.

    Значение по умолчанию - пусто.

    redirectTo

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

    Возможные значения - id целевой страницы.

    Значение по умолчанию - пусто.

    exitTo

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

    Возможные значения - id целевой страницы или массив.

    Значение по умолчанию - пусто.

    skipTpl

    Шаблон сообщения для неавторизованного пользователя.

    Возможные значения - имя шаблона, указанное по правилам задания шаблонов в DocLister.

    Значение по умолчанию - запись из лексикона Profile с ключом [+profile.default_skipTpl+]

    successTpl

    Шаблон сообщения об успешном обновлении профиля. Если не задан, то генерируется сообщение об успешном сохранении формы.

    Возможные значения - имя шаблона, указанное по правилам задания шаблонов в DocLister.

    Значение по умолчанию - пусто.

    dateFormat

    Формат даты для поля dob.

    Возможные значения - формат даты по правилам функции date (например, "d.m.Y").