summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/displaytags/helpers/displaytags_block.php54
-rw-r--r--modules/displaytags/module.info3
-rw-r--r--modules/displaytags/views/displaytags_block.html.php8
3 files changed, 65 insertions, 0 deletions
diff --git a/modules/displaytags/helpers/displaytags_block.php b/modules/displaytags/helpers/displaytags_block.php
new file mode 100644
index 00000000..ea63bb77
--- /dev/null
+++ b/modules/displaytags/helpers/displaytags_block.php
@@ -0,0 +1,54 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Gallery - a web based photo album viewer and editor
+ * Copyright (C) 2000-2010 Bharat Mediratta
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+class displaytags_block_Core {
+ static function get_site_list() {
+ return array("display_tags" => t("Display Tags"));
+ }
+
+ static function get($block_id, $theme) {
+ $block = "";
+
+ // Make sure the current page belongs to an item.
+ if (!$theme->item()) {
+ return;
+ }
+
+ switch ($block_id) {
+ case "display_tags":
+ // Create an array of all the tags for the current item.
+ $tagsItem = ORM::factory("tag")
+ ->join("items_tags", "tags.id", "items_tags.tag_id")
+ ->where("items_tags.item_id", "=", $theme->item->id)
+ ->find_all();
+
+ // If the current item has at least one tag, display it/them.
+ if (count($tagsItem) > 0) {
+ $block = new Block();
+ $block->css_id = "g-display-tags";
+ $block->title = t("Tags");
+ $block->content = new View("displaytags_block.html");
+ $block->content->tags = $tagsItem;
+ }
+
+ break;
+ }
+ return $block;
+ }
+}
diff --git a/modules/displaytags/module.info b/modules/displaytags/module.info
new file mode 100644
index 00000000..d8458f10
--- /dev/null
+++ b/modules/displaytags/module.info
@@ -0,0 +1,3 @@
+name = "DisplayTags"
+description = "Display all tags for the current photo/album."
+version = 1
diff --git a/modules/displaytags/views/displaytags_block.html.php b/modules/displaytags/views/displaytags_block.html.php
new file mode 100644
index 00000000..a0b392f3
--- /dev/null
+++ b/modules/displaytags/views/displaytags_block.html.php
@@ -0,0 +1,8 @@
+<?php defined("SYSPATH") or die("No direct script access.") ?>
+<div class="g-display-tags-block">
+ <? $not_first = 0; ?>
+ <? foreach ($tags as $tag): ?>
+ <?= ($not_first++) ? "," : "" ?>
+ <a href="<?= $tag->url() ?>"><?= html::clean($tag->name) ?></a>
+ <? endforeach ?>
+</div>