/**
  * @param bool $performValidation
  *
  * @return bool
  */
 public function sendEmail($performValidation = true)
 {
     if ($performValidation and !$this->validate()) {
         return false;
     }
     $this->user->generateConfirmationToken();
     $this->user->save(false);
     return Yii::$app->mailer->compose(Yii::$app->yee->emailTemplates['password-reset'], ['user' => $this->user])->setFrom(Yii::$app->yee->emailSender)->setTo($this->email)->setSubject(Yii::t('yee/auth', 'Password reset for') . ' ' . Yii::$app->name)->send();
 }
示例#2
0
 /**
  * @param bool $performValidation
  *
  * @return bool|User
  */
 public function signup($performValidation = true)
 {
     if ($performValidation and !$this->validate()) {
         return false;
     }
     $user = new User();
     $user->password = $this->password;
     $user->username = $this->username;
     $user->email = $this->email;
     if (Yii::$app->yee->emailConfirmationRequired) {
         $user->status = User::STATUS_INACTIVE;
         $user->generateConfirmationToken();
         // $user->save(false);
         if (!$this->sendConfirmationEmail($user)) {
             $this->addError('username', Yii::t('yee/auth', 'Could not send confirmation email'));
         }
     }
     if (!$user->save()) {
         $this->addError('username', Yii::t('yee/auth', 'Login has been taken'));
     } else {
         return $user;
     }
     return FALSE;
 }