diff --git a/core/modules/user/lib/Drupal/user/Controller/UserAutocompleteController.php b/core/modules/user/lib/Drupal/user/Controller/UserAutocompleteController.php index c05a1c1..46745ec 100644 --- a/core/modules/user/lib/Drupal/user/Controller/UserAutocompleteController.php +++ b/core/modules/user/lib/Drupal/user/Controller/UserAutocompleteController.php @@ -11,6 +11,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface; use Drupal\Core\ControllerInterface; +use Drupal\user\UserAutocomplete; /** * Controller routines for taxonomy user routes. diff --git a/core/modules/user/lib/Drupal/user/Controller/UserController.php b/core/modules/user/lib/Drupal/user/Controller/UserController.php index b6349ef..8093017 100644 --- a/core/modules/user/lib/Drupal/user/Controller/UserController.php +++ b/core/modules/user/lib/Drupal/user/Controller/UserController.php @@ -7,11 +7,12 @@ namespace Drupal\user\Controller; +use Symfony\Component\DependencyInjection\ContainerInterface; +use Symfony\Component\HttpFoundation\RedirectResponse; +use Symfony\Component\HttpFoundation\Request; use Drupal\Core\ControllerInterface; use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\user\Plugin\Core\Entity\User; -use Symfony\Component\DependencyInjection\ContainerInterface; -use Symfony\Component\HttpFoundation\RedirectResponse; /** * Controller routines for user routes. @@ -47,18 +48,22 @@ public static function create(ContainerInterface $container) { /** * Logs the current user out. * + * @param \Symfony\Component\HttpFoundation\Request $request + * The current request. + * * @return \Symfony\Component\HttpFoundation\RedirectResponse * A redirection to home page. */ - public function logout() { + public function logout(Request $request) { global $user; watchdog('user', 'Session closed for %name.', array('%name' => $user->name)); $this->moduleHandler->invokeAll('user_logout', array($user)); // Destroy the current session, and reset $user to the anonymous user. session_destroy(); - - return new RedirectResponse(url('', array('absolute' => TRUE))); + // @todo Remove the destination check once drupal.org/node/1668866 is in. + $url = $request->query->get('destination') ?: ''; + return new RedirectResponse(url($url, array('absolute' => TRUE))); } }