use POSIX qw/strftime/;
# use utf8;
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $debug $ldap $cas $caslogout);
+use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $debug $ldap $cas $caslogout $servers $memcached);
BEGIN {
$VERSION = 3.02; # set version for version checking
require C4::Auth_with_cas; # no import
import C4::Auth_with_cas qw(checkpw_cas login_cas logout_cas login_cas_url);
}
-
+ $servers = C4::Context->config('memcached_servers');
+ $memcached;
+ if ($servers) {
+ require Cache::Memcached;
+ $memcached = Cache::Memcached->new({
+ servers => [ $servers ],
+ debug => 0,
+ compress_threshold => 10_000,
+ namespace => C4::Context->config('memcached_namespace') || 'koha',
+ });
+ }
}
=head1 NAME
$template->param( loggedinusername => $user );
$template->param( sessionID => $sessionID );
- my ($total, $pubshelves, $barshelves) = C4::Context->get_shelves_userenv();
- if (defined($pubshelves)) {
- $template->param( pubshelves => scalar (@$pubshelves),
- pubshelvesloop => $pubshelves,
- );
- $template->param( pubtotal => $total->{'pubtotal'}, ) if ($total->{'pubtotal'} > scalar (@$pubshelves));
- }
- if (defined($barshelves)) {
- $template->param( barshelves => scalar (@$barshelves),
- barshelvesloop => $barshelves,
- );
- $template->param( bartotal => $total->{'bartotal'}, ) if ($total->{'bartotal'} > scalar (@$barshelves));
- }
+ my ($total, $pubshelves, $barshelves) = C4::Context->get_shelves_userenv();
+ if (defined($pubshelves)) {
+ $template->param( pubshelves => scalar @{$pubshelves},
+ pubshelvesloop => $pubshelves,
+ );
+ $template->param( pubtotal => $total->{'pubtotal'}, ) if ($total->{'pubtotal'} > scalar @{$pubshelves});
+ }
+ if (defined($barshelves)) {
+ $template->param( barshelves => scalar @{$barshelves},
+ barshelvesloop => $barshelves,
+ );
+ $template->param( bartotal => $total->{'bartotal'}, ) if ($total->{'bartotal'} > scalar @{$barshelves});
+ }
$borrowernumber = getborrowernumber($user) if defined($user);
$template->param( sessionID => $sessionID );
my ($total, $pubshelves) = C4::Context->get_shelves_userenv(); # an anonymous user has no 'barshelves'...
- if (defined(($pubshelves))) {
- $template->param( pubshelves => scalar (@$pubshelves),
+ if (defined $pubshelves) {
+ $template->param( pubshelves => scalar @{$pubshelves},
pubshelvesloop => $pubshelves,
);
- $template->param( pubtotal => $total->{'pubtotal'}, ) if ($total->{'pubtotal'} > scalar (@$pubshelves));
+ $template->param( pubtotal => $total->{'pubtotal'}, ) if ($total->{'pubtotal'} > scalar @{$pubshelves});
}
}
opacuserjs => C4::Context->preference("opacuserjs"),
opacuserlogin => "" . C4::Context->preference("opacuserlogin"),
reviewson => C4::Context->preference("reviewson"),
+ ShowReviewer => C4::Context->preference("ShowReviewer"),
suggestion => "" . C4::Context->preference("suggestion"),
virtualshelves => "" . C4::Context->preference("virtualshelves"),
OPACSerialIssueDisplayCount => C4::Context->preference("OPACSerialIssueDisplayCount"),
$total->{'bartotal'} = $totshelves;
($pubshelves, $totshelves) = C4::VirtualShelves::GetRecentShelves(2, $row_count, undef);
$total->{'pubtotal'} = $totshelves;
- $session->param('barshelves', $barshelves->[0]);
- $session->param('pubshelves', $pubshelves->[0]);
+ $session->param('barshelves', $barshelves);
+ $session->param('pubshelves', $pubshelves);
$session->param('totshelves', $total);
- C4::Context::set_shelves_userenv('bar',$barshelves->[0]);
- C4::Context::set_shelves_userenv('pub',$pubshelves->[0]);
+ C4::Context::set_shelves_userenv('bar',$barshelves);
+ C4::Context::set_shelves_userenv('pub',$pubshelves);
C4::Context::set_shelves_userenv('tot',$total);
}
else {
my ($total, $totshelves, $pubshelves);
($pubshelves, $totshelves) = C4::VirtualShelves::GetRecentShelves(2, $row_count, undef);
$total->{'pubtotal'} = $totshelves;
- $session->param('pubshelves', $pubshelves->[0]);
+ $session->param('pubshelves', $pubshelves);
$session->param('totshelves', $total);
- C4::Context::set_shelves_userenv('pub',$pubshelves->[0]);
+ C4::Context::set_shelves_userenv('pub',$pubshelves);
C4::Context::set_shelves_userenv('tot',$total);
# setting a couple of other session vars...
opacheader => C4::Context->preference("opacheader"),
TagsEnabled => C4::Context->preference("TagsEnabled"),
OPACUserCSS => C4::Context->preference("OPACUserCSS"),
+ opacstylesheet => C4::Context->preference("opacstylesheet"),
intranetcolorstylesheet =>
C4::Context->preference("intranetcolorstylesheet"),
intranetstylesheet => C4::Context->preference("intranetstylesheet"),
elsif ($storage_method eq 'Pg') {
$session = new CGI::Session("driver:PostgreSQL;serializer:yaml;id:md5", $sessionID, {Handle=>$dbh});
}
+ elsif ($storage_method eq 'memcached' && $servers){
+ $session = new CGI::Session("driver:memcached;serializer:yaml;id:md5", $sessionID, { Memcached => $memcached } );
+ }
else {
# catch all defaults to tmp should work on all systems
$session = new CGI::Session("driver:File;serializer:yaml;id:md5", $sessionID, {Directory=>'/tmp'});