summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Pott2013-08-16 18:18:07 -0500
committerAlex Pott2013-08-16 18:18:07 -0500
commitf325f63c56d2ac4770ad67cc31285941d497f31c (patch)
tree2ca1b793015c156dfe557962e9beb8ab2f5f3656
parent0dff05dac77303aff015ce2f73b25259b8e2711d (diff)
Issue #1987808 by h3rj4n, vijaycs85, Dave.Ingram, tim.plunkett: Convert system_admin_compact_page() to a new style controller.
-rw-r--r--core/modules/system/lib/Drupal/system/Controller/SystemController.php40
-rw-r--r--core/modules/system/system.module22
-rw-r--r--core/modules/system/system.routing.yml9
3 files changed, 51 insertions, 20 deletions
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 0000000..7054e95
--- /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 6a8478f..bd58f93 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() {
@@ -2964,17 +2957,6 @@ function system_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.
*
* @param $module
diff --git a/core/modules/system/system.routing.yml b/core/modules/system/system.routing.yml
index 017d486..254bf01 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: