C4::Context->interface( $in->{type} );
- my $safe_chars = 'a-zA-Z_\-\/';
- die "bad template path" unless $in->{'template_name'} =~ m/^[$safe_chars]+.tt?$/ig; #sanitize input
+ my $safe_chars = 'a-zA-Z0-9_\-\/';
+ die "bad template path" unless $in->{'template_name'} =~ m/^[$safe_chars]+\.tt$/ig; #sanitize input
$in->{'authnotrequired'} ||= 0;
my $template = C4::Templates::gettemplate(
);
}
+
+ # If the user logged in is the SCO user and he tries to go out the SCO module, log the user out removing the CGISESSID cookie
+ if ( $in->{type} eq 'opac' and $in->{template_name} !~ m|sco/| ) {
+ if ( C4::Context->preference('AutoSelfCheckID') && $user eq C4::Context->preference('AutoSelfCheckID') ) {
+ $template = C4::Templates::gettemplate( 'opac-auth.tt', 'opac', $in->{query} );
+ my $cookie = $in->{query}->cookie(
+ -name => 'CGISESSID',
+ -value => '',
+ -expires => '',
+ -HttpOnly => 1,
+ );
+
+ $template->param( loginprompt => 1 );
+ print $in->{query}->header(
+ -type => 'text/html',
+ -charset => 'utf-8',
+ -cookie => $cookie,
+ ),
+ $template->output;
+ safe_exit;
+ }
+ }
+
my $borrowernumber;
if ($user) {
require C4::Members;
$template->param( sessionID => $sessionID );
if ( $in->{'type'} eq 'opac' ) {
- require C4::VirtualShelves;
- my ( $total, $pubshelves, $barshelves ) = C4::VirtualShelves::GetSomeShelfNames( $borrowernumber, 'MASTHEAD' );
+ require Koha::Virtualshelves;
+ my $some_private_shelves = Koha::Virtualshelves->get_some_shelves(
+ {
+ borrowernumber => $borrowernumber,
+ category => 1,
+ }
+ );
+ my $some_public_shelves = Koha::Virtualshelves->get_some_shelves(
+ {
+ category => 2,
+ }
+ );
$template->param(
- pubshelves => $total->{pubtotal},
- pubshelvesloop => $pubshelves,
- barshelves => $total->{bartotal},
- barshelvesloop => $barshelves,
+ some_private_shelves => $some_private_shelves,
+ some_public_shelves => $some_public_shelves,
);
}
$template->param( sessionID => $sessionID );
if ( $in->{'type'} eq 'opac' ){
- require C4::VirtualShelves;
- my ( $total, $pubshelves ) = C4::VirtualShelves::GetSomeShelfNames( undef, 'MASTHEAD' );
+ require Koha::Virtualshelves;
+ my $some_public_shelves = Koha::Virtualshelves->get_some_shelves(
+ {
+ category => 2,
+ }
+ );
$template->param(
- pubshelves => $total->{pubtotal},
- pubshelvesloop => $pubshelves,
+ some_public_shelves => $some_public_shelves,
);
}
}
$template->param( dateformat => C4::Context->preference('dateformat') );
}
+ $template->param(auth_forwarded_hash => $in->{'query'}->param('auth_forwarded_hash'));
+
# these template parameters are set the same regardless of $in->{'type'}
# Set the using_https variable for templates
AmazonCoverImages => C4::Context->preference("AmazonCoverImages"),
AutoLocation => C4::Context->preference("AutoLocation"),
"BiblioDefaultView" . C4::Context->preference("IntranetBiblioDefaultView") => 1,
- CalendarFirstDayOfWeek => ( C4::Context->preference("CalendarFirstDayOfWeek") eq "Sunday" ) ? 0 : 1,
CircAutocompl => C4::Context->preference("CircAutocompl"),
FRBRizeEditions => C4::Context->preference("FRBRizeEditions"),
IndependentBranches => C4::Context->preference("IndependentBranches"),
AuthorisedValueImages => C4::Context->preference("AuthorisedValueImages"),
BranchesLoop => GetBranchesLoop($opac_name),
BranchCategoriesLoop => GetBranchCategories( 'searchdomain', 1, $opac_name ),
- CalendarFirstDayOfWeek => ( C4::Context->preference("CalendarFirstDayOfWeek") eq "Sunday" ) ? 0 : 1,
LibraryName => "" . C4::Context->preference("LibraryName"),
LibraryNameTitle => "" . $LibraryNameTitle,
LoginBranchname => C4::Context->userenv ? C4::Context->userenv->{"branchname"} : "",
# state variables
my $loggedin = 0;
my %info;
- my ( $userid, $cookie, $sessionID, $flags, $barshelves, $pubshelves );
+ my ( $userid, $cookie, $sessionID, $flags );
my $logout = $query->param('logout.x');
my $anon_search_history;
$template->param( loginprompt => 1 ) unless $info{'nopermission'};
if ( $type eq 'opac' ) {
- require C4::VirtualShelves;
- my ( $total, $pubshelves ) = C4::VirtualShelves::GetSomeShelfNames( undef, 'MASTHEAD' );
+ require Koha::Virtualshelves;
+ my $some_public_shelves = Koha::Virtualshelves->get_some_shelves(
+ {
+ category => 2,
+ }
+ );
$template->param(
- pubshelves => $total->{pubtotal},
- pubshelvesloop => $pubshelves,
+ some_public_shelves => $some_public_shelves,
);
}
);
}
- my $self_url = $query->url( -absolute => 1 );
$template->param(
- url => $self_url,
LibraryName => C4::Context->preference("LibraryName"),
);
$template->param(%info);
sub get_all_subpermissions {
my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare( "SELECT flag, code, description
+ my $sth = $dbh->prepare( "SELECT flag, code
FROM permissions
JOIN userflags ON (module_bit = bit)" );
$sth->execute();
my $all_perms = {};
while ( my $perm = $sth->fetchrow_hashref ) {
- $all_perms->{ $perm->{'flag'} }->{ $perm->{'code'} } = $perm->{'description'};
+ $all_perms->{ $perm->{'flag'} }->{ $perm->{'code'} } = 1;
}
return $all_perms;
}