summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2006-10-05 15:47:57 +0000
committerDries Buytaert <dries@buytaert.net>2006-10-05 15:47:57 +0000
commit18b297abf818fa5eca270383ecba333ff6078939 (patch)
tree831aa64462105ab755292e532b9c7114bb269526
parentc621a60705a946ac478bc87b7fa717831d7434e4 (diff)
downloadbrdo-18b297abf818fa5eca270383ecba333ff6078939.tar.gz
brdo-18b297abf818fa5eca270383ecba333ff6078939.tar.bz2
- Patch #81740 by merlinofchaos, webchick, moshe, neclimdul et al: added package support to the modules page.
-rw-r--r--includes/module.inc2
-rw-r--r--modules/aggregator/aggregator.info1
-rw-r--r--modules/block/block.info2
-rw-r--r--modules/blog/blog.info2
-rw-r--r--modules/blogapi/blogapi.info2
-rw-r--r--modules/book/book.info2
-rw-r--r--modules/comment/comment.info2
-rw-r--r--modules/contact/contact.info2
-rw-r--r--modules/drupal/drupal.info2
-rw-r--r--modules/filter/filter.info2
-rw-r--r--modules/forum/forum.info1
-rw-r--r--modules/help/help.info1
-rw-r--r--modules/legacy/legacy.info2
-rw-r--r--modules/locale/locale.info2
-rw-r--r--modules/menu/menu.info2
-rw-r--r--modules/node/node.info1
-rw-r--r--modules/path/path.info2
-rw-r--r--modules/ping/ping.info2
-rw-r--r--modules/poll/poll.info2
-rw-r--r--modules/profile/profile.info2
-rw-r--r--modules/search/search.info2
-rw-r--r--modules/statistics/statistics.info2
-rw-r--r--modules/system/admin.css6
-rw-r--r--modules/system/system.info2
-rw-r--r--modules/system/system.module48
-rw-r--r--modules/taxonomy/taxonomy.info2
-rw-r--r--modules/throttle/throttle.info2
-rw-r--r--modules/tracker/tracker.info2
-rw-r--r--modules/upload/upload.info2
-rw-r--r--modules/user/user.info2
-rw-r--r--modules/watchdog/watchdog.info2
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