Index: install.php
===================================================================
RCS file: /cvs/drupal/drupal/install.php,v
retrieving revision 1.168
diff -u -p -r1.168 install.php
--- install.php	12 May 2009 08:37:44 -0000	1.168
+++ install.php	19 May 2009 23:07:10 -0000
@@ -40,6 +40,7 @@ function install_main() {
   global $profile, $install_locale, $conf;
 
   require_once DRUPAL_ROOT . '/modules/system/system.install';
+  require_once DRUPAL_ROOT . '/modules/system/system.registry.inc';
   require_once DRUPAL_ROOT . '/includes/file.inc';
 
   // Ensure correct page headers are sent (e.g. caching)
Index: update.php
===================================================================
RCS file: /cvs/drupal/drupal/update.php,v
retrieving revision 1.283
diff -u -p -r1.283 update.php
--- update.php	16 May 2009 20:25:19 -0000	1.283
+++ update.php	19 May 2009 23:08:57 -0000
@@ -750,6 +750,7 @@ if (empty($op) && $update_access_allowed
   require_once DRUPAL_ROOT . '/includes/install.inc';
   require_once DRUPAL_ROOT . '/includes/file.inc';
   require_once DRUPAL_ROOT . '/modules/system/system.install';
+  require_once DRUPAL_ROOT . '/modules/system/system.registry.inc';
 
   // Load module basics.
   include_once DRUPAL_ROOT . '/includes/module.inc';
Index: modules/system/system.info
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.info,v
retrieving revision 1.12
diff -u -p -r1.12 system.info
--- modules/system/system.info	6 May 2009 10:37:28 -0000	1.12
+++ modules/system/system.info	19 May 2009 23:02:41 -0000
@@ -7,6 +7,7 @@ core = 7.x
 files[] = system.module
 files[] = system.admin.inc
 files[] = system.queue.inc
+files[] = system.registry.inc
 files[] = image.gd.inc
 files[] = system.install
 required = TRUE
Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.694
diff -u -p -r1.694 system.module
--- modules/system/system.module	16 May 2009 18:34:23 -0000	1.694
+++ modules/system/system.module	19 May 2009 23:05:21 -0000
@@ -115,90 +115,6 @@ function system_help($path, $arg) {
 }
 
 /**
- * Implementation of hook_theme().
- */
-function system_theme() {
-  return array_merge(drupal_common_theme(), array(
-    'system_theme_select_form' => array(
-      'arguments' => array('form' => NULL),
-    ),
-    'system_themes_form' => array(
-      'arguments' => array('form' => NULL),
-    ),
-    'system_modules_fieldset' => array(
-      'arguments' => array('form' => NULL),
-    ),
-    'system_modules_incompatible' => array(
-      'arguments' => array('message' => NULL),
-    ),
-    'system_modules_uninstall' => array(
-      'arguments' => array('form' => NULL),
-    ),
-    'status_report' => array(
-      'arguments' => array('requirements' => NULL),
-    ),
-    'admin_page' => array(
-      'arguments' => array('blocks' => NULL),
-    ),
-    'admin_block' => array(
-      'arguments' => array('block' => NULL),
-    ),
-    'admin_block_content' => array(
-      'arguments' => array('content' => NULL),
-    ),
-    'system_admin_by_module' => array(
-      'arguments' => array('menu_items' => NULL),
-    ),
-    'system_powered_by' => array(
-      'arguments' => array('image_path' => NULL),
-    ),
-    'meta_generator_html' => array(
-      'arguments' => array('version' => NULL),
-    ),
-    'meta_generator_header' => array(
-      'arguments' => array('version' => NULL),
-    ),
-    'system_compact_link' => array(),
-  ));
-}
-
-/**
- * Implementation of hook_perm().
- */
-function system_perm() {
-  return array(
-    'administer site configuration' => array(
-      'title' => t('Administer site configuration'),
-      'description' => t('Configure site-wide settings such as module or theme administration settings.'),
-    ),
-    'administer actions' => array(
-      'title' => t('Administer actions'),
-      'description' => t('Manage the actions defined for your site.'),
-    ),
-    'administer files' => array(
-      'title' => t('Administer files'),
-      'description' => t('Manage user-uploaded files.'),
-    ),
-    'access administration pages' => array(
-      'title' => t('Access administration pages'),
-      'description' => t('View the administration panel and browse the help system.'),
-    ),
-    'access site reports' => array(
-      'title' => t('Access site reports'),
-      'description' => t('View reports from system logs and other status information.'),
-    ),
-    'select different theme' => array(
-      'title' => t('Select different theme'),
-      'description' => t('Select a theme other than the default theme set by the site administrator.'),
-    ),
-    'block IP addresses' => array(
-      'title' => t('Block IP addresses'),
-      'description' => t('Block IP addresses from accessing your site.'),
-    ),
-  );
-}
-
-/**
  * Implementation of hook_rdf_namespaces().
  */
 function system_rdf_namespaces() {
@@ -430,331 +346,6 @@ function system_elements() {
 }
 
 /**
- * Implementation of hook_menu().
- */
-function system_menu() {
-  $items['system/files'] = array(
-    'title' => 'File download',
-    'page callback' => 'file_download',
-    'access callback' => TRUE,
-    'type' => MENU_CALLBACK,
-  );
-  $items['system/ahah'] = array(
-    'title' => 'AHAH callback',
-    'page callback' => 'form_ahah_callback',
-    'access callback' => TRUE,
-    'type' => MENU_CALLBACK,
-  );
-  $items['system/timezone'] = array(
-    'title' => 'Time zone',
-    'page callback' => 'system_timezone',
-    'access callback' => TRUE,
-    'type' => MENU_CALLBACK,
-  );
-  $items['admin'] = array(
-    'title' => 'Administer',
-    'access arguments' => array('access administration pages'),
-    'page callback' => 'system_main_admin_page',
-    'weight' => 9,
-    'menu_name' => 'management',
-  );
-  $items['admin/compact'] = array(
-    'title' => 'Compact mode',
-    'page callback' => 'system_admin_compact_page',
-    'access arguments' => array('access administration pages'),
-    'type' => MENU_CALLBACK,
-  );
-  $items['admin/by-task'] = array(
-    'title' => 'By task',
-    'page callback' => 'system_main_admin_page',
-    'access arguments' => array('access administration pages'),
-    'type' => MENU_DEFAULT_LOCAL_TASK,
-  );
-  $items['admin/by-module'] = array(
-    'title' => 'By module',
-    'page callback' => 'system_admin_by_module',
-    'access arguments' => array('access administration pages'),
-    'type' => MENU_LOCAL_TASK,
-    'weight' => 2,
-  );
-  $items['admin/content'] = array(
-    'title' => 'Content management',
-    'description' => "Manage your site's content.",
-    'position' => 'left',
-    'weight' => -10,
-    'page callback' => 'system_admin_menu_block_page',
-    'access arguments' => array('access administration pages'),
-  );
-
-  // menu items that are basically just menu blocks
-  $items['admin/settings'] = array(
-    'title' => 'Site configuration',
-    'description' => 'Configure site settings.',
-    'position' => 'right',
-    'weight' => -5,
-    'page callback' => 'system_settings_overview',
-    'access arguments' => array('access administration pages'),
-  );
-  $items['admin/build'] = array(
-    'title' => 'Site building',
-    'description' => 'Control how your site looks and feels.',
-    'position' => 'right',
-    'weight' => -10,
-    'page callback' => 'system_admin_menu_block_page',
-    'access arguments' => array('access administration pages'),
-  );
-  // Themes:
-  $items['admin/build/themes'] = array(
-    'title' => 'Themes',
-    'description' => 'Change which theme your site uses or allows users to set.',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_themes_form'),
-    'access arguments' => array('administer site configuration'),
-  );
-  $items['admin/build/themes/select'] = array(
-    'title' => 'List',
-    'description' => 'Select the default theme for your site.',
-    'type' => MENU_DEFAULT_LOCAL_TASK,
-    'weight' => -1,
-  );
-  $items['admin/build/themes/settings'] = array(
-    'title' => 'Configure',
-    'page arguments' => array('system_theme_settings'),
-    'access arguments' => array('administer site configuration'),
-    'type' => MENU_LOCAL_TASK,
-  );
-  // Theme configuration subtabs
-  $items['admin/build/themes/settings/global'] = array(
-    'title' => 'Global settings',
-    'type' => MENU_DEFAULT_LOCAL_TASK,
-    'weight' => -1,
-  );
-
-  foreach (list_themes() as $theme) {
-    $items['admin/build/themes/settings/' . $theme->name] = array(
-      'title' => $theme->info['name'],
-      'page arguments' => array('system_theme_settings', $theme->name),
-      'type' => MENU_LOCAL_TASK,
-      'access callback' => '_system_themes_access',
-      'access arguments' => array($theme),
-    );
-  }
-
-  // Modules:
-  $items['admin/build/modules'] = array(
-    'title' => 'Modules',
-    'description' => 'Enable or disable add-on modules for your site.',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_modules'),
-    'access arguments' => array('administer site configuration'),
-  );
-  $items['admin/build/modules/list'] = array(
-    'title' => 'List',
-    'type' => MENU_DEFAULT_LOCAL_TASK,
-  );
-  $items['admin/build/modules/list/confirm'] = array(
-    'title' => 'List',
-    'access arguments' => array('administer site configuration'),
-    'type' => MENU_CALLBACK,
-  );
-  $items['admin/build/modules/uninstall'] = array(
-    'title' => 'Uninstall',
-    'page arguments' => array('system_modules_uninstall'),
-    'access arguments' => array('administer site configuration'),
-    'type' => MENU_LOCAL_TASK,
-  );
-  $items['admin/build/modules/uninstall/confirm'] = array(
-    'title' => 'Uninstall',
-    'access arguments' => array('administer site configuration'),
-    'type' => MENU_CALLBACK,
-  );
-
-  // Actions:
-  $items['admin/settings/actions'] = array(
-    'title' => 'Actions',
-    'description' => 'Manage the actions defined for your site.',
-    'access arguments' => array('administer actions'),
-    'page callback' => 'system_actions_manage'
-  );
-  $items['admin/settings/actions/manage'] = array(
-    'title' => 'Manage actions',
-    'description' => 'Manage the actions defined for your site.',
-    'page callback' => 'system_actions_manage',
-    'type' => MENU_DEFAULT_LOCAL_TASK,
-    'weight' => -2,
-  );
-  $items['admin/settings/actions/configure'] = array(
-    'title' => 'Configure an advanced action',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_actions_configure'),
-    'access arguments' => array('administer actions'),
-    'type' => MENU_CALLBACK,
-  );
-  $items['admin/settings/actions/delete/%actions'] = array(
-    'title' => 'Delete action',
-    'description' => 'Delete an action.',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_actions_delete_form', 4),
-    'access arguments' => array('administer actions'),
-    'type' => MENU_CALLBACK,
-  );
-  $items['admin/settings/actions/orphan'] = array(
-    'title' => 'Remove orphans',
-    'page callback' => 'system_actions_remove_orphans',
-    'access arguments' => array('administer actions'),
-    'type' => MENU_CALLBACK,
-  );
-
-  // IP address blocking.
-  $items['admin/settings/ip-blocking'] = array(
-    'title' => 'IP address blocking',
-    'description' => 'Manage blocked IP addresses.',
-    'page callback' => 'system_ip_blocking',
-    'access arguments' => array('block IP addresses'),
-  );
-  $items['admin/settings/ip-blocking/%'] = array(
-    'title' => 'IP address blocking',
-    'description' => 'Manage blocked IP addresses.',
-    'page callback' => 'system_ip_blocking',
-    'access arguments' => array('block IP addresses'),
-    'type' => MENU_CALLBACK,
-  );
-  $items['admin/settings/ip-blocking/delete/%blocked_ip'] = array(
-    'title' => 'Delete IP address',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_ip_blocking_delete', 4),
-    'access arguments' => array('block IP addresses'),
-    'type' => MENU_CALLBACK,
-  );
-
-  // Settings:
-  $items['admin/settings/site-information'] = array(
-    'title' => 'Site information',
-    'description' => 'Change basic site information, such as the site name, slogan, e-mail address, mission, front page and more.',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_site_information_settings'),
-    'access arguments' => array('administer site configuration'),
-  );
-  $items['admin/settings/logging'] = array(
-    'title' => 'Logging and errors',
-    'description' => "Settings for logging and alerts modules. Various modules can route Drupal's system events to different destinations, such as syslog, database, email, etc.",
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_logging_settings'),
-    'access arguments' => array('administer site configuration'),
-  );
-  $items['admin/settings/logging/settings'] = array(
-    'title' => 'Settings',
-    'access arguments' => array('administer site configuration'),
-    'type' => MENU_DEFAULT_LOCAL_TASK,
-    'weight' => -1,
-  );
-  $items['admin/settings/performance'] = array(
-    'title' => 'Performance',
-    'description' => 'Enable or disable page caching for anonymous users and set CSS and JS bandwidth optimization options.',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_performance_settings'),
-    'access arguments' => array('administer site configuration'),
-  );
-  $items['admin/settings/file-system'] = array(
-    'title' => 'File system',
-    'description' => 'Tell Drupal where to store uploaded files and how they are accessed.',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_file_system_settings'),
-    'access arguments' => array('administer site configuration'),
-  );
-  $items['admin/settings/image-toolkit'] = array(
-    'title' => 'Image toolkit',
-    'description' => 'Choose which image toolkit to use if you have installed optional toolkits.',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_image_toolkit_settings'),
-    'access arguments' => array('administer site configuration'),
-  );
-  $items['admin/content/rss-publishing'] = array(
-    'title' => 'RSS publishing',
-    'description' => 'Configure the site description, the number of items per feed and whether feeds should be titles/teasers/full-text.',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_rss_feeds_settings'),
-    'access arguments' => array('administer site configuration'),
-  );
-  $items['admin/settings/regional-settings'] = array(
-    'title' => 'Regional settings',
-    'description' => "Settings for how Drupal displays date and time, as well as the system's default time zone.",
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_regional_settings'),
-    'access arguments' => array('administer site configuration'),
-  );
-  $items['admin/settings/regional-settings/lookup'] = array(
-    'title' => 'Date and time lookup',
-    'type' => MENU_CALLBACK,
-    'page callback' => 'system_date_time_lookup',
-    'access arguments' => array('administer site configuration'),
-  );
-  $items['admin/settings/maintenance-mode'] = array(
-    'title' => 'Maintenance mode',
-    'description' => 'Take the site offline for maintenance or bring it back online.',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_site_maintenance_mode'),
-    'access arguments' => array('administer site configuration'),
-  );
-  $items['admin/settings/clean-urls'] = array(
-    'title' => 'Clean URLs',
-    'description' => 'Enable or disable clean URLs for your site.',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('system_clean_url_settings'),
-    'access arguments' => array('administer site configuration'),
-  );
-  $items['admin/settings/clean-urls/check'] = array(
-    'title' => 'Clean URL check',
-    'page callback' => 'drupal_json',
-    'page arguments' => array(array('status' => TRUE)),
-    'access callback' => TRUE,
-    'type' => MENU_CALLBACK,
-  );
-
-  // Reports:
-  $items['admin/reports'] = array(
-    'title' => 'Reports',
-    'description' => 'View reports from system logs and other status information.',
-    'page callback' => 'system_admin_menu_block_page',
-    'access arguments' => array('access site reports'),
-    'weight' => 5,
-    'position' => 'left',
-  );
-  $items['admin/reports/status'] = array(
-    'title' => 'Status report',
-    'description' => "Get a status report about your site's operation and any detected problems.",
-    'page callback' => 'system_status',
-    'weight' => 10,
-    'access arguments' => array('administer site configuration'),
-  );
-  $items['admin/reports/status/run-cron'] = array(
-    'title' => 'Run cron',
-    'page callback' => 'system_run_cron',
-    'access arguments' => array('administer site configuration'),
-    'type' => MENU_CALLBACK,
-  );
-  $items['admin/reports/status/php'] = array(
-    'title' => 'PHP',
-    'page callback' => 'system_php',
-    'access arguments' => array('administer site configuration'),
-    'type' => MENU_CALLBACK,
-  );
-  $items['admin/reports/status/sql'] = array(
-    'title' => 'SQL',
-    'page callback' => 'system_sql',
-    'access arguments' => array('administer site configuration'),
-    'type' => MENU_CALLBACK,
-  );
-  // Default page for batch operations
-  $items['batch'] = array(
-    'page callback' => 'system_batch_page',
-    'access callback' => TRUE,
-    'type' => MENU_CALLBACK,
-  );
-  return $items;
-}
-
-/**
  * Retrieve a blocked IP address from the database.
  *
  * @param $iid integer
Index: modules/system/system.registry.inc
===================================================================
RCS file: modules/system/system.registry.inc
diff -N modules/system/system.registry.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ modules/system/system.registry.inc	19 May 2009 23:19:34 -0000
@@ -0,0 +1,417 @@
+<?php
+// $Id: system.module,v 1.694 2009/05/16 18:34:23 dries Exp $
+
+/**
+ * @file
+ * Registry-type hooks for System module.
+ */
+
+/**
+ * Implementation of hook_theme().
+ */
+function system_theme() {
+  return array_merge(drupal_common_theme(), array(
+    'system_theme_select_form' => array(
+      'arguments' => array('form' => NULL),
+    ),
+    'system_themes_form' => array(
+      'arguments' => array('form' => NULL),
+    ),
+    'system_modules_fieldset' => array(
+      'arguments' => array('form' => NULL),
+    ),
+    'system_modules_incompatible' => array(
+      'arguments' => array('message' => NULL),
+    ),
+    'system_modules_uninstall' => array(
+      'arguments' => array('form' => NULL),
+    ),
+    'status_report' => array(
+      'arguments' => array('requirements' => NULL),
+    ),
+    'admin_page' => array(
+      'arguments' => array('blocks' => NULL),
+    ),
+    'admin_block' => array(
+      'arguments' => array('block' => NULL),
+    ),
+    'admin_block_content' => array(
+      'arguments' => array('content' => NULL),
+    ),
+    'system_admin_by_module' => array(
+      'arguments' => array('menu_items' => NULL),
+    ),
+    'system_powered_by' => array(
+      'arguments' => array('image_path' => NULL),
+    ),
+    'meta_generator_html' => array(
+      'arguments' => array('version' => NULL),
+    ),
+    'meta_generator_header' => array(
+      'arguments' => array('version' => NULL),
+    ),
+    'system_compact_link' => array(),
+  ));
+}
+
+/**
+ * Implementation of hook_perm().
+ */
+function system_perm() {
+  return array(
+    'administer site configuration' => array(
+      'title' => t('Administer site configuration'),
+      'description' => t('Configure site-wide settings such as module or theme administration settings.'),
+    ),
+    'administer actions' => array(
+      'title' => t('Administer actions'),
+      'description' => t('Manage the actions defined for your site.'),
+    ),
+    'administer files' => array(
+      'title' => t('Administer files'),
+      'description' => t('Manage user-uploaded files.'),
+    ),
+    'access administration pages' => array(
+      'title' => t('Access administration pages'),
+      'description' => t('View the administration panel and browse the help system.'),
+    ),
+    'access site reports' => array(
+      'title' => t('Access site reports'),
+      'description' => t('View reports from system logs and other status information.'),
+    ),
+    'select different theme' => array(
+      'title' => t('Select different theme'),
+      'description' => t('Select a theme other than the default theme set by the site administrator.'),
+    ),
+    'block IP addresses' => array(
+      'title' => t('Block IP addresses'),
+      'description' => t('Block IP addresses from accessing your site.'),
+    ),
+  );
+}
+
+/**
+ * Implementation of hook_menu().
+ */
+function system_menu() {
+  $items['system/files'] = array(
+    'title' => 'File download',
+    'page callback' => 'file_download',
+    'access callback' => TRUE,
+    'type' => MENU_CALLBACK,
+  );
+  $items['system/ahah'] = array(
+    'title' => 'AHAH callback',
+    'page callback' => 'form_ahah_callback',
+    'access callback' => TRUE,
+    'type' => MENU_CALLBACK,
+  );
+  $items['system/timezone'] = array(
+    'title' => 'Time zone',
+    'page callback' => 'system_timezone',
+    'access callback' => TRUE,
+    'type' => MENU_CALLBACK,
+  );
+  $items['admin'] = array(
+    'title' => 'Administer',
+    'access arguments' => array('access administration pages'),
+    'page callback' => 'system_main_admin_page',
+    'weight' => 9,
+    'menu_name' => 'management',
+  );
+  $items['admin/compact'] = array(
+    'title' => 'Compact mode',
+    'page callback' => 'system_admin_compact_page',
+    'access arguments' => array('access administration pages'),
+    'type' => MENU_CALLBACK,
+  );
+  $items['admin/by-task'] = array(
+    'title' => 'By task',
+    'page callback' => 'system_main_admin_page',
+    'access arguments' => array('access administration pages'),
+    'type' => MENU_DEFAULT_LOCAL_TASK,
+  );
+  $items['admin/by-module'] = array(
+    'title' => 'By module',
+    'page callback' => 'system_admin_by_module',
+    'access arguments' => array('access administration pages'),
+    'type' => MENU_LOCAL_TASK,
+    'weight' => 2,
+  );
+  $items['admin/content'] = array(
+    'title' => 'Content management',
+    'description' => "Manage your site's content.",
+    'position' => 'left',
+    'weight' => -10,
+    'page callback' => 'system_admin_menu_block_page',
+    'access arguments' => array('access administration pages'),
+  );
+
+  // menu items that are basically just menu blocks
+  $items['admin/settings'] = array(
+    'title' => 'Site configuration',
+    'description' => 'Configure site settings.',
+    'position' => 'right',
+    'weight' => -5,
+    'page callback' => 'system_settings_overview',
+    'access arguments' => array('access administration pages'),
+  );
+  $items['admin/build'] = array(
+    'title' => 'Site building',
+    'description' => 'Control how your site looks and feels.',
+    'position' => 'right',
+    'weight' => -10,
+    'page callback' => 'system_admin_menu_block_page',
+    'access arguments' => array('access administration pages'),
+  );
+  // Themes:
+  $items['admin/build/themes'] = array(
+    'title' => 'Themes',
+    'description' => 'Change which theme your site uses or allows users to set.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_themes_form'),
+    'access arguments' => array('administer site configuration'),
+  );
+  $items['admin/build/themes/select'] = array(
+    'title' => 'List',
+    'description' => 'Select the default theme for your site.',
+    'type' => MENU_DEFAULT_LOCAL_TASK,
+    'weight' => -1,
+  );
+  $items['admin/build/themes/settings'] = array(
+    'title' => 'Configure',
+    'page arguments' => array('system_theme_settings'),
+    'access arguments' => array('administer site configuration'),
+    'type' => MENU_LOCAL_TASK,
+  );
+  // Theme configuration subtabs
+  $items['admin/build/themes/settings/global'] = array(
+    'title' => 'Global settings',
+    'type' => MENU_DEFAULT_LOCAL_TASK,
+    'weight' => -1,
+  );
+
+  foreach (list_themes() as $theme) {
+    $items['admin/build/themes/settings/' . $theme->name] = array(
+      'title' => $theme->info['name'],
+      'page arguments' => array('system_theme_settings', $theme->name),
+      'type' => MENU_LOCAL_TASK,
+      'access callback' => '_system_themes_access',
+      'access arguments' => array($theme),
+    );
+  }
+
+  // Modules:
+  $items['admin/build/modules'] = array(
+    'title' => 'Modules',
+    'description' => 'Enable or disable add-on modules for your site.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_modules'),
+    'access arguments' => array('administer site configuration'),
+  );
+  $items['admin/build/modules/list'] = array(
+    'title' => 'List',
+    'type' => MENU_DEFAULT_LOCAL_TASK,
+  );
+  $items['admin/build/modules/list/confirm'] = array(
+    'title' => 'List',
+    'access arguments' => array('administer site configuration'),
+    'type' => MENU_CALLBACK,
+  );
+  $items['admin/build/modules/uninstall'] = array(
+    'title' => 'Uninstall',
+    'page arguments' => array('system_modules_uninstall'),
+    'access arguments' => array('administer site configuration'),
+    'type' => MENU_LOCAL_TASK,
+  );
+  $items['admin/build/modules/uninstall/confirm'] = array(
+    'title' => 'Uninstall',
+    'access arguments' => array('administer site configuration'),
+    'type' => MENU_CALLBACK,
+  );
+
+  // Actions:
+  $items['admin/settings/actions'] = array(
+    'title' => 'Actions',
+    'description' => 'Manage the actions defined for your site.',
+    'access arguments' => array('administer actions'),
+    'page callback' => 'system_actions_manage'
+  );
+  $items['admin/settings/actions/manage'] = array(
+    'title' => 'Manage actions',
+    'description' => 'Manage the actions defined for your site.',
+    'page callback' => 'system_actions_manage',
+    'type' => MENU_DEFAULT_LOCAL_TASK,
+    'weight' => -2,
+  );
+  $items['admin/settings/actions/configure'] = array(
+    'title' => 'Configure an advanced action',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_actions_configure'),
+    'access arguments' => array('administer actions'),
+    'type' => MENU_CALLBACK,
+  );
+  $items['admin/settings/actions/delete/%actions'] = array(
+    'title' => 'Delete action',
+    'description' => 'Delete an action.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_actions_delete_form', 4),
+    'access arguments' => array('administer actions'),
+    'type' => MENU_CALLBACK,
+  );
+  $items['admin/settings/actions/orphan'] = array(
+    'title' => 'Remove orphans',
+    'page callback' => 'system_actions_remove_orphans',
+    'access arguments' => array('administer actions'),
+    'type' => MENU_CALLBACK,
+  );
+
+  // IP address blocking.
+  $items['admin/settings/ip-blocking'] = array(
+    'title' => 'IP address blocking',
+    'description' => 'Manage blocked IP addresses.',
+    'page callback' => 'system_ip_blocking',
+    'access arguments' => array('block IP addresses'),
+  );
+  $items['admin/settings/ip-blocking/%'] = array(
+    'title' => 'IP address blocking',
+    'description' => 'Manage blocked IP addresses.',
+    'page callback' => 'system_ip_blocking',
+    'access arguments' => array('block IP addresses'),
+    'type' => MENU_CALLBACK,
+  );
+  $items['admin/settings/ip-blocking/delete/%blocked_ip'] = array(
+    'title' => 'Delete IP address',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_ip_blocking_delete', 4),
+    'access arguments' => array('block IP addresses'),
+    'type' => MENU_CALLBACK,
+  );
+
+  // Settings:
+  $items['admin/settings/site-information'] = array(
+    'title' => 'Site information',
+    'description' => 'Change basic site information, such as the site name, slogan, e-mail address, mission, front page and more.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_site_information_settings'),
+    'access arguments' => array('administer site configuration'),
+  );
+  $items['admin/settings/logging'] = array(
+    'title' => 'Logging and errors',
+    'description' => "Settings for logging and alerts modules. Various modules can route Drupal's system events to different destinations, such as syslog, database, email, etc.",
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_logging_settings'),
+    'access arguments' => array('administer site configuration'),
+  );
+  $items['admin/settings/logging/settings'] = array(
+    'title' => 'Settings',
+    'access arguments' => array('administer site configuration'),
+    'type' => MENU_DEFAULT_LOCAL_TASK,
+    'weight' => -1,
+  );
+  $items['admin/settings/performance'] = array(
+    'title' => 'Performance',
+    'description' => 'Enable or disable page caching for anonymous users and set CSS and JS bandwidth optimization options.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_performance_settings'),
+    'access arguments' => array('administer site configuration'),
+  );
+  $items['admin/settings/file-system'] = array(
+    'title' => 'File system',
+    'description' => 'Tell Drupal where to store uploaded files and how they are accessed.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_file_system_settings'),
+    'access arguments' => array('administer site configuration'),
+  );
+  $items['admin/settings/image-toolkit'] = array(
+    'title' => 'Image toolkit',
+    'description' => 'Choose which image toolkit to use if you have installed optional toolkits.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_image_toolkit_settings'),
+    'access arguments' => array('administer site configuration'),
+  );
+  $items['admin/content/rss-publishing'] = array(
+    'title' => 'RSS publishing',
+    'description' => 'Configure the site description, the number of items per feed and whether feeds should be titles/teasers/full-text.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_rss_feeds_settings'),
+    'access arguments' => array('administer site configuration'),
+  );
+  $items['admin/settings/regional-settings'] = array(
+    'title' => 'Regional settings',
+    'description' => "Settings for how Drupal displays date and time, as well as the system's default time zone.",
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_regional_settings'),
+    'access arguments' => array('administer site configuration'),
+  );
+  $items['admin/settings/regional-settings/lookup'] = array(
+    'title' => 'Date and time lookup',
+    'type' => MENU_CALLBACK,
+    'page callback' => 'system_date_time_lookup',
+    'access arguments' => array('administer site configuration'),
+  );
+  $items['admin/settings/maintenance-mode'] = array(
+    'title' => 'Maintenance mode',
+    'description' => 'Take the site offline for maintenance or bring it back online.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_site_maintenance_mode'),
+    'access arguments' => array('administer site configuration'),
+  );
+  $items['admin/settings/clean-urls'] = array(
+    'title' => 'Clean URLs',
+    'description' => 'Enable or disable clean URLs for your site.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('system_clean_url_settings'),
+    'access arguments' => array('administer site configuration'),
+  );
+  $items['admin/settings/clean-urls/check'] = array(
+    'title' => 'Clean URL check',
+    'page callback' => 'drupal_json',
+    'page arguments' => array(array('status' => TRUE)),
+    'access callback' => TRUE,
+    'type' => MENU_CALLBACK,
+  );
+
+  // Reports:
+  $items['admin/reports'] = array(
+    'title' => 'Reports',
+    'description' => 'View reports from system logs and other status information.',
+    'page callback' => 'system_admin_menu_block_page',
+    'access arguments' => array('access site reports'),
+    'weight' => 5,
+    'position' => 'left',
+  );
+  $items['admin/reports/status'] = array(
+    'title' => 'Status report',
+    'description' => "Get a status report about your site's operation and any detected problems.",
+    'page callback' => 'system_status',
+    'weight' => 10,
+    'access arguments' => array('administer site configuration'),
+  );
+  $items['admin/reports/status/run-cron'] = array(
+    'title' => 'Run cron',
+    'page callback' => 'system_run_cron',
+    'access arguments' => array('administer site configuration'),
+    'type' => MENU_CALLBACK,
+  );
+  $items['admin/reports/status/php'] = array(
+    'title' => 'PHP',
+    'page callback' => 'system_php',
+    'access arguments' => array('administer site configuration'),
+    'type' => MENU_CALLBACK,
+  );
+  $items['admin/reports/status/sql'] = array(
+    'title' => 'SQL',
+    'page callback' => 'system_sql',
+    'access arguments' => array('administer site configuration'),
+    'type' => MENU_CALLBACK,
+  );
+  // Default page for batch operations
+  $items['batch'] = array(
+    'page callback' => 'system_batch_page',
+    'access callback' => TRUE,
+    'type' => MENU_CALLBACK,
+  );
+  return $items;
+}
+
