Bug 25898: Prohibit indirect object notation
[srvgit] / labels / label-create-pdf.pl
index c15c7e7..d35c5d3 100755 (executable)
@@ -18,8 +18,7 @@
 # along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 
-use strict;
-use warnings;
+use Modern::Perl;
 
 use CGI qw ( -utf8 );
 use C4::Auth;
@@ -27,13 +26,12 @@ use C4::Debug;
 use C4::Creators;
 use C4::Labels;
 
-my $cgi = new CGI;
+my $cgi = CGI->new;
 
 my ( undef, $loggedinuser, $cookie ) = get_template_and_user({
                                                                     template_name   => "labels/label-home.tt",
                                                                     query           => $cgi,
                                                                     type            => "intranet",
-                                                                    authnotrequired => 0,
                                                                     flagsrequired   => { tools => 'label_creator' },
                                                                     debug           => 1,
                                                                     });
@@ -47,11 +45,11 @@ my $layout_id   = $cgi->param('layout_id') || undef;
 my $start_label = $cgi->param('start_label') || 1;
 @label_ids   = $cgi->multi_param('label_id') if $cgi->param('label_id');
 @item_numbers  = $cgi->multi_param('item_number') if $cgi->param('item_number');
+my $from = $cgi->param('from') || undef;
+my $to = $cgi->param('to') || undef;
 
 my $items = undef;
 
-
-
 my $pdf_file = (@label_ids || @item_numbers ? "label_single_" . scalar(@label_ids || @item_numbers) : "label_batch_$batch_id");
 print $cgi->header( -type       => 'application/pdf',
                     -encoding   => 'utf-8',
@@ -119,6 +117,11 @@ elsif (@item_numbers) {
         push(@{$items}, {item_number => $_});
     } @item_numbers;
 }
+elsif ($from and $to) {
+    for (my $i = $from; $i <= $to; $i++) {
+        push @{$items}, {'item_number' => $i};
+    }
+}
 else {
     $items = $batch->get_attr('items');
 }
@@ -199,6 +202,7 @@ foreach my $item (@{$items}) {
                                         text_wrap_cols      => $layout->get_text_wrap_cols(label_width => $template->get_attr('label_width'), left_text_margin => $template->get_attr('left_text_margin')),
                                           );
         $pdf->Add($label->draw_guide_box) if $layout->get_attr('guidebox');
+        $label->{'barcode'} = $item->{'item_number'} if ($from and $to);
         my $label_text = $label->create_label();
         _print_text($label_text) if $label_text;
         ($row_count, $col_count, $llx, $lly) = _calc_next_label_pos($row_count, $col_count, $llx, $lly);
@@ -246,11 +250,18 @@ Copyright 2009 Foundations Bible College.
 
 This file is part of Koha.
 
-Koha is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2 of the License, or (at your option) any later version.
+Koha is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3 of the License, or
+(at your option) any later version.
+
+Koha is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License along with Koha; if not, write to the Free Software Foundation, Inc., 51 Franklin Street,
-Fifth Floor, Boston, MA 02110-1301 USA.
+You should have received a copy of the GNU General Public License
+along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 =head1 DISCLAIMER OF WARRANTY