Beispiel #1
0
 /**
  * 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]);
 }