summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2010-01-02 13:47:28 -0800
committerBharat Mediratta <bharat@menalto.com>2010-01-02 13:47:28 -0800
commit4ab2400d18e1625cebbf94310bee265b272f6fba (patch)
treef82a158ed68873e0acff5b8340d808b8efba4f52
parente413cb301136ada54b30d6f2eee06c7ee0700756 (diff)
Add a cache buster to the resize and file urls. This fixes ticket
-rw-r--r--modules/gallery/models/item.php8
-rw-r--r--modules/gallery/tests/Photo_Helper_Test.php13
2 files changed, 17 insertions, 4 deletions
diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php
index 2d62c386..414181d9 100644
--- a/modules/gallery/models/item.php
+++ b/modules/gallery/models/item.php
@@ -237,7 +237,8 @@ class Item_Model extends ORM_MPTT {
*/
public function file_url($full_uri=false) {
$relative_path = "var/albums/" . $this->relative_path();
- return $full_uri ? url::abs_file($relative_path) : url::file($relative_path);
+ return ($full_uri ? url::abs_file($relative_path) : url::file($relative_path))
+ . "?m={$this->updated}";
}
/**
@@ -268,7 +269,7 @@ class Item_Model extends ORM_MPTT {
* photo: http://example.com/gallery3/var/albums/album1/photo.thumb.jpg
*/
public function thumb_url($full_uri=false) {
- $cache_buster = "?m=" . $this->updated;
+ $cache_buster = "?m={$this->updated}";
$relative_path = "var/thumbs/" . $this->relative_path();
$base = ($full_uri ? url::abs_file($relative_path) : url::file($relative_path));
if ($this->is_photo()) {
@@ -298,7 +299,8 @@ class Item_Model extends ORM_MPTT {
public function resize_url($full_uri=false) {
$relative_path = "var/resizes/" . $this->relative_path();
return ($full_uri ? url::abs_file($relative_path) : url::file($relative_path)) .
- ($this->is_album() ? "/.album.jpg" : "");
+ ($this->is_album() ? "/.album.jpg" : "")
+ . "?m={$this->updated}";
}
/**
diff --git a/modules/gallery/tests/Photo_Helper_Test.php b/modules/gallery/tests/Photo_Helper_Test.php
index da455bf8..97923f90 100644
--- a/modules/gallery/tests/Photo_Helper_Test.php
+++ b/modules/gallery/tests/Photo_Helper_Test.php
@@ -78,7 +78,18 @@ class Photo_Helper_Test extends Unit_Test_Case {
$album = album::create($root, $rand, $rand, $rand);
$photo = photo::create($album, MODPATH . "gallery/tests/test.jpg", "$rand.jpg", $rand, $rand);
- $this->assert_equal("http://./var/resizes/{$rand}/{$rand}.jpg", $photo->resize_url());
+ $this->assert_equal(
+ "http://./var/resizes/{$rand}/{$rand}.jpg?m={$photo->updated}", $photo->resize_url());
+ }
+
+ public function file_url_test() {
+ $rand = rand();
+ $root = ORM::factory("item", 1);
+ $album = album::create($root, $rand, $rand, $rand);
+ $photo = photo::create($album, MODPATH . "gallery/tests/test.jpg", "$rand.jpg", $rand, $rand);
+
+ $this->assert_equal(
+ "http://./var/albums/{$rand}/{$rand}.jpg?m={$photo->updated}", $photo->file_url());
}
public function create_photo_creates_reasonable_slug_test() {