? .project ? sites/default/files ? sites/default/private ? sites/default/settings.php Index: includes/menu.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/menu.inc,v retrieving revision 1.352 diff -u -p -r1.352 menu.inc --- includes/menu.inc 11 Oct 2009 19:39:30 -0000 1.352 +++ includes/menu.inc 13 Oct 2009 19:39:08 -0000 @@ -118,6 +118,11 @@ define('MENU_IS_LOCAL_TASK', 0x0080); define('MENU_IS_LOCAL_ACTION', 0x0100); /** + * Internal menu flag -- menu item is the default settings page. + */ +define('MENU_SETTINGS_DEFAULT', 0x0016); + +/** * @} End of "Menu flags". */ Index: modules/aggregator/aggregator.module =================================================================== RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.module,v retrieving revision 1.426 diff -u -p -r1.426 aggregator.module --- modules/aggregator/aggregator.module 12 Oct 2009 15:54:59 -0000 1.426 +++ modules/aggregator/aggregator.module 13 Oct 2009 19:39:10 -0000 @@ -92,6 +92,7 @@ function aggregator_menu() { 'page callback' => 'aggregator_admin_overview', 'access arguments' => array('administer news feeds'), 'file' => 'aggregator.admin.inc', + 'type' => MENU_NORMAL_ITEM, ); $items['admin/config/services/aggregator/add/feed'] = array( 'title' => 'Add feed', @@ -144,7 +145,7 @@ function aggregator_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('aggregator_admin_form'), 'access arguments' => array('administer news feeds'), - 'type' => MENU_LOCAL_TASK, + 'type' => MENU_LOCAL_TASK | MENU_SETTINGS_DEFAULT, 'file' => 'aggregator.admin.inc', ); $items['aggregator'] = array( Index: modules/block/block.module =================================================================== RCS file: /cvs/drupal/drupal/modules/block/block.module,v retrieving revision 1.388 diff -u -p -r1.388 block.module --- modules/block/block.module 13 Oct 2009 13:54:54 -0000 1.388 +++ modules/block/block.module 13 Oct 2009 19:39:12 -0000 @@ -78,6 +78,7 @@ function block_menu() { 'access arguments' => array('administer blocks'), 'theme callback' => '_block_custom_theme', 'file' => 'block.admin.inc', + 'type' => MENU_NORMAL_ITEM | MENU_SETTINGS_DEFAULT, ); $items['admin/structure/block/list'] = array( 'title' => 'List', @@ -775,7 +776,7 @@ function _block_render_blocks($region_bl */ function _block_get_cache_id($block) { global $user; - + // User 1 being out of the regular 'roles define permissions' schema, // it brings too many chances of having unwanted output get in the cache // and later be served to other users. We therefore exclude user 1 from @@ -838,7 +839,7 @@ function template_preprocess_block(&$var /** * Implement hook_user_role_delete(). * - * Remove deleted role from blocks that use it. + * Remove deleted role from blocks that use it. */ function block_user_role_delete($role) { db_delete('block_role') Index: modules/book/book.module =================================================================== RCS file: /cvs/drupal/drupal/modules/book/book.module,v retrieving revision 1.518 diff -u -p -r1.518 book.module --- modules/book/book.module 11 Oct 2009 03:07:17 -0000 1.518 +++ modules/book/book.module 13 Oct 2009 19:39:13 -0000 @@ -117,7 +117,7 @@ function book_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('book_admin_settings'), 'access arguments' => array('administer site configuration'), - 'type' => MENU_LOCAL_TASK, + 'type' => MENU_LOCAL_TASK | MENU_SETTINGS_DEFAULT, 'weight' => 8, 'file' => 'book.admin.inc', ); Index: modules/filter/filter.module =================================================================== RCS file: /cvs/drupal/drupal/modules/filter/filter.module,v retrieving revision 1.297 diff -u -p -r1.297 filter.module --- modules/filter/filter.module 13 Oct 2009 15:39:41 -0000 1.297 +++ modules/filter/filter.module 13 Oct 2009 19:39:16 -0000 @@ -76,6 +76,7 @@ function filter_menu() { 'page arguments' => array('filter_admin_overview'), 'access arguments' => array('administer filters'), 'file' => 'filter.admin.inc', + 'type' => MENU_NORMAL_ITEM | MENU_SETTINGS_DEFAULT, ); $items['admin/config/content/formats/list'] = array( 'title' => 'List', Index: modules/forum/forum.module =================================================================== RCS file: /cvs/drupal/drupal/modules/forum/forum.module,v retrieving revision 1.522 diff -u -p -r1.522 forum.module --- modules/forum/forum.module 11 Oct 2009 03:07:18 -0000 1.522 +++ modules/forum/forum.module 13 Oct 2009 19:39:17 -0000 @@ -606,7 +606,7 @@ function forum_block_view_pre_render($el */ function forum_form($node, $form_state) { $type = node_type_get_type($node); - + if (!empty($node->nid)) { $forum_terms = $node->taxonomy_forums; // If editing, give option to leave shadows Index: modules/help/help.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/help/help.admin.inc,v retrieving revision 1.11 diff -u -p -r1.11 help.admin.inc --- modules/help/help.admin.inc 13 Oct 2009 05:26:57 -0000 1.11 +++ modules/help/help.admin.inc 13 Oct 2009 19:39:17 -0000 @@ -38,7 +38,11 @@ function help_page($name) { $admin_tasks = system_get_module_admin_tasks($name); if (!empty($admin_tasks)) { ksort($admin_tasks); - $output .= theme('item_list', array('items' => $admin_tasks, 'title' => t('@module administration pages', array('@module' => $module['name'])))); + $admin_links = array(); + foreach ($admin_tasks as $task) { + $admin_links[] = l($task['title'], $task['path'], $task['options']); + } + $output .= theme('item_list', array('items' => $admin_links, 'title' => t('@module administration pages', array('@module' => $module['name'])))); } } Index: modules/image/image.module =================================================================== RCS file: /cvs/drupal/drupal/modules/image/image.module,v retrieving revision 1.19 diff -u -p -r1.19 image.module --- modules/image/image.module 12 Oct 2009 05:22:57 -0000 1.19 +++ modules/image/image.module 13 Oct 2009 19:39:19 -0000 @@ -55,6 +55,7 @@ function image_menu() { 'page callback' => 'image_style_list', 'access arguments' => array('administer image styles'), 'file' => 'image.admin.inc', + 'type' => MENU_NORMAL_ITEM | MENU_SETTINGS_DEFAULT, ); $items['admin/config/media/image-styles/list'] = array( 'title' => 'List', Index: modules/locale/locale.module =================================================================== RCS file: /cvs/drupal/drupal/modules/locale/locale.module,v retrieving revision 1.262 diff -u -p -r1.262 locale.module --- modules/locale/locale.module 10 Oct 2009 16:48:38 -0000 1.262 +++ modules/locale/locale.module 13 Oct 2009 19:39:20 -0000 @@ -93,6 +93,12 @@ function locale_help($path, $arg) { * Implement hook_menu(). */ function locale_menu() { + // Define main settings page. + $items['admin/config/regional'] = array( + 'title' => 'Regional and language', + 'description' => 'Regional settings, localization and translation.', + 'type' => MENU_SETTINGS_DEFAULT, + ); // Manage languages $items['admin/config/regional/language'] = array( 'title' => 'Languages', Index: modules/menu/menu.module =================================================================== RCS file: /cvs/drupal/drupal/modules/menu/menu.module,v retrieving revision 1.209 diff -u -p -r1.209 menu.module --- modules/menu/menu.module 13 Oct 2009 01:24:07 -0000 1.209 +++ modules/menu/menu.module 13 Oct 2009 19:39:21 -0000 @@ -80,7 +80,7 @@ function menu_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('menu_configure'), 'access arguments' => array('administer menu'), - 'type' => MENU_LOCAL_TASK, + 'type' => MENU_LOCAL_TASK | MENU_SETTINGS_DEFAULT, 'weight' => 5, 'file' => 'menu.admin.inc', ); Index: modules/path/path.module =================================================================== RCS file: /cvs/drupal/drupal/modules/path/path.module,v retrieving revision 1.170 diff -u -p -r1.170 path.module --- modules/path/path.module 5 Sep 2009 15:05:03 -0000 1.170 +++ modules/path/path.module 13 Oct 2009 19:39:22 -0000 @@ -39,6 +39,7 @@ function path_menu() { 'page callback' => 'path_admin_overview', 'access arguments' => array('administer url aliases'), 'file' => 'path.admin.inc', + 'type' => MENU_NORMAL_ITEM | MENU_SETTINGS_DEFAULT, ); $items['admin/config/search/path/edit'] = array( 'title' => 'Edit alias', Index: modules/profile/profile.module =================================================================== RCS file: /cvs/drupal/drupal/modules/profile/profile.module,v retrieving revision 1.279 diff -u -p -r1.279 profile.module --- modules/profile/profile.module 10 Oct 2009 21:39:03 -0000 1.279 +++ modules/profile/profile.module 13 Oct 2009 19:39:23 -0000 @@ -90,6 +90,7 @@ function profile_menu() { 'page arguments' => array('profile_admin_overview'), 'access arguments' => array('administer users'), 'file' => 'profile.admin.inc', + 'type' => MENU_NORMAL_ITEM | MENU_SETTINGS_DEFAULT, ); $items['admin/config/people/profile/add'] = array( 'title' => 'Add field', Index: modules/search/search.module =================================================================== RCS file: /cvs/drupal/drupal/modules/search/search.module,v retrieving revision 1.319 diff -u -p -r1.319 search.module --- modules/search/search.module 9 Oct 2009 01:00:02 -0000 1.319 +++ modules/search/search.module 13 Oct 2009 19:39:25 -0000 @@ -195,7 +195,7 @@ function search_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('search_admin_settings'), 'access arguments' => array('administer search'), - 'type' => MENU_NORMAL_ITEM, + 'type' => MENU_NORMAL_ITEM | MENU_SETTINGS_DEFAULT, 'file' => 'search.admin.inc', ); $items['admin/config/search/settings/reindex'] = array( Index: modules/simpletest/simpletest.module =================================================================== RCS file: /cvs/drupal/drupal/modules/simpletest/simpletest.module,v retrieving revision 1.77 diff -u -p -r1.77 simpletest.module --- modules/simpletest/simpletest.module 9 Oct 2009 01:00:03 -0000 1.77 +++ modules/simpletest/simpletest.module 13 Oct 2009 19:39:25 -0000 @@ -42,7 +42,7 @@ function simpletest_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('simpletest_settings_form'), 'access arguments' => array('administer unit tests'), - 'type' => MENU_LOCAL_TASK, + 'type' => MENU_LOCAL_TASK | MENU_SETTINGS_DEFAULT, 'file' => 'simpletest.pages.inc', ); $items['admin/config/development/testing/results/%'] = array( Index: modules/statistics/statistics.module =================================================================== RCS file: /cvs/drupal/drupal/modules/statistics/statistics.module,v retrieving revision 1.320 diff -u -p -r1.320 statistics.module --- modules/statistics/statistics.module 5 Sep 2009 13:49:28 -0000 1.320 +++ modules/statistics/statistics.module 13 Oct 2009 19:39:26 -0000 @@ -171,6 +171,7 @@ function statistics_menu() { 'page arguments' => array('statistics_settings_form'), 'access arguments' => array('administer statistics'), 'file' => 'statistics.admin.inc', + 'type' => MENU_NORMAL_ITEM | MENU_SETTINGS_DEFAULT, ); $items['user/%user/track/navigation'] = array( 'title' => 'Track page visits', Index: modules/system/system.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v retrieving revision 1.210 diff -u -p -r1.210 system.admin.inc --- modules/system/system.admin.inc 13 Oct 2009 05:26:57 -0000 1.210 +++ modules/system/system.admin.inc 13 Oct 2009 19:39:30 -0000 @@ -159,16 +159,24 @@ function system_admin_by_module() { // Only display a section if there are any available tasks. if (count($admin_tasks)) { + $admin_links = array(); // Check for help links. if ($help_arg && module_invoke($module, 'help', "admin/help#$module", $help_arg)) { - $admin_tasks[100] = l(t('Get help'), "admin/help/$module"); + $admin_tasks[100] = array( + 'title' => t('Get help'), + 'path' => "admin/help/$module", + 'options' => array('attributes' => array('class' => 'module-help-link')), + ); } // Sort. ksort($admin_tasks); - $menu_items[$info['name']] = array($info['description'], $admin_tasks); + foreach ($admin_tasks as $task) { + $admin_links[] = l($task['title'], $task['path'], $task['options']); + } + $menu_items[$info['name']] = array($info['description'], $admin_links); } } return theme('system_admin_by_module', array('menu_items' => $menu_items)); @@ -694,13 +702,31 @@ function system_modules($form, $form_sta } } } + $extra['links'] = array(); + $links = array(); + // Only get links to permission and default settings. + $admin_tasks = system_get_module_admin_tasks($module->name, FALSE); + foreach ($admin_tasks as $key => $task) { + // Build a link with no text; only show the icon. + if (!isset($task['options']['attributes']['title'])) { + $task['options']['attributes']['title'] = $task['title']; + } + if (!empty($task['options']['attributes']['class'])) { + $links[] = l(' ', $task['path'], $task['options']); + } + } // Generate link for module's help page, if there is one. if ($help_arg && $module->status && in_array($filename, module_implements('help'))) { if (module_invoke($filename, 'help', "admin/help#$filename", $help_arg)) { // Module has a help page. - $extra['help'] = theme('more_help_link', array('url' => url("admin/help/$filename"))); + $links[] = l('', "admin/help/$filename", array('attributes' => array('class' => 'module-help-link', 'title' => t('More help')))); } } + $links = array_reverse($links, TRUE); + + if (count($links)) { + $extra['links'] = theme('item_list', array('items' => $links)); + } // Mark dependents disabled so the user cannot remove required modules. $dependents = array(); // If this module is required by other modules, list those, and then make it @@ -731,6 +757,7 @@ function system_modules($form, $form_sta t('Name'), t('Version'), t('Description'), + t('Operations'), ), ); } @@ -761,7 +788,7 @@ function _system_modules_build_row($info 'required_by' => array(), 'disabled' => FALSE, 'enabled' => FALSE, - 'help' => '', + 'extra' => array(), ); $form = array( '#tree' => TRUE, @@ -820,10 +847,10 @@ function _system_modules_build_row($info $form['description']['#markup'] .= theme('system_modules_incompatible', array('message' => $status_long)); } - // Show a "more help" link for modules that have them. - if ($extra['help']) { - $form['help'] = array( - '#markup' => $extra['help'], + // Show a set of useful links for modules that have them. + if (count($extra['links'])) { + $form['links'] = array( + '#markup' => $extra['links'], ); } return $form; @@ -1931,7 +1958,7 @@ function system_php() { function system_batch_page() { require_once DRUPAL_ROOT . '/includes/batch.inc'; $output = _batch_page(); - + // Use the same theme that the page that started the batch. $batch = &batch_get(); $GLOBALS['custom_theme'] = $batch['theme']; @@ -2193,14 +2220,8 @@ function theme_system_modules_fieldset($ } $row[] = $label . '>' . drupal_render($module['name']) . ''; $row[] = drupal_render($module['version']); - $description = ''; - // If we have help, it becomes the first part - // of the description - with CSS, it is float: right'd. - if (isset($module['help'])) { - $description = '