summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2008-12-31 07:13:34 +0000
committerBharat Mediratta <bharat@menalto.com>2008-12-31 07:13:34 +0000
commitc1140b5c0aac2c2c1822a65ddd55151e093e2af4 (patch)
tree1d33c39ed3e7b92c74163f78b4fb1d9743d1ee5b
parent44c987e89e7fd3babebdc4835c1225b6d7869df1 (diff)
Add Item_Model::url() and use it where appropriate. Cleans up some
grotty looking stuff in themes.
-rw-r--r--core/controllers/items.php2
-rw-r--r--core/models/item.php12
-rw-r--r--themes/default/views/album.html.php4
-rw-r--r--themes/default/views/photo.html.php4
-rw-r--r--themes/default/views/tag.html.php2
5 files changed, 18 insertions, 6 deletions
diff --git a/core/controllers/items.php b/core/controllers/items.php
index 60b2762f..e5f62db6 100644
--- a/core/controllers/items.php
+++ b/core/controllers/items.php
@@ -25,6 +25,6 @@ class Items_Controller extends REST_Controller {
// differently. We could also just delegate here, but it feels more appropriate
// to have a single canonical resource mapping.
access::required("view", $item);
- return url::redirect("{$item->type}s/$item->id");
+ return url::redirect($item->url());
}
}
diff --git a/core/models/item.php b/core/models/item.php
index a419c2f1..ffdaa7e9 100644
--- a/core/models/item.php
+++ b/core/models/item.php
@@ -103,6 +103,18 @@ class Item_Model extends ORM_MPTT {
}
/**
+ * album: url::site("albums/2")
+ * photo: url::site("photos/3")
+ */
+ public function url() {
+ if ($this->is_album()) {
+ return url::site("albums/$this->id");
+ } else {
+ return url::site("photos/$this->id");
+ }
+ }
+
+ /**
* album: /var/albums/album1/album2
* photo: /var/albums/album1/album2/photo.jpg
*/
diff --git a/themes/default/views/album.html.php b/themes/default/views/album.html.php
index b5995602..d36ff7c2 100644
--- a/themes/default/views/album.html.php
+++ b/themes/default/views/album.html.php
@@ -13,13 +13,13 @@
<? endif ?>
<li id="g<?= $child->id ?>" class="gItem <?= $album_class ?>">
<?= $theme->thumb_top($child) ?>
- <a href="<?= url::site("{$child->type}s/{$child->id}") ?>">
+ <a href="<?= $child->url() ?>">
<img id="gPhotoID-<?= $child->id ?>" class="gThumbnail"
alt="photo" src="<?= $child->thumb_url() ?>"
width="<?= $child->thumb_width ?>"
height="<?= $child->thumb_height ?>" />
</a>
- <h2><a href="<?= url::site("{$child->type}s/{$child->id}") ?>"><?= $child->title ?></a></h2>
+ <h2><a href="<?= $child->url() ?>"><?= $child->title ?></a></h2>
<?= $theme->thumb_bottom($child) ?>
<ul class="gMetadata">
<?= $theme->thumb_info($child) ?>
diff --git a/themes/default/views/photo.html.php b/themes/default/views/photo.html.php
index 88047381..cf7c83b8 100644
--- a/themes/default/views/photo.html.php
+++ b/themes/default/views/photo.html.php
@@ -14,12 +14,12 @@
</div>
<? if ($position > 1): ?>
-<a href="<?= url::site("{$previous_item->type}s/$previous_item->id") ?>"><?= _("previous") ?></a>
+<a href="<?= $previous_item->url() ?>"><?= _("previous") ?></a>
<? endif ?>
<?= sprintf(_("Viewing photo %d of %d"), $position, $sibling_count) ?>
<? if ($position < $sibling_count): ?>
-<a href="<?= url::site("{$next_item->type}s/$next_item->id") ?>"><?= _("next") ?></a>
+<a href="<?= $next_item->url() ?>"><?= _("next") ?></a>
<? endif ?>
diff --git a/themes/default/views/tag.html.php b/themes/default/views/tag.html.php
index ac33e092..93cce7e7 100644
--- a/themes/default/views/tag.html.php
+++ b/themes/default/views/tag.html.php
@@ -14,7 +14,7 @@
<? endif ?>
<li class="gItem <?= $album_class ?>">
<?= $theme->thumb_top($child) ?>
- <a href="<?= url::site("{$child->type}s/{$child->id}") ?>">
+ <a href="<?= $child->url() ?>">
<img id="gPhotoID-<?= $child->id ?>" class="gThumbnail"
alt="photo" src="<?= $child->thumb_url() ?>"
width="<?= $child->thumb_width ?>"