/** * Process reset password * * @param array $requestParams */ private function processResetPassword($requestParams) { $validateData = Input::only('new_password', 'new_password_confirmation'); // Find user by user ID $user = User::findByUserId($requestParams['id']); if (empty($user) || $user->forgot_pw_hash != $requestParams['hash']) { Session::flash('resetpw-error', trans('message.user.error.invalid_hash')); return Redirect::route('resetpw', $requestParams); } // Validate submitted data if (!$user->validate($validateData)) { return Redirect::route('resetpw', $requestParams)->withInput()->withErrors($user->errors()); } // Change password for user if (!$user->changePassword($validateData['new_password'], true)) { Session::flash('resetpw-error', trans('message.user.error.reset_password_failed')); return Redirect::route('resetpw', $requestParams)->withInput(); } // Auto login user after reset password Auth::user()->login($user); return Redirect::route('dashboard'); }