X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=installer%2FInstallAuth.pm;h=10cbea3f3cbaa058381f629d6129f52f17d98241;hb=a5241093b3cfd564f69b26a76b52ef04eaa5719e;hp=2b2ccd5b895e8d40e20fe09b8ad322a18c14853c;hpb=1b12339c19dc89172afdb541ac1d65628822e64c;p=koha_gimpoz diff --git a/installer/InstallAuth.pm b/installer/InstallAuth.pm index 2b2ccd5b89..10cbea3f3c 100644 --- a/installer/InstallAuth.pm +++ b/installer/InstallAuth.pm @@ -16,16 +16,18 @@ package InstallAuth; # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; +#use warnings; FIXME - Bug 2505 use Digest::MD5 qw(md5_base64); require Exporter; use C4::Context; use C4::Output; +use C4::Templates; use C4::Koha; use CGI::Session; @@ -101,25 +103,22 @@ InstallAuth - Authenticates Koha users for Install process authenticated page. More information on the C 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 $template = HTML::Template::Pro->new( - filename => "$path/modules/" . $in->{template_name}, - die_on_bad_params => 1, - global_vars => 1, - case_sensitive => 1, - path => ["$path/includes"] - ); - + 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, $query); + my ( $user, $cookie, $sessionID, $flags ) = checkauth( $in->{'query'}, $in->{'authnotrequired'}, @@ -158,6 +157,17 @@ sub get_template_and_user { 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); @@ -354,13 +364,10 @@ sub checkauth { my $path = C4::Context->config('intrahtdocs') . "/prog/" . ( $query->param('language') ? $query->param('language') : "en" ); - my $template = HTML::Template::Pro->new( - filename => "$path/modules/$template_name", - die_on_bad_params => 1, - global_vars => 1, - case_sensitive => 1, - path => ["$path/includes"] - ); + my $filename = "$path/modules/$template_name"; + $filename =~ s/\.tmpl$/.tt/; + my $interface = 'intranet'; + my $template = C4::Templates->new( $interface, $filename, '', $query); $template->param( INPUTS => \@inputs,