summaryrefslogtreecommitdiff
path: root/core/models
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2008-11-05 09:42:47 +0000
committerBharat Mediratta <bharat@menalto.com>2008-11-05 09:42:47 +0000
commitae00f739445717885e2fc82e241bae38b7e58d44 (patch)
tree96feb40e2ffbaa61a46500288d3e7a8fe831d155 /core/models
parente35c154414ac73788645666b3e4e71722706c6cd (diff)
* Add thumbnail and resize dimensions to the item table and use them
properly in the theme. * Move thumbnail and resize generation down into the model for consistency. * Add a sample thumbnail for albums * Fix a bug in the ORM to clear the cache when we reload an object. * Add Kohana docs to the scaffold.
Diffstat (limited to 'core/models')
-rw-r--r--core/models/item.php42
1 files changed, 42 insertions, 0 deletions
diff --git a/core/models/item.php b/core/models/item.php
index 5a9e9b2c..3a9faea0 100644
--- a/core/models/item.php
+++ b/core/models/item.php
@@ -97,6 +97,48 @@ class Item_Model extends ORM_MPTT {
}
/**
+ * Build a thumbnail for this item from the image provided with the
+ * given width and height
+ *
+ * @chainable
+ * @param string $filename the path to an image
+ * @param integer $width the desired width of the thumbnail
+ * @param integer $height the desired height of the thumbnail
+ * @return ORM
+ */
+ public function set_thumbnail($filename, $width, $height) {
+ Image::factory($filename)
+ ->resize($width, $height, Image::WIDTH)
+ ->save($this->thumbnail_path());
+
+ $dims = getimagesize($this->thumbnail_path());
+ $this->thumbnail_width = $dims[0];
+ $this->thumbnail_height = $dims[1];
+ return $this;
+ }
+
+ /**
+ * Build a resize for this item from the image provided with the
+ * given width and height
+ *
+ * @chainable
+ * @param string $filename the path to an image
+ * @param integer $width the desired width of the resize
+ * @param integer $height the desired height of the resize
+ * @return ORM
+ */
+ public function set_resize($filename, $width, $height) {
+ Image::factory($filename)
+ ->resize($width, $height, Image::WIDTH)
+ ->save($this->resize_path());
+
+ $dims = getimagesize($this->resize_path());
+ $this->resize_width = $dims[0];
+ $this->resize_height = $dims[1];
+ return $this;
+ }
+
+ /**
* Return the relative path to this item's file.
* @param string $prefix prefix to the path (eg "/var" or "http://foo.com/var")
* @param string $tag a tag to specify before the extension (eg ".thumb", ".resize")