[Koha-patches] [PATCH] Bug 5660: Webinstaller should check if KohaOpacLanguage exists on staff side

Marcel de Rooy M.de.Rooy at rijksmuseum.nl
Wed Jan 26 16:23:04 CET 2011


---
 installer/InstallAuth.pm |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/installer/InstallAuth.pm b/installer/InstallAuth.pm
index 3a55b21..9353200 100644
--- a/installer/InstallAuth.pm
+++ b/installer/InstallAuth.pm
@@ -109,10 +109,8 @@ 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 $template = HTML::Template::Pro->new(
         filename          => "$path/modules/" . $in->{template_name},
         die_on_bad_params => 1,
@@ -159,6 +157,20 @@ 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)= @_;
+  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.6.0.6


More information about the Koha-patches mailing list