if ( psgi_env ) { die 'psgi:exit' }
else { exit }
}
+ $VERSION = 3.07.00.049; # set version for version checking
- $VERSION = 3.02; # set version for version checking
$debug = $ENV{DEBUG};
@ISA = qw(Exporter);
@EXPORT = qw(&checkauth &get_template_and_user &haspermission &get_user_subpermissions);
my $borrowernumber;
my $insecure = C4::Context->preference('insecure');
if ($user or $insecure) {
+ require C4::Members;
# It's possible for $user to be the borrowernumber if they don't have a
# userid defined (and are logging in through some other method, such
# as SSL certs against an email address)
$borrowernumber = getborrowernumber($user) if defined($user);
if (!defined($borrowernumber) && defined($user)) {
- my $borrower = GetMember(borrowernumber => $user);
- if ($borrower) {
- $borrowernumber = $user;
+ my $borrower = C4::Members::GetMember(borrowernumber => $user);
+ if ($borrower) {
+ $borrowernumber = $user;
# A bit of a hack, but I don't know there's a nicer way
# to do it.
$user = $borrower->{firstname} . ' ' . $borrower->{surname};
$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::VirtualShelves::GetSomeShelfNames($borrowernumber, 'MASTHEAD');
+ $template->param(
+ pubshelves => $total->{pubtotal},
+ pubshelvesloop => $pubshelves,
+ barshelves => $total->{bartotal},
+ barshelvesloop => $barshelves,
+ );
- require C4::Members;
my ( $borr ) = C4::Members::GetMemberDetails( $borrowernumber );
my @bordat;
$bordat[0] = $borr;
$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},
- pubshelvesloop => $pubshelves,
- );
- $template->param( pubtotal => $total->{'pubtotal'}, ) if ($total->{'pubtotal'} > scalar @{$pubshelves});
- }
-
+ my ($total, $pubshelves) = C4::VirtualShelves::GetSomeShelfNames(undef, 'MASTHEAD');
+ $template->param(
+ pubshelves => $total->{pubtotal},
+ pubshelvesloop => $pubshelves,
+ );
}
# Anonymous opac search history
# If opac search history is enabled and at least one search has already been performed
"BiblioDefaultView".C4::Context->preference("BiblioDefaultView") => 1,
EnhancedMessagingPreferences => C4::Context->preference('EnhancedMessagingPreferences'),
GoogleJackets => C4::Context->preference("GoogleJackets"),
- OpenLibraryCovers => C4::Context->preference("OpenLibraryCovers"),
+ OpenLibraryCovers => C4::Context->preference("OpenLibraryCovers"),
KohaAdminEmailAddress => "" . C4::Context->preference("KohaAdminEmailAddress"),
LoginBranchcode => (C4::Context->userenv?C4::Context->userenv->{"branch"}:"insecure"),
LoginFirstname => (C4::Context->userenv?C4::Context->userenv->{"firstname"}:"Bel"),
XSLTDetailsDisplay => C4::Context->preference("XSLTDetailsDisplay"),
XSLTResultsDisplay => C4::Context->preference("XSLTResultsDisplay"),
using_https => $in->{'query'}->https() ? 1 : 0,
- noItemTypeImages => C4::Context->preference("noItemTypeImages"),
+ noItemTypeImages => C4::Context->preference("noItemTypeImages"),
+ marcflavour => C4::Context->preference("marcflavour"),
);
if ( $in->{'type'} eq "intranet" ) {
LocalCoverImages => C4::Context->preference('LocalCoverImages'),
OPACLocalCoverImages => C4::Context->preference('OPACLocalCoverImages'),
AllowMultipleCovers => C4::Context->preference('AllowMultipleCovers'),
+ EnableBorrowerFiles => C4::Context->preference('EnableBorrowerFiles'),
);
}
else {
$LibraryNameTitle =~ s/<(?:\/?)(?:br|p)\s*(?:\/?)>/ /sgi;
$LibraryNameTitle =~ s/<(?:[^<>'"]|'(?:[^']*)'|"(?:[^"]*)")*>//sg;
# clean up the busc param in the session if the page is not opac-detail
- if ($in->{'template_name'} =~ /opac-(.+)\.(?:tt|tmpl)$/ && $1 !~ /^(?:MARC|ISBD)?detail$/) {
+ if (C4::Context->preference("OpacBrowseResults") && $in->{'template_name'} =~ /opac-(.+)\.(?:tt|tmpl)$/ && $1 !~ /^(?:MARC|ISBD)?detail$/) {
my $sessionSearch = get_session($sessionID || $in->{'query'}->cookie("CGISESSID"));
$sessionSearch->clear(["busc"]) if ($sessionSearch->param("busc"));
}
OpacKohaUrl => C4::Context->preference("OpacKohaUrl"),
OpacMainUserBlock => "" . C4::Context->preference("OpacMainUserBlock"),
OpacNav => "" . C4::Context->preference("OpacNav"),
+ OpacNavRight => "" . C4::Context->preference("OpacNavRight"),
OpacNavBottom => "" . C4::Context->preference("OpacNavBottom"),
OpacPasswordChange => C4::Context->preference("OpacPasswordChange"),
OPACPatronDetails => C4::Context->preference("OPACPatronDetails"),
elsif ( $lasttime < time() - $timeout ) {
# timed logout
$info{'timed_out'} = 1;
- $session->delete();
+ $session->delete() if $session;
C4::Context->_unset_userenv($sessionID);
#_session_log(sprintf "%20s from %16s logged out at %30s (inactivity).\n", $userid,$ip,(strftime "%c",localtime));
$userid = undef;
$session->param('emailaddress'), $session->param('branchprinter')
);
- # Grab borrower's shelves and public shelves and add them to the session
- # $row_count determines how many records are returned from the db query
- # and the number of lists to be displayed of each type in the 'Lists' button drop down
- my $row_count = 10; # FIXME:This probably should be a syspref
- my ($total, $totshelves, $barshelves, $pubshelves);
- ($barshelves, $totshelves) = C4::VirtualShelves::GetRecentShelves(1, $row_count, $borrowernumber);
- $total->{'bartotal'} = $totshelves;
- ($pubshelves, $totshelves) = C4::VirtualShelves::GetRecentShelves(2, $row_count, undef);
- $total->{'pubtotal'} = $totshelves;
- $session->param('barshelves', $barshelves);
- $session->param('pubshelves', $pubshelves);
- $session->param('totshelves', $total);
-
- C4::Context::set_shelves_userenv('bar',$barshelves);
- C4::Context::set_shelves_userenv('pub',$pubshelves);
- C4::Context::set_shelves_userenv('tot',$total);
}
else {
if ($userid) {
# anonymous sessions are created only for the OPAC
$debug and warn "Initiating an anonymous session...";
- # Grab the public shelves and add to the session...
- my $row_count = 20; # FIXME:This probably should be a syspref
- my ($total, $totshelves, $pubshelves);
- ($pubshelves, $totshelves) = C4::VirtualShelves::GetRecentShelves(2, $row_count, undef);
- $total->{'pubtotal'} = $totshelves;
- $session->param('pubshelves', $pubshelves);
- $session->param('totshelves', $total);
- C4::Context::set_shelves_userenv('pub',$pubshelves);
- C4::Context::set_shelves_userenv('tot',$total);
-
# setting a couple of other session vars...
$session->param('ip',$session->remote_addr());
$session->param('lasttime',time());
LibraryName => C4::Context->preference("LibraryName"),
opacuserlogin => C4::Context->preference("opacuserlogin"),
OpacNav => C4::Context->preference("OpacNav"),
+ OpacNavRight => C4::Context->preference("OpacNavRight"),
OpacNavBottom => C4::Context->preference("OpacNavBottom"),
opaccredits => C4::Context->preference("opaccredits"),
OpacFavicon => C4::Context->preference("OpacFavicon"),
my ( $dbh, $userid, $password, $query ) = @_;
if ($ldap) {
- $debug and print "## checkpw - checking LDAP\n";
+ $debug and print STDERR "## checkpw - checking LDAP\n";
my ($retval,$retcard,$retuserid) = checkpw_ldap(@_); # EXTERNAL AUTH
($retval) and return ($retval,$retcard,$retuserid);
}
return 0;
}
+
END { } # module clean-up code here (global destructor)
1;
__END__