comparison core/modules/user/src/EventSubscriber/MaintenanceModeSubscriber.php @ 18:af1871eacc83

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:33:08 +0100
parents 4c8ae668cc8c
children
comparison
equal deleted inserted replaced
17:129ea1e6d783 18:af1871eacc83
1 <?php 1 <?php
2 2
3 namespace Drupal\user\EventSubscriber; 3 namespace Drupal\user\EventSubscriber;
4 4
5 use Drupal\Core\Routing\RouteMatch; 5 use Drupal\Core\Routing\RouteMatch;
6 use Drupal\Core\Routing\UrlGeneratorTrait;
7 use Drupal\Core\Session\AccountInterface; 6 use Drupal\Core\Session\AccountInterface;
8 use Drupal\Core\Site\MaintenanceModeInterface; 7 use Drupal\Core\Site\MaintenanceModeInterface;
8 use Drupal\Core\Url;
9 use Symfony\Component\EventDispatcher\EventSubscriberInterface; 9 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
10 use Symfony\Component\HttpFoundation\RedirectResponse;
10 use Symfony\Component\HttpKernel\Event\GetResponseEvent; 11 use Symfony\Component\HttpKernel\Event\GetResponseEvent;
11 use Symfony\Component\HttpKernel\KernelEvents; 12 use Symfony\Component\HttpKernel\KernelEvents;
12 13
13 /** 14 /**
14 * Maintenance mode subscriber to log out users. 15 * Maintenance mode subscriber to log out users.
15 */ 16 */
16 class MaintenanceModeSubscriber implements EventSubscriberInterface { 17 class MaintenanceModeSubscriber implements EventSubscriberInterface {
17
18 use UrlGeneratorTrait;
19 18
20 /** 19 /**
21 * The maintenance mode. 20 * The maintenance mode.
22 * 21 *
23 * @var \Drupal\Core\Site\MaintenanceMode 22 * @var \Drupal\Core\Site\MaintenanceMode
56 if ($this->maintenanceMode->applies($route_match)) { 55 if ($this->maintenanceMode->applies($route_match)) {
57 // If the site is offline, log out unprivileged users. 56 // If the site is offline, log out unprivileged users.
58 if ($this->account->isAuthenticated() && !$this->maintenanceMode->exempt($this->account)) { 57 if ($this->account->isAuthenticated() && !$this->maintenanceMode->exempt($this->account)) {
59 user_logout(); 58 user_logout();
60 // Redirect to homepage. 59 // Redirect to homepage.
61 $event->setResponse($this->redirect($this->url('<front>'))); 60 $event->setResponse(
61 new RedirectResponse(Url::fromRoute('<front>')->toString())
62 );
62 } 63 }
63 } 64 }
64 } 65 }
65 66
66 /** 67 /**