diff options
Diffstat (limited to 'core/helpers')
-rw-r--r-- | core/helpers/module.php | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/core/helpers/module.php b/core/helpers/module.php index d5dea099..49f0fdea 100644 --- a/core/helpers/module.php +++ b/core/helpers/module.php @@ -165,13 +165,27 @@ class module_Core { } try { + $hooks = array(); foreach ($modules as $module) { self::$module_names[$module->name] = $module->name; self::$modules[$module->name] = $module; $kohana_modules[] = MODPATH . $module->name; + $module_path = MODPATH . $module->name; + $kohana_modules[] = $module_path; + if (file_exists("$module_path/hooks") && + ($hook_files = glob("$module_path/hooks/*.php")) !== false) { + $hooks = array_merge($hooks, $hook_files); + } } Kohana::config_set("core.modules", $kohana_modules); + /* + * Kohana loads the hooks before all the installed module paths are defined, so lets call + * any module hooks now + */ + foreach($hooks as $hook) { + include($hook); + } } catch (Exception $e) { self::$module_names = array(); self::$modules = array(); |