예제 #1
0
 public function actionRegister()
 {
     $session = Yii::app()->session;
     $step = $session->get('registerStep', 1);
     $userStep = $this->iGet('step', 1);
     if (!Yii::app()->user->isGuest && $step !== 3) {
         $this->redirect(Yii::app()->homeUrl);
     }
     if ($userStep < $step) {
         $step = min($userStep, 1);
         Yii::app()->session->remove(RegisterForm::REGISTER_WCAID);
     }
     $model = new RegisterForm('step' . $step);
     $model->step = $step;
     $model->loadData();
     // collect user input data
     if (isset($_POST['RegisterForm'])) {
         $model->attributes = $_POST['RegisterForm'];
         // validate user input and redirect to the previous page if valid
         if ($model->validate()) {
             $session->add('registerStep', ++$step);
             if ($model->isLastStep()) {
                 if (!$model->register()) {
                     throw new CHttpException(500, Yii::t('common', 'Something goes wrong'));
                 }
             }
             $this->redirect(array('/site/register', 'step' => $step));
         }
         if (ctype_digit($model->birthday)) {
             $model->birthday = date($model::$dateFormat, $model->birthday);
         }
     }
     $this->pageTitle = array('Register');
     $model->verifyCode = '';
     $this->title = 'Register';
     $this->render('register' . $step, array('model' => $model, 'step' => $step));
 }