use strict;
use warnings;
use vars qw($VERSION $AUTOLOAD $context @context_stack $servers $memcached $ismemcached);
-
BEGIN {
if ($ENV{'HTTP_USER_AGENT'}) {
require CGI::Carp;
sub preference {
my $self = shift;
- my $var = lc(shift); # The system preference to return
+ 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;
- # Look up systempreferences.variable==$var
- my $sql = <<'END_SQL';
- SELECT value
- FROM systempreferences
- WHERE variable=?
- LIMIT 1
-END_SQL
- $sysprefs{$var} = $dbh->selectrow_array( $sql, {}, $var );
- return $sysprefs{$var};
+ my $value;
+ if ( defined $ENV{"OVERRIDE_SYSPREF_$var"} ) {
+ $value = $ENV{"OVERRIDE_SYSPREF_$var"};
+ } else {
+ # Look up systempreferences.variable==$var
+ my $sql = q{
+ SELECT value
+ FROM systempreferences
+ WHERE variable = ?
+ LIMIT 1
+ };
+ $value = $dbh->selectrow_array( $sql, {}, lc $var );
+ }
+
+ $sysprefs{lc $var} = $value;
+ return $value;
}
sub boolean_preference {
#'
sub set_userenv {
- my (
- $usernum, $userid, $usercnum, $userfirstname,
- $usersurname, $userbranch, $branchname, $userflags,
- $emailaddress, $branchprinter, $persona
- ) = @_;
- for (
- $usernum, $userid, $usercnum, $userfirstname,
- $usersurname, $userbranch, $branchname, $userflags,
- $emailaddress, $branchprinter, $persona
- )
- {
- utf8::decode($_) if $_;
- }
-
- # CGI::Session doesn't handle utf-8, so we decode it here
-
+ my ($usernum, $userid, $usercnum, $userfirstname, $usersurname, $userbranch, $branchname, $userflags, $emailaddress, $branchprinter, $persona)= @_;
my $var=$context->{"activeuser"} || '';
my $cell = {
"number" => $usernum,