Exemplo n.º 1
0
 /**
  * Validates and Updates user email.
  *
  * @return Response
  */
 public function postUpdateEmail(Request $request)
 {
     $validator = Validator::make($request->all(), array('current_password' => 'required|checkauth', 'email' => 'required|confirmed|email|unique:users|max:255', 'email_confirmation' => 'required'));
     if ($validator->fails()) {
         $request->session()->keep(['errors']);
         return redirect()->route('user::update_email_get')->withErrors($validator);
     } else {
         $emailChange = new UserEmailChange();
         $emailChange->user_id = Auth::user()->id;
         $emailChange->email = $request->input('email');
         $emailChange->token = str_random();
         $emailChange->save();
         // Confirm email address
         $user = Auth::user();
         Mail::send('emails/user/register', array('emailChange' => $emailChange), function ($message) use($emailChange, $user) {
             $message->to($emailChange->email, $user->first_name)->subject('New email address confirmation');
         });
         $this->setFlashMessage('success', 'Email address updated.');
     }
     return redirect()->route('home');
 }