Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/Routing/AdminContext.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/Routing/AdminContext.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,49 @@ +<?php + +namespace Drupal\Core\Routing; + +use Symfony\Component\Routing\Route; + +/** + * Provides a helper class to determine whether the route is an admin one. + */ +class AdminContext { + + /** + * The route match. + * + * @var \Drupal\Core\Routing\RouteMatchInterface + */ + protected $routeMatch; + + /** + * Construct a new admin context helper instance. + * + * @param \Drupal\Core\Routing\RouteMatchInterface $route_match + * The route match. + */ + public function __construct(RouteMatchInterface $route_match) { + $this->routeMatch = $route_match; + } + + /** + * Determines whether the active route is an admin one. + * + * @param \Symfony\Component\Routing\Route $route + * (optional) The route to determine whether it is an admin one. Per default + * this falls back to the route object on the active request. + * + * @return bool + * Returns TRUE if the route is an admin one, otherwise FALSE. + */ + public function isAdminRoute(Route $route = NULL) { + if (!$route) { + $route = $this->routeMatch->getRouteObject(); + if (!$route) { + return FALSE; + } + } + return (bool) $route->getOption('_admin_route'); + } + +}