diff options
| author | Tim Almdal <tnalmdal@shaw.ca> | 2009-11-12 09:29:17 -0800 |
|---|---|---|
| committer | Tim Almdal <tnalmdal@shaw.ca> | 2009-11-12 13:13:34 -0800 |
| commit | 79f700ef9f79926d5e806bd48e5a6f99b6ecc5bb (patch) | |
| tree | 53c7100e69da76a31e9ac8519f5ea5bc55488921 /modules/gallery/helpers/gallery_installer.php | |
| parent | 3d8d2f71be68ce5bb267a54a36d6ab495c22e6b1 (diff) | |
Change the keys of the block arrays in block manager to be a md5 hash of module_name:block_id. This allows easier lookup of blocks to remove when modules
are being deactivated. Change the module activation/deactivation to call (activate|deactivate)_blocks instead of just the sidebar blocks. This insures
that when a module is deactivated any admin dashboard blocks are removed as well the site sideboard blocks. Fix for ticket #876.
Diffstat (limited to 'modules/gallery/helpers/gallery_installer.php')
| -rw-r--r-- | modules/gallery/helpers/gallery_installer.php | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/modules/gallery/helpers/gallery_installer.php b/modules/gallery/helpers/gallery_installer.php index 2eb02546..26cd14f5 100644 --- a/modules/gallery/helpers/gallery_installer.php +++ b/modules/gallery/helpers/gallery_installer.php @@ -268,7 +268,7 @@ class gallery_installer { module::set_var("gallery", "show_credits", 1); // @todo this string needs to be picked up by l10n_scanner module::set_var("gallery", "credits", "Powered by <a href=\"%url\">Gallery %version</a>"); - module::set_version("gallery", 16); + module::set_version("gallery", 17); } static function upgrade($version) { @@ -398,6 +398,18 @@ class gallery_installer { module::set_var("gallery", "identity_provider", "user"); module::set_version("gallery", $version = 16); } + + if ($version == 16) { + foreach (array("dashboard_sidebar", "dashboard_center", "site.sidebar") as $location) { + $blocks = block_manager::get_active($location); + $new_blocks = array(); + foreach ($blocks as $block) { + $new_blocks[md5("{$block[0]}:{$block[1]}")] = $block; + } + block_manager::set_active($location, $new_blocks); + } + module::set_version("gallery", $version = 17); + } } static function uninstall() { |
