? .project ? sites/default/files ? sites/default/private ? sites/default/settings.php Index: misc/help.png =================================================================== RCS file: /cvs/drupal/drupal/misc/help.png,v retrieving revision 1.2 diff -u -p -r1.2 help.png Binary files /tmp/cvs9TqTVI and help.png differ Index: misc/permissions.png =================================================================== RCS file: misc/permissions.png diff -N misc/permissions.png Binary files /dev/null and permissions.png differ Index: misc/settings.png =================================================================== RCS file: misc/settings.png diff -N misc/settings.png Binary files /dev/null and settings.png differ Index: modules/system/system.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v retrieving revision 1.209 diff -u -p -r1.209 system.admin.inc --- modules/system/system.admin.inc 9 Oct 2009 01:00:05 -0000 1.209 +++ modules/system/system.admin.inc 11 Oct 2009 11:04:27 -0000 @@ -163,7 +163,7 @@ function system_admin_by_module() { // 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] = l(t('Get help'), "admin/help/$module", array('attributes' => array('class' => 'module-help-link'))); } // Sort. @@ -695,13 +695,23 @@ function system_modules($form, $form_sta } } } + $extra['links'] = array(); + $links = array(); // 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['help'] = theme('more_help_link', array('url' => url("admin/help/$filename"))); + $links[] = l(t('More help'), "admin/help/$filename", array('attributes' => array('class' => 'module-help-link'))); } } + $admin_tasks = system_get_module_admin_tasks($module->name); + foreach ($admin_tasks as $key => $task) { + $links[] = $task; + } + 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 @@ -762,7 +772,7 @@ function _system_modules_build_row($info 'required_by' => array(), 'disabled' => FALSE, 'enabled' => FALSE, - 'help' => '', + 'extra' => array(), ); $form = array( '#tree' => TRUE, @@ -821,10 +831,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; @@ -1932,7 +1942,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']; @@ -2194,20 +2204,21 @@ 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 = '
' . drupal_render($module['help']) . '
'; - } // Add the description, along with any modules it requires. - $description .= drupal_render($module['description']); + $description = drupal_render($module['description']); if ($module['#requires']) { $description .= '
' . t('Requires: !module-list', array('!module-list' => implode(', ', $module['#requires']))) . '
'; } if ($module['#required_by']) { $description .= '
' . t('Required by: !module-list', array('!module-list' => implode(', ', $module['#required_by']))) . '
'; } + // If we have links (such as help or permissions), it is displayed below + // the description - with CSS. + if (isset($module['links'])) { + $description .= ''; + } $row[] = array('data' => $description, 'class' => array('description')); $rows[] = $row; } Index: modules/system/system.css =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.css,v retrieving revision 1.63 diff -u -p -r1.63 system.css --- modules/system/system.css 21 Sep 2009 08:52:41 -0000 1.63 +++ modules/system/system.css 11 Oct 2009 11:04:27 -0000 @@ -159,16 +159,27 @@ tr.merge-up, tr.merge-up td, tr.merge-up .more-help-link { text-align: right; /* LTR */ } -.more-help-link a { +.more-help-link a, a.module-help-link { padding: 1px 0 1px 20px; /* LTR */ background: url(../../misc/help.png) 0 50% no-repeat; /* LTR */ } +.module-permissions { + padding: 1px 0 1px 20px; /* LTR */ + background: url(../../misc/permissions.png) 0 50% no-repeat; /* LTR */ +} +.module-settings { + padding: 1px 0 1px 20px; /* LTR */ + background: url(../../misc/settings.png) 0 50% no-repeat; /* LTR */ +} .more-link { text-align: right; /* LTR */ } -.module-help { - margin-left: 1em; /* LTR */ - float: right; /* LTR */ +.module-links { + clear: both; +} +.module-links .item-list ul li { + float: left; + margin: 0 1.5em 0 0; } .nowrap { white-space: nowrap; Index: modules/system/system.module =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.module,v retrieving revision 1.804 diff -u -p -r1.804 system.module --- modules/system/system.module 10 Oct 2009 16:48:38 -0000 1.804 +++ modules/system/system.module 11 Oct 2009 11:04:32 -0000 @@ -1668,7 +1668,7 @@ function system_admin_menu_block($item) $has_subitems = FALSE; $result = db_query(" SELECT m.load_functions, m.to_arg_functions, m.access_callback, m.access_arguments, m.page_callback, m.page_arguments, m.title, m.title_callback, m.title_arguments, m.theme_callback, m.theme_arguments, m.type, m.description, m.path, m.weight as router_weight, ml.* - FROM {menu_router} m + FROM {menu_router} m LEFT JOIN {menu_links} ml ON m.path = ml.router_path WHERE (ml.plid = :plid AND ml.menu_name = :name AND hidden = 0) OR (m.tab_parent = :path AND m.type IN (:local_task, :default_task))", array(':plid' => $item['mlid'], ':name' => $item['menu_name'], ':path' => $item['path'], ':local_task' => MENU_LOCAL_TASK, ':default_task' => MENU_DEFAULT_LOCAL_TASK), array('fetch' => PDO::FETCH_ASSOC)); foreach ($result as $link) { @@ -1702,7 +1702,7 @@ function system_admin_menu_block($item) } } if ($has_subitems) { - // If we've had at least one non-tab subitem, remove the link for the + // If we've had at least one non-tab subitem, remove the link for the // default task, since that is already broken down to subitems. unset($content[$default_task]); } @@ -2370,14 +2370,15 @@ function system_get_module_admin_tasks($ $admin_task_count = 0; // Check for permissions. if (in_array($module, module_implements('permission')) && $admin_access) { - $admin_tasks[-1] = l(t('Configure permissions'), 'admin/config/people/permissions', array('fragment' => 'module-' . $module)); + $admin_tasks[-1] = l(t('Configure permissions'), 'admin/config/people/permissions', array('fragment' => 'module-' . $module, 'attributes' => array('class' => 'module-permissions'))); } // Check for menu items that are admin links. if (in_array($module, module_implements('menu')) && $menu = module_invoke($module, 'menu')) { foreach (array_keys($menu) as $path) { if (isset($items[$path])) { - $admin_tasks[$items[$path]['title'] . $admin_task_count ++] = l($items[$path]['title'], $path); + $class = (strpos($path, 'admin/config') !== FALSE) ? 'module-settings' : 'module-admin-link'; + $admin_tasks[$items[$path]['title'] . $admin_task_count ++] = l($items[$path]['title'], $path, array('attributes' => array('class' => $class))); } } } Index: themes/seven/style.css =================================================================== RCS file: /cvs/drupal/drupal/themes/seven/style.css,v retrieving revision 1.18 diff -u -p -r1.18 style.css --- themes/seven/style.css 11 Sep 2009 13:48:44 -0000 1.18 +++ themes/seven/style.css 11 Oct 2009 11:04:32 -0000 @@ -430,6 +430,10 @@ table tr.selected td { border-color: #eeb; } +#system-modules table td { + vertical-align: baseline; +} + /** * Forms. */