Security update for Core, with self-updated composer
[yaffs-website] / web / core / modules / node / src / EventSubscriber / NodeAdminRouteSubscriber.php
1 <?php
2
3 namespace Drupal\node\EventSubscriber;
4
5 use Drupal\Core\Config\ConfigFactoryInterface;
6 use Drupal\Core\Routing\RouteSubscriberBase;
7 use Symfony\Component\Routing\RouteCollection;
8
9 /**
10  * Sets the _admin_route for specific node-related routes.
11  */
12 class NodeAdminRouteSubscriber extends RouteSubscriberBase {
13
14   /**
15    * The config factory.
16    *
17    * @var \Drupal\Core\Config\ConfigFactoryInterface
18    */
19   protected $configFactory;
20
21   /**
22    * Constructs a new NodeAdminRouteSubscriber.
23    *
24    * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
25    *   The config factory.
26    */
27   public function __construct(ConfigFactoryInterface $config_factory) {
28     $this->configFactory = $config_factory;
29   }
30
31   /**
32    * {@inheritdoc}
33    */
34   protected function alterRoutes(RouteCollection $collection) {
35     if ($this->configFactory->get('node.settings')->get('use_admin_theme')) {
36       foreach ($collection->all() as $route) {
37         if ($route->hasOption('_node_operation_route')) {
38           $route->setOption('_admin_route', TRUE);
39         }
40       }
41     }
42   }
43
44 }