diff options
Diffstat (limited to 'modules/system')
-rw-r--r-- | modules/system/admin.css | 6 | ||||
-rw-r--r-- | modules/system/system.info | 2 | ||||
-rw-r--r-- | modules/system/system.module | 48 |
3 files changed, 37 insertions, 19 deletions
diff --git a/modules/system/admin.css b/modules/system/admin.css index 274ec183f..78bc512fa 100644 --- a/modules/system/admin.css +++ b/modules/system/admin.css @@ -39,6 +39,12 @@ div.admin .expert-link { padding-right: 4px; } +table.package { + width: 100%; +} +table.package .description { + width: 100%; +} div.admin-dependencies, div.admin-required { font-size: 0.9em; color: #444; diff --git a/modules/system/system.info b/modules/system/system.info index 134d72084..6d78715ad 100644 --- a/modules/system/system.info +++ b/modules/system/system.info @@ -1,4 +1,4 @@ ; $Id$ name = System description = Handles general site configuration for administrators. - +package = Core - required diff --git a/modules/system/system.module b/modules/system/system.module index 7e7510948..68d39b230 100644 --- a/modules/system/system.module +++ b/modules/system/system.module @@ -1333,11 +1333,6 @@ function system_modules($form_values = NULL) { // Merge in required modules. $modules_required = array('block', 'filter', 'node', 'system', 'user', 'watchdog'); foreach ($modules_required as $required) { - $form['description'][$required]['core'] = array( - '#value' => t('Required for Drupal core'), - '#prefix' => '<div class="admin-required">', - '#suffix' => '</div>', - ); $disabled[] = $required; $form['disabled_modules']['#value'][$required] = TRUE; } @@ -1526,18 +1521,7 @@ function theme_system_modules($form) { return drupal_render($form); } - foreach (element_children($form['name']) as $key) { - $row = array(); - $row[] = array('data' => drupal_render($form['status'][$key]), 'align' => 'center'); - - if (module_exists('throttle')) { - $row[] = array('data' => drupal_render($form['throttle'][$key]), 'align' => 'center'); - } - $row[] = '<strong>'. drupal_render($form['name'][$key]) .'</strong>'; - $row[] = drupal_render($form['description'][$key]); - $rows[] = $row; - } - + // Individual table headers. $header = array(t('Enabled')); if (module_exists('throttle')) { $header[] = t('Throttle'); @@ -1545,7 +1529,35 @@ function theme_system_modules($form) { $header[] = t('Name'); $header[] = t('Description'); - $output = theme('table', $header, $rows); + // Pull package information from module list and start grouping modules. + $modules = $form['validation_modules']['#value']; + foreach ($modules as $module) { + if (!isset($module->info['package'])) { + $module->info['package'] = 'Uncategorized'; + } + $packages[$module->info['package']][$module->name] = $module->info; + } + ksort($packages); + + // Display packages. + $output = ''; + foreach ($packages as $package => $modules) { + $rows = array(); + foreach ($modules as $key => $module) { + $row = array(); + $row[] = array('data' => drupal_render($form['status'][$key]), 'align' => 'center'); + + if (module_exists('throttle')) { + $row[] = array('data' => drupal_render($form['throttle'][$key]), 'align' => 'center'); + } + $row[] = '<strong>'. drupal_render($form['name'][$key]) .'</strong>'; + $row[] = array('data' => drupal_render($form['description'][$key]), 'class' => 'description'); + $rows[] = $row; + } + $output .= '<h2>'. t($package) .'</h2>'; + $output .= theme('table', $header, $rows, array('class' => 'package')); + } + $output .= drupal_render($form); return $output; } |