[Koha-patches] [PATCH] Fix the language detection, to use the browser language if opac is translated, so show the news for the browser's language.

Joshua Ferraro jmf at liblime.com
Fri Mar 6 13:09:58 CET 2009


Wouldn't this be better to put in a .pm rather than a .pl so that it
can be called from other places too?

On Fri, Mar 6, 2009 at 5:37 AM,  <henridamien.laurent at biblibre.com> wrote:
> From: Nahuel Angelinetti <nahuel.angelinetti at biblibre.com>
>
> Signed-off-by: Henri-Damien LAURENT <henridamien.laurent at biblibre.com>
> ---
>  opac/opac-main.pl |   24 +++++++++++++++++++++++-
>  1 files changed, 23 insertions(+), 1 deletions(-)
>
> diff --git a/opac/opac-main.pl b/opac/opac-main.pl
> index 1062109..704dc75 100755
> --- a/opac/opac-main.pl
> +++ b/opac/opac-main.pl
> @@ -25,6 +25,7 @@ use C4::Branch;          # GetBranches
>  use C4::Members;         # GetMember
>  use C4::NewsChannels;    # get_opac_news
>  use C4::Acquisition;     # GetRecentAcqui
> +use C4::Languages qw(getTranslatedLanguages);
>
>  my $input = new CGI;
>  my $dbh   = C4::Context->dbh;
> @@ -46,7 +47,28 @@ $template->param(
>
>  # display news
>  # use cookie setting for language, bug default to syspref if it's not set
> -my $news_lang = $input->cookie('KohaOpacLanguage') || 'en';
> +(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{
> +    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];
> +        }
> +    }
> +}
> +
> +$news_lang = $news_lang ? $news_lang : 'en' ;
> +
>  my $all_koha_news   = &GetNewsToDisplay($news_lang);
>  my $koha_news_count = scalar @$all_koha_news;
>
> --
> 1.5.6.3
>
> _______________________________________________
> Koha-patches mailing list
> Koha-patches at lists.koha.org
> http://lists.koha.org/mailman/listinfo/koha-patches
>



-- 
Joshua Ferraro                       SUPPORT FOR OPEN-SOURCE SOFTWARE
CEO                         migration, training, maintenance, support
LibLime                                Featuring Koha Open-Source ILS
jmf at liblime.com |Full Demos at http://liblime.com/koha |1(888)KohaILS



More information about the Koha-patches mailing list