minor template changes
[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 # $Id$
19
20 use strict;
21 require Exporter;
22 use CGI;
23 use C4::Auth;    # get_template_and_user
24 use C4::Output;
25 use C4::BookShelves;
26 use C4::Languages;           # getTranslatedLanguages
27 use C4::Branch;         # GetBranches
28 use C4::Members;        # GetMember
29 use C4::NewsChannels;   # get_opac_news
30 use C4::Acquisition;    # GetRecentAcqui
31
32 my $input = new CGI;
33 my $dbh   = C4::Context->dbh;
34
35 my $limit = $input->param('recentacqui');
36
37 my @branches;
38 my @select_branch;
39 my %select_branches;
40 my $branches = GetBranches();
41 my @branchloop;
42 foreach my $thisbranch ( keys %$branches ) {
43     my $selected = 1
44       if ( C4::Context->userenv
45         && ( $thisbranch eq C4::Context->userenv->{branch} ) );
46     my %row = (
47         value      => $thisbranch,
48         selected   => $selected,
49         branchname => $branches->{$thisbranch}->{'branchname'},
50     );
51     push @branchloop, \%row;
52 }
53 my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
54     {
55         template_name   => "opac-main.tmpl",
56         type            => "opac",
57         query           => $input,
58         authnotrequired => 1,
59         flagsrequired   => { borrow => 1 },
60     }
61 );
62
63 if($limit) {
64     my $recentacquiloop = GetRecentAcqui($limit);
65 #     warn Data::Dumper::Dumper($recentacquiloop);
66     $template->param(
67         recentacquiloop => $recentacquiloop,
68     );
69 }
70
71 my $borrower = GetMember( $borrowernumber,'borrowernumber' );
72 my @languages;
73 my $counter = 0;
74 my $langavail = getTranslatedLanguages('opac');
75 foreach my $language ( @$langavail ) {
76     #   next if $currently_selected_languages->{$language};
77         #   FIXME: could incorporate language_name and language_locale_name for better display
78     push @languages, { language => $language->{'language_code'}, counter => $counter };
79     $counter++;
80 }
81
82 # Template params
83 if ( $counter > 1 ) {
84     $template->param(languages => \@languages) if C4::Context->preference('opaclanguagesdisplay');
85 }
86
87 $template->param(
88     branchloop           => \@branchloop,
89     textmessaging        => $borrower->{textmessaging},
90     opaclanguagesdisplay => 0,
91 );
92
93 # display news
94 # use cookie setting for language, bug default to syspref if it's not set
95 my $news_lang = $input->cookie('KohaOpacLanguage') || C4::Context->preference('opaclanguages');
96 my  $all_koha_news  = &GetNewsToDisplay( $news_lang );
97 my $koha_news_count = scalar @$all_koha_news;
98
99 $template->param(
100     koha_news       => $all_koha_news,
101     koha_news_count => $koha_news_count
102 );
103
104 $template->param(
105     'Disable_Dictionary' => C4::Context->preference("Disable_Dictionary") )
106   if ( C4::Context->preference("Disable_Dictionary") );
107
108 output_html_with_http_headers $input, $cookie, $template->output;