Bug 6755 Problems with switching languages
[koha-equinox.git] / opac / opac-main.pl
index 177d812..ff71006 100755 (executable)
@@ -54,33 +54,7 @@ $template->param(
 
 # display news
 # use cookie setting for language, bug default to syspref if it's not set
-(my $theme) = themelanguage(C4::Context->config('opachtdocs'),'opac-main.tmpl','opac',$input);
-
-my $translations = getTranslatedLanguages('opac',$theme);
-my @languages = ();
-foreach my $trans (@$translations)
-{
-    push(@languages, $trans->{rfc4646_subtag});
-}
-
-my $news_lang;
-if($input->cookie('KohaOpacLanguage')){
-    $news_lang = $input->cookie('KohaOpacLanguage');
-}else{
-    if ($ENV{HTTP_ACCEPT_LANGUAGE}) {
-        while( !$news_lang && ( $ENV{HTTP_ACCEPT_LANGUAGE} =~ m/([a-zA-Z]{2,}-?[a-zA-Z]*)(;|,)?/g ) ){
-            if( my @lang = grep { /^$1$/i } @languages ) {
-                $news_lang = $lang[0];
-            }
-        }
-    }
-    if (not $news_lang) {
-        my @languages = split ",", C4::Context->preference("opaclanguages");
-        $news_lang = $languages[0];
-    }
-}
-
-$news_lang = $news_lang ? $news_lang : 'en' ;
+my ($theme, $news_lang) = C4::Templates::themelanguage(C4::Context->config('opachtdocs'),'opac-main.tt','opac',$input);
 
 my $all_koha_news   = &GetNewsToDisplay($news_lang);
 my $koha_news_count = scalar @$all_koha_news;