diff options
| author | mamouneyya <mamoun.diraneyya@gmail.com> | 2010-09-20 04:30:34 +0300 |
|---|---|---|
| committer | mamouneyya <mamoun.diraneyya@gmail.com> | 2010-09-20 04:30:34 +0300 |
| commit | ce80259d6939e43aaea34eba7bea4b2a602a5019 (patch) | |
| tree | 7ca81d874b62c5a2c0244657aa903d565a7e6b04 /modules/tag | |
| parent | ba950bec0c84a1467aa2545ca815d5af7b0b002b (diff) | |
| parent | 93d1a8103e757a87fb006f2389f0ee24497367a7 (diff) | |
Merge remote branch 'gallery3/master'
Diffstat (limited to 'modules/tag')
| -rw-r--r-- | modules/tag/controllers/tag.php | 49 | ||||
| -rw-r--r-- | modules/tag/controllers/tags.php | 28 | ||||
| -rw-r--r-- | modules/tag/css/tag.css | 6 | ||||
| -rw-r--r-- | modules/tag/models/tag.php | 2 | ||||
| -rw-r--r-- | modules/tag/views/tag_block.html.php | 5 |
5 files changed, 59 insertions, 31 deletions
diff --git a/modules/tag/controllers/tag.php b/modules/tag/controllers/tag.php new file mode 100644 index 00000000..0e924f3d --- /dev/null +++ b/modules/tag/controllers/tag.php @@ -0,0 +1,49 @@ +<?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 Tag_Controller extends Controller { + public function __call($function, $args) { + $tag_name = $function; + $tag = ORM::factory("tag")->where("name", "=", $tag_name)->find(); + $page_size = module::get_var("gallery", "page_size", 9); + $page = (int) Input::instance()->get("page", "1"); + $children_count = $tag->items_count(); + $offset = ($page-1) * $page_size; + $max_pages = max(ceil($children_count / $page_size), 1); + + // Make sure that the page references a valid offset + if ($page < 1) { + url::redirect($album->abs_url()); + } else if ($page > $max_pages) { + url::redirect($album->abs_url("page=$max_pages")); + } + + $template = new Theme_View("page.html", "collection", "tag"); + $template->set_global("page", $page); + $template->set_global("max_pages", $max_pages); + $template->set_global("page_size", $page_size); + $template->set_global("tag", $tag); + $template->set_global("children", $tag->items($page_size, $offset)); + $template->set_global("children_count", $children_count); + $template->content = new View("dynamic.html"); + $template->content->title = t("Tag: %tag_name", array("tag_name" => $tag->name)); + + print $template; + } +} diff --git a/modules/tag/controllers/tags.php b/modules/tag/controllers/tags.php index bc657644..aa39b6cd 100644 --- a/modules/tag/controllers/tags.php +++ b/modules/tag/controllers/tags.php @@ -18,34 +18,6 @@ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ class Tags_Controller extends Controller { - public function show($tag_id) { - $tag = ORM::factory("tag", $tag_id); - $page_size = module::get_var("gallery", "page_size", 9); - $page = (int) Input::instance()->get("page", "1"); - $children_count = $tag->items_count(); - $offset = ($page-1) * $page_size; - $max_pages = max(ceil($children_count / $page_size), 1); - - // Make sure that the page references a valid offset - if ($page < 1) { - url::redirect($album->abs_url()); - } else if ($page > $max_pages) { - url::redirect($album->abs_url("page=$max_pages")); - } - - $template = new Theme_View("page.html", "collection", "tag"); - $template->set_global("page", $page); - $template->set_global("max_pages", $max_pages); - $template->set_global("page_size", $page_size); - $template->set_global("tag", $tag); - $template->set_global("children", $tag->items($page_size, $offset)); - $template->set_global("children_count", $children_count); - $template->content = new View("dynamic.html"); - $template->content->title = t("Tag: %tag_name", array("tag_name" => $tag->name)); - - print $template; - } - public function index() { // Far from perfection, but at least require view permission for the root album $album = ORM::factory("item", 1); diff --git a/modules/tag/css/tag.css b/modules/tag/css/tag.css index 6d6438e3..8a64960a 100644 --- a/modules/tag/css/tag.css +++ b/modules/tag/css/tag.css @@ -19,6 +19,12 @@ display: none; } +#g-tag-cloud ul li.size0 a { + color: #9cf; + font-size: 70%; + font-weight: 100; +} + #g-tag-cloud ul li.size1 a { color: #9cf; font-size: 80%; diff --git a/modules/tag/models/tag.php b/modules/tag/models/tag.php index e8bd69c5..269a0f39 100644 --- a/modules/tag/models/tag.php +++ b/modules/tag/models/tag.php @@ -124,7 +124,7 @@ class Tag_Model extends ORM { * @param string $query the query string (eg "page=3") */ public function url($query=null) { - $url = url::site("tags/show/$this->id"); + $url = url::site("tag/{$this->name}"); if ($query) { $url .= "?$query"; } diff --git a/modules/tag/views/tag_block.html.php b/modules/tag/views/tag_block.html.php index 8b887282..cc204c72 100644 --- a/modules/tag/views/tag_block.html.php +++ b/modules/tag/views/tag_block.html.php @@ -7,7 +7,8 @@ max: 30, multiple: true, multipleSeparator: ',', - cacheLength: 1 + cacheLength: 1, + selectFirst: false, } ); $("#g-add-tag-form").ajaxForm({ @@ -24,4 +25,4 @@ <div id="g-tag-cloud" ref="<?= url::site("tags") ?>"> <?= $cloud ?> </div> -<?= $form ?>
\ No newline at end of file +<?= $form ?> |
