Bug 36098: Allow to pass storage_method

Will need this on follow-up bugs.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 56d8ac2476)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
(cherry picked from commit be03ca910f)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit ac8c0a8a4a)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
This commit is contained in:
Jonathan Druart 2024-02-15 14:05:21 +01:00 committed by Frédéric Demians
parent dcf85eb05a
commit 516efe873e

View file

@ -51,8 +51,8 @@ will be created.
=cut
sub _get_session_params {
my $class = shift;
my $storage_method = C4::Context->preference('SessionStorage');
my ( $class, $storage_method ) = @_;
$storage_method ||= C4::Context->preference('SessionStorage');
if ( $storage_method eq 'mysql' ) {
my $dbh = C4::Context->dbh;
return { dsn => "serializer:yamlxs;driver:MySQL;id:md5", dsn_args => { Handle => $dbh } };
@ -76,7 +76,8 @@ sub _get_session_params {
sub get_session {
my ( $class, $args ) = @_;
my $sessionID = $args->{sessionID};
my $params = $class->_get_session_params();
my $storage_method = $args->{storage_method};
my $params = $class->_get_session_params( { storage_method => $storage_method } );
my $session;
if ($sessionID) { # find existing
CGI::Session::ErrorHandler->set_error(q{}); # clear error, cpan issue #111463