summaryrefslogtreecommitdiff
path: root/includes/module.inc
diff options
context:
space:
mode:
Diffstat (limited to 'includes/module.inc')
-rw-r--r--includes/module.inc34
1 files changed, 25 insertions, 9 deletions
diff --git a/includes/module.inc b/includes/module.inc
index 10ddfeb90..b2b157686 100644
--- a/includes/module.inc
+++ b/includes/module.inc
@@ -70,7 +70,7 @@ function module_list($refresh = FALSE, $bootstrap = FALSE, $sort = FALSE, $fixed
$list = system_list('bootstrap');
}
else {
- $list = system_list('module');
+ $list = system_list('module_enabled');
}
}
}
@@ -101,31 +101,47 @@ function system_list($type) {
$lists = &drupal_static(__FUNCTION__);
if (!isset($lists)) {
- $lists = array('bootstrap' => array(), 'module' => array(), 'theme' => array());
+ $lists = array(
+ 'bootstrap' => array(),
+ 'module' => array(),
+ 'module_enabled' => array(),
+ 'theme' => array(),
+ 'theme_enabled' => array(),
+ );
// The module name (rather than the filename) is used as the fallback
// weighting in order to guarantee consistent behavior across different
// Drupal installations, which might have modules installed in different
// locations in the file system. The ordering here must also be
// consistent with the one used in module_implements().
- $result = db_query("SELECT * FROM {system} WHERE status = 1 ORDER BY weight ASC, name ASC");
+ $result = db_query("SELECT * FROM {system} ORDER BY weight ASC, name ASC");
foreach ($result as $record) {
- // Build a list of all enabled modules.
+ // Build a list of all modules.
if ($record->type == 'module') {
$lists['module'][$record->name] = $record->name;
- // Build a separate array of modules required for bootstrap.
- if ($record->bootstrap) {
- $lists['bootstrap'][$record->name] = $record->name;
+ // Build a list of all enabled modules.
+ if ($record->status) {
+ $lists['module_enabled'][$record->name] = $record->name;
+ // Build a separate array of modules required for bootstrap.
+ if ($record->bootstrap) {
+ $lists['bootstrap'][$record->name] = $record->name;
+ }
}
}
- // Build a list of enabled themes.
+ // Build a list of themes.
if ($record->type == 'theme') {
$lists['theme'][$record->name] = $record;
+ // Build a list of enabled themes.
+ if ($record->status) {
+ $lists['theme_enabled'][$record->name] = $record;
+ }
}
// Additionally prime drupal_get_filename() with the filename and type
// for each record, this prevents subsequent database lookups when
// drupal_get_filename() is called without the 'file' argument.
- drupal_get_filename($record->type, $record->name, $record->filename);
+ if ($record->status) {
+ drupal_get_filename($record->type, $record->name, $record->filename);
+ }
}
}