0 && !Utils::isAttendize()) { return Redirect::route('login'); } $this->auth = $auth; $this->middleware('guest'); } public function showSignup() { return View::make('Public.LoginAndRegister.Signup'); } /* * Validate an email */ /** * Creates an account * * @return void */ public function postSignup() { $rules = array( 'email' => array('required', 'email', 'unique:users'), 'password' => array('required', 'min:5', 'confirmed'), 'first_name' => array('required'), 'terms_agreed' => array('required') ); $messages = array( 'email.email' => 'Please enter a valid E-mail address.', 'email.required' => 'E-mail address is required.', 'password.required' => 'Password is required.', 'password.min' => 'Your password is too short! Min 5 symbols.', 'email.unique' => 'This E-mail has already been taken.', 'first_name.required' => 'Please enter your first name.', 'terms_agreed.required' => 'Please agree to our Terms of Service.' ); $validation = Validator::make(Input::all(), $rules, $messages); if ($validation->fails()) { return Redirect::to('signup')->withInput()->withErrors($validation); } $account = new Account; $account->email = Input::get('email'); $account->first_name = Input::get('first_name'); $account->last_name = Input::get('last_name'); $account->currency_id = DEFAULT_CURRENCY; $account->timezone_id = DEFAULT_TIMEZONE; $account->save(); $user = new User; $user->email = Input::get('email'); $user->first_name = Input::get('first_name'); $user->last_name = Input::get('last_name'); $user->password = Hash::make(Input::get('password')); $user->account_id = $account->id; $user->is_parent = 1; $user->is_registered = 1; $user->save(); /* * Send a confirmation email. * NOTE: $user->confirmation_code is generated by the model in the background */ \Mail::send('Emails.ConfirmEmail', ['first_name' => $user->first_name, 'confirmation_code' => $user->confirmation_code], function($message) { $message->to(Input::get('email'), Input::get('first_name')) ->subject('Thank you for registering for Attendize'); }); \Session::flash('message', "Success! You can now login."); return Redirect::to('login'); } function confirmEmail($confirmation_code) { $user = User::whereConfirmationCode($confirmation_code)->first(); if ( ! $user) { return \View::make('Public.Errors.Generic', [ 'message' => 'The confirmation code is missing or malformed.' ]); } $user->is_confirmed = 1; $user->confirmation_code = null; $user->save(); \Session::flash('message', "Success! Your email is now verified. You can now login."); //$this->auth->login($user); return Redirect::route('login'); } private function validateEmail($data) { $rules = [ 'email' => 'required|email|unique:users' ]; return Validator::make($data, $rules); } }