$template->param( bartotal => $total->{'bartotal'}, ) if ($total->{'bartotal'} > scalar (@$barshelves));
}
- $borrowernumber = getborrowernumber($user);
+ $borrowernumber = getborrowernumber($user) if defined($user);
+
my ( $borr ) = GetMemberDetails( $borrowernumber );
my @bordat;
$bordat[0] = $borr;
}
else {
warn "template type should be OPAC, here it is=[" . $in->{'type'} . "]" unless ( $in->{'type'} eq 'opac' );
+ #TODO : replace LibraryName syspref with 'system name', and remove this html processing
my $LibraryNameTitle = C4::Context->preference("LibraryName");
$LibraryNameTitle =~ s/<(?:\/?)(?:br|p)\s*(?:\/?)>/ /sgi;
$LibraryNameTitle =~ s/<(?:[^<>'"]|'(?:[^']*)'|"(?:[^"]*)")*>//sg;
+ # variables passed from CGI: opac_css_override and opac_search_limits.
+ my $opac_search_limit = $ENV{'OPAC_SEARCH_LIMIT'};
+ my $opac_limit_override = $ENV{'OPAC_LIMIT_OVERRIDE'};
+ my $mylibraryfirst = C4::Context->preference("SearchMyLibraryFirst");
+ my $opac_name;
+ if($opac_limit_override && ($opac_search_limit =~ /branch:(\w+)/) ){
+ $opac_name = C4::Branch::GetBranchName($1) # opac_search_limit is a branch, so we use it.
+ } elsif($mylibraryfirst){
+ $opac_name = C4::Branch::GetBranchName($mylibraryfirst);
+ }
$template->param(
OPACAmazonContent => "" . C4::Context->preference("OPACAmazonContent"),
+ OPACAmazonCoverImages => "" . C4::Context->preference("OPACAmazonCoverImages"),
+ OPACAmazonSimilarItems => "" . C4::Context->preference("OPACAmazonSimilarItems"),
+ OPACAmazonEnabled => C4::Context->preference("OPACAmazonEnabled"),
+ OPACAmazonReviews => C4::Context->preference("OPACAmazonReviews"),
AnonSuggestions => "" . C4::Context->preference("AnonSuggestions"),
AuthorisedValueImages => C4::Context->preference("AuthorisedValueImages"),
LibraryName => "" . C4::Context->preference("LibraryName"),
LibraryNameTitle => "" . $LibraryNameTitle,
LoginBranchname => C4::Context->userenv?C4::Context->userenv->{"branchname"}:"",
- OPACAmazonSimilarItems => "" . C4::Context->preference("OPACAmazonSimilarItems"),
OPACFRBRizeEditions => C4::Context->preference("OPACFRBRizeEditions"),
OPACItemHolds => C4::Context->preference("OPACItemHolds"),
OPACShelfBrowser => "". C4::Context->preference("OPACShelfBrowser"),
OPACUserCSS => "". C4::Context->preference("OPACUserCSS"),
OPACViewOthersSuggestions => "" . C4::Context->preference("OPACViewOthersSuggestions"),
OpacAuthorities => C4::Context->preference("OpacAuthorities"),
- OPACBaseURL => ($in->{'query'}->https() ? "https://" : "http://") .
- $ENV{'SERVER_NAME'} .
+ OPACBaseURL => ($in->{'query'}->https() ? "https://" : "http://") . $ENV{'SERVER_NAME'} .
($ENV{'SERVER_PORT'} eq ($in->{'query'}->https() ? "443" : "80") ? '' : ":$ENV{'SERVER_PORT'}"),
+ opac_name => $opac_name,
+ opac_css_override => $ENV{'OPAC_CSS_OVERRIDE'},
+ opac_search_limit => $opac_search_limit,
+ opac_limit_override => $opac_limit_override,
OpacBrowser => C4::Context->preference("OpacBrowser"),
OpacCloud => C4::Context->preference("OpacCloud"),
OpacMainUserBlock => "" . C4::Context->preference("OpacMainUserBlock"),
OpacNav => "" . C4::Context->preference("OpacNav"),
OpacPasswordChange => C4::Context->preference("OpacPasswordChange"),
OpacTopissue => C4::Context->preference("OpacTopissue"),
+ OpacRecentAcquisitions => C4::Context->preference("OpacRecentAcquisitions"),
RequestOnOpac => C4::Context->preference("RequestOnOpac"),
TemplateEncoding => "". C4::Context->preference("TemplateEncoding"),
'Version' => C4::Context->preference('Version'),
XSLTDetailsDisplay => C4::Context->preference("XSLTDetailsDisplay"),
XSLTResultsDisplay => C4::Context->preference("XSLTResultsDisplay"),
hidelostitems => C4::Context->preference("hidelostitems"),
- mylibraryfirst => C4::Context->preference("SearchMyLibraryFirst"),
+ mylibraryfirst => (C4::Context->preference("SearchMyLibraryFirst") && C4::Context->userenv) ? C4::Context->userenv->{'branch'} : '',
+ opaclayoutstylesheet => "" . C4::Context->preference("opaclayoutstylesheet"),
+ opaccolorstylesheet => "" . C4::Context->preference("opaccolorstylesheet"),
+ opacstylesheet => "" . C4::Context->preference("opacstylesheet"),
opacbookbag => "" . C4::Context->preference("opacbookbag"),
- opaccolorstylesheet => "". C4::Context->preference("opaccolorstylesheet"),
opaccredits => "" . C4::Context->preference("opaccredits"),
opacheader => "" . C4::Context->preference("opacheader"),
- opaclanguagesdisplay => "". C4::Context->preference("opaclanguagesdisplay"),
- opaclayoutstylesheet => "". C4::Context->preference("opaclayoutstylesheet"),
+ opaclanguagesdisplay => "" . C4::Context->preference("opaclanguagesdisplay"),
opacreadinghistory => C4::Context->preference("opacreadinghistory"),
opacsmallimage => "" . C4::Context->preference("opacsmallimage"),
opacuserjs => C4::Context->preference("opacuserjs"),
my ( $md5password, $cardnumber, $borrowernumber, $userid, $firstname,
$surname, $branchcode, $flags )
= $sth->fetchrow;
- if ( md5_base64($password) eq $md5password ) {
+ if ( ( md5_base64($password) eq $md5password ) and ($md5password ne "!") ) {
C4::Context->set_userenv( "$borrowernumber", $userid, $cardnumber,
$firstname, $surname, $branchcode, $flags );
my ( $md5password, $cardnumber, $borrowernumber, $userid, $firstname,
$surname, $branchcode, $flags )
= $sth->fetchrow;
- if ( md5_base64($password) eq $md5password ) {
+ if ( ( md5_base64($password) eq $md5password ) and ($md5password ne "!") ) {
C4::Context->set_userenv( $borrowernumber, $userid, $cardnumber,
$firstname, $surname, $branchcode, $flags );
- return 1, $userid;
+ return 1, $cardnumber;
}
}
if ( $userid && $userid eq C4::Context->config('user')
sub haspermission {
my ($userid, $flagsrequired) = @_;
- my $sth = C4::Context->dbh->prepare("SELECT flags FROM borrowers WHERE userid=?");
- $sth->execute($userid);
+ my $sth = C4::Context->dbh->prepare("SELECT flags FROM borrowers WHERE userid=? or cardnumber=?");
+ $sth->execute($userid,$userid);
my $flags = getuserflags( $sth->fetchrow(), $userid );
if ( $userid eq C4::Context->config('user') ) {
# Super User Account from /etc/koha.conf
sub getborrowernumber {
my ($userid) = @_;
+ my $userenv = C4::Context->userenv;
+ if ( defined( $userenv ) && ref( $userenv ) eq 'HASH' && $userenv->{number} ) {
+ return $userenv->{number};
+ }
my $dbh = C4::Context->dbh;
for my $field ( 'userid', 'cardnumber' ) {
my $sth =