diff --git a/module/finc/src/finc/Cover/Loader.php b/module/finc/src/finc/Cover/Loader.php index b67ff8ee24e3f877679eafc1cbee4f2ac09bfb07..672c93a651b7fbe559f76997257c65330d295b72 100644 --- a/module/finc/src/finc/Cover/Loader.php +++ b/module/finc/src/finc/Cover/Loader.php @@ -41,6 +41,8 @@ namespace finc\Cover; */ class Loader extends \VuFind\Cover\Loader { + const EMPTY_IMAGE_CONTENT = 'nothing here'; + /** * Flag denoting the last loaded image was a FailImage * @@ -57,9 +59,26 @@ class Loader extends \VuFind\Cover\Loader public function loadUnavailable() { $this->hasLoadedUnavailable = true; + file_put_contents($this->localFile,self::EMPTY_IMAGE_CONTENT); return parent::loadUnavailable(); } + public function loadImage($settings = []) + { + parent::loadImage($settings); + if ($this->image === self::EMPTY_IMAGE_CONTENT) { + $this->hasLoadedUnavailable = true; + } + } + + public function getImage() + { + if ($this->image === self::EMPTY_IMAGE_CONTENT) { + $this->hasLoadedUnavailable = true; + } + return parent::getImage(); + } + /** * Returns true if the last loaded image was the FailImage * diff --git a/module/finc/src/finc/Cover/Router.php b/module/finc/src/finc/Cover/Router.php index 8a758f27c9f6adb72c488431ee3a4584026c9fb0..5cc789f6855650b7008b42f843917db92cbeaac2 100644 --- a/module/finc/src/finc/Cover/Router.php +++ b/module/finc/src/finc/Cover/Router.php @@ -98,10 +98,8 @@ class Router implements \Zend\Log\LoggerAwareInterface if (!$resolveDynamic) { return null; } - $settings = is_array($thumb) ? array_merge($thumb, ['size' => $size]) - : ['size' => $size]; if ($testLoadImage) { - $this->coverLoader->loadImage($settings); + $this->coverLoader->loadImage(array_merge($thumb, ['size' => $size])); if ($this->coverLoader->hasLoadedUnavailable()) { return false; }