mirror of
https://github.com/Pathduck/gallery3.git
synced 2026-07-15 03:02:39 -04:00
Change the module installer so that you don't need to provide your own
install() function if all you're going to do is to set the version of the module from module.info into the database. This means that for some simple modules, you don't need an install.php file at all.
This commit is contained in:
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user