public function actionRegistration($id) { $model = new CmsUser(); //$model->scenario='registration'; if ($id != 0) { $model->prigl_id = $id; } $model->attributes = $_POST; if ($model->save()) { $loginForm = new LoginForm(); $loginForm->username = $model->username; $loginForm->password = $_POST['password']; if ($loginForm->login()) { $user = CmsUser::model()->findByPk(Yii::app()->user->id); $this->actionResponse = array('user' => $user, 'token' => CmsUser::getAuthToken(Yii::app()->user->id, Yii::app()->user->name)); } } else { $this->sendResponse(self::STATUS_BAD_REQUEST, "Пользователь с таким ником уже существует"); } }
/** * Displays the contact page */ public function actionRegistration($id) { $model = new CmsUser(); $model->scenario = 'registration'; // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['CmsUser'])) { $model->attributes = $_POST['CmsUser']; if ($id != 0) { $model->prigl_id = $id; } if ($model->save()) { if (mkdir('./images/' . $model->id . '/')) { mkdir('./images/' . $model->id . '/' . 'avatars/'); mkdir('./images/' . $model->id . '/' . 'pages/'); } $this->redirect(array('login')); } } $this->render('registration', array('model' => $model)); }
public function post_signup() { $input = Input::get(); //VALIDATION CHECK $rules = array('signup_name' => 'required', 'signup_surname' => 'required', 'signup_address' => 'required', 'signup_number' => 'required', 'signup_city' => 'required', 'signup_zip' => 'required', 'signup_state' => 'required', 'signup_country' => 'required', 'signup_cel' => 'required', 'signup_email' => 'required|email|unique:users,email', 'password' => 'required|confirmed|min:6'); $messages = array('required' => LL('cms::validation.required', CMSLANG)->get(), 'email' => LL('cms::validation.required', CMSLANG)->get(), 'unique' => LL('cms::validation.unique_account', CMSLANG)->get(), 'confirmed' => LL('cms::validation.confirmed', CMSLANG)->get()); $validation = Validator::make($input, $rules, $messages); if ($validation->fails()) { return Redirect::to_action('site@signup')->with_input()->with('signup_name_error', $validation->errors->first('signup_name'))->with('signup_surname_error', $validation->errors->first('signup_surname'))->with('signup_address_error', $validation->errors->first('signup_address'))->with('signup_number_error', $validation->errors->first('signup_number'))->with('signup_city_error', $validation->errors->first('signup_city'))->with('signup_state_error', $validation->errors->first('signup_state'))->with('signup_zip_error', $validation->errors->first('signup_zip'))->with('signup_country_error', $validation->errors->first('signup_country'))->with('signup_cel_error', $validation->errors->first('signup_cel'))->with('signup_email_error', $validation->errors->first('signup_email'))->with('signup_password_error', $validation->errors->first('password')); } // OK, CREATE ACCOUNT $role_id = 4; // AS cms::settings.roles.user indexof $user = new CmsUser(); $user->role_id = $role_id; $user->username = $input['signup_email']; $user->email = $input['signup_email']; $user->password = Hash::make($input['password']); $user->role_level = Config::get('cms::settings.roles.user'); $user->lang = LANG; $user->is_valid = 1; $user->save(); $uid = $user->id; // SAVE DETAILS $details = new CmsUserDetail(); $details->user_id = $uid; $details->name = $input['signup_name']; $details->surname = $input['signup_surname']; $details->address = $input['signup_address']; $details->info = ''; $details->number = $input['signup_number']; $details->city = $input['signup_city']; $details->zip = $input['signup_zip']; $details->state = $input['signup_state']; $details->country = $input['signup_country']; $details->tel = $input['signup_tel']; $details->cel = $input['signup_cel']; $details->save(); // SEND MAIL // LOAD MAIL VIEW - NEED SWIFTMAILER BUNDLE for Laravel $mail_view = View::make('cms::theme.' . THEME . '.partials.mail_signup'); $mail_view['name'] = $input['signup_name']; $mail_view['username'] = $input['signup_email']; $mail_view['password'] = $input['password']; // GET MAIL TEMPLATE $html = View::make('cms::theme.' . THEME . '.templates.mail')->with('content', $mail_view); // OK, SEND A MAIL $mailer = IoC::resolve('mailer'); // Construct the message $message = Mail::prepare($html, Config::get('cms::theme.email_data.signup_subject'), $to = array($input['signup_email']), $bcc = Config::get('cms::theme.email')); // Send the email $mailer->send($message); Session::flash('account_created', true); return Redirect::to_action('site@login')->with_input('only', array('signup_email')); }