From c18563862401679dfa9d03323f58451852b29401 Mon Sep 17 00:00:00 2001 From: Jesse Weaver Date: Fri, 13 May 2016 16:39:08 -0600 Subject: [PATCH] Bug 16520: Initialize the sysprefs Koha::Cache on demand This is needed so that the cache singleton doesn't get created before the MEMCACHED_* environment variables are set. --- C4/Context.pm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/C4/Context.pm b/C4/Context.pm index c80647a..8f043ce 100644 --- a/C4/Context.pm +++ b/C4/Context.pm @@ -512,21 +512,22 @@ with this method. =cut -my $syspref_cache = Koha::Cache->get_instance(); +my $syspref_cache; my $use_syspref_cache = 1; sub preference { my $self = shift; my $var = shift; # The system preference to return - $var = lc $var; - return $ENV{"OVERRIDE_SYSPREF_$var"} if defined $ENV{"OVERRIDE_SYSPREF_$var"}; - my $cached_var = $use_syspref_cache - ? $syspref_cache->get_from_cache("syspref_$var") - : undef; - return $cached_var if defined $cached_var; + $var = lc $var; + + if ($use_syspref_cache) { + $syspref_cache = Koha::Cache->get_instance() unless $syspref_cache; + my $cached_var = $syspref_cache->get_from_cache("syspref_$var"); + return $cached_var if defined $cached_var; + } my $syspref; eval { $syspref = Koha::Config::SysPrefs->find( lc $var ) }; -- 2.8.1