diff options
author | Bharat Mediratta <bharat@menalto.com> | 2013-03-05 08:51:43 -0800 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2013-03-05 08:51:43 -0800 |
commit | 7fd7b10108b8edca232d6eb387669189383b52ea (patch) | |
tree | 015404150d3810d7538de147d3a0e8f3742605df /modules/gallery/helpers/module.php | |
parent | e630ab9bdc45cbb9ebd7db8fd280cb898fe6f291 (diff) | |
parent | 4b28478776071bf764545de767b70939484519aa (diff) |
Merge pull request #190 from shadlaws/fix_2040
#2040 - Deactivate modules that no longer exist.
Diffstat (limited to 'modules/gallery/helpers/module.php')
-rw-r--r-- | modules/gallery/helpers/module.php | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/modules/gallery/helpers/module.php b/modules/gallery/helpers/module.php index da201d20..1b6c8d1a 100644 --- a/modules/gallery/helpers/module.php +++ b/modules/gallery/helpers/module.php @@ -303,8 +303,25 @@ class module_Core { block_manager::deactivate_blocks($module_name); - log::success( - "module", t("Deactivated module %module_name", array("module_name" => $module_name))); + if (module::info($module_name)) { + log::success( + "module", t("Deactivated module %module_name", array("module_name" => $module_name))); + } else { + log::success( + "module", t("Deactivated missing module %module_name", array("module_name" => $module_name))); + } + } + + /** + * Deactivate modules that are unavailable or missing, yet still active. + * This happens when a user deletes a module without deactivating it. + */ + static function deactivate_missing_modules() { + foreach (self::$modules as $module_name => $module) { + if (module::is_active($module_name) && !module::info($module_name)) { + module::deactivate($module_name); + } + } } /** @@ -553,6 +570,9 @@ class module_Core { $obsolete_modules = array("videos" => 4, "noffmpeg" => 1, "videodimensions" => 1, "digibug" => 2); + // Before we check the active modules, deactivate any that are missing. + module::deactivate_missing_modules(); + $modules_found = array(); foreach ($obsolete_modules as $module => $version) { if (module::is_active($module) && (module::get_version($module) <= $version)) { |