Class frontend\models\PasswordResetRequestForm
Inheritance | frontend\models\PasswordResetRequestForm » yii\base\Model |
---|---|
Source Code | https://github.com/yiisoft/yii2-app-advanced/blob/master/frontend/models/PasswordResetRequestForm.php |
Password reset request form
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
frontend\models\PasswordResetRequestForm |
Public Methods
Method | Description | Defined By |
---|---|---|
rules() | frontend\models\PasswordResetRequestForm | |
sendEmail() | Sends an email with a link, for resetting the password. | frontend\models\PasswordResetRequestForm |
Property Details
Method Details
public void rules ( ) |
public function rules()
{
return [
['email', 'trim'],
['email', 'required'],
['email', 'email'],
['email', 'exist',
'targetClass' => '\common\models\User',
'filter' => ['status' => User::STATUS_ACTIVE],
'message' => 'There is no user with this email address.'
],
];
}
Sends an email with a link, for resetting the password.
public boolean sendEmail ( ) | ||
return | boolean |
Whether the email was send |
---|
public function sendEmail()
{
/* @var $user User */
$user = User::findOne([
'status' => User::STATUS_ACTIVE,
'email' => $this->email,
]);
if (!$user) {
return false;
}
if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
$user->generatePasswordResetToken();
if (!$user->save()) {
return false;
}
}
return Yii::$app
->mailer
->compose(
['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'],
['user' => $user]
)
->setFrom([Yii::$app->params['supportEmail'] => Yii::$app->name . ' robot'])
->setTo($this->email)
->setSubject('Password reset for ' . Yii::$app->name)
->send();
}