diff --git a/module/VuFind/src/VuFind/AjaxHandler/GetRecordCover.php b/module/VuFind/src/VuFind/AjaxHandler/GetRecordCover.php index 9d4d3814d14db5977d485714ca1ae5be065f5032..64def480bc9d3881d5647edae44d503d3ebb488e 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/GetRecordCover.php +++ b/module/VuFind/src/VuFind/AjaxHandler/GetRecordCover.php @@ -33,6 +33,7 @@ use VuFind\Cover\Router as CoverRouter; use VuFind\Exception\RecordMissing as RecordMissingException; use VuFind\ILS\Driver\CacheTrait; use VuFind\Record\Loader as RecordLoader; +use VuFind\Session\Settings as SessionSettings; /** * GetRecordCover AJAX handler. @@ -79,18 +80,20 @@ class GetRecordCover extends AbstractBase implements AjaxHandlerInterface /** * GetRecordCover constructor. * - * @param RecordLoader $recordLoader Record loader - * @param CoverRouter $coverRouter Cover router - * @param PhpRenderer $renderer PHP renderer (only required if - * $userCoverFallbacksOnFail is set to true) - * @param bool $useCoverFallbacksOnFail If true we will render a + * @param SessionSettings $ss Session settings + * @param RecordLoader $recordLoader Record loader + * @param CoverRouter $coverRouter Cover router + * @param PhpRenderer $renderer PHP renderer (only + * required if $userCoverFallbacksOnFail is set to true) + * @param bool $useCoverFallbacksOnFail If true we will render a * fallback html template in case no image could be loaded */ - public function __construct(RecordLoader $recordLoader, + public function __construct(SessionSettings $ss, RecordLoader $recordLoader, CoverRouter $coverRouter, ?PhpRenderer $renderer = null, $useCoverFallbacksOnFail = false ) { + $this->sessionSettings = $ss; $this->recordLoader = $recordLoader; $this->coverRouter = $coverRouter; $this->renderer = $renderer; @@ -107,6 +110,8 @@ class GetRecordCover extends AbstractBase implements AjaxHandlerInterface */ public function handleRequest(Params $params) { + $this->disableSessionWrites(); + $recordId = $params->fromQuery('recordId'); $recordSource = $params->fromQuery('source', DEFAULT_SEARCH_BACKEND); $size = $params->fromQuery('size', 'small'); diff --git a/module/VuFind/src/VuFind/AjaxHandler/GetRecordCoverFactory.php b/module/VuFind/src/VuFind/AjaxHandler/GetRecordCoverFactory.php index b66289308b0fb29a75c1dbca1692bfbe69c22f1b..ad8c087289dbc5fa878779b9f340075a795bdd93 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/GetRecordCoverFactory.php +++ b/module/VuFind/src/VuFind/AjaxHandler/GetRecordCoverFactory.php @@ -67,6 +67,7 @@ class GetRecordCoverFactory implements FactoryInterface = $container->get(\VuFind\Config\PluginManager::class)->get('config'); $useFallbacks = $config->Content->useCoverFallbacksOnFail ?? false; return new $requestedName( + $container->get(\VuFind\Session\Settings::class), $container->get(\VuFind\Record\Loader::class), $container->get(\VuFind\Cover\Router::class), // We only need the view renderer if we're going to use fallbacks: