diff --git a/Changelog b/Changelog index f76426678..434911f21 100755 --- a/Changelog +++ b/Changelog @@ -1,3 +1,6 @@ +2016-10-25 DariusIII + * Chg: Use Imagick to detect broken sample images + * Chg: Update composer.lock with new versions of font-awesome (4.7.0) and moinax/tvdb (1.0.6) 2016-10-24 DariusIII * Chg: Search posts by poster by clicking on poster name on details page 2016-10-21 DariusIII diff --git a/composer.json b/composer.json index 4ebd6ea7a..dc5cff962 100755 --- a/composer.json +++ b/composer.json @@ -73,6 +73,7 @@ "ext-gd": "*", "ext-hash": "*", "ext-iconv": "*", + "ext-imagick": "*", "ext-json": "*", "ext-mbstring": "*", "ext-mcrypt": "*", diff --git a/composer.lock b/composer.lock index b6a8e96b1..2c97f29f3 100644 --- a/composer.lock +++ b/composer.lock @@ -484,16 +484,16 @@ }, { "name": "bower-asset/font-awesome", - "version": "v4.6.3", + "version": "v4.7.0", "source": { "type": "git", "url": "https://github.com/FortAwesome/Font-Awesome.git", - "reference": "8e241f209faa1dd2182c9fdc9c352d8806504a4e" + "reference": "a8386aae19e200ddb0f6845b5feeee5eb7013687" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FortAwesome/Font-Awesome/zipball/8e241f209faa1dd2182c9fdc9c352d8806504a4e", - "reference": "8e241f209faa1dd2182c9fdc9c352d8806504a4e", + "url": "https://api.github.com/repos/FortAwesome/Font-Awesome/zipball/a8386aae19e200ddb0f6845b5feeee5eb7013687", + "reference": "a8386aae19e200ddb0f6845b5feeee5eb7013687", "shasum": "" }, "type": "bower-asset-library", @@ -1461,16 +1461,16 @@ }, { "name": "moinax/tvdb", - "version": "v1.0.5", + "version": "v1.0.6", "source": { "type": "git", "url": "https://github.com/Moinax/TvDb.git", - "reference": "772b24179b199bc1f17935c52613f95d318ad3cc" + "reference": "26f33df9e0ddf9b0b6ba9deeb43f1fa83b483085" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Moinax/TvDb/zipball/772b24179b199bc1f17935c52613f95d318ad3cc", - "reference": "772b24179b199bc1f17935c52613f95d318ad3cc", + "url": "https://api.github.com/repos/Moinax/TvDb/zipball/26f33df9e0ddf9b0b6ba9deeb43f1fa83b483085", + "reference": "26f33df9e0ddf9b0b6ba9deeb43f1fa83b483085", "shasum": "" }, "require": { @@ -1497,7 +1497,7 @@ "keywords": [ "api" ], - "time": "2016-04-01 14:51:00" + "time": "2016-10-25 08:14:27" }, { "name": "phpmailer/phpmailer", diff --git a/nntmux/ReleaseImage.php b/nntmux/ReleaseImage.php index 7ab6af574..67751000d 100755 --- a/nntmux/ReleaseImage.php +++ b/nntmux/ReleaseImage.php @@ -84,18 +84,27 @@ class ReleaseImage protected function fetchImage($imgLoc) { $img = false; - if (strpos(strtolower($imgLoc), 'http:') === 0 || strpos(strtolower($imgLoc), 'https:') === 0) { $img = Utility::getUrl(['url' => $imgLoc]); } else if (is_file($imgLoc)) { $img = @file_get_contents($imgLoc); } - - if ($img !== false && getimagesizefromstring($img) !== false) { - $im = @imagecreatefromstring($img); - if ($im !== false) { - imagedestroy($im); - return $img; + if ($img !== false) { + $imgFail = false; + try { + (new \Imagick())->readImageBlob($img); + } catch (\ImagickException $imgError) { + if (strpos($imgError, 'Unsupported marker type') !== false) { + echo 'Corrupt image marker data found. Skipping.' . PHP_EOL; + $imgFail = true; + } + } + if ($imgFail === false) { + $im = @imagecreatefromstring($img); + if ($im !== false) { + imagedestroy($im); + return $img; + } } } return false;