/** * @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(); }
/** * @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; }