annotate core/modules/system/src/EventSubscriber/AdminRouteSubscriber.php @ 2:92f882872392

Trusted hosts, + remove migration modules
author Chris Cannam
date Tue, 05 Dec 2017 09:26:43 +0000
parents 4c8ae668cc8c
children 1fec387a4317
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\system\EventSubscriber;
Chris@0 4
Chris@0 5 use Drupal\Core\Routing\RouteSubscriberBase;
Chris@0 6 use Drupal\Core\Routing\RoutingEvents;
Chris@0 7 use Symfony\Component\Routing\RouteCollection;
Chris@0 8
Chris@0 9 /**
Chris@0 10 * Adds the _admin_route option to each admin route.
Chris@0 11 */
Chris@0 12 class AdminRouteSubscriber extends RouteSubscriberBase {
Chris@0 13
Chris@0 14 /**
Chris@0 15 * {@inheritdoc}
Chris@0 16 */
Chris@0 17 protected function alterRoutes(RouteCollection $collection) {
Chris@0 18 foreach ($collection->all() as $route) {
Chris@0 19 if (strpos($route->getPath(), '/admin') === 0 && !$route->hasOption('_admin_route')) {
Chris@0 20 $route->setOption('_admin_route', TRUE);
Chris@0 21 }
Chris@0 22 }
Chris@0 23 }
Chris@0 24
Chris@0 25 /**
Chris@0 26 * {@inheritdoc}
Chris@0 27 */
Chris@0 28 public static function getSubscribedEvents() {
Chris@0 29 $events = parent::getSubscribedEvents();
Chris@0 30
Chris@0 31 // Use a lower priority than \Drupal\field_ui\Routing\RouteSubscriber or
Chris@0 32 // \Drupal\views\EventSubscriber\RouteSubscriber to ensure we add the option
Chris@0 33 // to their routes.
Chris@0 34 $events[RoutingEvents::ALTER] = ['onAlterRoutes', -200];
Chris@0 35
Chris@0 36 return $events;
Chris@0 37 }
Chris@0 38
Chris@0 39 }