summaryrefslogtreecommitdiff
path: root/modules/gallery/helpers/module.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gallery/helpers/module.php')
-rw-r--r--modules/gallery/helpers/module.php17
1 files changed, 12 insertions, 5 deletions
diff --git a/modules/gallery/helpers/module.php b/modules/gallery/helpers/module.php
index 0d483206..a3088c38 100644
--- a/modules/gallery/helpers/module.php
+++ b/modules/gallery/helpers/module.php
@@ -119,6 +119,8 @@ class module_Core {
$installer_class = "{$module_name}_installer";
if (method_exists($installer_class, "install")) {
call_user_func_array(array($installer_class, "install"), array());
+ } else {
+ module::set_version($module_name, 1);
}
module::load_modules();
@@ -145,6 +147,13 @@ class module_Core {
$installer_class = "{$module_name}_installer";
if (method_exists($installer_class, "upgrade")) {
call_user_func_array(array($installer_class, "upgrade"), array($version_before));
+ } else {
+ $available = module::available();
+ if (isset($available->$module_name->code_version)) {
+ module::set_version($module_name, $available->$module_name->code_version);
+ } else {
+ throw new Exception("@todo UNKNOWN_MODULE");
+ }
}
module::load_modules();
@@ -274,11 +283,9 @@ class module_Core {
array_shift($args);
$function = str_replace(".", "_", $name);
- foreach (self::$modules as $module) {
- if (!$module->active) {
- continue;
- }
-
+ // @todo: consider calling gallery_event first, since for things menus we need it to do some
+ // setup
+ foreach (self::$active as $module) {
$class = "{$module->name}_event";
if (method_exists($class, $function)) {
call_user_func_array(array($class, $function), $args);