Implements hook_menu().
function system_menu() {
$items['system/files'] = array(
'title' => 'File download',
'page callback' => 'file_download',
'page arguments' => array(
'private',
),
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
$items['system/temporary'] = array(
'title' => 'Temporary files',
'page callback' => 'file_download',
'page arguments' => array(
'temporary',
),
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
$items['system/ajax'] = array(
'title' => 'AHAH callback',
'page callback' => 'ajax_form_callback',
'access callback' => TRUE,
'theme callback' => 'ajax_base_page_theme',
'type' => MENU_CALLBACK,
'file path' => 'core/includes',
'file' => 'form.inc',
);
$items['system/timezone'] = array(
'title' => 'Time zone',
'page callback' => 'system_timezone',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
'file' => 'system.admin.inc',
);
$items['admin'] = array(
'title' => 'Administration',
'access arguments' => array(
'access administration pages',
),
'page callback' => 'system_admin_menu_block_page',
'weight' => 9,
'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,
'weight' => -20,
);
$items['admin/index'] = array(
'title' => 'Index',
'page callback' => 'system_admin_index',
'access arguments' => array(
'access administration pages',
),
'type' => MENU_LOCAL_TASK,
'weight' => -18,
'file' => 'system.admin.inc',
);
// Menu items that are basically just menu blocks.
$items['admin/structure'] = array(
'title' => 'Structure',
'description' => 'Administer blocks, content types, menus, etc.',
'position' => 'right',
'weight' => -8,
'page callback' => 'system_admin_menu_block_page',
'access arguments' => array(
'access administration pages',
),
'file' => 'system.admin.inc',
);
// Appearance.
$items['admin/appearance'] = array(
'title' => 'Appearance',
'description' => 'Select and configure your themes.',
'page callback' => 'system_themes_page',
'access arguments' => array(
'administer themes',
),
'position' => 'left',
'weight' => -6,
'file' => 'system.admin.inc',
);
$items['admin/appearance/list'] = array(
'title' => 'List',
'description' => 'Select and configure your theme',
'type' => MENU_DEFAULT_LOCAL_TASK,
'weight' => -1,
'file' => 'system.admin.inc',
);
$items['admin/appearance/enable'] = array(
'title' => 'Enable theme',
'page callback' => 'system_theme_enable',
'access arguments' => array(
'administer themes',
),
'type' => MENU_CALLBACK,
'file' => 'system.admin.inc',
);
$items['admin/appearance/disable'] = array(
'title' => 'Disable theme',
'page callback' => 'system_theme_disable',
'access arguments' => array(
'administer themes',
),
'type' => MENU_CALLBACK,
'file' => 'system.admin.inc',
);
$items['admin/appearance/default'] = array(
'title' => 'Set default theme',
'page callback' => 'system_theme_default',
'access arguments' => array(
'administer themes',
),
'type' => MENU_CALLBACK,
'file' => 'system.admin.inc',
);
$items['admin/appearance/settings'] = array(
'title' => 'Settings',
'description' => 'Configure default and theme specific settings.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'system_theme_settings',
),
'access arguments' => array(
'administer themes',
),
'type' => MENU_LOCAL_TASK,
'file' => 'system.admin.inc',
'weight' => 20,
);
// Theme configuration subtabs.
$items['admin/appearance/settings/global'] = array(
'title' => 'Global settings',
'type' => MENU_DEFAULT_LOCAL_TASK,
'weight' => -1,
);
foreach (list_themes() as $key => $theme) {
$items['admin/appearance/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(
$key,
),
'file' => 'system.admin.inc',
);
}
// Modules.
$items['admin/modules'] = array(
'title' => 'Extend',
'description' => 'Add and enable modules to extend site functionality.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'system_modules',
),
'access arguments' => array(
'administer modules',
),
'file' => 'system.admin.inc',
'weight' => -2,
);
$items['admin/modules/list'] = array(
'title' => 'List',
'type' => MENU_DEFAULT_LOCAL_TASK,
);
$items['admin/modules/list/confirm'] = array(
'title' => 'List',
'access arguments' => array(
'administer modules',
),
'type' => MENU_VISIBLE_IN_BREADCRUMB,
);
$items['admin/modules/uninstall'] = array(
'title' => 'Uninstall',
'page arguments' => array(
'system_modules_uninstall',
),
'access arguments' => array(
'administer modules',
),
'type' => MENU_LOCAL_TASK,
'file' => 'system.admin.inc',
'weight' => 20,
);
$items['admin/modules/uninstall/confirm'] = array(
'title' => 'Uninstall',
'access arguments' => array(
'administer modules',
),
'type' => MENU_VISIBLE_IN_BREADCRUMB,
'file' => 'system.admin.inc',
);
// Configuration.
$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',
);
// Media settings.
$items['admin/config/media'] = array(
'title' => 'Media',
'description' => 'Media tools.',
'position' => 'left',
'weight' => -10,
'page callback' => 'system_admin_menu_block_page',
'access arguments' => array(
'access administration pages',
),
'file' => 'system.admin.inc',
);
$items['admin/config/media/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',
),
'weight' => -10,
'file' => 'system.admin.inc',
);
$items['admin/config/media/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',
),
'weight' => 20,
'file' => 'system.admin.inc',
);
// Service settings.
$items['admin/config/services'] = array(
'title' => 'Web services',
'description' => 'Tools related to web services.',
'position' => 'right',
'weight' => 0,
'page callback' => 'system_admin_menu_block_page',
'access arguments' => array(
'access administration pages',
),
'file' => 'system.admin.inc',
);
$items['admin/config/services/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',
),
'file' => 'system.admin.inc',
);
// Development settings.
$items['admin/config/development'] = array(
'title' => 'Development',
'description' => 'Development tools.',
'position' => 'right',
'weight' => -10,
'page callback' => 'system_admin_menu_block_page',
'access arguments' => array(
'access administration pages',
),
'file' => 'system.admin.inc',
);
$items['admin/config/development/maintenance'] = 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',
),
'file' => 'system.admin.inc',
'weight' => -10,
);
$items['admin/config/development/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',
),
'file' => 'system.admin.inc',
'weight' => -20,
);
$items['admin/config/development/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',
),
'file' => 'system.admin.inc',
'weight' => -15,
);
// Regional and date settings.
$items['admin/config/regional'] = array(
'title' => 'Regional and language',
'description' => 'Regional settings, localization and translation.',
'position' => 'left',
'weight' => -5,
'page callback' => 'system_admin_menu_block_page',
'access arguments' => array(
'access administration pages',
),
'file' => 'system.admin.inc',
);
$items['admin/config/regional/settings'] = array(
'title' => 'Regional settings',
'description' => "Settings for the site's default time zone and country.",
'page callback' => 'drupal_get_form',
'page arguments' => array(
'system_regional_settings',
),
'access arguments' => array(
'administer site configuration',
),
'weight' => -20,
'file' => 'system.admin.inc',
);
$items['admin/config/regional/date-time'] = array(
'title' => 'Formats',
'description' => 'Configure display format strings for date and time.',
'page callback' => 'system_date_time_formats',
'access arguments' => array(
'administer site configuration',
),
'weight' => -9,
'file' => 'system.admin.inc',
);
$items['admin/config/regional/date-time/formats/add'] = array(
'title' => 'Add format',
'description' => 'Allow users to add additional date formats.',
'type' => MENU_LOCAL_ACTION,
'page callback' => 'drupal_get_form',
'page arguments' => array(
'system_configure_date_formats_form',
),
'access arguments' => array(
'administer site configuration',
),
'weight' => -10,
'file' => 'system.admin.inc',
);
$items['admin/config/regional/date-time/formats/%system_date_format/edit'] = array(
'title' => 'Edit date format',
'description' => 'Allow users to edit a configured date format.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'system_configure_date_formats_form',
5,
),
'access arguments' => array(
'administer site configuration',
),
'file' => 'system.admin.inc',
);
$items['admin/config/regional/date-time/formats/%system_date_format/delete'] = array(
'title' => 'Delete date format',
'description' => 'Allow users to delete a configured date format.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'system_date_delete_format_form',
5,
),
'access arguments' => array(
'administer site configuration',
),
'file' => 'system.admin.inc',
);
$items['admin/config/regional/date-time/formats/lookup'] = array(
'title' => 'Date and time lookup',
'page callback' => 'system_date_time_lookup',
'access arguments' => array(
'administer site configuration',
),
'type' => MENU_CALLBACK,
'file' => 'system.admin.inc',
);
// Search settings.
$items['admin/config/search'] = array(
'title' => 'Search and metadata',
'description' => 'Local site search, metadata and SEO.',
'position' => 'left',
'weight' => -10,
'page callback' => 'system_admin_menu_block_page',
'access arguments' => array(
'access administration pages',
),
'file' => 'system.admin.inc',
);
// System settings.
$items['admin/config/system'] = array(
'title' => 'System',
'description' => 'General system related configuration.',
'position' => 'right',
'weight' => -20,
'page callback' => 'system_admin_menu_block_page',
'access arguments' => array(
'access administration pages',
),
'file' => 'system.admin.inc',
);
$items['admin/config/system/site-information'] = array(
'title' => 'Site information',
'description' => 'Change site name, e-mail address, slogan, default front page, and number of posts per page, error pages.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'system_site_information_settings',
),
'access arguments' => array(
'administer site configuration',
),
'file' => 'system.admin.inc',
'weight' => -20,
);
$items['admin/config/system/cron'] = array(
'title' => 'Cron',
'description' => 'Manage automatic site maintenance tasks.',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'system_cron_settings',
),
'access arguments' => array(
'administer site configuration',
),
'file' => 'system.admin.inc',
'weight' => 20,
);
// Additional categories
$items['admin/config/user-interface'] = array(
'title' => 'User interface',
'description' => 'Tools that enhance the user interface.',
'position' => 'right',
'page callback' => 'system_admin_menu_block_page',
'access arguments' => array(
'access administration pages',
),
'file' => 'system.admin.inc',
'weight' => -15,
);
$items['admin/config/workflow'] = array(
'title' => 'Workflow',
'description' => 'Content workflow, editorial workflow tools.',
'position' => 'right',
'weight' => 5,
'page callback' => 'system_admin_menu_block_page',
'access arguments' => array(
'access administration pages',
),
'file' => 'system.admin.inc',
);
$items['admin/config/content'] = array(
'title' => 'Content authoring',
'description' => 'Settings related to formatting and authoring content.',
'position' => 'left',
'weight' => -15,
'page callback' => 'system_admin_menu_block_page',
'access arguments' => array(
'access administration pages',
),
'file' => 'system.admin.inc',
);
// Reports.
$items['admin/reports'] = array(
'title' => 'Reports',
'description' => 'View reports, updates, and errors.',
'page callback' => 'system_admin_menu_block_page',
'access arguments' => array(
'access site reports',
),
'weight' => 5,
'position' => 'left',
'file' => 'system.admin.inc',
);
$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' => -60,
'access arguments' => array(
'administer site configuration',
),
'file' => 'system.admin.inc',
);
$items['admin/reports/status/run-cron'] = array(
'title' => 'Run cron',
'page callback' => 'system_run_cron',
'access arguments' => array(
'administer site configuration',
),
'type' => MENU_CALLBACK,
'file' => 'system.admin.inc',
);
$items['admin/reports/status/php'] = array(
'title' => 'PHP',
'page callback' => 'system_php',
'access arguments' => array(
'administer site configuration',
),
'type' => MENU_CALLBACK,
'file' => 'system.admin.inc',
);
// Default page for batch operations.
$items['batch'] = array(
'page callback' => 'system_batch_page',
'access callback' => TRUE,
'theme callback' => '_system_batch_theme',
'type' => MENU_CALLBACK,
'file' => 'system.admin.inc',
);
// Localize date formats.
if (module_exists('language')) {
$items['admin/config/regional/date-time/locale'] = array(
'title' => 'Localize',
'description' => 'Configure date formats for each locale',
'page callback' => 'system_date_format_language_overview_page',
'access arguments' => array(
'administer site configuration',
),
'type' => MENU_LOCAL_TASK,
'weight' => -8,
'file' => 'system.admin.inc',
);
$items['admin/config/regional/date-time/locale/%/edit'] = array(
'title' => 'Localize date formats',
'description' => 'Configure date formats for each locale',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'system_date_format_localize_form',
5,
),
'access arguments' => array(
'administer site configuration',
),
'file' => 'system.admin.inc',
);
$items['admin/config/regional/date-time/locale/%/reset'] = array(
'title' => 'Reset date formats',
'description' => 'Reset localized date formats to global defaults',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'system_date_format_localize_reset_form',
5,
),
'access arguments' => array(
'administer site configuration',
),
'file' => 'system.admin.inc',
);
}
return $items;
}