public function postForgotPassword()
 {
     $validator = Validator::make(Input::all(), array('email' => 'required|email'));
     if ($validator->fails()) {
         return Redirect::route('account-forgot-password')->withErrors($validator)->withInput();
     } else {
         $user = User::where('email', '=', Input::get('email'));
         if ($user->count()) {
             $user = $user->first();
             // Generate a new code and password
             $code = str_random(60);
             $password = str_random(10);
             $user->code = $code;
             $user->password_temp = Hash::make($password);
             if ($user->save()) {
                 Mail::send('emails.auth.forgot', array('link' => URL::route('account-recover', $code), 'username' => $user->username, 'password' => $password), function ($message) use($user) {
                     $message->to($user->email, $user->username)->subject('Your new password');
                 });
                 Logging::password_recovery_email_sent_success($user->email);
                 return Redirect::route('home')->with('global', 'We have sent you a new password by email.');
             }
         }
     }
     Logging::password_recovery_email_sent_fail(Input::get('email'));
     return Redirect::route('account-forgot-password')->with('global', 'Could not request new password.');
 }