Пример #1
0
 public function actionForgot()
 {
     if (!\Yii::$app->user->isGuest) {
         return $this->goHome();
     }
     $model = new ForgotForm();
     if ($model->load(Yii::$app->request->post()) && $model->find()) {
         $user = $model->find();
         $user->generatePasswordResetToken();
         if ($user->save()) {
             $email = Yii::$app->mailer->compose('reset', ['names' => $user->names, 'url' => Yii::$app->urlManager->createAbsoluteUrl(['site/reset', 'token' => $user->password_reset_token])])->setFrom('*****@*****.**')->setTo($user->username)->setSubject($user->names . " " . "Resetea tu cuenta en chaide")->send();
             if ($email) {
                 Yii::$app->getSession()->setFlash('success', 'No te olvides de revisar en la bandeja de spam.');
             } else {
                 Yii::$app->getSession()->setFlash('warning', 'Un error ha ocurrido por favor contactate con soporte técnico.');
             }
             return $this->goHome();
         } else {
             Yii::$app->getSession()->setFlash('warning', 'Un error ha ocurrido por favor contactate con soporte técnico.');
             return $this->goHome();
         }
     }
     return $this->render('forgot', ['model' => $model]);
 }
Пример #2
0
 /**
  * [actionForgot description]
  * @return [type] [description]
  */
 public function actionForgot()
 {
     $model = new ForgotForm();
     $session = new Session();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $getEmail = $model->email;
         $getIdentity = User::find()->where(['email' => $getEmail])->one();
         $getToken = rand(0, 99999);
         $getTime = date("H:i:s");
         $calcToken = md5($getToken . $getTime);
         $getIdentity->token = $calcToken;
         $getEmail = "*****@*****.**";
         $emailAdmin = "*****@*****.**";
         $senderName = "Jobocracy";
         $senderName = '=?UTF-8?B?' . base64_encode($senderName) . '?=';
         $subject = "Reset Password";
         $subject = '=?UTF-8?B?' . base64_encode($subject) . '?=';
         $message = 'You have successfully reset your password<br>
                    <a href="localhost/application/basic/web/index.php?r=site/ver-token&token=' . $calcToken . '">Click Here to Reset Your Password</a>';
         $headers = "From: {$senderName} <{$emailAdmin}>\r\n" . "Reply To: {$emailAdmin}\r\n" . "MIME-Version: 1.0\r\n" . "Content-type: text/html; charset=UTF-8";
         $getIdentity->save();
         $session->setFlash('forgot', 'A link to reset your password
             has been sent to your email address.');
         mail($getEmail, $subject, $message, $headers);
         return $this->render('forgot', ['session' => $session]);
     }
     return $this->render('forgot', ['model' => $model, 'session' => $session]);
 }