Correcting C4::VirtualShelves::ShelfPossibleAction to handle the case where the staff...
[koha_fer] / C4 / Output.pm
index 2209ebb..fd32541 100644 (file)
@@ -79,7 +79,6 @@ sub gettemplate {
         $htdocs = C4::Context->config('intrahtdocs');
     }
     my $path = C4::Context->preference('intranet_includes') || 'includes';
-
     my ( $theme, $lang ) = themelanguage( $htdocs, $tmplbase, $interface, $query );
     my $opacstylesheet = C4::Context->preference('opacstylesheet');
 
@@ -133,14 +132,22 @@ sub themelanguage {
     # Set some defaults for language and theme
     # First, check the user's preferences
     my $lang;
-    my $http_accept_language = regex_lang_subtags($ENV{HTTP_ACCEPT_LANGUAGE})->{language};
+       my $http_env = $ENV{HTTP_ACCEPT_LANGUAGE};
+       $http_env =~ m/(\w+-*\w*),/;
+       my $language_preference = $1;
+    my $http_accept_language = regex_lang_subtags($language_preference)->{language};
     if ($http_accept_language) {
         $lang = accept_language($http_accept_language,getTranslatedLanguages($interface,'prog'));
     } 
     # But, if there's a cookie set, obey it
     $lang = $query->cookie('KohaOpacLanguage') if $query->cookie('KohaOpacLanguage');
     # Fall back to English
-    my @languages = split " ", C4::Context->preference("opaclanguages");
+    my @languages;
+    if ($interface eq 'intranet') {
+        @languages = split ",", C4::Context->preference("language");
+    } else {
+        @languages = split ",", C4::Context->preference("opaclanguages");
+    }
     if ($lang){  
         @languages=($lang,@languages);
     } else {
@@ -233,7 +240,7 @@ sub pagination_bar {
        $base_url =~ s/$delim;//g;              # remove empties
        $base_url =~ s/$delim$//;               # remove trailing delim
 
-    my $url = $base_url . ( $base_url =~ m/$delim/ ? '&' : '?' ) . $startfrom_name . '=';
+    my $url = $base_url . (($base_url =~ m/$delim/ or $base_url =~ m/\?/) ? '&' : '?' ) . $startfrom_name . '=';
     my $pagination_bar = '';
 
     # navigation bar useful only if more than one page to display !