예제 #1
0
    public function actionReg()
    {
        $model = new RegForm();
        if ($model->load(Yii::$app->request->post()) && $model->validate()) {
            ?>
<pre><?php 
            var_dump($model);
            $model->load($_POST);
            var_dump($model);
            die;
            ?>
</pre><?php 
            //            $model->username = Yii::$app->request->post('RegForm')['username'];
            //            $model->password = Yii::$app->request->post('RegForm')['password'];
            if ($user = $model->reg()) {
                if (Yii::$app->getUser()->login($user)) {
                    return $this->render('index', ['user' => $user]);
                }
            } else {
                Yii::$app->session->setFlash('error', 'Возникла ошибка при регистрации');
                Yii::error('Ошибка регистрации');
                return $this->refresh();
            }
        }
        return $this->render('users\\reg', ['model' => $model]);
    }
 /**
  * Вывод главной страницы с 3 формами:
  * авторизация, регистрация и восстановление
  * пароля. Все 3 обработчика форм
  * лаконичнее располагать по одному
  * запросу
  *
  * @return string|\yii\web\Response
  */
 public function actionIndex()
 {
     if (Yii::$app->user->isGuest) {
         //Авторизация
         $model = new LoginForm();
         if ($model->load(Yii::$app->request->post()) && $model->login()) {
             return $this->goBack();
         }
         //Регистрация
         $reg = new RegForm();
         if ($reg->load(Yii::$app->request->post()) && $reg->save()) {
             Yii::$app->getSession()->setFlash('reg-success');
             return $this->goBack();
         }
         //Восстановление пароля
         $forget = new PasswordResetForm();
         if ($forget->load(Yii::$app->request->post()) && $forget->validate()) {
             if ($forget->sendEmail()) {
                 Yii::$app->getSession()->setFlash('forget-send');
             }
             return $this->goBack();
         }
         return $this->render('index', ['model' => $model, 'reg' => $reg, 'forget' => $forget]);
     } else {
         return $this->render('panel');
     }
 }
예제 #3
0
 public function actionReg()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($user = $model->reg()) {
             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', 'Activation mail was sent to email <strong>' . Html::encode($user->email) . '</strong> (check spam folder).');
                 } else {
                     Yii::$app->session->setFlash('error', 'Error.');
                     Yii::error('Mail send error.');
                 }
                 return $this->refresh();
             }
         } else {
             Yii::$app->session->setFlash('error', 'Reg error.');
             Yii::error('Reg error');
             return $this->refresh();
         }
     }
     return $this->render('reg', ['model' => $model]);
 }
예제 #4
0
 /**
  * Registers new user
  * @return string|\yii\web\Response
  * @throws GoodException if registration error or creating folder error
  */
 public function actionReg()
 {
     try {
         $model = new RegForm();
         if ($model->load(Yii::$app->request->post()) && $model->validate()) {
             if (!($user = $model->reg())) {
                 throw new GoodException('Error', 'Registration error...');
             }
             $pathToDir = "../upload/{$model->login}";
             if (!is_dir($pathToDir)) {
                 if (!mkdir($pathToDir, 0700)) {
                     throw new GoodException('Error', 'Creating folder error...');
                 }
             } else {
                 FilesController::cleanDirectory($pathToDir);
                 if (!empty(scandir($pathToDir)[2])) {
                     throw new GoodException('Error', 'Files in that directory can\'t be deleted...');
                 }
             }
             Yii::$app->getUser()->login($user);
             return $this->goHome();
         }
         return $this->render('reg', ['model' => $model]);
     } catch (Exception $e) {
         return $e->getMessage();
     }
 }
예제 #5
0
 public function actionReg()
 {
     $model = new RegForm();
     $error = null;
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $user = new Users();
         $user->login = Html::encode($model->login);
         $user->password = md5($model->password);
         $user->name = Html::encode($model->name);
         $user->email = Html::encode($model->email);
         $user->phone = Html::encode($model->phone);
         if (UploadedFile::getInstance($model, 'photo')) {
             $model->photo = UploadedFile::getInstance($model, 'photo');
             $model->photo->saveAs('img/photo/' . $model->photo->baseName . '.' . $model->photo->extension);
             $photo = 'img/photo/' . $model->photo->baseName . '.' . $model->photo->extension;
             $user->photo = $photo;
         }
         $uc = new UserClass();
         if ($uc->isUniqueLogin($user->login)) {
             $user->save();
             return $this->render('regsuccess');
         } else {
             $error = 'Такой логин уже существует';
         }
     }
     return $this->render('reg', ['model' => $model, 'error' => $error]);
 }
예제 #6
0
 public function actionReg()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($user = $model->reg()) {
             if (Yii::$app->getUser()->login($user)) {
                 return $this->goHome();
             }
         } else {
             return $this->render('reg', ['model' => $model]);
         }
     }
     return $this->render('reg', ['model' => $model]);
 }
 public function actionRegistration()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($user = $model->reg()) {
             $user->status === User::STATUS_ACTIVE;
         } else {
             Yii::$app->session->setFlash('error', 'Возникла ошибка при регистрации.');
             Yii::error('Ошибка при регистрации');
             return $this->refresh();
         }
     }
     return $this->render('registration', ['model' => $model]);
 }
예제 #8
0
 public function actionReg()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($model->reg()) {
             $this->goHome();
         } else {
             Yii::$app->session->setFlash('error', 'Возникла ошибка при регистрации');
             Yii::error('Ошибка при регистрации');
             return $this->refresh();
         }
     }
     return $this->render('reg', compact('model'));
 }
예제 #9
0
 public function actionReg()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($user = $model->reg()) {
             //print_r($user);
             if (Yii::$app->getUser()->login($user)) {
                 $this->redirect(['index']);
             }
         } else {
             print_r($model->getErrors());
         }
     }
     return $this->render('reg', ['model' => $model]);
 }
예제 #10
0
 public function actionReg()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($user = $model->reg()) {
             $url = Yii::$app->urlManager->createUrl('admin/user/index');
             return $this->redirect($url);
         } else {
             Yii::$app->session->setFlash('error', 'Error sign up.');
             Yii::error('Error sign up');
             return $this->refresh();
         }
     }
     return $this->render('reg', ['model' => $model]);
 }
예제 #11
0
 public function actionReg()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($model->reg()) {
             /*return $this->goHome();*/
             Yii::$app->session->setFlash('warning', 'Регистрация прошла успешно');
             Yii::warning('Регистрация прошла успешно');
         } else {
             Yii::$app->session->setFlash('error', 'Возникла ошибка при регистрации');
             Yii::error('Ошибка при регистрации');
             return $this->refresh();
             /*echo '<pre>'; print_r( Yii::$app->session); echo '</pre>';*/
         }
     }
     return $this->render('reg', ['model' => $model]);
 }
 public function actionRegistration()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($user = $model->reg()) {
             if ($user->status_code === User::STATUS_ACTIVE) {
                 if (Yii::$app->getUser()->login($user)) {
                     return $this->redirect(['/site/index']);
                 }
             }
         } else {
             Yii::error('Ошибка регистрации.');
         }
     } else {
         return $this->render('registration', ['model' => $model]);
     }
 }
예제 #13
0
 public function actionReg()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $user = $model->reg();
         if ($user) {
             if (Yii::$app->getUser()->login($user)) {
                 return $this->goHome();
             } else {
                 Yii::$app->session->setFlash('error', 'Ошибка при регистрации');
                 Yii::error('Ошибка при регистрации');
                 return $this->refresh();
             }
         }
     }
     return $this->render('reg', ['model' => $model]);
 }
예제 #14
0
 public function actionReg()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($user = $model->reg()) {
             if ($user->status === User::STATUS_ACTIVE) {
                 if (Yii::$app->getUser()->login($user)) {
                     return $this->goHome();
                 }
             }
         } else {
             Yii::$app->session->setFlash('error', 'Виникла помилка при реэстрації');
             Yii::error('Помилка при реєстрації');
             return $this->refresh();
         }
     }
     return $this->render('reg', ['model' => $model]);
 }
예제 #15
0
 public function actionReg()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($user = $model->registration()) {
             if ($user->status === User::STATUS_ACTIVE) {
                 if (Yii::$app->getUser()->login($user)) {
                     Yii::$app->session->setFlash('success', 'Вы упешно зарегистрировались');
                     return $this->goHome();
                 }
             }
         } else {
             Yii::$app->session->setFlash('error', 'Возникла ошибка при регистрации');
             Yii::error('Ошибка при регистрации');
             return $this->refresh();
         }
     }
     return $this->render('reg', ['model' => $model]);
 }
예제 #16
0
 public function actionReg()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($user = $model->reg()) {
             $auth = Yii::$app->authManager;
             $adminRole = $auth->getRole('user');
             $auth->assign($adminRole, $user->getId());
             if (Yii::$app->getUser()->login($user)) {
                 return $this->goHome();
             }
         } else {
             Yii::$app->session->setFlash('error', 'Error sign up.');
             Yii::error('Error sign up');
             return $this->refresh();
         }
     }
     return $this->render('reg', ['model' => $model]);
 }
예제 #17
0
 public function actionReg()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($model->reg()) {
             // если метод reg в модели RegForm вернет true(пользователь успешно зарегистрирован)
             $this->goHome();
             // то кидаем его на главную
         } else {
             // иначе
             Yii::$app->session->setFlash('error', 'Возникла ошибка при регистрации');
             // выводим ошибку пользователю
             Yii::error('Ошибка при регистрации');
             // записываем в журнал
             $this->refresh();
             // обновляем страницу
         }
     }
     return $this->render('reg', ['model' => $model]);
 }
예제 #18
0
 function actionReg()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($user = $model->reg()) {
             if ($user->status === User::STATUS_ON_ACTIVE) {
                 if (Yii::$app->getUser()->login($user)) {
                     return $this->goHome();
                 }
             }
         } else {
             Yii::$app->session->setFlash('error', 'Here is an error');
             Yii::error('error on reg');
             $this->refresh();
         }
     } else {
         Yii::$app->session->setFlash('error', 'load or validation fail');
     }
     return $this->render('reg', ['model' => $model]);
 }
예제 #19
0
 public function actionReg($token)
 {
     if (Yii::$app->user->isGuest && ($link = Link::findByToken($token))) {
         $email = $link->email;
         $model = new RegForm();
         if ($model->load(Yii::$app->request->post()) && $model->validate()) {
             if ($user = $model->reg()) {
                 if (Yii::$app->getUser()->login($user)) {
                     Link::deleteLinksByToken($token);
                     return $this->redirect('/account/index');
                 }
             } else {
                 Yii::$app->session->setFlash('error', 'Error sign up.');
                 Yii::error('Error sign up');
                 return $this->refresh();
             }
         }
         return $this->render('reg', ['model' => $model, 'email' => $email]);
     }
     return $this->redirect('/site/index');
 }
예제 #20
0
 public function actionRegister()
 {
     $model = new RegForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($user = $model->reg()) {
             if ($user->status === User::STATUS_ACTIVE) {
                 if (Yii::$app->getUser()->login($user)) {
                     $this->redirect(['/main/profile']);
                 }
                 // getUser
             } else {
                 if ($model->sendActivationEmail($user)) {
                     Yii::$app->session->setFlash('success', 'The confirmation message has been sent to your email <b>' . Html::encode($user->email) . '</b>' . '(check spam folder if needed)');
                 } else {
                     Yii::$app->session->setFlash('error', 'Error acquired during registration');
                     Yii::error('error acquired during sendind the confirm link');
                 }
                 return $this->refresh();
             }
         } else {
             Yii::$app->session->setFlash('error', 'Error acquired during registration');
         }
     }
     //load
     return $this->render('register', ['model' => $model]);
 }