Bug 24745: OPAC news block plugin should evaluate as false if there are no items
[koha.git] / Koha / Template / Plugin / KohaNews.pm
1 package Koha::Template::Plugin::KohaNews;
2
3 # Copyright ByWater Solutions 2012
4 # Copyright BibLibre 2014
5 # Parts copyright Athens County Public Libraries 2019
6
7 # This file is part of Koha.
8 #
9 # Koha is free software; you can redistribute it and/or modify it
10 # under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 3 of the License, or
12 # (at your option) any later version.
13 #
14 # Koha is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with Koha; if not, see <http://www.gnu.org/licenses>.
21
22 use Modern::Perl;
23
24 use Template::Plugin;
25 use base qw( Template::Plugin );
26
27 use C4::Koha;
28 use C4::Context;
29 use C4::NewsChannels; # GetNewsToDisplay
30
31 sub get {
32     my ( $self, $params ) = @_;
33
34     my $display_location = $params->{location};
35     my $blocktitle = $params->{blocktitle};
36     my $lang = $params->{lang};
37     my $library = $params->{library} || "";
38     my $news_lang;
39
40     if( !$display_location ){
41         $news_lang = $lang;
42     } else {
43         $news_lang = $display_location."_".$lang;
44     }
45
46     my $content = &GetNewsToDisplay( $news_lang, $library );
47
48     if( @$content ){
49         return {
50             content => $content,
51             location => $display_location,
52             blocktitle => $blocktitle
53         };
54     } else {
55         return 0;
56     }
57 }
58
59 1;
60
61 =head1 NAME
62
63 Koha::Template::Plugin::KohaNews - TT Plugin for displaying Koha news
64
65 =head1 SYNOPSIS
66
67 [% USE KohaNews %]
68
69 [% KohaNews.get() %]
70
71 =head1 ROUTINES
72
73 =head2 get
74
75 In a template, you can get the all categories with
76 the following TT code: [% KohaNews.get() %]
77
78 =head1 AUTHOR
79
80 Owen Leonard <oleonard@myacpl.org>
81
82 =cut