/** * Signs user up. * * @return mixed */ public function actionSignup() { $emailActivation = Yii::$app->params['emailActivation']; $model = $emailActivation ? $model = new SignupForm(['scenario' => 'emailActivation']) : ($model = new SignupForm()); if ($model->load(Yii::$app->request->post())) { if ($user = $model->signup()) { if ($user->status === User::STATUS_ACTIVE) { if (Yii::$app->getUser()->login($user)) { return $this->goHome(); } } else { if ($model->sendActivationEmail($user)) { Yii::$app->session->setFlash('success', 'Письмо с активацией отправлено на емайл <strong>' . Html::encode($user->email) . '</strong> (проверьте папку спам).'); return $this->goHome(); } else { Yii::$app->session->setFlash('error', 'Ошибка. Письмо не отправлено.'); Yii::error('Ошибка отправки письма.'); } } return $this->refresh(); // if (Yii::$app->getUser()->login($user)) { // return $this->goHome(); // } } else { Yii::$app->session->setFlash('error', 'Возникла ошибка при регистрации.'); Yii::error('Ошибка при регистрации'); } } return $this->render('signup', ['model' => $model]); }