WARNING: BIG I18N PATCH, you must import the subtag_registry.sql after this upgrade...
[koha.git] / opac / opac-main.pl
1 #!/usr/bin/perl
2
3 # This file is part of Koha.
4 #
5 # Koha is free software; you can redistribute it and/or modify it under the
6 # terms of the GNU General Public License as published by the Free Software
7 # Foundation; either version 2 of the License, or (at your option) any later
8 # version.
9 #
10 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License along with
15 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
16 # Suite 330, Boston, MA  02111-1307 USA
17
18
19 use strict;
20 require Exporter;
21 use CGI;
22 use C4::Auth;    # get_template_and_user
23 use C4::Output;
24 use C4::VirtualShelves;
25 use C4::Languages qw/getTranslatedLanguages/;
26 use C4::Branch;          # GetBranches
27 use C4::Members;         # GetMember
28 use C4::NewsChannels;    # get_opac_news
29 use C4::Acquisition;     # GetRecentAcqui
30
31 my $input = new CGI;
32 my $dbh   = C4::Context->dbh;
33
34 my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
35     {
36         template_name   => "opac-main.tmpl",
37         type            => "opac",
38         query           => $input,
39         authnotrequired => 1,
40         flagsrequired   => { borrow => 1 },
41     }
42 );
43
44 my $borrower = GetMember( $borrowernumber, 'borrowernumber' );
45 my @languages;
46 my $counter   = 0;
47 my $langavail = getTranslatedLanguages('opac');
48 foreach my $language (@$langavail) {
49
50 #   next if $currently_selected_languages->{$language};
51 #   FIXME: could incorporate language_name and language_locale_name for better display
52     push @languages,
53       { language => $language->{'language_code'}, counter => $counter };
54     $counter++;
55 }
56
57 # Template params
58 if ( $counter > 1 ) {
59     $template->param( languages => \@languages )
60       if C4::Context->preference('opaclanguagesdisplay');
61 }
62
63 $template->param(
64     textmessaging        => $borrower->{textmessaging},
65     opaclanguagesdisplay => 0,
66 );
67
68 # display news
69 # use cookie setting for language, bug default to syspref if it's not set
70 my $news_lang = $input->cookie('KohaOpacLanguage')
71   || C4::Context->preference('opaclanguages');
72 my $all_koha_news   = &GetNewsToDisplay($news_lang);
73 my $koha_news_count = scalar @$all_koha_news;
74
75 $template->param(
76     koha_news       => $all_koha_news,
77     koha_news_count => $koha_news_count
78 );
79
80 $template->param(
81     'Disable_Dictionary' => C4::Context->preference("Disable_Dictionary") )
82   if ( C4::Context->preference("Disable_Dictionary") );
83
84 output_html_with_http_headers $input, $cookie, $template->output;