', array('absolute' => TRUE)));
+ return $this->redirect('front');
}
}
diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index 050cdd76cc2..df7ef6f9a52 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -10,60 +10,6 @@ use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
-/**
- * Menu callback; Provide the administration overview page.
- */
-function system_admin_config_page() {
- // Check for status report errors.
- // @todo Use depedancy injection in http://drupal.org/node/1987810.
- if (Drupal::service('system.manager')->checkRequirements() && user_access('administer site configuration')) {
- drupal_set_message(t('One or more problems were detected with your Drupal installation. Check the status report for more information.', array('@status' => url('admin/reports/status'))), 'error');
- }
- $blocks = array();
- if ($system_link = entity_load_multiple_by_properties('menu_link', array('link_path' => 'admin/config', 'module' => 'system'))) {
- $system_link = reset($system_link);
- $query = Drupal::entityQuery('menu_link')
- ->condition('link_path', 'admin/help', '<>')
- ->condition('menu_name', $system_link->menu_name)
- ->condition('plid', $system_link->id())
- ->condition('hidden', 0);
- $result = $query->execute();
- if (!empty($result)) {
- $menu_links = menu_link_load_multiple($result);
-
- foreach ($menu_links as $item) {
- _menu_link_translate($item);
- if (!$item['access']) {
- continue;
- }
- // The link description, either derived from 'description' in hook_menu()
- // or customized via menu module is used as title attribute.
- if (!empty($item['localized_options']['attributes']['title'])) {
- $item['description'] = $item['localized_options']['attributes']['title'];
- unset($item['localized_options']['attributes']['title']);
- }
- $block = $item;
- $block['content'] = '';
- $block['content'] .= theme('admin_block_content', array('content' => system_admin_menu_block($item)));
- if (!empty($block['content'])) {
- $block['show'] = TRUE;
- }
-
- // Prepare for sorting as in function _menu_tree_check_access().
- // The weight is offset so it is always positive, with a uniform 5-digits.
- $blocks[(50000 + $item['weight']) . ' ' . $item['title'] . ' ' . $item['mlid']] = $block;
- }
- }
- }
- if ($blocks) {
- ksort($blocks);
- return theme('admin_page', array('blocks' => $blocks));
- }
- else {
- return t('You do not have any administrative items.');
- }
-}
-
/**
* Provide a single block from the administration menu as a page.
*
@@ -400,7 +346,7 @@ function theme_admin_block($variables) {
$output .= '' . $block['title'] . '
';
}
if (!empty($block['content'])) {
- $output .= '' . $block['content'] . '
';
+ $output .= '' . render($block['content']) . '
';
}
else {
$output .= '' . $block['description'] . '
';
diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index bd58f930e36..94fbd21bc49 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -727,9 +727,7 @@ function system_menu() {
$items['admin/config'] = array(
'title' => 'Configuration',
'description' => 'Administer settings.',
- 'page callback' => 'system_admin_config_page',
- 'access arguments' => array('access administration pages'),
- 'file' => 'system.admin.inc',
+ 'route_name' => 'system_admin_config',
);
// Media settings.
diff --git a/core/modules/system/system.routing.yml b/core/modules/system/system.routing.yml
index f12ba8aa275..9b27c08de09 100644
--- a/core/modules/system/system.routing.yml
+++ b/core/modules/system/system.routing.yml
@@ -227,3 +227,10 @@ system_timezone:
_controller: '\Drupal\system\Controller\TimezoneController::getTimezone'
requirements:
_access: 'TRUE'
+
+system_admin_config:
+ pattern: '/admin/config'
+ defaults:
+ _content: '\Drupal\system\Controller\SystemController::overview'
+ requirements:
+ _permission: 'access administration pages'