summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/gallery/helpers/block_manager.php21
-rw-r--r--modules/gallery/helpers/gallery_installer.php13
-rw-r--r--modules/gallery/helpers/module.php6
-rw-r--r--modules/gallery/module.info2
-rw-r--r--modules/image_block/module.info2
-rw-r--r--modules/info/module.info2
6 files changed, 42 insertions, 4 deletions
diff --git a/modules/gallery/helpers/block_manager.php b/modules/gallery/helpers/block_manager.php
index 233e4f2e..f26c3660 100644
--- a/modules/gallery/helpers/block_manager.php
+++ b/modules/gallery/helpers/block_manager.php
@@ -32,12 +32,33 @@ class block_manager_Core {
self::set_active($location, $blocks);
}
+ static function activate_sidebar_blocks($module_name) {
+ $block_class = "{$module_name}_block";
+ if (method_exists($block_class, "get_site_list")) {
+ $blocks = call_user_func(array($block_class, "get_site_list"));
+ Kohana::log("error", Kohana::debug($blocks));
+ foreach (array_keys($blocks) as $block_id) {
+ self::add("site.sidebar", $module_name, $block_id);
+ }
+ }
+ }
+
static function remove($location, $block_id) {
$blocks = self::get_active($location);
unset($blocks[$block_id]);
self::set_active($location, $blocks);
}
+ static function deactivate_sidebar_blocks($module_name) {
+ $block_class = "{$module_name}_block";
+ if (method_exists($block_class, "get_site_list")) {
+ $blocks = call_user_func(array($block_class, "get_site_list"));
+ foreach (array_keys($blocks) as $block_id) {
+ self::remove("site.sidebar", $module_name, $block_id);
+ }
+ }
+ }
+
static function get_available_admin_blocks() {
return self::_get_blocks("get_admin_list");
}
diff --git a/modules/gallery/helpers/gallery_installer.php b/modules/gallery/helpers/gallery_installer.php
index 9e4e3c35..b1ea1f19 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", 14);
+ module::set_version("gallery", 15);
}
static function upgrade($version) {
@@ -382,6 +382,17 @@ class gallery_installer {
module::set_version("gallery", $version = 14);
}
+ if ($version == 14) {
+ $sidebar_blocks = block_manager::get_active("site.sidebar");
+ if (empty($sidebar_blocks)) {
+ $available_blocks = block_manager::get_available_site_blocks();
+ foreach (array_keys(block_manager::get_available_site_blocks()) as $id) {
+ $sidebar_blocks[] = explode(":", $id);
+ }
+ block_manager::set_active("site.sidebar", $sidebar_blocks);
+ }
+ module::set_version("gallery", $version = 15);
+ }
}
static function uninstall() {
diff --git a/modules/gallery/helpers/module.php b/modules/gallery/helpers/module.php
index a27fdbc5..fe37f4f9 100644
--- a/modules/gallery/helpers/module.php
+++ b/modules/gallery/helpers/module.php
@@ -195,6 +195,9 @@ class module_Core {
module::load_modules();
graphics::activate_rules($module_name);
+
+ block_manager::activate_sidebar_blocks($module_name);
+
log::success(
"module", t("Activated module %module_name", array("module_name" => $module_name)));
}
@@ -219,6 +222,9 @@ class module_Core {
module::load_modules();
graphics::deactivate_rules($module_name);
+
+ block_manager::deactivate_sidebar_blocks($module_name);
+
log::success(
"module", t("Deactivated module %module_name", array("module_name" => $module_name)));
}
diff --git a/modules/gallery/module.info b/modules/gallery/module.info
index bffcb1c6..f509ff08 100644
--- a/modules/gallery/module.info
+++ b/modules/gallery/module.info
@@ -1,3 +1,3 @@
name = "Gallery 3"
description = "Gallery core application"
-version = 14
+version = 15
diff --git a/modules/image_block/module.info b/modules/image_block/module.info
index b92b83df..e6d85048 100644
--- a/modules/image_block/module.info
+++ b/modules/image_block/module.info
@@ -1,3 +1,3 @@
name = "Image Block"
description = "Display a random image in the sidebar"
-version = 2
+version = 1
diff --git a/modules/info/module.info b/modules/info/module.info
index 5f84cbb9..e352213c 100644
--- a/modules/info/module.info
+++ b/modules/info/module.info
@@ -1,3 +1,3 @@
name = "Info"
description = "Display extra information about photos and albums"
-version = 2
+version = 1