Bug 18320: Remove patroncards/edit-layout.pl warnings
authorTomas Cohen Arazi <tomascohen@theke.io>
Thu, 23 Mar 2017 12:51:09 +0000 (09:51 -0300)
committerFridolin Somers <fridolin.somers@biblibre.com>
Wed, 19 Jan 2022 22:13:49 +0000 (12:13 -1000)
This patch removes warnings generated by the script itself.

To test:
- Go to Tools › Patron card creator › Manage layouts and
        Tools › Patron card creator › New layout
- Add a new layout, adit existing.
=> FAIL: Warnings logged by edit-layout.pl
- Apply this patch
- Go to Tools › Patron card creator › Manage layouts and
        Tools › Patron card creator › New layout
- Add a new layout, adit existing.
=> SUCCESS: No warnings generated by edit-layout.pl
- Sign off :-D

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
patroncards/edit-layout.pl

index 22ef6b9..233bfac 100755 (executable)
@@ -179,14 +179,14 @@ elsif  ($op eq 'save') {
     my $image_select = 0;
     my $field_enabled = 0;
     CGI_PARAMS:
-    foreach my $parameter ($cgi->param()) {     # parse the field values and build a hash of the layout for conversion to xml and storage in the db
+    foreach my $parameter ($cgi->multi_param()) {     # parse the field values and build a hash of the layout for conversion to xml and storage in the db
         if ($parameter =~ m/^field_([0-9])_(.*)$/) {
             my $field_number = $1;
             my $field_data = $2;
             $field_enabled = $field_number if $field_data eq 'enable';
             next CGI_PARAMS unless $field_number == $field_enabled;
             if ($field_data eq 'text') {
-                push @$text_lines, $cgi->param($parameter);
+                push @$text_lines, $cgi->multi_param($parameter);
                 if ($array_index <= 0) {
                     $array_index++;
                 }
@@ -200,7 +200,7 @@ elsif  ($op eq 'save') {
         }
         elsif ($parameter =~ m/^barcode_(.*)$/) {
             $field_enabled = $1 if $1 eq 'print';
-            next CGI_PARAMS unless $field_enabled eq 'print';
+            next CGI_PARAMS unless defined $field_enabled && $field_enabled eq 'print';
             $layout->{'barcode'}->{$1} = $cgi->param($parameter);
         }
         elsif ($parameter =~m/^image_([0-9])_(.*)$/) {