/** * 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)))); } } }