diff options
Diffstat (limited to 'includes/module.inc')
-rw-r--r-- | includes/module.inc | 26 |
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 |