From f325f63c56d2ac4770ad67cc31285941d497f31c Mon Sep 17 00:00:00 2001 From: Alex Pott <alex.a.pott@googlemail.com> Date: Fri, 16 Aug 2013 18:18:07 -0500 Subject: [PATCH] Issue #1987808 by h3rj4n, vijaycs85, Dave.Ingram, tim.plunkett: Convert system_admin_compact_page() to a new style controller. --- .../system/Controller/SystemController.php | 40 +++++++++++++++++++ core/modules/system/system.module | 22 +--------- core/modules/system/system.routing.yml | 9 +++++ 3 files changed, 51 insertions(+), 20 deletions(-) create mode 100644 core/modules/system/lib/Drupal/system/Controller/SystemController.php diff --git a/core/modules/system/lib/Drupal/system/Controller/SystemController.php b/core/modules/system/lib/Drupal/system/Controller/SystemController.php new file mode 100644 index 000000000000..7054e953fb6b --- /dev/null +++ b/core/modules/system/lib/Drupal/system/Controller/SystemController.php @@ -0,0 +1,40 @@ +<?php + +/** + * @file + * Contains \Drupal\system\Controller\SystemController. + */ + +namespace Drupal\system\Controller; + +use Drupal\Core\Controller\ControllerInterface; +use Symfony\Component\DependencyInjection\ContainerInterface; +use Symfony\Component\HttpFoundation\RedirectResponse; + + +/** + * Returns responses for System routes. + */ +class SystemController implements ControllerInterface { + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container) { + return new static(); + } + + /** + * Sets whether the admin menu is in compact mode or not. + * + * @param string $mode + * Valid values are 'on' and 'off'. + * + * @return \Symfony\Component\HttpFoundation\RedirectResponse + */ + function compactPage($mode) { + user_cookie_save(array('admin_compact_mode' => ($mode == 'on'))); + return new RedirectResponse(url('<front>', array('absolute' => TRUE))); + } + +} diff --git a/core/modules/system/system.module b/core/modules/system/system.module index 6a8478ff4fe9..bd58f930e367 100644 --- a/core/modules/system/system.module +++ b/core/modules/system/system.module @@ -627,13 +627,6 @@ function system_menu() { 'menu_name' => 'admin', 'file' => 'system.admin.inc', ); - $items['admin/compact'] = array( - 'title' => 'Compact mode', - 'page callback' => 'system_admin_compact_page', - 'access arguments' => array('access administration pages'), - 'type' => MENU_CALLBACK, - 'file' => 'system.admin.inc', - ); $items['admin/tasks'] = array( 'title' => 'Tasks', 'type' => MENU_DEFAULT_LOCAL_TASK, @@ -2947,14 +2940,14 @@ function confirm_form($form, $question, $path, $description = NULL, $yes = NULL, * such as the configuration page and the permissions page. * * Whether the user is in compact mode is determined by a cookie, which is set - * for the user by system_admin_compact_page(). + * for the user by \Drupal\system\Controller\SystemController::compactPage(). * * If the user does not have the cookie, the default value is given by the * system variable 'admin_compact_mode', which itself defaults to FALSE. This * does not have a user interface to set it: it is a hidden variable which can * be set in the settings.php file. * - * @return + * @return bool * TRUE when in compact mode, FALSE when in expanded mode. */ function system_admin_compact_mode() { @@ -2963,17 +2956,6 @@ function system_admin_compact_mode() { return isset($_COOKIE['Drupal_visitor_admin_compact_mode']) ? $_COOKIE['Drupal_visitor_admin_compact_mode'] : Drupal::config('system.site')->get('admin_compact_mode'); } -/** - * Menu callback; Sets whether the admin menu is in compact mode or not. - * - * @param $mode - * Valid values are 'on' and 'off'. - */ -function system_admin_compact_page($mode = 'off') { - user_cookie_save(array('admin_compact_mode' => ($mode == 'on'))); - return new RedirectResponse(url('<front>', array('absolute' => TRUE))); -} - /** * Generate a list of tasks offered by a specified module. * diff --git a/core/modules/system/system.routing.yml b/core/modules/system/system.routing.yml index 017d4868c455..254bf01d9598 100644 --- a/core/modules/system/system.routing.yml +++ b/core/modules/system/system.routing.yml @@ -10,6 +10,15 @@ system.cron: _controller: '\Drupal\system\CronController::run' requirements: _access_system_cron: 'TRUE' + +system_admin_compact_page: + pattern: '/admin/compact/{mode}' + defaults: + _controller: 'Drupal\system\Controller\SystemController::compactPage' + mode: 'off' + requirements: + _permission: 'access administration pages' + system.machine_name_transliterate: pattern: '/machine_name/transliterate' defaults: -- GitLab