diff options
author | Dries Buytaert <dries@buytaert.net> | 2006-10-05 15:47:57 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2006-10-05 15:47:57 +0000 |
commit | 18b297abf818fa5eca270383ecba333ff6078939 (patch) | |
tree | 831aa64462105ab755292e532b9c7114bb269526 | |
parent | c621a60705a946ac478bc87b7fa717831d7434e4 (diff) | |
download | brdo-18b297abf818fa5eca270383ecba333ff6078939.tar.gz brdo-18b297abf818fa5eca270383ecba333ff6078939.tar.bz2 |
- Patch #81740 by merlinofchaos, webchick, moshe, neclimdul et al: added package support to the modules page.
31 files changed, 66 insertions, 42 deletions
diff --git a/includes/module.inc b/includes/module.inc index 9d71a5095..3a5b2b666 100644 --- a/includes/module.inc +++ b/includes/module.inc @@ -175,11 +175,13 @@ function _module_build_dependents($files) { * name - The real name of the module for display purposes. * description - A brief description of the module. * dependencies - A space delimited list of the short names (shortname) of other modules this module depends on. + * package - The name of the package of modules this module belongs to. * * Example of .info file: * name = Forum * description = Enables threaded discussions about general topics. * dependencies = taxonomy comment + * package = Core - optional * * @param $filename * The file we are parsing. Accepts file with relative or absolute path. diff --git a/modules/aggregator/aggregator.info b/modules/aggregator/aggregator.info index 8ef127772..3965acac5 100644 --- a/modules/aggregator/aggregator.info +++ b/modules/aggregator/aggregator.info @@ -1,3 +1,4 @@ ; $Id$ name = Aggregator description = "Aggregates syndicated content (RSS, RDF, and Atom feeds)." +package = Core - optional diff --git a/modules/block/block.info b/modules/block/block.info index 906099324..d5c4d57c0 100644 --- a/modules/block/block.info +++ b/modules/block/block.info @@ -1,4 +1,4 @@ ; $Id$ name = Block description = Controls the boxes that are displayed around the main content. - +package = Core - required diff --git a/modules/blog/blog.info b/modules/blog/blog.info index af4cfaf04..03bb889b2 100644 --- a/modules/blog/blog.info +++ b/modules/blog/blog.info @@ -1,4 +1,4 @@ ; $Id$ name = Blog description = Enables keeping an easily and regularly updated web page or a blog. - +package = Core - optional diff --git a/modules/blogapi/blogapi.info b/modules/blogapi/blogapi.info index 711b769eb..5efd7ce1e 100644 --- a/modules/blogapi/blogapi.info +++ b/modules/blogapi/blogapi.info @@ -1,4 +1,4 @@ ; $Id$ name = Blog API description = Allows users to post content using applications that support XML-RPC blog APIs. - +package = Core - optional diff --git a/modules/book/book.info b/modules/book/book.info index c4ad50ef7..16ce9d27f 100644 --- a/modules/book/book.info +++ b/modules/book/book.info @@ -1,4 +1,4 @@ ; $Id$ name = Book description = Allows users to collaboratively author a book. - +package = Core - optional diff --git a/modules/comment/comment.info b/modules/comment/comment.info index f5b14fe13..376a438bb 100644 --- a/modules/comment/comment.info +++ b/modules/comment/comment.info @@ -1,4 +1,4 @@ ; $Id$ name = Comment description = Allows users to comment on and discuss published content. - +package = Core - optional diff --git a/modules/contact/contact.info b/modules/contact/contact.info index abe8012ef..7959e72ab 100644 --- a/modules/contact/contact.info +++ b/modules/contact/contact.info @@ -1,4 +1,4 @@ ; $Id$ name = Contact description = Enables the use of both personal and site-wide contact forms. - +package = Core - optional diff --git a/modules/drupal/drupal.info b/modules/drupal/drupal.info index 23f02363b..1e1eb161c 100644 --- a/modules/drupal/drupal.info +++ b/modules/drupal/drupal.info @@ -1,4 +1,4 @@ ; $Id$ name = Drupal description = Lets you register your site with a central server and improve ranking of Drupal projects by posting information on your installed modules and themes; also enables users to log in using a Drupal ID. - +package = Core - optional diff --git a/modules/filter/filter.info b/modules/filter/filter.info index cc656cbf4..75b3ffadb 100644 --- a/modules/filter/filter.info +++ b/modules/filter/filter.info @@ -1,4 +1,4 @@ ; $Id$ name = Filter description = Handles the filtering of content in preparation for display. - +package = Core - required diff --git a/modules/forum/forum.info b/modules/forum/forum.info index ca9e7f2d0..e025239a7 100644 --- a/modules/forum/forum.info +++ b/modules/forum/forum.info @@ -2,3 +2,4 @@ name = Forum description = Enables threaded discussions about general topics. dependencies = taxonomy comment +package = Core - optional diff --git a/modules/help/help.info b/modules/help/help.info index bc38bc25a..58d7b2dc8 100644 --- a/modules/help/help.info +++ b/modules/help/help.info @@ -1,3 +1,4 @@ ; $Id$ name = Help description = Manages the display of online help. +package = Core - optional diff --git a/modules/legacy/legacy.info b/modules/legacy/legacy.info index cf953c6d4..c709b5700 100644 --- a/modules/legacy/legacy.info +++ b/modules/legacy/legacy.info @@ -1,4 +1,4 @@ ; $Id$ name = Legacy description = Provides legacy handlers for upgrades from older Drupal installations. - +package = Core - optional diff --git a/modules/locale/locale.info b/modules/locale/locale.info index 56f4ab2c0..cbde69fb2 100644 --- a/modules/locale/locale.info +++ b/modules/locale/locale.info @@ -1,4 +1,4 @@ ; $Id$ name = Locale description = Enables the translation of the user interface to languages other than English. - +package = Core - optional diff --git a/modules/menu/menu.info b/modules/menu/menu.info index 7ae926281..8987309cc 100644 --- a/modules/menu/menu.info +++ b/modules/menu/menu.info @@ -1,4 +1,4 @@ ; $Id$ name = Menu description = Allows administrators to customize the site navigation menu. - +package = Core - optional diff --git a/modules/node/node.info b/modules/node/node.info index ccc22963e..c434a05ca 100644 --- a/modules/node/node.info +++ b/modules/node/node.info @@ -1,4 +1,5 @@ ; $Id$ name = Node description = Allows content to be submitted to the site and displayed on pages. +package = Core - required diff --git a/modules/path/path.info b/modules/path/path.info index 1fda006aa..dc6c2ff57 100644 --- a/modules/path/path.info +++ b/modules/path/path.info @@ -1,4 +1,4 @@ ; $Id$ name = Path description = Allows users to rename URLs. - +package = Core - optional diff --git a/modules/ping/ping.info b/modules/ping/ping.info index ad02584bd..8bc2a4ea5 100644 --- a/modules/ping/ping.info +++ b/modules/ping/ping.info @@ -1,4 +1,4 @@ ; $Id$ name = Ping description = Alerts other sites when your site has been updated. - +package = Core - optional diff --git a/modules/poll/poll.info b/modules/poll/poll.info index 90dbe8156..bc348482d 100644 --- a/modules/poll/poll.info +++ b/modules/poll/poll.info @@ -1,4 +1,4 @@ ; $Id$ name = Poll description = Allows your site to capture votes on different topics in the form of multiple choice questions. - +package = Core - optional diff --git a/modules/profile/profile.info b/modules/profile/profile.info index bd269b2b4..b94680028 100644 --- a/modules/profile/profile.info +++ b/modules/profile/profile.info @@ -1,4 +1,4 @@ ; $Id$ name = Profile description = Supports configurable user profiles. - +package = Core - optional diff --git a/modules/search/search.info b/modules/search/search.info index 96ea5e1a8..ca804c326 100644 --- a/modules/search/search.info +++ b/modules/search/search.info @@ -1,4 +1,4 @@ ; $Id$ name = Search description = Enables site-wide keyword searching. - +package = Core - optional diff --git a/modules/statistics/statistics.info b/modules/statistics/statistics.info index 3dc8fd66a..404b48329 100644 --- a/modules/statistics/statistics.info +++ b/modules/statistics/statistics.info @@ -1,4 +1,4 @@ ; $Id$ name = Statistics description = Logs access statistics for your site. - +package = Core - optional 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; } diff --git a/modules/taxonomy/taxonomy.info b/modules/taxonomy/taxonomy.info index 988d59c09..d124efb40 100644 --- a/modules/taxonomy/taxonomy.info +++ b/modules/taxonomy/taxonomy.info @@ -1,4 +1,4 @@ ; $Id$ name = Taxonomy description = Enables the categorization of content. - +package = Core - optional diff --git a/modules/throttle/throttle.info b/modules/throttle/throttle.info index 447f17afe..e3ada5262 100644 --- a/modules/throttle/throttle.info +++ b/modules/throttle/throttle.info @@ -1,4 +1,4 @@ ; $Id$ name = Throttle description = Handles the auto-throttling mechanism, to control site congestion. - +package = Core - optional diff --git a/modules/tracker/tracker.info b/modules/tracker/tracker.info index b814d135f..00f8d938b 100644 --- a/modules/tracker/tracker.info +++ b/modules/tracker/tracker.info @@ -1,4 +1,4 @@ ; $Id$ name = Tracker description = Enables tracking of recent posts for users. - +package = Core - optional diff --git a/modules/upload/upload.info b/modules/upload/upload.info index e70c878fe..880081998 100644 --- a/modules/upload/upload.info +++ b/modules/upload/upload.info @@ -1,4 +1,4 @@ ; $Id$ name = Upload description = Allows users to upload and attach files to content. - +package = Core - optional diff --git a/modules/user/user.info b/modules/user/user.info index e9bd85f39..913deb849 100644 --- a/modules/user/user.info +++ b/modules/user/user.info @@ -1,4 +1,4 @@ ; $Id$ name = User description = Manages the user registration and login system. - +package = Core - required diff --git a/modules/watchdog/watchdog.info b/modules/watchdog/watchdog.info index 2b2d60ac8..c256c531d 100644 --- a/modules/watchdog/watchdog.info +++ b/modules/watchdog/watchdog.info @@ -1,4 +1,4 @@ ; $Id$ name = Watchdog description = Logs and records system events. - +package = Core - required |