]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Default to avoid upscaling of thumbnails. 45x45=>450x450 is ugly
authorMikael Nordfeldth <mmn@hethane.se>
Wed, 10 Feb 2016 03:40:10 +0000 (04:40 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Wed, 10 Feb 2016 03:40:10 +0000 (04:40 +0100)
lib/imagefile.php

index 71074877374e4dc38feaeed032948501846b4596..9f870ae290bf44ae61e2132996d18bcc087c96f2 100644 (file)
@@ -150,7 +150,7 @@ class ImageFile
         }
 
         try {
-            $image = new ImageFile($file->id, $imgPath);
+            $image = new ImageFile($file->getID(), $imgPath);
         } catch (UnsupportedMediaException $e) {
             // Avoid deleting the original
             if ($imgPath != $file->getPath()) {
@@ -541,7 +541,7 @@ class ImageFile
         return $count > 1;
     }
 
-    public function getFileThumbnail($width, $height, $crop)
+    public function getFileThumbnail($width, $height, $crop, $upscale=false)
     {
         if (!$this->fileRecord instanceof File) {
             throw new ServerException('No File object attached to this ImageFile object.');
@@ -553,6 +553,15 @@ class ImageFile
             $crop = common_config('thumbnail', 'crop');
         }
 
+        if (!$upscale) {
+            if ($width > $this->width) {
+                $width = $this->width;
+            }
+            if (!is_null($height) && $height > $this->height) {
+                $height = $this->height;
+            }
+        }
+
         if ($height === null) {
             $height = $width;
             $crop = true;
@@ -602,8 +611,8 @@ class ImageFile
         if ($this->getPath() != File_thumbnail::path($this->filename)) {
             $this->unlink();
         }
-        return File_thumbnail::saveThumbnail($this->fileRecord->id,
-                                      File_thumbnail::url($outname),
+        return File_thumbnail::saveThumbnail($this->fileRecord->getID(),
+                                      null, // no url since we generated it ourselves and can dynamically generate the url
                                       $width, $height,
                                       $outname);
     }