summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2011-04-23 07:41:44 -0700
committerBharat Mediratta <bharat@menalto.com>2011-04-23 07:41:44 -0700
commit171e4fd0ee6493bb82bb1de3017b83319e7fc5e4 (patch)
tree925419f499fcadc84cb0b85d0d67b17f6add0c6e
parent7a4ff2fea194829eac38c6293b43cfa55d4637e1 (diff)
Remove displayed blocks from the admin block list. If there are no
available blocks to add, just hide the block adder block. Fixes #1689.
-rw-r--r--modules/gallery/helpers/gallery_block.php25
1 files changed, 20 insertions, 5 deletions
diff --git a/modules/gallery/helpers/gallery_block.php b/modules/gallery/helpers/gallery_block.php
index 0ba7c936..49d16246 100644
--- a/modules/gallery/helpers/gallery_block.php
+++ b/modules/gallery/helpers/gallery_block.php
@@ -82,9 +82,13 @@ class gallery_block_Core {
break;
case "block_adder":
- $block->css_id = "g-block-adder";
- $block->title = t("Dashboard content");
- $block->content = gallery_block::get_add_block_form();
+ if ($form = gallery_block::get_add_block_form()) {
+ $block->css_id = "g-block-adder";
+ $block->title = t("Dashboard content");
+ $block->content = $form;
+ } else {
+ $block = "";
+ }
break;
case "language":
@@ -118,11 +122,22 @@ class gallery_block_Core {
}
static function get_add_block_form() {
+ $available_blocks = block_manager::get_available_admin_blocks();
+
+ $active = array();
+ foreach (array_merge(block_manager::get_active("dashboard_sidebar"),
+ block_manager::get_active("dashboard_center")) as $b) {
+ unset($available_blocks[implode(":", $b)]);
+ }
+
+ if (!$available_blocks) {
+ return;
+ }
+
$form = new Forge("admin/dashboard/add_block", "", "post",
array("id" => "g-add-dashboard-block-form"));
$group = $form->group("add_block")->label(t("Add Block"));
- $group->dropdown("id")->label(t("Available Blocks"))
- ->options(block_manager::get_available_admin_blocks());
+ $group->dropdown("id")->label(t("Available blocks"))->options($available_blocks);
$group->submit("center")->value(t("Add to center"));
$group->submit("sidebar")->value(t("Add to sidebar"));
return $form;