# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
-# $Id$
use strict;
-require Exporter;
+use warnings;
use CGI;
use C4::Auth; # get_template_and_user
use C4::Output;
use C4::VirtualShelves;
-use C4::Languages; # getTranslatedLanguages
use C4::Branch; # GetBranches
use C4::Members; # GetMember
use C4::NewsChannels; # get_opac_news
use C4::Acquisition; # GetRecentAcqui
+use C4::Languages qw(getTranslatedLanguages accept_language);
my $input = new CGI;
my $dbh = C4::Context->dbh;
-my $limit = $input->param('recentacqui');
-
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
{
template_name => "opac-main.tmpl",
}
);
-if ($limit) {
- my $recentacquiloop = GetRecentAcqui($limit);
-
- # warn Data::Dumper::Dumper($recentacquiloop);
- $template->param( recentacquiloop => $recentacquiloop, );
-}
+my $borrower = GetMember( $borrowernumber, 'borrowernumber' );
+$template->param(
+ textmessaging => $borrower->{textmessaging},
+);
-# SearchMyLibraryFirst
-if ( C4::Context->preference("SearchMyLibraryFirst") ) {
- if ( C4::Context->userenv ) {
- my $branches = GetBranches();
- my @branchloop;
+# 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);
- foreach my $thisbranch ( keys %$branches ) {
- my $selected = 1
- if ( C4::Context->userenv
- && ( $thisbranch eq C4::Context->userenv->{branch} ) );
+my $translations = getTranslatedLanguages('opac',$theme);
+my @languages = ();
+foreach my $trans (@$translations)
+{
+ push(@languages, $trans->{rfc4646_subtag});
+}
-# warn $thisbranch;
-# warn C4::Context->userenv;
-# warn C4::Context->userenv->{branch};
-# warn " => ".C4::Context->userenv && ($thisbranch eq C4::Context->userenv->{branch});
- my %row = (
- value => $thisbranch,
- selected => $selected,
- branchname => $branches->{$thisbranch}->{'branchname'},
- );
- push @branchloop, \%row;
+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];
}
- $template->param( "mylibraryfirst" => 1, branchloop => \@branchloop );
}
- else {
- $template->param( "mylibraryfirst" => 0 );
+ if (not $news_lang) {
+ my @languages = split ",", C4::Context->preference("opaclanguages");
+ $news_lang = @languages[0];
}
}
-my $borrower = GetMember( $borrowernumber, 'borrowernumber' );
-my @languages;
-my $counter = 0;
-my $langavail = getTranslatedLanguages('opac');
-foreach my $language (@$langavail) {
+$news_lang = $news_lang ? $news_lang : 'en' ;
-# next if $currently_selected_languages->{$language};
-# FIXME: could incorporate language_name and language_locale_name for better display
- push @languages,
- { language => $language->{'language_code'}, counter => $counter };
- $counter++;
-}
-
-# Template params
-if ( $counter > 1 ) {
- $template->param( languages => \@languages )
- if C4::Context->preference('opaclanguagesdisplay');
-}
-
-$template->param(
- textmessaging => $borrower->{textmessaging},
- opaclanguagesdisplay => 0,
-);
-
-# display news
-# use cookie setting for language, bug default to syspref if it's not set
-my $news_lang = $input->cookie('KohaOpacLanguage')
- || C4::Context->preference('opaclanguages');
my $all_koha_news = &GetNewsToDisplay($news_lang);
my $koha_news_count = scalar @$all_koha_news;
koha_news_count => $koha_news_count
);
-$template->param(
- 'Disable_Dictionary' => C4::Context->preference("Disable_Dictionary") )
- if ( C4::Context->preference("Disable_Dictionary") );
-
output_html_with_http_headers $input, $cookie, $template->output;