Docs For Class Models_Forgotpass

Models_Forgotpass

Описание

Модель: Forgotpass

Класс Models_Forgotpass реализует логику восстановления пароля пользователей.

Методы класса
void activateUser() Активация пользователя по переданному id.
string getHash() Генерация случайного хэша.
bool sendHashToDB() Метод записывает хэш в таблицу пользователей.
bool sendUrlToEmail() Отправка письма со ссылкой на восстановление пароля.
Описание методов и примеры их использования

Метод

void activateUser (int $id)

Параметры

Описание

Активация пользователя по переданному id.

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

  1.  $userId 15;

Метод

string getHash (string $string)

Параметры

  • $string: строка на основе которой готовится хэш.

Описание

Генерация случайного хэша.

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

  1.  $email 'admin@mail.mail';
  2.  $hash Models_Forgotpass::getHash($email);
  3.  echo $hash;

Метод

bool sendHashToDB (string $email, string $hash)

Параметры

  • $email: электронный адрес пользователя, для которого записываем хэш.
  • $hash: хэш.

Описание

Метод записывает хэш в таблицу пользователей.

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

  1.  $email 'admin@mail.mail';
  2.  $hash '$1$CcS6ghRe$QF1cM4JKQfnOZRKDVT63L.';
  3.  Models_Forgotpass::sendHashToDB($email$hash);

Метод

bool sendUrlToEmail (array $emailData)

Параметры

  • $emailData: массив с передаваемыми данными.

Описание

Отправка письма со ссылкой на восстановление пароля.

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

  1.  $userId 1;
  2.  $email 'admin@mail.mail';
  3.  $hash '$1$CcS6ghRe$QF1cM4JKQfnOZRKDVT63L.';
  4.  $siteName MG::getOption('sitename');
  5.  
  6.  $emailMessage MG::layoutManager('email_forgot',
  7.    array(
  8.      'siteName'=>$siteName,
  9.      'email'=>$email,
  10.      'hash'=> $hash,
  11.      'userId'=> $userId,
  12.      'link' => SITE.'/forgotpass?sec='.$hash.'&id='.$userId
  13.    )
  14.  );
  15.  
  16.  $emailData array(
  17.    'nameFrom' => $siteName,
  18.    'emailFrom' => MG::getSetting('noReplyEmail'),
  19.    'nameTo' => 'Пользователю сайта '.$siteName,
  20.    'emailTo' => $email,
  21.    'subject' => 'Восстановление пароля на сайте '.$siteName,
  22.    'body' => $emailMessage,
  23.    'html' => true
  24.  );
  25.