Updating perlcriticrc to allow Modern::Perl to suffice instead of use warnings; and...
[koha.git] / mainpage.pl
1 #!/usr/bin/perl
2
3 # Copyright Paul Poulain 2002
4 # Parts Copyright Liblime 2007
5 #
6 # This file is part of Koha.
7 #
8 # Koha is free software; you can redistribute it and/or modify it under the
9 # terms of the GNU General Public License as published by the Free Software
10 # Foundation; either version 2 of the License, or (at your option) any later
11 # version.
12 #
13 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
14 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License along
18 # with Koha; if not, write to the Free Software Foundation, Inc.,
19 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
21 use strict;
22 use warnings;
23 use CGI;
24 use C4::Output;
25 use C4::Auth;
26 use C4::AuthoritiesMarc;
27 use C4::Koha;
28 use C4::NewsChannels;
29 use C4::Review qw/numberofreviews/;
30 use C4::Suggestions qw/CountSuggestion/;
31 use C4::Tags qw/get_count_by_tag_status/;
32 my $query     = new CGI;
33 my $authtypes = getauthtypes;
34 my @authtypesloop;
35
36 foreach my $thisauthtype (
37     sort { $authtypes->{$a} <=> $authtypes->{$b} }
38     keys %$authtypes
39   )
40 {
41     my %row = (
42         value        => $thisauthtype,
43         authtypetext => $authtypes->{$thisauthtype}{'authtypetext'},
44     );
45     push @authtypesloop, \%row;
46 }
47
48 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
49     {
50         template_name   => "intranet-main.tmpl",
51         query           => $query,
52         type            => "intranet",
53         authnotrequired => 0,
54         flagsrequired   => {
55             catalogue => 1,
56         },
57     }
58 );
59
60 $template->param(
61     authtypesloop => \@authtypesloop
62 );
63
64 my $all_koha_news   = &GetNewsToDisplay("koha");
65 my $koha_news_count = scalar @$all_koha_news;
66
67 $template->param(
68     koha_news       => $all_koha_news,
69     koha_news_count => $koha_news_count
70 );
71
72 my $pendingcomments = numberofreviews(0);
73 my $pendingtags = get_count_by_tag_status(0);
74 my $pendingsuggestions       = CountSuggestion("ASKED");
75
76 $template->param(
77     pendingcomments    => $pendingcomments,
78     pendingtags        => $pendingtags,
79     pendingsuggestions => $pendingsuggestions
80 );
81
82 output_html_with_http_headers $query, $cookie, $template->output;