/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { if ($this->validate()) { $user = new User(); $user->email = $this->email; $user->fio = $this->fio; $user->phone = $this->phone; $user->status = User::STATUS_NOT_ACTIVE; $user->setPassword($this->password); $user->generateAuthKey(); $user->generateEmailConfirmToken(); return $user->save() && $this->sendEmailConfirmToken($user); } return false; }
/** * Registration * * @return User|null the saved model or null if saving fails */ public function registration() { if ($this->validate()) { $user = new User(); $user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->status = User::STATUS_WAIT; $user->generateAuthKey(); $user->generateEmailConfirmToken(); if ($user->save()) { Yii::$app->mailer->compose('user/confirmEmail', ['user' => $user])->setFrom([Yii::$app->params['supportEmail'] => Yii::$app->name])->setTo($this->email)->setSubject(Module::t('registration', 'EMAIL_CONFIRMATION_SUBJECT_FOR {APP_NAME}', ['APP_NAME' => Yii::$app->name]))->send(); } return $user; } return null; }
/** * @return User|null * Регистрация нового пользователя */ public function registration() { if ($this->validate()) { /** * Если все введенные данные верны, создаем пользователя, генерируем дополнительные поля */ $user = new User(); $user->first_name = $this->first_name; $user->last_name = $this->last_name; $user->email = $this->email; $user->setPassword($this->password); $user->status = User::STATUS_WAIT; $user->generateAuthKey(); $user->generateEmailConfirmToken(); /** * После сохранения отправляем на почту подтверждение регистрации */ if ($user->save()) { Yii::$app->mailer->compose('confirmEmail', ['user' => $user])->setFrom([Yii::$app->params['adminEmail']])->setTo($this->email)->setSubject('Подтверждение регистрации на сайте')->send(); } return $user; } return null; }