Skip to content
Snippets Groups Projects
Commit a2231e95 authored by Václav Rosecký's avatar Václav Rosecký Committed by Robert Lange
Browse files

Disable session writes in getRecordCover AJAX handler (#1842)

parent 5de2847e
No related merge requests found
...@@ -33,6 +33,7 @@ use VuFind\Cover\Router as CoverRouter; ...@@ -33,6 +33,7 @@ use VuFind\Cover\Router as CoverRouter;
use VuFind\Exception\RecordMissing as RecordMissingException; use VuFind\Exception\RecordMissing as RecordMissingException;
use VuFind\ILS\Driver\CacheTrait; use VuFind\ILS\Driver\CacheTrait;
use VuFind\Record\Loader as RecordLoader; use VuFind\Record\Loader as RecordLoader;
use VuFind\Session\Settings as SessionSettings;
/** /**
* GetRecordCover AJAX handler. * GetRecordCover AJAX handler.
...@@ -79,18 +80,20 @@ class GetRecordCover extends AbstractBase implements AjaxHandlerInterface ...@@ -79,18 +80,20 @@ class GetRecordCover extends AbstractBase implements AjaxHandlerInterface
/** /**
* GetRecordCover constructor. * GetRecordCover constructor.
* *
* @param RecordLoader $recordLoader Record loader * @param SessionSettings $ss Session settings
* @param CoverRouter $coverRouter Cover router * @param RecordLoader $recordLoader Record loader
* @param PhpRenderer $renderer PHP renderer (only required if * @param CoverRouter $coverRouter Cover router
* $userCoverFallbacksOnFail is set to true) * @param PhpRenderer $renderer PHP renderer (only
* @param bool $useCoverFallbacksOnFail If true we will render a * 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 * fallback html template in case no image could be loaded
*/ */
public function __construct(RecordLoader $recordLoader, public function __construct(SessionSettings $ss, RecordLoader $recordLoader,
CoverRouter $coverRouter, CoverRouter $coverRouter,
?PhpRenderer $renderer = null, ?PhpRenderer $renderer = null,
$useCoverFallbacksOnFail = false $useCoverFallbacksOnFail = false
) { ) {
$this->sessionSettings = $ss;
$this->recordLoader = $recordLoader; $this->recordLoader = $recordLoader;
$this->coverRouter = $coverRouter; $this->coverRouter = $coverRouter;
$this->renderer = $renderer; $this->renderer = $renderer;
...@@ -107,6 +110,8 @@ class GetRecordCover extends AbstractBase implements AjaxHandlerInterface ...@@ -107,6 +110,8 @@ class GetRecordCover extends AbstractBase implements AjaxHandlerInterface
*/ */
public function handleRequest(Params $params) public function handleRequest(Params $params)
{ {
$this->disableSessionWrites();
$recordId = $params->fromQuery('recordId'); $recordId = $params->fromQuery('recordId');
$recordSource = $params->fromQuery('source', DEFAULT_SEARCH_BACKEND); $recordSource = $params->fromQuery('source', DEFAULT_SEARCH_BACKEND);
$size = $params->fromQuery('size', 'small'); $size = $params->fromQuery('size', 'small');
......
...@@ -67,6 +67,7 @@ class GetRecordCoverFactory implements FactoryInterface ...@@ -67,6 +67,7 @@ class GetRecordCoverFactory implements FactoryInterface
= $container->get(\VuFind\Config\PluginManager::class)->get('config'); = $container->get(\VuFind\Config\PluginManager::class)->get('config');
$useFallbacks = $config->Content->useCoverFallbacksOnFail ?? false; $useFallbacks = $config->Content->useCoverFallbacksOnFail ?? false;
return new $requestedName( return new $requestedName(
$container->get(\VuFind\Session\Settings::class),
$container->get(\VuFind\Record\Loader::class), $container->get(\VuFind\Record\Loader::class),
$container->get(\VuFind\Cover\Router::class), $container->get(\VuFind\Cover\Router::class),
// We only need the view renderer if we're going to use fallbacks: // We only need the view renderer if we're going to use fallbacks:
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment