[Koha-patches] [Signed Off] [PATCH] 5660 Webinstaller should check if KohaOpacLanguage exists in staff

Chris Cormack chrisc at catalyst.net.nz
Tue May 17 02:45:59 CEST 2011


From: Marcel de Rooy <m.de.rooy at rijksmuseum.nl>

Rebased on April 27 for master (3.05.00.001).

Signed-off-by: Chris Cormack <chrisc at catalyst.net.nz>
---
 installer/InstallAuth.pm |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/installer/InstallAuth.pm b/installer/InstallAuth.pm
index 26ba5a7..3efc407 100644
--- a/installer/InstallAuth.pm
+++ b/installer/InstallAuth.pm
@@ -110,18 +110,15 @@ InstallAuth - Authenticates Koha users for Install process
 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 ( $user, $cookie, $sessionID, $flags ) = checkauth(
         $in->{'query'},
         $in->{'authnotrequired'},
@@ -160,6 +157,21 @@ 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;
+  my $path= C4::Context->config('intrahtdocs')."/prog/$opaclang";
+  my $pref= ','.C4::Context->preference('language').',';
+  if(-d $path) {
+    if($pref =~ /,$opaclang,/ ) {
+      return $opaclang;
+    }
+  }
+  return 'en';
+}
+
 =item checkauth
 
   ($userid, $cookie, $sessionID) = &checkauth($query, $noauth, $flagsrequired, $type);
-- 
1.7.4.1



More information about the Koha-patches mailing list