diff options
-rw-r--r-- | core/controllers/album.php | 1 | ||||
-rw-r--r-- | core/controllers/photo.php | 36 | ||||
-rw-r--r-- | core/libraries/ORM_MPTT.php | 6 | ||||
-rw-r--r-- | themes/default/views/header.html.php | 7 | ||||
-rw-r--r-- | themes/default/views/photo.html.php | 6 |
5 files changed, 48 insertions, 8 deletions
diff --git a/core/controllers/album.php b/core/controllers/album.php index 9c78dfca..2b1ad067 100644 --- a/core/controllers/album.php +++ b/core/controllers/album.php @@ -28,6 +28,7 @@ class Album_Controller extends Template_Controller { $this->template->set_global('item', $item); $this->template->set_global('children', $item->children()); + $this->template->set_global('parents', $item->parents()); /** @todo: this needs to be data-driven */ $this->template->set_global('theme', new Theme("default", $this->template)); diff --git a/core/controllers/photo.php b/core/controllers/photo.php new file mode 100644 index 00000000..4c0ab975 --- /dev/null +++ b/core/controllers/photo.php @@ -0,0 +1,36 @@ +<?php defined("SYSPATH") or die("No direct script access."); +/** + * Gallery - a web based photo album viewer and editor + * Copyright (C) 2000-2008 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 Photo_Controller extends Template_Controller { + public $template = "photo.html"; + + public function View($id) { + $item = ORM::factory("item")->where("id", $id)->find(); + if (empty($item->id)) { + return Kohana::show_404(); + } + + $this->template->set_global('item', $item); + $this->template->set_global('children', $item->children()); + $this->template->set_global('parents', $item->parents()); + + /** @todo: this needs to be data-driven */ + $this->template->set_global('theme', new Theme("default", $this->template)); + } +} diff --git a/core/libraries/ORM_MPTT.php b/core/libraries/ORM_MPTT.php index 047e681e..c8dd613b 100644 --- a/core/libraries/ORM_MPTT.php +++ b/core/libraries/ORM_MPTT.php @@ -82,13 +82,15 @@ class ORM_MPTT_Core extends ORM { } /** - * Return all the parents of this node, in order from root to leaf. + * Return all the parents of this node, in order from root to this node's immediate parent. * * @return array ORM */ function parents() { + $id = (int)$this->id; if (!isset($this->parents)) { - $this->parents = $this->where("`left` <= {$this->left}") + $this->parents = $this + ->where("`left` <= {$this->left}") ->where("`right` >= {$this->right}") ->orderby("left", "ASC") ->find_all(); diff --git a/themes/default/views/header.html.php b/themes/default/views/header.html.php index fd2df051..acecb885 100644 --- a/themes/default/views/header.html.php +++ b/themes/default/views/header.html.php @@ -41,9 +41,10 @@ </ul> <ul id="gBreadcrumbs"> - <li class="root"><a href="#">Home</a></li> - <li><a href="#">Friends & Family</a></li> - <li class="active"><span>Christmas 2007</span></li> + <? foreach ($parents as $parent): ?> + <li><a href="<?= url::site("album/{$parent->id}") ?>"><?= $parent->title ?></a></li> + <? endforeach ?> + <li class="active"><span><?= $item->title ?></span></li> </ul> <form id="gSearchForm"> diff --git a/themes/default/views/photo.html.php b/themes/default/views/photo.html.php index e4d47d61..31458094 100644 --- a/themes/default/views/photo.html.php +++ b/themes/default/views/photo.html.php @@ -8,9 +8,9 @@ <a href="" class="buttonlink">Full size (1024x768)</a> <a href="" class="buttonlink">Slideshow</a> - <img id="photo-id-1" alt="photo" src="images/thumbnail.jpg" /> - <h1>Photo title</h1> - <p>Photo description: Lorem ipsum dolor sit amet.</p> + <img id="photo-id-<?= $item->id ?>" alt="photo" src="<?= $item->resize_url() ?>" /> + <h1><?= $item->title ?></h1> + <p><?= $item->description ?></p> </div> <div id="gComments"> |