diff options
author | Bharat Mediratta <bharat@menalto.com> | 2008-12-12 07:53:54 +0000 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2008-12-12 07:53:54 +0000 |
commit | 79226f0a8f820e08e5ff19cec7e8484fa7385fa9 (patch) | |
tree | 5f975a02fe363c6a2c85b8ac0e66085276160626 | |
parent | 6ef284ac401c7a8e72f8b2bad3058281ea6d7266 (diff) |
Cache modules and module_names when we call load_modules so that we don't have to check every time
-rw-r--r-- | core/helpers/module.php | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/core/helpers/module.php b/core/helpers/module.php index dbb96af1..e9c28240 100644 --- a/core/helpers/module.php +++ b/core/helpers/module.php @@ -24,6 +24,7 @@ * Note: by design, this class does not do any permission checking. */ class module_Core { + private static $module_names = array(); private static $modules = array(); public static function get_version($module_name) { @@ -50,7 +51,7 @@ class module_Core { } public static function is_installed($module_name) { - return in_array($module_name, self::$modules); + return in_array($module_name, self::$module_names); } public static function installed() { @@ -89,12 +90,14 @@ class module_Core { try { $kohana_modules = Kohana::config('core.modules'); foreach (ORM::factory("module")->find_all() as $module) { - self::$modules[] = $module->as_array(); + self::$module_names[] = $module->name; + self::$modules[] = $module; $kohana_modules[] = MODPATH . $module->name; } Kohana::config_set('core.modules', $kohana_modules); } catch (Exception $e) { + self::$module_names = array(); self::$modules = array(); } |