Loading core/modules/system/src/Controller/AdminController.php +8 −0 Original line number Diff line number Diff line Loading @@ -4,8 +4,10 @@ use Drupal\Core\Controller\ControllerBase; use Drupal\Core\Extension\ModuleExtensionList; use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\system\ModuleAdminLinksHelper; use Drupal\user\ModulePermissionsLinkHelper; use Symfony\Component\Routing\Attribute\Route; /** * Controller for admin section. Loading @@ -28,6 +30,12 @@ public function __construct( * @return array * A render array containing the listing. */ #[Route( path: '/admin/index', name: 'system.admin_index', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Administration')], )] public function index() { $extensions = array_intersect_key($this->moduleExtensionList->getList(), $this->moduleHandler()->getModuleList()); Loading core/modules/system/src/Controller/Http4xxController.php +18 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,12 @@ class Http4xxController extends ControllerBase { * @return array * A render array containing the message to display for 4xx errors. */ #[Route( path: '/system/4xx', name: 'system.4xx', requirements: ['_access' => 'TRUE'], defaults: ['_title' => new TranslatableMarkup('Client error')], )] public function on4xx() { return [ '#markup' => $this->t('A client error happened'), Loading Loading @@ -47,6 +53,12 @@ public function on401() { * @return array * A render array containing the message to display for 403 pages. */ #[Route( path: '/system/403', name: 'system.403', requirements: ['_access' => 'TRUE'], defaults: ['_title' => new TranslatableMarkup('Access denied')], )] public function on403() { return [ '#markup' => $this->t('You are not authorized to access this page.'), Loading @@ -59,6 +71,12 @@ public function on403() { * @return array * A render array containing the message to display for 404 pages. */ #[Route( path: '/system/404', name: 'system.404', requirements: ['_access' => 'TRUE'], defaults: ['_title' => new TranslatableMarkup('Page not found')], )] public function on404() { return [ '#markup' => $this->t('The requested page could not be found.'), Loading core/modules/system/src/Controller/PerformanceController.php +8 −0 Original line number Diff line number Diff line Loading @@ -3,8 +3,10 @@ namespace Drupal\system\Controller; use Drupal\Core\Controller\ControllerBase; use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\system\Form\ClearCacheForm; use Drupal\system\Form\PerformanceForm; use Symfony\Component\Routing\Attribute\Route; /** * Controller for performance admin. Loading @@ -18,6 +20,12 @@ class PerformanceController extends ControllerBase { * A render array containing the cache-clear form and performance * configuration form. */ #[Route( path: '/admin/config/development/performance', name: 'system.performance_settings', requirements: ['_permission' => 'administer site configuration'], defaults: ['_title' => new TranslatableMarkup('Performance')], )] public function build(): array { // Load the cache form and embed it in a details element. $cache_clear = $this->formBuilder()->getForm(ClearCacheForm::class); Loading core/modules/system/src/Controller/SystemController.php +101 −0 Original line number Diff line number Diff line Loading @@ -13,11 +13,13 @@ use Drupal\Core\Link; use Drupal\Core\Menu\MenuLinkTreeInterface; use Drupal\Core\Menu\MenuTreeParameters; use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\Theme\ThemeAccessCheck; use Drupal\Core\Url; use Drupal\system\SystemManager; use Symfony\Component\DependencyInjection\Attribute\Autowire; use Symfony\Component\HttpFoundation\Cookie; use Symfony\Component\Routing\Attribute\Route; /** * Returns responses for System routes. Loading Loading @@ -116,6 +118,15 @@ public function __construct( * @return array * A renderable array of the administration overview page. */ #[Route( path: '/admin/config', name: 'system.admin_config', requirements: ['_permission' => 'access administration pages'], defaults: [ 'link_id' => 'system.admin_config', '_title' => new TranslatableMarkup('Configuration'), ], )] public function overview($link_id) { // Check for status report errors. if ($this->currentUser()->hasPermission('administer site configuration') && $this->systemManager->checkRequirements()) { Loading Loading @@ -180,6 +191,12 @@ public function overview($link_id) { * @return \Symfony\Component\HttpFoundation\RedirectResponse * A redirect response to the front page. */ #[Route( path: '/admin/compact/{mode}', name: 'system.admin_compact_page', requirements: ['_permission' => 'access administration pages'], defaults: ['mode' => 'off'], )] public function compactPage($mode) { $response = $this->redirect('<front>'); if ($mode === 'on') { Loading @@ -194,6 +211,84 @@ public function compactPage($mode) { /** * Provides a single block from the administration menu as a page. */ #[Route( path: '/admin', name: 'system.admin', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Administration')], )] #[Route( path: '/admin/structure', name: 'system.admin_structure', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Structure')], )] #[Route( path: '/admin/reports', name: 'system.admin_reports', requirements: ['_permission' => 'access site reports'], defaults: ['_title' => new TranslatableMarkup('Reports')], )] #[Route( path: '/admin/config/media', name: 'system.admin_config_media', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Media')], )] #[Route( path: '/admin/config/services', name: 'system.admin_config_services', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Web services')], )] #[Route( path: '/admin/config/development', name: 'system.admin_config_development', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Development')], )] #[Route( path: '/admin/config/regional', name: 'system.admin_config_regional', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Region and language')], )] #[Route( path: '/admin/config/search', name: 'system.admin_config_search', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Search and metadata')], )] #[Route( path: '/admin/config/system', name: 'system.admin_config_system', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('System')], )] #[Route( path: '/admin/config/user-interface', name: 'system.admin_config_ui', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('User interface')], )] #[Route( path: '/admin/config/workflow', name: 'system.admin_config_workflow', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Workflow')], )] #[Route( path: '/admin/config/content', name: 'system.admin_config_content', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Content authoring')], )] #[Route( path: '/admin/content', name: 'system.admin_content', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Content')], )] public function systemAdminMenuBlockPage() { return $this->systemManager->getBlockContents(); } Loading @@ -206,6 +301,12 @@ public function systemAdminMenuBlockPage() { * * @todo Move into ThemeController. */ #[Route( path: '/admin/appearance', name: 'system.themes_page', requirements: ['_permission' => 'administer themes'], defaults: ['_title' => new TranslatableMarkup('Appearance')], )] public function themesPage() { $config = $this->config('system.theme'); // Get all available themes. Loading core/modules/system/src/Controller/SystemInfoController.php +17 −1 Original line number Diff line number Diff line Loading @@ -3,11 +3,13 @@ namespace Drupal\system\Controller; use Drupal\Core\Site\Settings; use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\Core\StringTranslation\TranslatableMarkup; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\Response; use Drupal\Core\DependencyInjection\ContainerInjectionInterface; use Drupal\system\SystemManager; use Drupal\Core\StringTranslation\StringTranslationTrait; use Symfony\Component\Routing\Attribute\Route; /** * Returns responses for System Info routes. Loading Loading @@ -49,6 +51,12 @@ public function __construct(SystemManager $systemManager) { * A render array containing a list of system requirements for the Drupal * installation and whether this installation meets the requirements. */ #[Route( path: '/admin/reports/status', name: 'system.status', requirements: ['_permission' => 'administer site configuration'], defaults: ['_title' => new TranslatableMarkup('Status report')], )] public function status() { $requirements = $this->systemManager->listRequirements(); return ['#type' => 'status_report_page', '#requirements' => $requirements]; Loading @@ -60,6 +68,14 @@ public function status() { * @return \Symfony\Component\HttpFoundation\Response * A response object to be sent to the client. */ #[Route( path: '/admin/reports/status/php', name: 'system.php', requirements: ['_permission' => 'administer site configuration'], // This page should not be treated as administrative since it outputs its // own content (outside of any administration theme). options: ['_admin_route' => FALSE], )] public function php() { if (function_exists('phpinfo')) { ob_start(); Loading Loading
core/modules/system/src/Controller/AdminController.php +8 −0 Original line number Diff line number Diff line Loading @@ -4,8 +4,10 @@ use Drupal\Core\Controller\ControllerBase; use Drupal\Core\Extension\ModuleExtensionList; use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\system\ModuleAdminLinksHelper; use Drupal\user\ModulePermissionsLinkHelper; use Symfony\Component\Routing\Attribute\Route; /** * Controller for admin section. Loading @@ -28,6 +30,12 @@ public function __construct( * @return array * A render array containing the listing. */ #[Route( path: '/admin/index', name: 'system.admin_index', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Administration')], )] public function index() { $extensions = array_intersect_key($this->moduleExtensionList->getList(), $this->moduleHandler()->getModuleList()); Loading
core/modules/system/src/Controller/Http4xxController.php +18 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,12 @@ class Http4xxController extends ControllerBase { * @return array * A render array containing the message to display for 4xx errors. */ #[Route( path: '/system/4xx', name: 'system.4xx', requirements: ['_access' => 'TRUE'], defaults: ['_title' => new TranslatableMarkup('Client error')], )] public function on4xx() { return [ '#markup' => $this->t('A client error happened'), Loading Loading @@ -47,6 +53,12 @@ public function on401() { * @return array * A render array containing the message to display for 403 pages. */ #[Route( path: '/system/403', name: 'system.403', requirements: ['_access' => 'TRUE'], defaults: ['_title' => new TranslatableMarkup('Access denied')], )] public function on403() { return [ '#markup' => $this->t('You are not authorized to access this page.'), Loading @@ -59,6 +71,12 @@ public function on403() { * @return array * A render array containing the message to display for 404 pages. */ #[Route( path: '/system/404', name: 'system.404', requirements: ['_access' => 'TRUE'], defaults: ['_title' => new TranslatableMarkup('Page not found')], )] public function on404() { return [ '#markup' => $this->t('The requested page could not be found.'), Loading
core/modules/system/src/Controller/PerformanceController.php +8 −0 Original line number Diff line number Diff line Loading @@ -3,8 +3,10 @@ namespace Drupal\system\Controller; use Drupal\Core\Controller\ControllerBase; use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\system\Form\ClearCacheForm; use Drupal\system\Form\PerformanceForm; use Symfony\Component\Routing\Attribute\Route; /** * Controller for performance admin. Loading @@ -18,6 +20,12 @@ class PerformanceController extends ControllerBase { * A render array containing the cache-clear form and performance * configuration form. */ #[Route( path: '/admin/config/development/performance', name: 'system.performance_settings', requirements: ['_permission' => 'administer site configuration'], defaults: ['_title' => new TranslatableMarkup('Performance')], )] public function build(): array { // Load the cache form and embed it in a details element. $cache_clear = $this->formBuilder()->getForm(ClearCacheForm::class); Loading
core/modules/system/src/Controller/SystemController.php +101 −0 Original line number Diff line number Diff line Loading @@ -13,11 +13,13 @@ use Drupal\Core\Link; use Drupal\Core\Menu\MenuLinkTreeInterface; use Drupal\Core\Menu\MenuTreeParameters; use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\Theme\ThemeAccessCheck; use Drupal\Core\Url; use Drupal\system\SystemManager; use Symfony\Component\DependencyInjection\Attribute\Autowire; use Symfony\Component\HttpFoundation\Cookie; use Symfony\Component\Routing\Attribute\Route; /** * Returns responses for System routes. Loading Loading @@ -116,6 +118,15 @@ public function __construct( * @return array * A renderable array of the administration overview page. */ #[Route( path: '/admin/config', name: 'system.admin_config', requirements: ['_permission' => 'access administration pages'], defaults: [ 'link_id' => 'system.admin_config', '_title' => new TranslatableMarkup('Configuration'), ], )] public function overview($link_id) { // Check for status report errors. if ($this->currentUser()->hasPermission('administer site configuration') && $this->systemManager->checkRequirements()) { Loading Loading @@ -180,6 +191,12 @@ public function overview($link_id) { * @return \Symfony\Component\HttpFoundation\RedirectResponse * A redirect response to the front page. */ #[Route( path: '/admin/compact/{mode}', name: 'system.admin_compact_page', requirements: ['_permission' => 'access administration pages'], defaults: ['mode' => 'off'], )] public function compactPage($mode) { $response = $this->redirect('<front>'); if ($mode === 'on') { Loading @@ -194,6 +211,84 @@ public function compactPage($mode) { /** * Provides a single block from the administration menu as a page. */ #[Route( path: '/admin', name: 'system.admin', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Administration')], )] #[Route( path: '/admin/structure', name: 'system.admin_structure', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Structure')], )] #[Route( path: '/admin/reports', name: 'system.admin_reports', requirements: ['_permission' => 'access site reports'], defaults: ['_title' => new TranslatableMarkup('Reports')], )] #[Route( path: '/admin/config/media', name: 'system.admin_config_media', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Media')], )] #[Route( path: '/admin/config/services', name: 'system.admin_config_services', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Web services')], )] #[Route( path: '/admin/config/development', name: 'system.admin_config_development', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Development')], )] #[Route( path: '/admin/config/regional', name: 'system.admin_config_regional', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Region and language')], )] #[Route( path: '/admin/config/search', name: 'system.admin_config_search', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Search and metadata')], )] #[Route( path: '/admin/config/system', name: 'system.admin_config_system', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('System')], )] #[Route( path: '/admin/config/user-interface', name: 'system.admin_config_ui', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('User interface')], )] #[Route( path: '/admin/config/workflow', name: 'system.admin_config_workflow', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Workflow')], )] #[Route( path: '/admin/config/content', name: 'system.admin_config_content', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Content authoring')], )] #[Route( path: '/admin/content', name: 'system.admin_content', requirements: ['_permission' => 'access administration pages'], defaults: ['_title' => new TranslatableMarkup('Content')], )] public function systemAdminMenuBlockPage() { return $this->systemManager->getBlockContents(); } Loading @@ -206,6 +301,12 @@ public function systemAdminMenuBlockPage() { * * @todo Move into ThemeController. */ #[Route( path: '/admin/appearance', name: 'system.themes_page', requirements: ['_permission' => 'administer themes'], defaults: ['_title' => new TranslatableMarkup('Appearance')], )] public function themesPage() { $config = $this->config('system.theme'); // Get all available themes. Loading
core/modules/system/src/Controller/SystemInfoController.php +17 −1 Original line number Diff line number Diff line Loading @@ -3,11 +3,13 @@ namespace Drupal\system\Controller; use Drupal\Core\Site\Settings; use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\Core\StringTranslation\TranslatableMarkup; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\Response; use Drupal\Core\DependencyInjection\ContainerInjectionInterface; use Drupal\system\SystemManager; use Drupal\Core\StringTranslation\StringTranslationTrait; use Symfony\Component\Routing\Attribute\Route; /** * Returns responses for System Info routes. Loading Loading @@ -49,6 +51,12 @@ public function __construct(SystemManager $systemManager) { * A render array containing a list of system requirements for the Drupal * installation and whether this installation meets the requirements. */ #[Route( path: '/admin/reports/status', name: 'system.status', requirements: ['_permission' => 'administer site configuration'], defaults: ['_title' => new TranslatableMarkup('Status report')], )] public function status() { $requirements = $this->systemManager->listRequirements(); return ['#type' => 'status_report_page', '#requirements' => $requirements]; Loading @@ -60,6 +68,14 @@ public function status() { * @return \Symfony\Component\HttpFoundation\Response * A response object to be sent to the client. */ #[Route( path: '/admin/reports/status/php', name: 'system.php', requirements: ['_permission' => 'administer site configuration'], // This page should not be treated as administrative since it outputs its // own content (outside of any administration theme). options: ['_admin_route' => FALSE], )] public function php() { if (function_exists('phpinfo')) { ob_start(); Loading