diff options
| author | Bharat Mediratta <bharat@menalto.com> | 2008-12-04 07:44:28 +0000 |
|---|---|---|
| committer | Bharat Mediratta <bharat@menalto.com> | 2008-12-04 07:44:28 +0000 |
| commit | 9ba9f7bf2754988b7408c23c32b1f2a332528d29 (patch) | |
| tree | 974139d7571dc34f7db390114c22fa501755ec87 /core/helpers/module.php | |
| parent | deafa2f91220ad54cfaae1372ef98ab5f46e0f86 (diff) | |
Change the startup code to only put installed modules on the autoload
path. This breaks a bunch of places where we had hardcoded
dependencies, so guard all of those cases. Restructure
module::available() a bit and the way that we do install/uninstall in
the scaffolding.
Diffstat (limited to 'core/helpers/module.php')
| -rw-r--r-- | core/helpers/module.php | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/core/helpers/module.php b/core/helpers/module.php index 4d977268..ca5b5cfb 100644 --- a/core/helpers/module.php +++ b/core/helpers/module.php @@ -65,7 +65,8 @@ class module_Core { } } - public static function available($modules=array()) { + public static function available() { + $modules = array(); foreach (glob(MODPATH . "*/helpers/*_installer.php") as $file) { if (empty($modules[basename(dirname(dirname($file)))])) { $modules[basename(dirname(dirname($file)))] = 0; @@ -76,12 +77,15 @@ class module_Core { } public static function load_modules() { - $modules = Kohana::config('core.modules'); + try { + $modules = Kohana::config('core.modules'); - foreach (array_keys(self::available()) as $module_name) { - $modules[] = MODPATH . $module_name; - } + foreach (self::installed() as $module) { + $modules[] = MODPATH . $module->name; + } - Kohana::config_set('core.modules', $modules); + Kohana::config_set('core.modules', $modules); + } catch (Exception $e) { + } } } |
