From: Galen Charlton Date: Sun, 8 Sep 2013 05:08:51 +0000 (+0000) Subject: Bug 10325: (follow-up) restore case-insensivity of syspref cache X-Git-Url: http://git.rot13.org/?a=commitdiff_plain;h=b4c2ee3d9d22d1be93b6dfca5c251a03ec120125;p=koha.git Bug 10325: (follow-up) restore case-insensivity of syspref cache Case-insensitivity of the system preference cache was introduced in the patch for bug 6132. This patch corrects some breakage that occurred. Longer-term, IMO a hard look needs to be taken at using a case-insensitive collation for syspref codes, and coded values in general. Signed-off-by: Galen Charlton --- diff --git a/C4/Context.pm b/C4/Context.pm index 7bc709794b..739a0ec973 100644 --- a/C4/Context.pm +++ b/C4/Context.pm @@ -542,8 +542,8 @@ sub preference { my $self = shift; my $var = shift; # The system preference to return - if ($use_syspref_cache && exists $sysprefs{$var}) { - return $sysprefs{$var}; + if ($use_syspref_cache && exists $sysprefs{lc $var}) { + return $sysprefs{lc $var}; } my $dbh = C4::Context->dbh or return 0; @@ -559,10 +559,10 @@ sub preference { WHERE variable = ? LIMIT 1 }; - $value = $dbh->selectrow_array( $sql, {}, $var ); + $value = $dbh->selectrow_array( $sql, {}, lc $var ); } - $sysprefs{$var} = $value; + $sysprefs{lc $var} = $value; return $value; }