summaryrefslogtreecommitdiff
path: root/core/helpers/module.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/helpers/module.php')
-rw-r--r--core/helpers/module.php14
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();