function system_admin_config_page

Menu callback; Provide the administration overview page.

1 string reference to 'system_admin_config_page'
system_menu in modules/system/system.module
Implements hook_menu().

File

modules/system/system.admin.inc, line 11

Code

function system_admin_config_page() {
    // Check for status report errors.
    if (system_status(TRUE) && user_access('administer site configuration')) {
        drupal_set_message(t('One or more problems were detected with your Drupal installation. Check the <a href="@status">status report</a> for more information.', array(
            '@status' => url('admin/reports/status'),
        )), 'error');
    }
    $blocks = array();
    if ($admin = db_query("SELECT menu_name, mlid FROM {menu_links} WHERE link_path = 'admin/config' AND module = 'system'")->fetchAssoc()) {
        $result = db_query("\n      SELECT m.*, ml.*\n      FROM {menu_links} ml\n      INNER JOIN {menu_router} m ON ml.router_path = m.path\n      WHERE ml.link_path <> 'admin/help' AND menu_name = :menu_name AND ml.plid = :mlid AND hidden = 0", $admin, array(
            'fetch' => PDO::FETCH_ASSOC,
        ));
        foreach ($result 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.');
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.