From: Mikael Nordfeldth Date: Tue, 8 Mar 2016 00:36:24 +0000 (+0100) Subject: Display locally stored remote GIFs as thumbnails X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=3b1181dae658ba9deec38b7804d4b3282bb843c8;p=quix0rs-gnu-social.git Display locally stored remote GIFs as thumbnails Many newspapers seem to use animated GIFs as catchy header images, which we would fail to show from oEmbed/OpenGraph fetching since they would want us to "use File as Thumbnail", but the only place the image filename was stored was in File_thumbnail, for the thumbnail of that file_id which had a URL set. --- diff --git a/classes/File.php b/classes/File.php index a1a2f78906..66ebc26138 100644 --- a/classes/File.php +++ b/classes/File.php @@ -479,7 +479,13 @@ class File extends Managed_DataObject // null means "always use file as thumbnail" // false means you get choice between frozen frame or original when calling getThumbnail if (is_null(common_config('thumbnail', 'animated')) || !$force_still) { - throw new UseFileAsThumbnailException($this->id); + try { + // remote files with animated GIFs as thumbnails will match this + return File_thumbnail::byFile($this); + } catch (NoResultException $e) { + // and if it's not a remote file, it'll be safe to use the locally stored File + throw new UseFileAsThumbnailException($this->id); + } } }