/**
  * Registers a new account.
  * If registration is successful, the browser will be redirected to the to the previous page.
  */
 public function actionSignup()
 {
     if (!Yii::app()->user->isGuest) {
         $this->redirect(Yii::app()->homeUrl);
     }
     $model = new SignupForm();
     $model->scenario = 'captchaRequired';
     // if it is ajax validation request
     if (isset($_POST['ajax']) && $_POST['ajax'] === 'registration-form') {
         echo CActiveForm::validate($model);
         Yii::app()->end();
     }
     if (isset($_POST['SignupForm'])) {
         $model->attributes = $_POST['SignupForm'];
         if ($model->validate()) {
             if ($model->email != '' && $model->password != '') {
                 $user = User::model()->find("email = ?", array($model->email));
                 $usermodel = new User();
                 if (!$user) {
                     $user_invitor = User::model()->find("email = ?", array(base64_decode($model->invitor)));
                     $activeKey = $usermodel->randomPassword(32);
                     $usermodel->password = $usermodel->getcryptedpassword($model->password);
                     $usermodel->name = current(explode('@', $model->email));
                     $usermodel->email = $model->email;
                     $usermodel->activationkey = $activeKey;
                     $usermodel->joindate = time();
                     $usermodel->level = UserPolicy::Guest;
                     $usermodel->auth = 0;
                     if ($user_invitor) {
                         $usermodel->invitor = $user_invitor->id;
                     }
                     $usermodel->save(false);
                     $this->counter = 0;
                     Yii::app()->session->add('captchaRequired', $this->counter);
                     //sendmail active account
                     $keya = User::generateKeyActive($activeKey);
                     $keya = str_replace('=', '', $keya);
                     $info = array("websiteName" => substr(Yii::app()->homeUrl, 0, -1), "userEmail" => $model->email, "userPass" => "******", "activeLink" => Yii::app()->homeUrl . 'active/' . $keya);
                     $mail = $usermodel->sendMailTemplate($model->email, Yii::t("fshare", "Verification Account Fshare"), $info, "activateRegistered");
                     if (!$mail) {
                         Yii::app()->user->setFlash('error', Yii::t("fshare", "Error while sending email"));
                     }
                     Yii::app()->user->setFlash('title', Yii::t("fshare", "Register success"));
                     Yii::app()->user->setFlash('msg', Yii::t("fshare", "<p><b>Please go to your registered email to activate your account perform the path we've sent.</b> </p> <p> Thank you for using our services <br /> <small> Fshare.vn </ small><br /> <small> Return home 10 seconds</ small>"));
                     $this->redirect(array('site/message'));
                 } else {
                     $this->counter = Yii::app()->session->itemAt('captchaRequired') + 1;
                     Yii::app()->session->add('captchaRequired', $this->counter);
                 }
             }
         }
     }
     $model->invitor = Yii::app()->getRequest()->getQuery('uid');
     Yii::app()->session["invitor"] = $model->invitor;
     $this->render('signup', array('model' => $model));
 }