Example #1
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $user = new User();
     $member = new Member();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['User'], $_POST['Member'])) {
         $user->attributes = $_POST['User'];
         $user->repeat_password = $_POST['User']['repeat_password'];
         $member->attributes = $_POST['Member'];
         $member->type_account = $_POST['Member']['type_account'];
         $user->scenario = 'register';
         $member->scenario = 'register';
         $user->level = 3;
         $valid = $user->validate();
         $valid = $member->validate() && $valid;
         if ($valid) {
             $email = explode("@", $user->username);
             $member->name = $email[0];
             $member->email = $user->username;
             $member->date_register = new CDbExpression('NOW()');
             $member->code = strtoupper(substr(md5(uniqid(rand(), true)), 0, 5));
             $getToken = rand(0, 99999);
             $getTime = date("H:i:s");
             $user->token = md5($getToken . $getTime);
             $user->save();
             $member->save();
             MemberController::SendMail($member->email, $member->name, $member->code, $user->token);
             echo CJSON::encode(array('reg' => 'success', 'redirect' => $this->createUrl(array('land/userme')), 'email' => $member->email));
         } else {
             echo CJSON::encode(array('reg' => 'failed', 'email' => str_replace('Username', 'Email', CHtml::error($user, 'username')), 'username' => str_replace('Name', 'Username', CHtml::error($member, 'name')), 'password' => CHtml::error($user, 'password'), 'repeat_password' => CHtml::error($user, 'repeat_password'), 'all' => Chtml::errorSummary(array($user, $member))));
         }
     }
 }