isPasswordResetTokenValid() публичный статический Метод

Finds out if password reset token is valid
public static isPasswordResetTokenValid ( string $token ) : boolean
$token string password reset token
Результат boolean
 public function sendMail()
 {
     /* @var $user User */
     $user = User::findOne(['status' => User::STATUS_ACTIVE, 'email' => $this->email]);
     if ($user) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             $setting = Setting::find()->where(['id' => 1])->one();
             $username = $setting->sendgridUsername;
             $password = $setting->sendgridPassword;
             $mail_admin = $setting->emailAdmin;
             $sendgrid = new \SendGrid($username, $password, array("turn_off_ssl_verification" => true));
             $email = new \SendGrid\Email();
             $mail = $user->email;
             //echo $user->email;exit(0);
             $resetLink = \Yii::$app->urlManager->createAbsoluteUrl(['site/reset-password', 'token' => $user->password_reset_token]);
             $body_message = 'Hello ' . Html::encode($user->username) . ', <br>
             Follow the link below to reset your password:  <br>
             ' . Html::a(Html::encode($resetLink), $resetLink);
             $email->addTo($user->email)->setFrom($mail_admin)->setSubject('Password reset for ' . \Yii::$app->name)->setHtml($body_message);
             $response = $sendgrid->send($email);
             return $response;
         }
     }
     return false;
 }
 public function generateToken()
 {
     $mobile = $this->_session['passwordResetMobile'];
     $this->_user = User::findByMobile($mobile);
     if (!User::isPasswordResetTokenValid($this->_user->password_reset_token)) {
         $this->_user->generatePasswordResetToken();
     }
     return $this->_user->save(false);
 }
 /**
  * Sends an email with a confirmLink, for resetting the password.
  *
  * @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) {
         if (!User::isPasswordResetTokenValid($user->passwordResetToken)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             return \Yii::$app->mailer->compose(['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'], ['user' => $user])->setFrom([\Yii::$app->params['email.admin'] => 'Служба технической поддрежки' . \Yii::$app->name])->setTo($this->email)->setSubject(\Yii::$app->name . ': сброс пароля')->send();
         }
     }
     return false;
 }
Пример #4
0
 /**
  * Sends an email with a link, for resetting the password.
  *
  * @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) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             return \Yii::$app->mailer->compose(['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'], ['user' => $user])->setFrom([\Yii::$app->params['supportEmail'] => '湖南松龄堂中药饮片有限公司'])->setTo($this->email)->setSubject('重置密码' . '湖南松龄堂中药饮片有限公司')->send();
         }
     }
     return false;
 }
 /**
  * Sends an email with a link, for resetting the password.
  *
  * @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) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             return \Yii::$app->mailer->compose('user/passwordResetToken', ['user' => $user])->setFrom([\Yii::$app->params['supportEmail'] => Yii::$app->name . ' robot'])->setTo($this->email)->setSubject(Module::t('password', 'SUBJECT_RESET_PASSWORD {APP_NAME}', ['APP_NAME' => Yii::$app->name]))->send();
         }
     }
     return false;
 }
 /**
  * Sends an email with a link, for resetting the password.
  *
  * @return boolean whether the email was send
  */
 public function sendEmail()
 {
     /* @var $user User */
     $user = User::findOne(['recordStatus' => User::RECORDSTATUS_USED, 'email' => $this->email]);
     if ($user) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             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();
         }
     }
     return false;
 }
Пример #7
0
 /**
  * Sends an email with a link, for resetting the password.
  *
  * @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) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             return \Yii::$app->mailer->compose('passwordResetToken', ['user' => $user])->setFrom([\Yii::$app->setting->get('smtpUser') => \Yii::$app->name . ' robot'])->setTo($this->email)->setSubject('Password reset for ' . \Yii::$app->name)->send();
         }
     }
     return false;
 }
 /**
  * Sends an email with a link, for resetting the password.
  *
  * @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) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             return \Yii::$app->mailer->compose(['html' => 'password-reset-token'], ['user' => $user])->setFrom([\Yii::$app->params['noreplyEmail'] => \Yii::$app->name . ' robot'])->setTo($this->email)->setSubject('Сброс пароля для пользователя ' . \Yii::$app->name)->send();
         }
     }
     return false;
 }
 /**
  * Sends an email with a link, for resetting the password.
  *
  * @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) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             return \Yii::$app->mailer->compose(['text' => 'passwordResetToken-text'], ['user' => $user])->setFrom(\Yii::$app->params['adminEmail'])->setTo($this->email)->setSubject('Сброс пароля на сайте')->send();
         }
     }
     return false;
 }
Пример #10
0
 /**
  * Sends an email with a link, for resetting the password.
  *
  * @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) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             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(Yii::t('msg', 'Password reset for {appName}', ['appName' => Yii::$app->name]))->send();
         }
     }
     return false;
 }
 /**
  * Отправка письма
  * @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) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             return \Yii::$app->mailer->compose(['html' => 'passwordResetToken-html'], ['user' => $user])->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->name])->setTo($this->email)->setSubject('Восстановление пароля для сайта "' . \Yii::$app->name . '"')->send();
         }
     }
     return false;
 }
 /**
  * Sends an email with a link, for resetting the password.
  *
  * @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) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             return Yii::$app->mailer->compose(['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'], ['user' => $user])->setFrom([Option::get('admin_email') => Yii::$app->name . ' robot'])->setTo($this->email)->setSubject('Password reset for ' . Yii::$app->name)->send();
         }
     }
     return false;
 }
 /**
  * Sends an email with a link, for resetting the password.
  *
  * @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(["*****@*****.**" => "简扬教育系统邮件"])->setTo($this->email)->setSubject('重置密码 ' . \Yii::$app->name)->send();
 }
 /**
  * Sends an email with a link, for resetting the password.
  *
  * @return boolean whether the email was send
  */
 public function sendEmail($resetPasswordRoute = null)
 {
     /* @var $user User */
     $user = User::findOne(['status' => User::STATUS_ACTIVE, 'email' => $this->email]);
     if ($user) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         $route = $resetPasswordRoute ? $resetPasswordRoute : 'site/reset-password';
         if ($user->save()) {
             return \Yii::$app->mailer->compose(['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'], ['user' => $user, 'resetRoute' => $route])->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->name . ' robot'])->setTo($this->email)->setSubject('Password reset for ' . \Yii::$app->name)->send();
         }
     }
     return false;
 }
 /**
  * Sends an email with a link, for resetting the password.
  *
  * @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) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             $admin_email = Configurations::find()->where(['key' => 'admin_email'])->one();
             return \Yii::$app->mailer->compose(['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'], ['user' => $user])->setFrom($admin_email->value)->setTo($this->email)->setSubject('Password reset for ' . \Yii::$app->name)->send();
         }
     }
     return false;
 }
Пример #16
0
 /**
  * Logs in a user using the provided username and password.
  *
  * @return boolean whether the user is logged in successfully
  */
 public function forgot()
 {
     if ($this->validate()) {
         if ($this->_user) {
             if (!User::isPasswordResetTokenValid($this->_user->password_reset_token)) {
                 $this->_user->generatePasswordResetToken();
             }
             if ($this->_user->save()) {
                 return Yii::$app->mailer->compose('passwordResetToken-text', ['user' => $this->_user])->setFrom([Yii::$app->params['supportEmail'] => Yii::$app->name . ' robot'])->setTo($this->_user->email)->setSubject('Password reset for ' . Yii::$app->name)->send();
             }
         }
         return false;
     } else {
         return false;
     }
 }
 /**
  * Sends an email with a link, for verification.
  * @param  [type] $email   [description]
  * @param  [type] $tipe    [description]
  * @param  [type] $user_id [description]
  * @return [type]          [description]
  */
 public function sendEmail($email, $tipe, $user_id = null)
 {
     /* @var $user User */
     if (!is_null($user_id)) {
         $user = User::findOne(['status' => User::STATUS_ACTIVE, 'id' => $user_id]);
     } else {
         $user = User::findOne(['status' => User::STATUS_ACTIVE, 'email' => $email]);
     }
     if ($user) {
         if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
             $user->generatePasswordResetToken();
         }
         if ($user->save()) {
             return \Yii::$app->mailer->compose(['html' => 'verificationEmailToken-html', 'text' => 'verificationEmailToken-text'], ['user' => $user, 'tipe' => $tipe])->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->name])->setTo($email)->setSubject('Verification email for ' . \Yii::$app->name)->send();
         }
     }
     return false;
 }
Пример #18
0
 public function sendEmailConfirmation($user)
 {
     if (!$user) {
         return false;
     }
     if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
         $user->generatePasswordResetToken();
         if (!$user->save()) {
             return false;
         }
     }
     $confirmationLink = \Yii::$app->urlManager->createAbsoluteUrl(['site/email-confirmation', 'token' => $user->password_reset_token]);
     $message = "" . "<p>Olá " . Html::encode($user->username) . ",</p>" . "<p>Clique no link abaixo para confirmar o seu registo em " . \Yii::$app->name . ".</p>" . "<p>" . Html::a(Html::encode($confirmationLink), $confirmationLink) . "</p>" . "<br>" . "<p>Agradecemos desde já o seu registo.</p>" . "<p><b>Obrigado.</b></p>";
     $from_name = \Yii::$app->name;
     $from_email = \Yii::$app->params['adminEmail'];
     $to_name = $user->username;
     $to_email = $user->email;
     $subject = 'Confirmar registo em ' . \Yii::$app->name;
     return \common\models\MailQueue::saveAndSend(\common\enum\EmailType::REGISTRATION, $from_name, $from_email, $to_name, $to_email, $subject, $message);
 }
 /**
  * Sends an email with a link, for resetting the password.
  *
  * @return boolean whether the email was send
  */
 public function sendEmailResetPassword()
 {
     $user = User::findOne(['status' => \common\enum\UserStatus::ACTIVE, 'email' => $this->email]);
     if (!$user) {
         return false;
     }
     if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
         $user->generatePasswordResetToken();
         if (!$user->save(false)) {
             return false;
         }
     }
     $resetLink = \Yii::$app->urlManager->createAbsoluteUrl(['site/reset-password', 'token' => $user->password_reset_token]);
     $message = "<p>Olá " . Html::encode($user->username) . ",</p>" . "<p>Clique no link abaixo para redefinir a sua palavra passe em " . \Yii::$app->name . "</p>" . "<p>" . Html::a(Html::encode($resetLink), $resetLink) . "</p>";
     $from_name = \Yii::$app->name;
     $from_email = \Yii::$app->params['adminEmail'];
     $to_name = $user->username;
     $to_email = $user->email;
     $subject = 'Redefinir palavra passe em ' . \Yii::$app->name;
     return \common\models\MailQueue::saveAndSend(\common\enum\EmailType::PASSWORD_RESET, $from_name, $from_email, $to_name, $to_email, $subject, $message);
 }