From acb96123326460316290257cb05553f6a284ba04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Tue, 10 Jul 2012 16:53:09 +0200 Subject: [PATCH] fix thumbnail size calculation, use const for THUMBNAIL_HEIGHT --- apps/gallery/lib/managers.php | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/apps/gallery/lib/managers.php b/apps/gallery/lib/managers.php index 9ed1938742..3b6f754fc2 100644 --- a/apps/gallery/lib/managers.php +++ b/apps/gallery/lib/managers.php @@ -2,7 +2,7 @@ namespace OC\Pictures; -class DatabaseManager { +class DatabaseManager { private static $instance = null; protected $cache = array(); const TAG = 'DatabaseManager'; @@ -62,6 +62,7 @@ class ThumbnailsManager { private static $instance = null; const TAG = 'ThumbnailManager'; + const THUMBNAIL_HEIGHT = 150; public static function getInstance() { if (self::$instance === null) @@ -81,27 +82,23 @@ class ThumbnailsManager { $image = new \OC_Image(); $image->loadFromFile(\OC_Filesystem::getLocalFile($path)); if (!$image->valid()) return false; - + $image->fixOrientation(); - - $ret = $image->preciseResize($this->getThumbnailWidth($image), $this->getThumbnailHeight($image)); + + $ret = $image->preciseResize( floor((self::THUMBNAIL_HEIGHT*$image->width())/$image->height()), self::THUMBNAIL_HEIGHT ); if (!$ret) { \OC_Log::write(self::TAG, 'Couldn\'t resize image', \OC_Log::ERROR); unset($image); return false; } - + $image->save($gallery_path.'/'.$path); return $image; } public function getThumbnailWidth($image) { - return floor((150*$image->widthTopLeft())/$image->heightTopLeft()); - } - - public function getThumbnailHeight($image) { - return 150; + return floor((self::THUMBNAIL_HEIGHT*$image->widthTopLeft())/$image->heightTopLeft()); } public function getThumbnailInfo($path) { @@ -116,7 +113,7 @@ class ThumbnailsManager { if (!$image->valid()) { return false; } - $arr = DatabaseManager::getInstance()->setFileData($path, $this->getThumbnailWidth($image), $this->getThumbnailHeight($image)); + $arr = DatabaseManager::getInstance()->setFileData($path, $this->getThumbnailWidth($image), self::THUMBNAIL_HEIGHT); } $ret = array('filepath' => $arr['path'], 'width' => $arr['width'],