authenticated page.
More information on the C<gettemplate> sub can be found in the
- Output.pm module.
+ Templates.pm module.
=cut
sub get_template_and_user {
my $in = shift;
my $query = $in->{'query'};
- my $language = $query->cookie('KohaOpacLanguage');
- my $path =
- C4::Context->config('intrahtdocs') . "/prog/"
- . ( $language ? $language : "en" );
-
+ my $language =_get_template_language($query->cookie('KohaOpacLanguage'));
+ my $path = C4::Context->config('intrahtdocs'). "/prog/". $language;
+
my $tmplbase = $in->{template_name};
$tmplbase=~ s/\.tmpl$/.tt/;
my $filename = "$path/modules/" . $tmplbase;
my $interface = 'intranet';
- my $template = C4::Templates->new( $interface, $filename, $tmplbase);
+ my $template = C4::Templates->new( $interface, $filename, $tmplbase, $query);
-
my ( $user, $cookie, $sessionID, $flags ) = checkauth(
$in->{'query'},
$in->{'authnotrequired'},
return ( $template, $borrowernumber, $cookie );
}
+sub _get_template_language {
+
+ #verify if opac language exists in staff (bug 5660)
+ #conditions are 1) dir exists and 2) enabled in prefs
+ my ($opaclang) = @_;
+ return 'en' unless $opaclang;
+ $opaclang =~ s/[^a-zA-Z_-]*//g;
+ my $path = C4::Context->config('intrahtdocs') . "/prog/$opaclang";
+ -d $path ? $opaclang : 'en';
+}
+
=item checkauth
($userid, $cookie, $sessionID) = &checkauth($query, $noauth, $flagsrequired, $type);
C4::Context->_unset_userenv($sessionID);
$sessionID = undef;
$userid = undef;
- open L, ">>/tmp/sessionlog";
- my $time = localtime( time() );
- printf L "%20s from %16s logged out at %30s (manually).\n", $userid,
- $ip, $time;
- close L;
+ # Commented out due to its lack of usefulness
+ # open L, ">>/tmp/sessionlog";
+ # my $time = localtime( time() );
+ # printf L "%20s from %16s logged out at %30s (manually).\n", $userid,
+ # $ip, $time;
+ # close L;
}
}
unless ($userid) {
my ( $return, $cardnumber ) = checkpw( $userid, $password );
if ($return) {
$loggedin = 1;
- open L, ">>/tmp/sessionlog";
- my $time = localtime( time() );
- printf L "%20s from %16s logged in at %30s.\n", $userid,
- $ENV{'REMOTE_ADDR'}, $time;
- close L;
+ # open L, ">>/tmp/sessionlog";
+ # my $time = localtime( time() );
+ # printf L "%20s from %16s logged in at %30s.\n", $userid,
+ # $ENV{'REMOTE_ADDR'}, $time;
+ # close L;
$cookie = $query->cookie( CGISESSID => $sessionID );
if ( $return == 2 ) {
my $filename = "$path/modules/$template_name";
$filename =~ s/\.tmpl$/.tt/;
my $interface = 'intranet';
- my $template = C4::Templates->new( $interface, $filename);
+ my $template = C4::Templates->new( $interface, $filename, '', $query);
$template->param(
INPUTS => \@inputs,