Skip to content
  1. Компоненты
  2. AjaxFormItLogin
  3. Хуки
  4. AjaxIdentification

AjaxIdentification

Хук использующийся для работы с пользователями: регистрации, авторизации, восстановления доступа, выхода из аккаунта, редактирования личных данных.

Примеры использования

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

fenom
{'!AjaxFormitLogin' | snippet : [
  'form' =>  'aflRegisterForm',
  'snippet' => 'FormIt',
  'hooks' => 'AjaxIdentification,FormItSaveForm,FormItAutoResponder',
  'method' => 'register',
  'successMessage' => 'Вы успешно зарегистрированы. Подтвердите email для активации учётной записи.',
  'customValidators' => 'aflUserExists,aflCheckPassLength,aflPasswordConfirm',
  'formName' => 'Регистрация по email',

  'fiarSubject' => 'Активация пользователя',
  'fiarFrom' => 'email@domain.ru',
  'fiarTpl' => 'aflActivateEmail',

  'activation' => 1,
  'autoLogin' => 0,
  'redirectId' => '',
  'authenticateContexts' => '',
  'passwordField' => '',
  'usernameField' => 'email',
  'usergroupsField' => '',
  'moderate' => '',
  'redirectTimeout' => 3000,
  'usergroups' => 2,
  'activationResourceId' => 1,
  'extendedFieldPrefix' => 'extended_',
  'activationUrlTime' => 10800,
  'validate' => 'email:required:aflUserExists,password:aflCheckPassLength=^8^,password_confirm:aflPasswordConfirm=^password^,politics:minValue=^1^',
  'validationErrorMessage' => 'Исправьте, пожалуйста, ошибки!',
  'spamProtection' => 1,

  'politics.vTextMinValue' => 'Примите наши условия.',
  'phone.vTextRequired' => 'Укажите телефон.',
  'password.vTextRequired' => 'Придумайте пароль.',
  'password.vTextMinLength' => 'Пароль должен быть не менее 8 символов.',
  'fullname.vTextRequired' => 'Укажите ФИО.',
  'fullname.vTextMinLength' => 'Слишком короткое ФИО.',
  'username.vTextAflUserExists' => 'Этот телефон уже используется. Укажите другой номер.',
  'secret.vTextContains' => 'Кажется Вы робот. Если это не так, обновите страницу.',
]}

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

fenom
{'!AjaxFormitLogin' | snippet : [
  'form' =>  'aflLoginForm',
  'snippet' => 'FormIt',
  'successMessage' => 'Вы успешно авторизованы и будете перенаправлены в личный кабинет.',
  'validate' => 'email:required,password:required',
  'validationErrorMessage' => 'Исправьте, пожалуйста, ошибки!',
  'hooks' => 'AjaxIdentification',

  'method' => 'login',

  'redirectTo' => 5,
  'redirectTimeout' => 3000,
  'usernameField' => 'email',
  'spamProtection' => 1,

  'email.vTextRequired' => 'Укажите email.',
  'password.vTextRequired' => 'Введите пароль.',
  'secret.vTextContains' => 'Кажется Вы робот. Если это не так, обновите страницу.',
]}

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

fenom
{'!AjaxFormitLogin' | snippet : [
  'form' =>  'aflUpdateProfileForm',
  'snippet' => 'FormIt',
  'hooks' => 'AjaxIdentification',
  'method' => 'update',
  'successMessage' => 'Данные сохранены.',
  'clearFieldsOnSuccess' => 0,

  'validate' => 'email:required:email',
  'validationErrorMessage' => 'Исправьте, пожалуйста, ошибки!',
  'email.vTextRequired' => 'Укажите email.',
]}

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

fenom
 {'!AjaxFormitLogin' | snippet : [
  'form' => 'aflUpdatePassForm',
  'snippet' => 'FormIt',
  'hooks' => 'AjaxIdentification',
  'method' => 'update',
  'successMessage' => 'Пароль изменён.',

  'validate' => 'password:required:minLength=^8^:regexp=^/\A[\da-zA-Z!#\?&]*$/^,password_confirm:password_confirm=^password^',
  'validationErrorMessage' => 'Исправьте, пожалуйста, ошибки!',

  'password.vTextRequired' => 'Придумайте пароль.',
  'password.vTextRegexp' => 'Пароль может содержать только цифры, латинские буквы и символы !,#,?,&',
  'password.vTextMinLength' => 'Пароль должен быть не менее 8 символов.',
]}

Выход из аккаунта пользователя

fenom
{'!AjaxFormitLogin' | snippet : [
  'form' =>  'aflLogoutForm',
  'snippet' => 'FormIt',
  'hooks' => 'AjaxIdentification',
  'method' => 'logout',
  'successMessage' => 'До новых встреч!',
  'redirectTo' => 1,
  'validationErrorMessage' => '',
]}

Восстановление пароля пользователя

fenom
{'!AjaxFormitLogin' | snippet : [
  'form' =>  'aflForgotForm',
  'snippet' => 'FormIt',
  'hooks' => 'AjaxIdentification,FormItSaveForm,FormItAutoResponder',
  'method' => 'forgot',
  'successMessage' => 'Новый пароль отправлен на ваш email',
  'customValidators' => 'aflUserNotExists',
  'formName' => 'Забыли пароль',
  'spamProtection' => 1,

  'usernameField' => 'email',
  'validate' => 'email:required:aflUserNotExists',
  'validationErrorMessage' => 'Исправьте, пожалуйста, ошибки!',

  'fiarSubject' => 'Восстановление пароля',
  'fiarFrom' => 'email@domain.ru',
  'fiarTpl' => 'aflResetPassEmail',

  'email.vTextRequired' => 'Укажите email.',
  'email.vTextAflUserNotExists' => 'Пользователь не найден',
  'secret.vTextContains' => 'Кажется Вы робот. Если это не так, обновите страницу.',
]}