From ae00f739445717885e2fc82e241bae38b7e58d44 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Wed, 5 Nov 2008 09:42:47 +0000 Subject: * 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. --- core/models/item.php | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'core/models') 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 @@ -96,6 +96,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") -- cgit v1.2.3