Реєстрація користувачів

    Регистрация пользователей

    Контролер Register дозволяє реєструвати користувачів в задані групи і відправляти повідомлення про реєстрацію. Контролер є розширенням контролера Form, відповідно можна використовувати відповідні параметри для відправки листів при реєстрації.

    Імена полів у формі повинні відповідати полях моделі modUsers.

    Якщо у формі не задано поле username, то йому присвоюється значення поля email. Таким чином можна реєструвати користувачів тільки по email.

    Якщо у формі не задано поле password, то значення поля генерується автоматично. Тобто реєстрацію користувача можна звести до вказівки email.

    При реєстрації з паролем, у формі може бути присутнім поле repeatPassword. Якщо задані правила валідації для полів password і repeatPassword, то при наявності для поля repeatPassword правила equals, воно буде автоматично скориговано для перевірки рівності значень полів password і repeatPassword:

    "repeatPassword":{
        "required":"Введіть пароль ще раз",
        "equals":{
            "params" : "Цей ключ в описі правила можна не задавати, він буде сформований контролером автоматично",
            "message":"Паролі не збігаються"
        }
    }

    При реєстрації слід перевіряти унікальність імені користувача та email. У контролері передбачені відповідні правила:

    &rules=`{
        "username":{
            "required":"Введіть ім'я користувача",
            "alphaNumeric":"Тільки букви і цифри",
            "custom":{
                "function":"\\FormLister\\Register::uniqueUsername",
                "message":"Ім'я вже зайнято"
            }
        },
        "email":{
            "required":"Введіть email",
            "email":"Невірний email",
            "custom":{
                "function":"\\FormLister\\Register::uniqueEmail",
                "message":"Цей email вже використовує інший користувач"
            }
        }
    }`

    У шаблонах доступні всі поля моделі для створеного запису. Додатково задається поле user.password з незашифрованим паролем.

    Параметри

    model

    Клас для роботи з користувачами.

    Можливі значення - ім'я класу.

    Значення за замовчуванням - \modUsers

    modelPath

    Шлях до файлу класу для роботи з користувачами.

    Можливі значення - відносний шлях до файлу.

    Значення за замовчуванням - assets/lib/MODxAPI/modUsers.php

    allowedFields

    Дозволені для обробки поля. Поля, які не вказані в списку, ігноруються. Поля username, email і password завжди дозволені.

    Якщо не задано, то дозволені всі поля.

    Можливі значення - імена полів форми, розділені комою.

    Значення за замовчуванням - порожньо.

    forbiddenFields

    Заборонені для обробки поля. Поля, зазначені в списку, ігноруються. Поля username, email і password видаляються зі списку заборонених.

    Можливі значення - імена полів форми, розділені комою.

    Значення за замовчуванням - порожньо.

    userGroups

    Додає зареєстрованого користувача до зазначених груп.

    Можливі значення - імена груп, розділені комою (якщо імена містять кому в назві, то можна задати значення параметра масивом).

    Значення за замовчуванням - порожньо.

    checkActivation

    Включає перевірку активації облікового запису користувача (див. "Активація облікових записів"). При цьому після збереження запису буде встановлено поле activate.url, що містить посилання на сторінку з викликом сніпета для активації облікового запису.

    Можливі значення - 1 або 0.

    Значення за замовчуванням - 0.

    activateTo

    Якщо включена перевірка активації, то в цьому параметрі необхідно вказати id сторінки, на якій викликається сніппет для активації.

    Можливі значення - id сторінки.

    Значення за замовчуванням - значення $modx->config['site_start'].

    preparePostProcess

    Дозволяє виконати обробку даних після збереження.

    Можливі значення - імена сніпетів, анонімні функції, статичні методи завантажених класів.

    Значення за замовчуванням - порожньо.

    redirectTo

    Перенаправляє користувача на вказану статтю після реєстрації.

    Можливі значення - id цільової сторінки або масив.

    Значення за замовчуванням - порожньо.

    exitTo

    Перенаправляє вже авторизованого користувача на вказану статтю.

    Можливі значення - id цільової сторінки.

    Значення за замовчуванням - порожньо.

    skipTpl

    Шаблон повідомлення для вже авторизованого користувача.

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

    Значення за замовчуванням - запис з лексикону Register з ключем [+register.default_skipTpl+]

    successTpl

    Шаблон повідомлення про успішну реєстрацію.

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

    Значення за замовчуванням - запис з лексикону Register з ключем [+register.default_successTpl+]

    passwordLength

    Довжина пароля (якщо створюється автоматично).

    Можливі значення - число символів більше 6.

    Значення за замовчуванням - 6.