Mercurial > hg > isophonics-drupal-site
comparison core/lib/Drupal/Core/EventSubscriber/MaintenanceModeSubscriber.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | 4c8ae668cc8c |
children | 129ea1e6d783 |
comparison
equal
deleted
inserted
replaced
13:5fb285c0d0e3 | 14:1fec387a4317 |
---|---|
3 namespace Drupal\Core\EventSubscriber; | 3 namespace Drupal\Core\EventSubscriber; |
4 | 4 |
5 use Drupal\Component\Utility\SafeMarkup; | 5 use Drupal\Component\Utility\SafeMarkup; |
6 use Drupal\Core\Config\ConfigFactoryInterface; | 6 use Drupal\Core\Config\ConfigFactoryInterface; |
7 use Drupal\Core\Render\BareHtmlPageRendererInterface; | 7 use Drupal\Core\Render\BareHtmlPageRendererInterface; |
8 use Drupal\Core\Messenger\MessengerInterface; | |
8 use Drupal\Core\Routing\RouteMatch; | 9 use Drupal\Core\Routing\RouteMatch; |
9 use Drupal\Core\Routing\UrlGeneratorInterface; | 10 use Drupal\Core\Routing\UrlGeneratorInterface; |
10 use Drupal\Core\Session\AccountInterface; | 11 use Drupal\Core\Session\AccountInterface; |
11 use Drupal\Core\Site\MaintenanceModeInterface; | 12 use Drupal\Core\Site\MaintenanceModeInterface; |
12 use Drupal\Core\StringTranslation\StringTranslationTrait; | 13 use Drupal\Core\StringTranslation\StringTranslationTrait; |
57 * @var \Drupal\Core\Render\BareHtmlPageRendererInterface | 58 * @var \Drupal\Core\Render\BareHtmlPageRendererInterface |
58 */ | 59 */ |
59 protected $bareHtmlPageRenderer; | 60 protected $bareHtmlPageRenderer; |
60 | 61 |
61 /** | 62 /** |
63 * The messenger. | |
64 * | |
65 * @var \Drupal\Core\Messenger\MessengerInterface | |
66 */ | |
67 protected $messenger; | |
68 | |
69 /** | |
62 * Constructs a new MaintenanceModeSubscriber. | 70 * Constructs a new MaintenanceModeSubscriber. |
63 * | 71 * |
64 * @param \Drupal\Core\Site\MaintenanceModeInterface $maintenance_mode | 72 * @param \Drupal\Core\Site\MaintenanceModeInterface $maintenance_mode |
65 * The maintenance mode. | 73 * The maintenance mode. |
66 * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory | 74 * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory |
71 * The url generator. | 79 * The url generator. |
72 * @param \Drupal\Core\Session\AccountInterface $account | 80 * @param \Drupal\Core\Session\AccountInterface $account |
73 * The current user. | 81 * The current user. |
74 * @param \Drupal\Core\Render\BareHtmlPageRendererInterface $bare_html_page_renderer | 82 * @param \Drupal\Core\Render\BareHtmlPageRendererInterface $bare_html_page_renderer |
75 * The bare HTML page renderer. | 83 * The bare HTML page renderer. |
84 * @param \Drupal\Core\Messenger\MessengerInterface $messenger | |
85 * The messenger. | |
76 */ | 86 */ |
77 public function __construct(MaintenanceModeInterface $maintenance_mode, ConfigFactoryInterface $config_factory, TranslationInterface $translation, UrlGeneratorInterface $url_generator, AccountInterface $account, BareHtmlPageRendererInterface $bare_html_page_renderer) { | 87 public function __construct(MaintenanceModeInterface $maintenance_mode, ConfigFactoryInterface $config_factory, TranslationInterface $translation, UrlGeneratorInterface $url_generator, AccountInterface $account, BareHtmlPageRendererInterface $bare_html_page_renderer, MessengerInterface $messenger) { |
78 $this->maintenanceMode = $maintenance_mode; | 88 $this->maintenanceMode = $maintenance_mode; |
79 $this->config = $config_factory; | 89 $this->config = $config_factory; |
80 $this->stringTranslation = $translation; | 90 $this->stringTranslation = $translation; |
81 $this->urlGenerator = $url_generator; | 91 $this->urlGenerator = $url_generator; |
82 $this->account = $account; | 92 $this->account = $account; |
83 $this->bareHtmlPageRenderer = $bare_html_page_renderer; | 93 $this->bareHtmlPageRenderer = $bare_html_page_renderer; |
94 $this->messenger = $messenger; | |
84 } | 95 } |
85 | 96 |
86 /** | 97 /** |
87 * Returns the site maintenance page if the site is offline. | 98 * Returns the site maintenance page if the site is offline. |
88 * | 99 * |
116 // Display a message if the logged in user has access to the site in | 127 // Display a message if the logged in user has access to the site in |
117 // maintenance mode. However, suppress it on the maintenance mode | 128 // maintenance mode. However, suppress it on the maintenance mode |
118 // settings page. | 129 // settings page. |
119 if ($route_match->getRouteName() != 'system.site_maintenance_mode') { | 130 if ($route_match->getRouteName() != 'system.site_maintenance_mode') { |
120 if ($this->account->hasPermission('administer site configuration')) { | 131 if ($this->account->hasPermission('administer site configuration')) { |
121 $this->drupalSetMessage($this->t('Operating in maintenance mode. <a href=":url">Go online.</a>', [':url' => $this->urlGenerator->generate('system.site_maintenance_mode')]), 'status', FALSE); | 132 $this->messenger->addMessage($this->t('Operating in maintenance mode. <a href=":url">Go online.</a>', [':url' => $this->urlGenerator->generate('system.site_maintenance_mode')]), 'status', FALSE); |
122 } | 133 } |
123 else { | 134 else { |
124 $this->drupalSetMessage($this->t('Operating in maintenance mode.'), 'status', FALSE); | 135 $this->messenger->addMessage($this->t('Operating in maintenance mode.'), 'status', FALSE); |
125 } | 136 } |
126 } | 137 } |
127 } | 138 } |
128 } | 139 } |
129 } | 140 } |
139 '@site' => $this->config->get('system.site')->get('name'), | 150 '@site' => $this->config->get('system.site')->get('name'), |
140 ]); | 151 ]); |
141 } | 152 } |
142 | 153 |
143 /** | 154 /** |
144 * Wraps the drupal_set_message function. | |
145 */ | |
146 protected function drupalSetMessage($message = NULL, $type = 'status', $repeat = FALSE) { | |
147 return drupal_set_message($message, $type, $repeat); | |
148 } | |
149 | |
150 /** | |
151 * {@inheritdoc} | 155 * {@inheritdoc} |
152 */ | 156 */ |
153 public static function getSubscribedEvents() { | 157 public static function getSubscribedEvents() { |
154 $events[KernelEvents::REQUEST][] = ['onKernelRequestMaintenance', 30]; | 158 $events[KernelEvents::REQUEST][] = ['onKernelRequestMaintenance', 30]; |
155 $events[KernelEvents::EXCEPTION][] = ['onKernelRequestMaintenance']; | 159 $events[KernelEvents::EXCEPTION][] = ['onKernelRequestMaintenance']; |