X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2FThumbnailer.php;h=a23f98e9df226204efeb5166bc5e3bbab4f348c9;hb=HEAD;hp=37ed97a18bf521f6b6e66b0bc4e32a5083a8f01d;hpb=9d9f6d75b94aab51067bdfbe50b58b66d1194f6d;p=github%2Fshaarli%2FShaarli.git diff --git a/application/Thumbnailer.php b/application/Thumbnailer.php index 37ed97a1..c4ff8d7a 100644 --- a/application/Thumbnailer.php +++ b/application/Thumbnailer.php @@ -3,9 +3,8 @@ namespace Shaarli; use Shaarli\Config\ConfigManager; -use WebThumbnailer\Exception\WebThumbnailerException; -use WebThumbnailer\WebThumbnailer; use WebThumbnailer\Application\ConfigManager as WTConfigManager; +use WebThumbnailer\WebThumbnailer; /** * Class Thumbnailer @@ -14,7 +13,7 @@ use WebThumbnailer\Application\ConfigManager as WTConfigManager; */ class Thumbnailer { - const COMMON_MEDIA_DOMAINS = [ + protected const COMMON_MEDIA_DOMAINS = [ 'imgur.com', 'flickr.com', 'youtube.com', @@ -27,13 +26,14 @@ class Thumbnailer 'instagram.com', 'pinterest.com', 'pinterest.fr', + 'soundcloud.com', 'tumblr.com', 'deviantart.com', ]; - const MODE_ALL = 'all'; - const MODE_COMMON = 'common'; - const MODE_NONE = 'none'; + public const MODE_ALL = 'all'; + public const MODE_COMMON = 'common'; + public const MODE_NONE = 'none'; /** * @var WebThumbnailer instance. @@ -55,12 +55,12 @@ class Thumbnailer $this->conf = $conf; if (! $this->checkRequirements()) { - $this->conf->set('thumbnails.enabled', false); + $this->conf->set('thumbnails.mode', Thumbnailer::MODE_NONE); $this->conf->write(true); // TODO: create a proper error handling system able to catch exceptions... die(t( 'php-gd extension must be loaded to use thumbnails. ' - .'Thumbnails are now disabled. Please reload the page.' + . 'Thumbnails are now disabled. Please reload the page.' )); } @@ -81,7 +81,8 @@ class Thumbnailer */ public function get($url) { - if ($this->conf->get('thumbnails.mode') === self::MODE_COMMON + if ( + $this->conf->get('thumbnails.mode') === self::MODE_COMMON && ! $this->isCommonMediaOrImage($url) ) { return false; @@ -89,7 +90,7 @@ class Thumbnailer try { return $this->wt->thumbnail($url); - } catch (WebThumbnailerException $e) { + } catch (\Throwable $e) { // Exceptions are only thrown in debug mode. error_log(get_class($e) . ': ' . $e->getMessage()); }