# 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::Interface::CGI::Output;
-use C4::BookShelves;
-use C4::Languages; # getTranslatedLanguages
-use C4::Branch; # GetBranches
-use C4::Members; # GetMember
-use C4::NewsChannels; # get_opac_news
-use C4::Acquisition; # GetRecentAcqui
+use C4::Output;
+use C4::VirtualShelves;
+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 @branches;
-my @select_branch;
-my %select_branches;
-my $branches = GetBranches();
-my @branchloop;
-foreach my $thisbranch ( keys %$branches ) {
- my $selected = 1
- if ( C4::Context->userenv
- && ( $thisbranch eq C4::Context->userenv->{branch} ) );
- my %row = (
- value => $thisbranch,
- selected => $selected,
- branchname => $branches->{$thisbranch}->{'branchname'},
- );
- push @branchloop, \%row;
-}
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 );
-my @languages;
-my $counter = 0;
-my $langavail = getTranslatedLanguages('opac');
-foreach my $language ( @$langavail ) {
- # 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');
-}
-
+my $borrower = GetMember( $borrowernumber, 'borrowernumber' );
$template->param(
- branchloop => \@branchloop,
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 $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];
+ }
+ }
+ if (not $news_lang) {
+ my @languages = split ",", C4::Context->preference("opaclanguages");
+ $news_lang = @languages[0];
+ }
+}
+
+$news_lang = $news_lang ? $news_lang : 'en' ;
+
+my $all_koha_news = &GetNewsToDisplay($news_lang);
my $koha_news_count = scalar @$all_koha_news;
$template->param(
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;