]> source.dussan.org Git - nextcloud-server.git/commitdiff
fix thumbnail size calculation, use const for THUMBNAIL_HEIGHT
authorJörn Friedrich Dreyer <jfd@butonic.de>
Tue, 10 Jul 2012 14:53:09 +0000 (16:53 +0200)
committerJörn Friedrich Dreyer <jfd@butonic.de>
Tue, 10 Jul 2012 14:58:37 +0000 (16:58 +0200)
apps/gallery/lib/managers.php

index 9ed1938742e30ae34e3b1a9b00ae20c49293b76a..3b6f754fc2d3bd960a010477ee8aeef65d20745d 100644 (file)
@@ -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'],