Відновлення паролів користувачами

    Відновлення паролів користувачами

    Контролер Reminder дозволяє web-користувачам відновлювати забуті паролі. Розширює контролер Form.

    Відновлення паролів відбувається за такою схемою:

    • користувач вводить в формі свій ідентифікатор (їм може бути ім'я користувача або email);
    • користувач отримує лист, в якому міститься посилання для відновлення;
    • при переході по посиланню користувач отримує можливість ввести новий пароль або пароль буде створений автоматично;
    • користувачеві відправляється лист з новим паролем і показується повідомлення (в повідомленні можна також вивести новий пароль).

    Параметр to перезаписується значенням email користувача. Обов'язково повинен бути заданий параметр resetTo.

    Параметри

    model

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

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

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

    modelPath

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

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

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

    hashField

    Ім'я поля для зберігання хеша даних користувача.

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

    userField

    Ім'я поля для зберігання ідентифікатора користувача (ім'я користувача або email).

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

    uidField

    Ім'я поля, яке використовується для ідентифікації користувача при переході по посиланню.

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

    exitTo

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

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

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

    resetTo

    Сторінка, на яку буде вказувати посилання для відновлення паролів. Обов'язковий параметр.

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

    Значення за замовчуванням - id документа, в якому викликаний контролер.

    redirectTo

    Перенаправляє на вказану статтю після успішного відновлення пароля.

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

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

    skipTpl

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

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

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

    formTpl

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

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

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

    resetTpl

    Шаблон форми для введення нового пароля. Якщо параметр не заданий, то пароль буде створений автоматично.

    Поля для введення паролів повинні називатися password і repeatPassword. У формі повинні також бути присутнім приховані поля з іменами з параметрів uidField і hashField. Значення для поля hashField задається через плейсхолдер [+user.hash+].

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

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

    successTpl

    Шаблон повідомлення про успішну відправку листа з посиланням для відновлення пароля. В шаблоні можна виводити плейсхолдери з даними користувача (username, email і т.д.).

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

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

    resetSuccessTpl

    Шаблон повідомлення про успішне відновлення пароля. В шаблоні можна виводити плейсхолдери з даними користувача (username, email і т.д.), а також новий пароль (newpassword).

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

    Значення за замовчуванням - запис з лексикону Reminder з ключем [+reminder.default_resetSuccessTpl+].

    reportTpl

    Шаблон листа з посиланням для відновлення пароля. В шаблоні можна виводити плейсхолдери з даними користувача (username, email і т.д.), а також новий пароль (newpassword). Посилання для відновленням пароля в листі задається через плейсхолдер [+reset.url+]

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

    Значення за замовчуванням - запис з лексикону Reminder з ключем [+reminder.default_reportTpl+]..

    resetReportTpl

    Шаблон листа про успішне відновлення пароля. В шаблоні можна виводити плейсхолдери з даними користувача (username, email і т.д.), а також новий пароль (newpassword). Якщо не заданий, то лист користувачеві відправлятися не буде.

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

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

    rules

    Правила валідації для форми ідентифікації користувача.

    Можливі значення - див. розділ "Валідація даних".

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

    resetRules

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

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

    Можливі значення - див. розділ "Валідація даних".

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

    passwordLength

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

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

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