diff --git a/module/VuFind/src/VuFind/Controller/CoverController.php b/module/VuFind/src/VuFind/Controller/CoverController.php index f0b5b68a743d6ac2e268aa9dd116e7db42be2634..3eb71a792bfe5250917aa898b2703e36e507840a 100644 --- a/module/VuFind/src/VuFind/Controller/CoverController.php +++ b/module/VuFind/src/VuFind/Controller/CoverController.php @@ -54,6 +54,7 @@ class CoverController extends AbstractBase ConfigReader::getConfig(), $this->getServiceLocator()->get('CacheManager')->getCacheDir() ); + $this->loader->setLogger(\VuFind\Log\Logger::getInstance()); } return $this->loader; } diff --git a/module/VuFind/src/VuFind/Cover/Loader.php b/module/VuFind/src/VuFind/Cover/Loader.php index 108efc267fa7caa45ffdcb1033bb26e7a5ac6117..c8b52803e66a46d667c4ed38e4cfc668d81089b0 100644 --- a/module/VuFind/src/VuFind/Cover/Loader.php +++ b/module/VuFind/src/VuFind/Cover/Loader.php @@ -28,8 +28,7 @@ */ namespace VuFind\Cover; use VuFind\Code\ISBN, VuFind\Http\Client as HttpClient, - VuFind\Log\Logger, VuFind\Theme\Tools as ThemeTools, - ZendService\Amazon\Amazon; + VuFind\Theme\Tools as ThemeTools, Zend\Log\Logger, ZendService\Amazon\Amazon; /** * Book Cover Generator @@ -43,27 +42,76 @@ use VuFind\Code\ISBN, VuFind\Http\Client as HttpClient, */ class Loader { - // property to hold filename constructed from ISBN + /** + * filename constructed from ISBN + * + * @var string + */ protected $localFile = ''; - // property to hold root directory of VuFind + /** + * valid image sizes to request + * + * @var array + */ protected $validSizes = array('small', 'medium', 'large'); - // property to hold VuFind configuration settings + /** + * property to hold VuFind configuration settings + * + * @var \Zend\Config\Config + */ protected $config; - // directory to store downloaded images + /** + * directory to store downloaded images + * + * @var string + */ protected $baseDir; - // current user parameters: + /** + * User ISN parameter + * + * @var string + */ protected $isn; + + /** + * User size parameter + * + * @var string + */ protected $size; + + /** + * User type parameter + * + * @var string + */ protected $type; - // properties populated by calling loadImage or loadUnavailable: + /** + * Property for storing raw image data; may be null if image is unavailable + * + * @var string + */ protected $image = null; + + /** + * Content type of data in $image property + * + * @var string + */ protected $contentType = null; + /** + * Logger (or false for none) + * + * @var Logger|bool + */ + protected $logger = false; + /** * Constructor * @@ -79,6 +127,32 @@ class Loader ); } + /** + * Set the logger + * + * @param Logger $logger Logger to use. + * + * @return void + */ + public function setLogger(Logger $logger) + { + $this->logger = $logger; + } + + /** + * Log a debug message. + * + * @param string $msg Message to log. + * + * @return void + */ + protected function debug($msg) + { + if ($this->logger) { + $this->logger->debug($msg); + } + } + /** * Get the image data (usually called after loadImage) * @@ -278,7 +352,7 @@ class Loader // If file defined but does not exist, log error and display default: if (!file_exists($noCoverImage) || !is_readable($noCoverImage)) { - Logger::getInstance()->debug("Cannot access file: '$noCoverImage'"); + $this->debug("Cannot access file: '$noCoverImage'"); return $this->loadDefaultFailImage(); } @@ -295,7 +369,7 @@ class Loader $parts = explode('.', $noCoverImage); $fileExtension = strtolower(end($parts)); if (!array_key_exists($fileExtension, $allowedFileExtensions)) { - Logger::getInstance()->debug( + $this->debug( "Illegal file-extension '$fileExtension' for image '$noCoverImage'" ); return $this->loadDefaultFailImage();