summaryrefslogtreecommitdiff
path: root/includes/module.inc
diff options
context:
space:
mode:
Diffstat (limited to 'includes/module.inc')
-rw-r--r--includes/module.inc26
1 files changed, 11 insertions, 15 deletions
diff --git a/includes/module.inc b/includes/module.inc
index 8f53e8591..92a4b26bf 100644
--- a/includes/module.inc
+++ b/includes/module.inc
@@ -3,6 +3,10 @@
// initialize modules:
function module_init() {
+ require_once("modules/user.module");
+ require_once("modules/drupal.module");
+ require_once("modules/system.module");
+ require_once("modules/watchdog.module");
module_list();
}
@@ -38,21 +42,13 @@ function module_list() {
static $list;
if (!$list) {
- if ($handle = @opendir("modules")) {
- $list = array();
- while ($file = readdir($handle)) {
- if (".module" == substr($file, -7)) {
- $filename = substr($file, 0, -7);
- $list[$filename] = $filename;
- include "modules/$filename.module";
- }
- }
- closedir($handle);
- asort($list);
- }
- else {
- $list = array();
+ $list = array("drupal" => "drupal", "system" => "system", "user" => "user", "watchdog" => "watchdog");
+ $result = db_query("SELECT name, filename FROM system WHERE type = 'module' AND status = '1' ORDER BY name");
+ while ($module = db_fetch_object($result)) {
+ $list[$module->name] = $module->name;
+ @include_once "modules/$module->filename";
}
+ asort($list);
}
return $list;
@@ -109,4 +105,4 @@ function module_rehash($name) {
}
}
-?>
+?> \ No newline at end of file