summaryrefslogtreecommitdiff
path: root/core/models/item.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/models/item.php')
-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")