From 284961972179a291b13835803218881f71664315 Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Date: Tue, 29 Mar 2016 09:15:43 +0100
Subject: [PATCH] [PASSED QA] Bug 16154: CGI->multi_param - Declare a list
This patch replaces the occurrences of
my @foo = $cgi->param('foo');
with
my @foo = $cgi->multi_param('foo');
perl -p -i -e
's/^(\s*my\s*@\w+\s*=\s*)\$(cgi|input|query)\->param\(/$1\$$2\->multi_param\(/xms'
**/*.pl
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
---
acqui/addorder.pl | 14 +++++-----
acqui/addorderiso2709.pl | 26 +++++++++----------
acqui/basketgroup.pl | 2 +-
acqui/check_duplicate_barcode_ajax.pl | 2 +-
acqui/check_uniqueness.pl | 4 +--
acqui/finishreceive.pl | 14 +++++-----
acqui/histsearch.pl | 2 +-
acqui/invoice.pl | 2 +-
acqui/lateorders-export.pl | 2 +-
acqui/lateorders.pl | 2 +-
acqui/z3950_search.pl | 2 +-
admin/aqplan.pl | 4 +--
admin/audio_alerts.pl | 2 +-
admin/auth_subfields_structure.pl | 20 +++++++--------
admin/columns_settings.pl | 2 +-
admin/marc_subfields_structure.pl | 26 +++++++++----------
admin/oai_set_mappings.pl | 8 +++---
admin/oai_sets.pl | 4 +--
admin/patron-attr-types.pl | 2 +-
authorities/auth_finder.pl | 10 ++++----
authorities/authorities.pl | 10 ++++----
authorities/merge.pl | 2 +-
authorities/ysearch.pl | 8 +++---
catalogue/itemsearch.pl | 18 ++++++-------
catalogue/search.pl | 4 +--
cataloguing/addbiblio.pl | 2 +-
cataloguing/addbooks.pl | 2 +-
cataloguing/additem.pl | 20 +++++++--------
cataloguing/merge.pl | 2 +-
cataloguing/value_builder/unimarc_field_210c.pl | 10 ++++----
cataloguing/z3950_auth_search.pl | 2 +-
cataloguing/z3950_search.pl | 2 +-
circ/circulation.pl | 4 +--
course_reserves/mod_course.pl | 2 +-
members/member-flags.pl | 2 +-
members/memberentry.pl | 2 +-
opac/ilsdi.pl | 2 +-
opac/opac-account-pay-paypal-return.pl | 2 +-
opac/opac-account-pay.pl | 2 +-
opac/opac-renew.pl | 2 +-
opac/opac-search-history.pl | 4 +--
opac/opac-search.pl | 18 ++++++-------
opac/opac-shelves.pl | 2 +-
opac/opac-suggestions.pl | 2 +-
patron_lists/list.pl | 4 +--
patroncards/create-pdf.pl | 4 +--
patroncards/image-manage.pl | 2 +-
patroncards/print.pl | 6 ++---
reports/acquisitions_stats.pl | 2 +-
reports/bor_issues_top.pl | 2 +-
reports/borrowers_out.pl | 2 +-
reports/borrowers_stats.pl | 2 +-
reports/cat_issues_top.pl | 2 +-
reports/catalogue_out.pl | 2 +-
reports/catalogue_stats.pl | 2 +-
reports/dictionary.pl | 4 +--
reports/guided_reports.pl | 14 +++++-----
reports/issues_avg_stats.pl | 2 +-
reports/issues_stats.pl | 2 +-
reports/manager.pl | 2 +-
reserve/modrequest.pl | 14 +++++-----
reserve/placerequest.pl | 6 ++---
serials/claims.pl | 2 +-
serials/lateissues-export.pl | 2 +-
serials/serials-collection.pl | 2 +-
serials/serials-edit.pl | 34 ++++++++++++-------------
serials/subscription-add.pl | 4 +--
suggestion/suggestion.pl | 2 +-
tools/automatic_item_modification_by_age.pl | 10 ++++----
tools/batchMod.pl | 14 +++++-----
tools/batch_delete_records.pl | 2 +-
tools/batch_record_modification.pl | 2 +-
tools/export.pl | 6 ++---
tools/koha-news.pl | 2 +-
tools/letter.pl | 6 ++---
tools/modborrowers.pl | 8 +++---
tools/overduerules.pl | 4 +--
tools/viewlog.pl | 4 +--
virtualshelves/addbybiblionumber.pl | 2 +-
virtualshelves/shelves.pl | 2 +-
80 files changed, 229 insertions(+), 229 deletions(-)
diff --git a/acqui/addorder.pl b/acqui/addorder.pl
index e5480ef..1e60f79 100755
--- a/acqui/addorder.pl
+++ b/acqui/addorder.pl
@@ -280,13 +280,13 @@ if ( $orderinfo->{quantity} ne '0' ) {
# now, add items if applicable
if (C4::Context->preference('AcqCreateItem') eq 'ordering') {
- my @tags = $input->param('tag');
- my @subfields = $input->param('subfield');
- my @field_values = $input->param('field_value');
- my @serials = $input->param('serial');
- my @itemid = $input->param('itemid');
- my @ind_tag = $input->param('ind_tag');
- my @indicator = $input->param('indicator');
+ my @tags = $input->multi_param('tag');
+ my @subfields = $input->multi_param('subfield');
+ my @field_values = $input->multi_param('field_value');
+ my @serials = $input->multi_param('serial');
+ my @itemid = $input->multi_param('itemid');
+ my @ind_tag = $input->multi_param('ind_tag');
+ my @indicator = $input->multi_param('indicator');
#Rebuilding ALL the data for items into a hash
# parting them on $itemid.
diff --git a/acqui/addorderiso2709.pl b/acqui/addorderiso2709.pl
index 0f59a62..e5159dc 100755
--- a/acqui/addorderiso2709.pl
+++ b/acqui/addorderiso2709.pl
@@ -133,13 +133,13 @@ if ($op eq ""){
my $biblios = GetImportRecordsRange($import_batch_id);
my $duplinbatch;
my $imported = 0;
- my @import_record_id_selected = $input->param("import_record_id");
- my @quantities = $input->param('quantity');
- my @prices = $input->param('price');
- my @budgets_id = $input->param('budget_id');
- my @discount = $input->param('discount');
- my @sort1 = $input->param('sort1');
- my @sort2 = $input->param('sort2');
+ my @import_record_id_selected = $input->multi_param("import_record_id");
+ my @quantities = $input->multi_param('quantity');
+ my @prices = $input->multi_param('price');
+ my @budgets_id = $input->multi_param('budget_id');
+ my @discount = $input->multi_param('discount');
+ my @sort1 = $input->multi_param('sort1');
+ my @sort2 = $input->multi_param('sort2');
my $active_currency = Koha::Acquisition::Currencies->get_active;
for my $biblio (@$biblios){
# Check if this import_record_id was selected
@@ -239,12 +239,12 @@ if ($op eq ""){
# parse the item sent by the form, and create an item just for the import_record_id we are dealing with
# this is not optimised, but it's working !
if ( C4::Context->preference('AcqCreateItem') eq 'ordering' ) {
- my @tags = $input->param('tag');
- my @subfields = $input->param('subfield');
- my @field_values = $input->param('field_value');
- my @serials = $input->param('serial');
- my @ind_tag = $input->param('ind_tag');
- my @indicator = $input->param('indicator');
+ my @tags = $input->multi_param('tag');
+ my @subfields = $input->multi_param('subfield');
+ my @field_values = $input->multi_param('field_value');
+ my @serials = $input->multi_param('serial');
+ my @ind_tag = $input->multi_param('ind_tag');
+ my @indicator = $input->multi_param('indicator');
my $item;
push @{ $item->{tags} }, $tags[0];
push @{ $item->{subfields} }, $subfields[0];
diff --git a/acqui/basketgroup.pl b/acqui/basketgroup.pl
index 6492223..85422cb 100755
--- a/acqui/basketgroup.pl
+++ b/acqui/basketgroup.pl
@@ -340,7 +340,7 @@ if ( $op eq "add" ) {
#
# Getting parameters
my $basketgroup = {};
- my @baskets = $input->param('basket');
+ my @baskets = $input->multi_param('basket');
my $basketgroupid = $input->param('basketgroupid');
my $basketgroupname = $input->param('basketgroupname');
my $booksellerid = $input->param('booksellerid');
diff --git a/acqui/check_duplicate_barcode_ajax.pl b/acqui/check_duplicate_barcode_ajax.pl
index fcd85fe..1655ac4 100755
--- a/acqui/check_duplicate_barcode_ajax.pl
+++ b/acqui/check_duplicate_barcode_ajax.pl
@@ -41,7 +41,7 @@ if ($auth_status ne "ok") {
my $json;
#Check if the barcodes already exist.
-my @barcodes = $input->param('barcodes');
+my @barcodes = $input->multi_param('barcodes');
foreach my $barcode (@barcodes) {
my $existing_itemnumber = GetItemnumberFromBarcode($barcode);
if ($existing_itemnumber) {
diff --git a/acqui/check_uniqueness.pl b/acqui/check_uniqueness.pl
index 1d700b6..70d95dd 100755
--- a/acqui/check_uniqueness.pl
+++ b/acqui/check_uniqueness.pl
@@ -37,8 +37,8 @@ use C4::Output;
use C4::Items;
my $input = new CGI;
-my @field = $input->param('field[]');
-my @value = $input->param('value[]');
+my @field = $input->multi_param('field[]');
+my @value = $input->multi_param('value[]');
my $r = {};
my $i = 0;
diff --git a/acqui/finishreceive.pl b/acqui/finishreceive.pl
index cc022b3..06be5b0 100755
--- a/acqui/finishreceive.pl
+++ b/acqui/finishreceive.pl
@@ -122,13 +122,13 @@ if ($quantityrec > $origquantityrec ) {
# now, add items if applicable
if (C4::Context->preference('AcqCreateItem') eq 'receiving') {
- my @tags = $input->param('tag');
- my @subfields = $input->param('subfield');
- my @field_values = $input->param('field_value');
- my @serials = $input->param('serial');
- my @itemid = $input->param('itemid');
- my @ind_tag = $input->param('ind_tag');
- my @indicator = $input->param('indicator');
+ my @tags = $input->multi_param('tag');
+ my @subfields = $input->multi_param('subfield');
+ my @field_values = $input->multi_param('field_value');
+ my @serials = $input->multi_param('serial');
+ my @itemid = $input->multi_param('itemid');
+ my @ind_tag = $input->multi_param('ind_tag');
+ my @indicator = $input->multi_param('indicator');
#Rebuilding ALL the data for items into a hash
# parting them on $itemid.
my %itemhash;
diff --git a/acqui/histsearch.pl b/acqui/histsearch.pl
index efb9468..e9879c5 100755
--- a/acqui/histsearch.pl
+++ b/acqui/histsearch.pl
@@ -74,7 +74,7 @@ my $budget = $input->param( 'budget' );
my $orderstatus = $input->param( 'orderstatus' );
my $ordernumber = $input->param( 'ordernumber' );
my $search_children_too = $input->param( 'search_children_too' );
-my @created_by = $input->param('created_by');
+my @created_by = $input->multi_param('created_by');
my $from_placed_on = eval { dt_from_string( $input->param('from') ) } || dt_from_string;
my $to_placed_on = eval { dt_from_string( $input->param('to') ) } || dt_from_string;
diff --git a/acqui/invoice.pl b/acqui/invoice.pl
index 3eb5228..ab01a14 100755
--- a/acqui/invoice.pl
+++ b/acqui/invoice.pl
@@ -92,7 +92,7 @@ elsif ( $op && $op eq 'mod' ) {
} elsif ($input->param('close')) {
CloseInvoice($invoiceid);
} elsif ($input->param('merge')) {
- my @sources = $input->param('merge');
+ my @sources = $input->multi_param('merge');
MergeInvoices($invoiceid, \@sources);
defined($invoice_files) && $invoice_files->MergeFileRecIds(@sources);
}
diff --git a/acqui/lateorders-export.pl b/acqui/lateorders-export.pl
index 2028eda..c8d86e6 100755
--- a/acqui/lateorders-export.pl
+++ b/acqui/lateorders-export.pl
@@ -31,7 +31,7 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user({
authnotrequired => 0,
flagsrequired => {acquisition => 'order_receive'},
});
-my @ordernumbers = $input->param('ordernumber');
+my @ordernumbers = $input->multi_param('ordernumber');
my @orders;
for my $ordernumber ( @ordernumbers ) {
diff --git a/acqui/lateorders.pl b/acqui/lateorders.pl
index 2d6fdc5..872d0af 100755
--- a/acqui/lateorders.pl
+++ b/acqui/lateorders.pl
@@ -103,7 +103,7 @@ if ( $delay and not $delay =~ /^\d{1,3}$/ ) {
}
if ($op and $op eq "send_alert"){
- my @ordernums = $input->param("ordernumber");# FIXME: Fallback values?
+ my @ordernums = $input->multi_param("ordernumber");# FIXME: Fallback values?
my $err;
eval {
$err = SendAlerts( 'claimacquisition', \@ordernums, $input->param("letter_code") ); # FIXME: Fallback value?
diff --git a/acqui/z3950_search.pl b/acqui/z3950_search.pl
index b11c508..b2b5124 100755
--- a/acqui/z3950_search.pl
+++ b/acqui/z3950_search.pl
@@ -110,7 +110,7 @@ if ( $op ne "do_search" ) {
exit;
}
-my @id = $input->param('id');
+my @id = $input->multi_param('id');
if (@id==0) {
$template->param( emptyserverlist => 1 );
output_html_with_http_headers $input, $cookie, $template->output;
diff --git a/admin/aqplan.pl b/admin/aqplan.pl
index 20a8b00..ccef48f 100755
--- a/admin/aqplan.pl
+++ b/admin/aqplan.pl
@@ -96,7 +96,7 @@ my $del = $input->param("sep");
my $show_mine = $input->param('show_mine') ;
-my @hide_cols = $input->param('hide_cols');
+my @hide_cols = $input->multi_param('hide_cols');
if ( $budget_period_locked == 1 && not defined $show_actual ) {
$show_actual = 1;
@@ -141,7 +141,7 @@ my @budgets = @$budgets_ref;
my @authvals;
my %labels;
-my @names = $input->param();
+my @names = $input->multi_param();
# ------------------------------------------------------------
if ( $op eq 'save' ) {
#get budgets
diff --git a/admin/audio_alerts.pl b/admin/audio_alerts.pl
index fa55b28..bf0c0ae 100755
--- a/admin/audio_alerts.pl
+++ b/admin/audio_alerts.pl
@@ -32,7 +32,7 @@ my $sound = $cgi->param('sound');
my $id = $cgi->param('id');
my $action = $cgi->param('action');
my $where = $cgi->param('where');
-my @delete = $cgi->param('delete');
+my @delete = $cgi->multi_param('delete');
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{
diff --git a/admin/auth_subfields_structure.pl b/admin/auth_subfields_structure.pl
index e26aa79..ffa74f2 100755
--- a/admin/auth_subfields_structure.pl
+++ b/admin/auth_subfields_structure.pl
@@ -192,18 +192,18 @@ if ($op eq 'add_form') {
values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
my $sth_update = $dbh->prepare("update auth_subfield_structure set authtypecode=?, tagfield=?, tagsubfield=?, liblibrarian=?, libopac=?, repeatable=?, mandatory=?, kohafield=?, tab=?, seealso=?, authorised_value=?, frameworkcode=?, value_builder=?, hidden=?, isurl=?, defaultvalue=?
where authtypecode=? and tagfield=? and tagsubfield=?");
- my @tagsubfield = $input->param('tagsubfield');
- my @liblibrarian = $input->param('liblibrarian');
- my @libopac = $input->param('libopac');
+ my @tagsubfield = $input->multi_param('tagsubfield');
+ my @liblibrarian = $input->multi_param('liblibrarian');
+ my @libopac = $input->multi_param('libopac');
my @kohafield = ''.$input->param('kohafield');
- my @tab = $input->param('tab');
- my @seealso = $input->param('seealso');
- my @ohidden = $input->param('ohidden');
- my @authorised_values = $input->param('authorised_value');
+ my @tab = $input->multi_param('tab');
+ my @seealso = $input->multi_param('seealso');
+ my @ohidden = $input->multi_param('ohidden');
+ my @authorised_values = $input->multi_param('authorised_value');
my $authtypecode = $input->param('authtypecode');
- my @frameworkcodes = $input->param('frameworkcode');
- my @value_builder =$input->param('value_builder');
- my @defaultvalue = $input->param('defaultvalue');
+ my @frameworkcodes = $input->multi_param('frameworkcode');
+ my @value_builder =$input->multi_param('value_builder');
+ my @defaultvalue = $input->multi_param('defaultvalue');
for (my $i=0; $i<= $#tagsubfield ; $i++) {
my $tagfield =$input->param('tagfield');
my $tagsubfield =$tagsubfield[$i];
diff --git a/admin/columns_settings.pl b/admin/columns_settings.pl
index e61782c..4c87142 100755
--- a/admin/columns_settings.pl
+++ b/admin/columns_settings.pl
@@ -24,7 +24,7 @@ my $action = $input->param('action') // 'list';
if ( $action eq 'save' ) {
my $module = $input->param('module');
- my @columnids = $input->param("columnid");
+ my @columnids = $input->multi_param("columnid");
my @columns;
for my $columnid (@columnids) {
next unless $columnid =~ m|^([^#]*)#([^#]*)#(.*)$|;
diff --git a/admin/marc_subfields_structure.pl b/admin/marc_subfields_structure.pl
index 979d7ec..22d4398 100755
--- a/admin/marc_subfields_structure.pl
+++ b/admin/marc_subfields_structure.pl
@@ -249,19 +249,19 @@ elsif ( $op eq 'add_validate' ) {
update marc_subfield_structure set tagfield=?, tagsubfield=?, liblibrarian=?, libopac=?, repeatable=?, mandatory=?, kohafield=?, tab=?, seealso=?, authorised_value=?, authtypecode=?, value_builder=?, hidden=?, isurl=?, frameworkcode=?, link=?, defaultvalue=?, maxlength=?
where tagfield=? and tagsubfield=? and frameworkcode=?
});
- my @tagsubfield = $input->param('tagsubfield');
- my @liblibrarian = $input->param('liblibrarian');
- my @libopac = $input->param('libopac');
- my @kohafield = $input->param('kohafield');
- my @tab = $input->param('tab');
- my @seealso = $input->param('seealso');
- my @hidden = $input->param('hidden');
- my @authorised_values = $input->param('authorised_value');
- my @authtypecodes = $input->param('authtypecode');
- my @value_builder = $input->param('value_builder');
- my @link = $input->param('link');
- my @defaultvalue = $input->param('defaultvalue');
- my @maxlength = $input->param('maxlength');
+ my @tagsubfield = $input->multi_param('tagsubfield');
+ my @liblibrarian = $input->multi_param('liblibrarian');
+ my @libopac = $input->multi_param('libopac');
+ my @kohafield = $input->multi_param('kohafield');
+ my @tab = $input->multi_param('tab');
+ my @seealso = $input->multi_param('seealso');
+ my @hidden = $input->multi_param('hidden');
+ my @authorised_values = $input->multi_param('authorised_value');
+ my @authtypecodes = $input->multi_param('authtypecode');
+ my @value_builder = $input->multi_param('value_builder');
+ my @link = $input->multi_param('link');
+ my @defaultvalue = $input->multi_param('defaultvalue');
+ my @maxlength = $input->multi_param('maxlength');
for ( my $i = 0 ; $i <= $#tagsubfield ; $i++ ) {
my $tagfield = $input->param('tagfield');
diff --git a/admin/oai_set_mappings.pl b/admin/oai_set_mappings.pl
index 04429b6..8c6b0d4 100755
--- a/admin/oai_set_mappings.pl
+++ b/admin/oai_set_mappings.pl
@@ -53,10 +53,10 @@ my $id = $input->param('id');
my $op = $input->param('op');
if($op && $op eq "save") {
- my @marcfields = $input->param('marcfield');
- my @marcsubfields = $input->param('marcsubfield');
- my @operators = $input->param('operator');
- my @marcvalues = $input->param('marcvalue');
+ my @marcfields = $input->multi_param('marcfield');
+ my @marcsubfields = $input->multi_param('marcsubfield');
+ my @operators = $input->multi_param('operator');
+ my @marcvalues = $input->multi_param('marcvalue');
my @mappings;
my $i = 0;
diff --git a/admin/oai_sets.pl b/admin/oai_sets.pl
index 1ac919b..1413022 100755
--- a/admin/oai_sets.pl
+++ b/admin/oai_sets.pl
@@ -52,7 +52,7 @@ if($op && $op eq "new") {
} elsif($op && $op eq "savenew") {
my $spec = $input->param('spec');
my $name = $input->param('name');
- my @descriptions = $input->param('description');
+ my @descriptions = $input->multi_param('description');
AddOAISet({
spec => $spec,
name => $name,
@@ -72,7 +72,7 @@ if($op && $op eq "new") {
my $id = $input->param('id');
my $spec = $input->param('spec');
my $name = $input->param('name');
- my @descriptions = $input->param('description');
+ my @descriptions = $input->multi_param('description');
ModOAISet({
id => $id,
spec => $spec,
diff --git a/admin/patron-attr-types.pl b/admin/patron-attr-types.pl
index 3c978e9..261d94b 100755
--- a/admin/patron-attr-types.pl
+++ b/admin/patron-attr-types.pl
@@ -168,7 +168,7 @@ sub add_update_attribute_type {
$attr_type->display_checkout($display_checkout);
$attr_type->category_code($input->param('category_code'));
$attr_type->class($input->param('class'));
- my @branches = $input->param('branches');
+ my @branches = $input->multi_param('branches');
$attr_type->branches( \@branches );
if ($op eq 'edit') {
diff --git a/authorities/auth_finder.pl b/authorities/auth_finder.pl
index 7c155c0..2966342 100755
--- a/authorities/auth_finder.pl
+++ b/authorities/auth_finder.pl
@@ -55,10 +55,10 @@ my $authority_types = Koha::Authority::Types->search( {}, { order_by => ['authty
# If search form posted
if ( $op eq "do_search" ) {
- my @marclist = $query->param('marclist');
- my @and_or = $query->param('and_or');
- my @excluding = $query->param('excluding');
- my @operator = $query->param('operator');
+ my @marclist = $query->multi_param('marclist');
+ my @and_or = $query->multi_param('and_or');
+ my @excluding = $query->multi_param('excluding');
+ my @operator = $query->multi_param('operator');
my @value = (
$query->param('value_mainstr') || undef,
$query->param('value_main') || undef,
@@ -84,7 +84,7 @@ if ( $op eq "do_search" ) {
my @field_data = ();
# get marclist again, as the previous one has been modified by catalogsearch (mainentry replaced by field name)
- my @marclist_ini = $query->param('marclist');
+ my @marclist_ini = $query->multi_param('marclist');
for ( my $i = 0 ; $i <= $#marclist ; $i++ ) {
push @field_data, { term => "marclist", val => $marclist_ini[$i] };
push @field_data, { term => "and_or", val => $and_or[$i] };
diff --git a/authorities/authorities.pl b/authorities/authorities.pl
index bc2c8d4..1e49d96 100755
--- a/authorities/authorities.pl
+++ b/authorities/authorities.pl
@@ -606,12 +606,12 @@ $op ||= q{};
if ($op eq "add") {
#------------------------------------------------------------------------------------------------------------------------------
# rebuild
- my @tags = $input->param('tag');
- my @subfields = $input->param('subfield');
- my @values = $input->param('field_value');
+ my @tags = $input->multi_param('tag');
+ my @subfields = $input->multi_param('subfield');
+ my @values = $input->multi_param('field_value');
# build indicator hash.
- my @ind_tag = $input->param('ind_tag');
- my @indicator = $input->param('indicator');
+ my @ind_tag = $input->multi_param('ind_tag');
+ my @indicator = $input->multi_param('indicator');
my $record = TransformHtmlToMarc($input, 0);
my ($duplicateauthid,$duplicateauthvalue);
diff --git a/authorities/merge.pl b/authorities/merge.pl
index 16efdd5..b423122 100755
--- a/authorities/merge.pl
+++ b/authorities/merge.pl
@@ -28,7 +28,7 @@ use C4::Koha;
use C4::Biblio;
my $input = new CGI;
-my @authid = $input->param('authid');
+my @authid = $input->multi_param('authid');
my $merge = $input->param('merge');
my @errors;
diff --git a/authorities/ysearch.pl b/authorities/ysearch.pl
index 9684999..4a5ae79 100755
--- a/authorities/ysearch.pl
+++ b/authorities/ysearch.pl
@@ -48,13 +48,13 @@ if ( $auth_status ne "ok" ) {
exit 0;
}
- my @value = $query->param('term');
+ my @value = $query->multi_param('term');
my $searchtype = $query->param('querytype');
my @marclist = ($searchtype);
my $authtypecode = $query->param('authtypecode');
- my @and_or = $query->param('and_or');
- my @excluding = $query->param('excluding');
- my @operator = $query->param('operator');
+ my @and_or = $query->multi_param('and_or');
+ my @excluding = $query->multi_param('excluding');
+ my @operator = $query->multi_param('operator');
my $orderby = $query->param('orderby');
my $resultsperpage = 50;
diff --git a/catalogue/itemsearch.pl b/catalogue/itemsearch.pl
index 0378e48..ff614e2 100755
--- a/catalogue/itemsearch.pl
+++ b/catalogue/itemsearch.pl
@@ -47,11 +47,11 @@ if (defined $format and $format eq 'json') {
$cgi->param('sortby', $columns[ $cgi->param('iSortCol_0') ]);
$cgi->param('sortorder', $cgi->param('sSortDir_0'));
- my @f = $cgi->param('f');
- my @q = $cgi->param('q');
+ my @f = $cgi->multi_param('f');
+ my @q = $cgi->multi_param('q');
push @q, '' if @q == 0;
- my @op = $cgi->param('op');
- my @c = $cgi->param('c');
+ my @op = $cgi->multi_param('op');
+ my @c = $cgi->multi_param('c');
foreach my $i (0 .. ($cgi->param('iColumns') - 1)) {
my $sSearch = $cgi->param("sSearch_$i");
if (defined $sSearch and $sSearch ne '') {
@@ -116,10 +116,10 @@ if (scalar keys %params > 0) {
}
}
- my @c = $cgi->param('c');
- my @fields = $cgi->param('f');
- my @q = $cgi->param('q');
- my @op = $cgi->param('op');
+ my @c = $cgi->multi_param('c');
+ my @fields = $cgi->multi_param('f');
+ my @q = $cgi->multi_param('q');
+ my @op = $cgi->multi_param('op');
my $f;
for (my $i = 0; $i < @fields; $i++) {
@@ -232,7 +232,7 @@ if (scalar keys %params > 0) {
my $url = '/cgi-bin/koha/catalogue/itemsearch.pl';
my @params;
foreach my $p (keys %params) {
- my @v = $cgi->param($p);
+ my @v = $cgi->multi_param($p);
push @params, map { "$p=" . $_ } @v;
}
$url .= '?' . join ('&', @params);
diff --git a/catalogue/search.pl b/catalogue/search.pl
index fe5d45d..d30eede 100755
--- a/catalogue/search.pl
+++ b/catalogue/search.pl
@@ -166,7 +166,7 @@ my $cgi = new CGI;
# decide which template to use
my $template_name;
my $template_type;
-my @params = $cgi->param("limit");
+my @params = $cgi->multi_param("limit");
if ((@params>=1) || ($cgi->param("q")) || ($cgi->param('multibranchlimit')) || ($cgi->param('limit-yr')) ) {
$template_name = 'catalogue/results.tt';
}
@@ -392,7 +392,7 @@ foreach my $sort (@sort_by) {
$template->param('sort_by' => $sort_by[0]);
# Use the servers defined, or just search our local catalog(default)
-my @servers = $cgi->param('server');
+my @servers = $cgi->multi_param('server');
unless (@servers) {
#FIXME: this should be handled using Context.pm
@servers = ("biblioserver");
diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl
index 44d5907..57a0083 100755
--- a/cataloguing/addbiblio.pl
+++ b/cataloguing/addbiblio.pl
@@ -833,7 +833,7 @@ if ( $op eq "addbiblio" ) {
biblionumberdata => $biblionumber,
);
# getting html input
- my @params = $input->param();
+ my @params = $input->multi_param();
$record = TransformHtmlToMarc( $input, 1 );
# check for a duplicate
my ( $duplicatebiblionumber, $duplicatetitle );
diff --git a/cataloguing/addbooks.pl b/cataloguing/addbooks.pl
index 37ac83a..c12e67f 100755
--- a/cataloguing/addbooks.pl
+++ b/cataloguing/addbooks.pl
@@ -38,7 +38,7 @@ my $input = new CGI;
my $success = $input->param('biblioitem');
my $query = $input->param('q');
-my @value = $input->param('value');
+my @value = $input->multi_param('value');
my $page = $input->param('page') || 1;
my $results_per_page = 20;
diff --git a/cataloguing/additem.pl b/cataloguing/additem.pl
index eb52415..72618e5 100755
--- a/cataloguing/additem.pl
+++ b/cataloguing/additem.pl
@@ -429,12 +429,12 @@ if ($op eq "additem") {
#-------------------------------------------------------------------------------
# rebuild
- my @tags = $input->param('tag');
- my @subfields = $input->param('subfield');
- my @values = $input->param('field_value');
+ my @tags = $input->multi_param('tag');
+ my @subfields = $input->multi_param('subfield');
+ my @values = $input->multi_param('field_value');
# build indicator hash.
- my @ind_tag = $input->param('ind_tag');
- my @indicator = $input->param('indicator');
+ my @ind_tag = $input->multi_param('ind_tag');
+ my @indicator = $input->multi_param('indicator');
my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values,\@indicator,\@ind_tag, 'ITEM');
my $record = MARC::Record::new_from_xml($xml, 'UTF-8');
@@ -671,12 +671,12 @@ if ($op eq "additem") {
} elsif ($op eq "saveitem") {
#-------------------------------------------------------------------------------
# rebuild
- my @tags = $input->param('tag');
- my @subfields = $input->param('subfield');
- my @values = $input->param('field_value');
+ my @tags = $input->multi_param('tag');
+ my @subfields = $input->multi_param('subfield');
+ my @values = $input->multi_param('field_value');
# build indicator hash.
- my @ind_tag = $input->param('ind_tag');
- my @indicator = $input->param('indicator');
+ my @ind_tag = $input->multi_param('ind_tag');
+ my @indicator = $input->multi_param('indicator');
# my $itemnumber = $input->param('itemnumber');
my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values,\@indicator,\@ind_tag,'ITEM');
my $itemtosave=MARC::Record::new_from_xml($xml, 'UTF-8');
diff --git a/cataloguing/merge.pl b/cataloguing/merge.pl
index fc96d3c..54a937d 100755
--- a/cataloguing/merge.pl
+++ b/cataloguing/merge.pl
@@ -32,7 +32,7 @@ use C4::Acquisition qw/ModOrder GetOrdersByBiblionumber/;
use Koha::MetadataRecord;
my $input = new CGI;
-my @biblionumbers = $input->param('biblionumber');
+my @biblionumbers = $input->multi_param('biblionumber');
my $merge = $input->param('merge');
my @errors;
diff --git a/cataloguing/value_builder/unimarc_field_210c.pl b/cataloguing/value_builder/unimarc_field_210c.pl
index 0d0a070..186d464 100755
--- a/cataloguing/value_builder/unimarc_field_210c.pl
+++ b/cataloguing/value_builder/unimarc_field_210c.pl
@@ -70,11 +70,11 @@ my ($input) = @_;
my $resultsperpage;
if ($op eq "do_search") {
- my @marclist = $query->param('marclist');
- my @and_or = $query->param('and_or');
- my @excluding = $query->param('excluding');
- my @operator = $query->param('operator');
- my @value = $query->param('value');
+ my @marclist = $query->multi_param('marclist');
+ my @and_or = $query->multi_param('and_or');
+ my @excluding = $query->multi_param('excluding');
+ my @operator = $query->multi_param('operator');
+ my @value = $query->multi_param('value');
my $orderby = $query->param('orderby');
$resultsperpage= $query->param('resultsperpage');
diff --git a/cataloguing/z3950_auth_search.pl b/cataloguing/z3950_auth_search.pl
index 8ea4f41..960b5aa 100755
--- a/cataloguing/z3950_auth_search.pl
+++ b/cataloguing/z3950_auth_search.pl
@@ -77,7 +77,7 @@ if ( $op ne "do_search" ) {
exit;
}
-my @id = $input->param('id');
+my @id = $input->multi_param('id');
if ( @id==0 ) {
# empty server list -> report and exit
$template->param( emptyserverlist => 1 );
diff --git a/cataloguing/z3950_search.pl b/cataloguing/z3950_search.pl
index ebf5cda..6ab1baa 100755
--- a/cataloguing/z3950_search.pl
+++ b/cataloguing/z3950_search.pl
@@ -90,7 +90,7 @@ if ( $op ne "do_search" ) {
exit;
}
-my @id = $input->param('id');
+my @id = $input->multi_param('id');
if ( @id==0 ) {
# empty server list -> report and exit
$template->param( emptyserverlist => 1 );
diff --git a/circ/circulation.pl b/circ/circulation.pl
index 3a57685..6847a71 100755
--- a/circ/circulation.pl
+++ b/circ/circulation.pl
@@ -145,11 +145,11 @@ if (!C4::Auth::haspermission( C4::Context->userenv->{id} , { circulate => 'force
my $onsite_checkout = $query->param('onsite_checkout');
-my @failedrenews = $query->param('failedrenew'); # expected to be itemnumbers
+my @failedrenews = $query->multi_param('failedrenew'); # expected to be itemnumbers
our %renew_failed = ();
for (@failedrenews) { $renew_failed{$_} = 1; }
-my @failedreturns = $query->param('failedreturn');
+my @failedreturns = $query->multi_param('failedreturn');
our %return_failed = ();
for (@failedreturns) { $return_failed{$_} = 1; }
diff --git a/course_reserves/mod_course.pl b/course_reserves/mod_course.pl
index 0f58bcb..844d157 100755
--- a/course_reserves/mod_course.pl
+++ b/course_reserves/mod_course.pl
@@ -59,7 +59,7 @@ if ( $action eq 'del' ) {
my $course_id = ModCourse(%params);
- my @instructors = $cgi->param('instructors');
+ my @instructors = $cgi->multi_param('instructors');
ModCourseInstructors(
mode => 'replace',
cardnumbers => \@instructors,
diff --git a/members/member-flags.pl b/members/member-flags.pl
index 5bd2d07..629a5c9 100755
--- a/members/member-flags.pl
+++ b/members/member-flags.pl
@@ -43,7 +43,7 @@ $member2{'borrowernumber'}=$member;
if ($input->param('newflags')) {
my $dbh=C4::Context->dbh();
- my @perms = $input->param('flag');
+ my @perms = $input->multi_param('flag');
my %all_module_perms = ();
my %sub_perms = ();
foreach my $perm (@perms) {
diff --git a/members/memberentry.pl b/members/memberentry.pl
index b899a26..c211a4a 100755
--- a/members/memberentry.pl
+++ b/members/memberentry.pl
@@ -102,7 +102,7 @@ my $userenv = C4::Context->userenv;
## Deal with debarments
$template->param(
debarments => GetDebarments( { borrowernumber => $borrowernumber } ) );
-my @debarments_to_remove = $input->param('remove_debarment');
+my @debarments_to_remove = $input->multi_param('remove_debarment');
foreach my $d ( @debarments_to_remove ) {
DelDebarment( $d );
}
diff --git a/opac/ilsdi.pl b/opac/ilsdi.pl
index 2ff65b5..6a91069 100755
--- a/opac/ilsdi.pl
+++ b/opac/ilsdi.pl
@@ -199,7 +199,7 @@ if ( $service and any { $service eq $_ } @services ) {
# check for multiple parameters
for ( @names ) {
- my @values = $cgi->param($_);
+ my @values = $cgi->multi_param($_);
if ( $#values != 0 ) {
$out->{'code'} = "MultipleValuesNotAllowed";
$out->{'message'} = "Multiple values not allowed for the parameter ".$_.".";
diff --git a/opac/opac-account-pay-paypal-return.pl b/opac/opac-account-pay-paypal-return.pl
index 64dcfdd..742f5ae 100755
--- a/opac/opac-account-pay-paypal-return.pl
+++ b/opac/opac-account-pay-paypal-return.pl
@@ -55,7 +55,7 @@ my $active_currency = Koha::Acquisition::Currencies->get_active;
my $token = $cgi->param('token');
my $payer_id = $cgi->param('PayerID');
my $amount = $cgi->param('amount');
-my @accountlines = $cgi->param('accountlines');
+my @accountlines = $cgi->multi_param('accountlines');
my $ua = LWP::UserAgent->new;
diff --git a/opac/opac-account-pay.pl b/opac/opac-account-pay.pl
index cb1545c..43261e8 100755
--- a/opac/opac-account-pay.pl
+++ b/opac/opac-account-pay.pl
@@ -50,7 +50,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
);
my $payment_method = $cgi->param('payment_method');
-my @accountlines = $cgi->param('accountline');
+my @accountlines = $cgi->multi_param('accountline');
my $amount_to_pay =
Koha::Database->new()->schema()->resultset('Accountline')->search( { accountlines_id => { -in => \@accountlines } } )
diff --git a/opac/opac-renew.pl b/opac/opac-renew.pl
index d62a883..9da82e5 100755
--- a/opac/opac-renew.pl
+++ b/opac/opac-renew.pl
@@ -42,7 +42,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
debug => 1,
}
);
-my @items = $query->param('item');
+my @items = $query->multi_param('item');
my $opacrenew = C4::Context->preference("OpacRenewalAllowed");
diff --git a/opac/opac-search-history.pl b/opac/opac-search-history.pl
index 0364960..4858b5a 100755
--- a/opac/opac-search-history.pl
+++ b/opac/opac-search-history.pl
@@ -55,7 +55,7 @@ unless ( $loggedinuser ) {
# Deleting search history
if ( $action eq 'delete') {
# Deleting session's search history
- my @id = $cgi->param('id');
+ my @id = $cgi->multi_param('id');
my $all = not scalar( @id );
my $type = $cgi->param('type');
@@ -99,7 +99,7 @@ unless ( $loggedinuser ) {
# Deleting search history
if ( $action eq 'delete' ) {
- my @id = $cgi->param('id');
+ my @id = $cgi->multi_param('id');
if ( @id ) {
C4::Search::History::delete(
{
diff --git a/opac/opac-search.pl b/opac/opac-search.pl
index 0e89100..c012369 100755
--- a/opac/opac-search.pl
+++ b/opac/opac-search.pl
@@ -85,8 +85,8 @@ my ($template,$borrowernumber,$cookie);
# decide which template to use
my $template_name;
my $template_type = 'basic';
-my @params = $cgi->param("limit");
-my @searchCategories = $cgi->param('searchcat');
+my @params = $cgi->multi_param("limit");
+my @searchCategories = $cgi->multi_param('searchcat');
my $format = $cgi->param("format") || '';
my $build_grouped_results = C4::Context->preference('OPACGroupResults');
@@ -393,7 +393,7 @@ if ( $params->{tag} ) {
my $pasarParams = '';
my $j = 0;
for (keys %$params) {
- my @pasarParam = $cgi->param($_);
+ my @pasarParam = $cgi->multi_param($_);
for my $paramValue(@pasarParam) {
$pasarParams .= '&' if ($j > 0);
$pasarParams .= $_ . '=' . uri_escape_utf8($paramValue);
@@ -424,7 +424,7 @@ foreach my $sort (@sort_by) {
$template->param('sort_by' => $sort_by[0]);
# Use the servers defined, or just search our local catalog(default)
-my @servers = $cgi->param('server');
+my @servers = $cgi->multi_param('server');
unless (@servers) {
#FIXME: this should be handled using Context.pm
@servers = ("biblioserver");
@@ -433,12 +433,12 @@ unless (@servers) {
# operators include boolean and proximity operators and are used
# to evaluate multiple operands
-my @operators = $cgi->param('op');
+my @operators = $cgi->multi_param('op');
@operators = map { uri_unescape($_) } @operators;
# indexes are query qualifiers, like 'title', 'author', etc. They
# can be single or multiple parameters separated by comma: kw,right-Truncation
-my @indexes = $cgi->param('idx');
+my @indexes = $cgi->multi_param('idx');
@indexes = map { uri_unescape($_) } @indexes;
# if a simple index (only one) display the index used in the top search box
@@ -446,7 +446,7 @@ if ($indexes[0] && !$indexes[1]) {
$template->param("ms_".$indexes[0] => 1);
}
# an operand can be a single term, a phrase, or a complete ccl query
-my @operands = $cgi->param('q');
+my @operands = $cgi->multi_param('q');
@operands = map { uri_unescape($_) } @operands;
$template->{VARS}->{querystring} = join(' ', @operands);
@@ -459,9 +459,9 @@ if ($operands[0] && !$operands[1]) {
}
# limits are use to limit to results to a pre-defined category such as branch or language
-my @limits = $cgi->param('limit');
+my @limits = $cgi->multi_param('limit');
@limits = map { uri_unescape($_) } @limits;
-my @nolimits = $cgi->param('nolimit');
+my @nolimits = $cgi->multi_param('nolimit');
@nolimits = map { uri_unescape($_) } @nolimits;
my %is_nolimit = map { $_ => 1 } @nolimits;
@limits = grep { not $is_nolimit{$_} } @limits;
diff --git a/opac/opac-shelves.pl b/opac/opac-shelves.pl
index 3d17bd6..4a25a79 100755
--- a/opac/opac-shelves.pl
+++ b/opac/opac-shelves.pl
@@ -188,7 +188,7 @@ if ( $op eq 'add_form' ) {
} elsif ( $op eq 'remove_biblios' ) {
$shelfnumber = $query->param('shelfnumber');
$shelf = Koha::Virtualshelves->find($shelfnumber);
- my @biblionumber = $query->param('biblionumber');
+ my @biblionumber = $query->multi_param('biblionumber');
if ($shelf) {
if ( $shelf->can_biblios_be_removed( $loggedinuser ) ) {
my $number_of_biblios_removed = eval {
diff --git a/opac/opac-suggestions.pl b/opac/opac-suggestions.pl
index 7c17d5a..aad0e85 100755
--- a/opac/opac-suggestions.pl
+++ b/opac/opac-suggestions.pl
@@ -142,7 +142,7 @@ if ( $op eq "add_confirm" ) {
}
if ( $op eq "delete_confirm" ) {
- my @delete_field = $input->param("delete_field");
+ my @delete_field = $input->multi_param("delete_field");
foreach my $delete_field (@delete_field) {
&DelSuggestion( $borrowernumber, $delete_field );
}
diff --git a/patron_lists/list.pl b/patron_lists/list.pl
index ef2085c..596a2c1 100755
--- a/patron_lists/list.pl
+++ b/patron_lists/list.pl
@@ -40,12 +40,12 @@ my ( $template, $logged_in_user, $cookie ) = get_template_and_user(
my ($list) =
GetPatronLists( { patron_list_id => $cgi->param('patron_list_id') } );
-my @patrons_to_add = $cgi->param('patrons_to_add');
+my @patrons_to_add = $cgi->multi_param('patrons_to_add');
if (@patrons_to_add) {
AddPatronsToList( { list => $list, cardnumbers => \@patrons_to_add } );
}
-my @patrons_to_remove = $cgi->param('patrons_to_remove');
+my @patrons_to_remove = $cgi->multi_param('patrons_to_remove');
if (@patrons_to_remove) {
DelPatronsFromList( { list => $list, patron_list_patrons => \@patrons_to_remove } );
}
diff --git a/patroncards/create-pdf.pl b/patroncards/create-pdf.pl
index 41f1e99..6d352b4 100755
--- a/patroncards/create-pdf.pl
+++ b/patroncards/create-pdf.pl
@@ -51,8 +51,8 @@ my $batch_id = $cgi->param('batch_id') if $cgi->param('batch_id');
my $template_id = $cgi->param('template_id') || undef;
my $layout_id = $cgi->param('layout_id') || undef;
my $start_card = $cgi->param('start_card') || 1;
-my @label_ids = $cgi->param('label_id') if $cgi->param('label_id');
-my @borrower_numbers = $cgi->param('borrower_number') if $cgi->param('borrower_number');
+my @label_ids = $cgi->multi_param('label_id') if $cgi->param('label_id');
+my @borrower_numbers = $cgi->multi_param('borrower_number') if $cgi->param('borrower_number');
my $patronlist_id = $cgi->param('patronlist_id');
my $items = undef; # items = cards
diff --git a/patroncards/image-manage.pl b/patroncards/image-manage.pl
index 2a1ab3c..78f0463 100755
--- a/patroncards/image-manage.pl
+++ b/patroncards/image-manage.pl
@@ -30,7 +30,7 @@ my $image_name = $cgi->param('image_name') || '';
my $file_name = $cgi->param('uploadfile') || '';
my $upload_file = $cgi->upload('uploadfile') || '';
my $op = $cgi->param('op') || 'none';
-my @image_ids = $cgi->param('image_id') if $cgi->param('image_id');
+my @image_ids = $cgi->multi_param('image_id') if $cgi->param('image_id');
my $source_file = "$file_name"; # otherwise we end up with what amounts to a pointer to a filehandle rather than a user-friendly filename
diff --git a/patroncards/print.pl b/patroncards/print.pl
index 2c674a4..46f5d32 100755
--- a/patroncards/print.pl
+++ b/patroncards/print.pl
@@ -41,13 +41,13 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
);
my $op = $cgi->param('op') || 'none';
-my @label_ids = $cgi->param('label_id') if $cgi->param('label_id'); # this will handle individual card printing; we use label_id to maintain consistency with the column names in the creator_batches table
-my @batch_ids = $cgi->param('batch_id') if $cgi->param('batch_id');
+my @label_ids = $cgi->multi_param('label_id') if $cgi->param('label_id'); # this will handle individual card printing; we use label_id to maintain consistency with the column names in the creator_batches table
+my @batch_ids = $cgi->multi_param('batch_id') if $cgi->param('batch_id');
my $patronlist_id = $cgi->param('patronlist_id') || undef;
my $layout_id = $cgi->param('layout_id') || undef;
my $template_id = $cgi->param('template_id') || undef;
my $start_card = $cgi->param('start_card') || 1;
-my @borrower_numbers = $cgi->param('borrower_number') if $cgi->param('borrower_number');
+my @borrower_numbers = $cgi->multi_param('borrower_number') if $cgi->param('borrower_number');
my $output_format = $cgi->param('output_format') || 'pdf';
my $referer = $cgi->param('referer') || undef;
diff --git a/reports/acquisitions_stats.pl b/reports/acquisitions_stats.pl
index 62895c6..8fd8067 100755
--- a/reports/acquisitions_stats.pl
+++ b/reports/acquisitions_stats.pl
@@ -45,7 +45,7 @@ my $do_it = $input->param('do_it');
my $fullreportname = "reports/acquisitions_stats.tt";
my $line = $input->param("Line");
my $column = $input->param("Column");
-my @filters = $input->param("Filter");
+my @filters = $input->multi_param("Filter");
$filters[0] = eval { output_pref( { dt => dt_from_string( $filters[0]), dateonly => 1, dateformat => 'iso' } ); }
if ( $filters[0] );
$filters[1] = eval { output_pref( { dt => dt_from_string( $filters[1]), dateonly => 1, dateformat => 'iso' } ); }
diff --git a/reports/bor_issues_top.pl b/reports/bor_issues_top.pl
index 58a8d1e..0345a32 100755
--- a/reports/bor_issues_top.pl
+++ b/reports/bor_issues_top.pl
@@ -49,7 +49,7 @@ my $fullreportname = "reports/bor_issues_top.tt";
my $do_it = $input->param('do_it');
my $limit = $input->param("Limit");
my $column = $input->param("Criteria");
-my @filters = $input->param("Filter");
+my @filters = $input->multi_param("Filter");
foreach ( @filters[0..3] ) {
$_ and $_ = eval { output_pref( { dt => dt_from_string ( $_ ), dateonly => 1, dateformat => 'iso' }); };
}
diff --git a/reports/borrowers_out.pl b/reports/borrowers_out.pl
index 7b3f68a..eeb7fb3 100755
--- a/reports/borrowers_out.pl
+++ b/reports/borrowers_out.pl
@@ -45,7 +45,7 @@ my $do_it=$input->param('do_it');
my $fullreportname = "reports/borrowers_out.tt";
my $limit = $input->param("Limit");
my $column = $input->param("Criteria");
-my @filters = $input->param("Filter");
+my @filters = $input->multi_param("Filter");
$filters[1] = eval { output_pref( { dt => dt_from_string( $filters[1]), dateonly => 1, dateformat => 'iso' } ); }
if ( $filters[1] );
diff --git a/reports/borrowers_stats.pl b/reports/borrowers_stats.pl
index 83ef452..607f9d1 100755
--- a/reports/borrowers_stats.pl
+++ b/reports/borrowers_stats.pl
@@ -49,7 +49,7 @@ my $do_it=$input->param('do_it');
my $fullreportname = "reports/borrowers_stats.tt";
my $line = $input->param("Line");
my $column = $input->param("Column");
-my @filters = $input->param("Filter");
+my @filters = $input->multi_param("Filter");
$filters[3] = eval { output_pref( { dt => dt_from_string( $filters[3]), dateonly => 1, dateformat => 'iso' } ); }
if ( $filters[3] );
$filters[4] = eval { output_pref ({ dt => dt_from_string( $filters[4]), dateonly => 1, dateformat => 'iso' } ); }
diff --git a/reports/cat_issues_top.pl b/reports/cat_issues_top.pl
index 6c05d92..949afb7 100755
--- a/reports/cat_issues_top.pl
+++ b/reports/cat_issues_top.pl
@@ -46,7 +46,7 @@ my $do_it=$input->param('do_it');
my $fullreportname = "reports/cat_issues_top.tt";
my $limit = $input->param("Limit");
my $column = $input->param("Criteria");
-my @filters = $input->param("Filter");
+my @filters = $input->multi_param("Filter");
foreach ( @filters[0..3] ) {
$_ and $_ = eval { output_pref( { dt => dt_from_string ( $_ ), dateonly => 1, dateformat => 'iso' } ); };
}
diff --git a/reports/catalogue_out.pl b/reports/catalogue_out.pl
index efcfa7d..4ce9b3f 100755
--- a/reports/catalogue_out.pl
+++ b/reports/catalogue_out.pl
@@ -40,7 +40,7 @@ my $input = new CGI;
my $do_it = $input->param('do_it');
my $limit = $input->param("Limit") || 10;
my $column = $input->param("Criteria");
-my @filters = $input->param("Filter");
+my @filters = $input->multi_param("Filter");
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
{
diff --git a/reports/catalogue_stats.pl b/reports/catalogue_stats.pl
index 0d63946..c153947 100755
--- a/reports/catalogue_stats.pl
+++ b/reports/catalogue_stats.pl
@@ -47,7 +47,7 @@ my $do_it = $input->param('do_it');
my $line = $input->param("Line");
my $column = $input->param("Column");
my $cellvalue = $input->param("Cellvalue"); # one of 'items', 'biblios', 'deleteditems'
-my @filters = $input->param("Filter");
+my @filters = $input->multi_param("Filter");
my $cotedigits = $input->param("cotedigits");
my $output = $input->param("output");
my $basename = $input->param("basename");
diff --git a/reports/dictionary.pl b/reports/dictionary.pl
index ae6fe7d..7d86f8d 100755
--- a/reports/dictionary.pl
+++ b/reports/dictionary.pl
@@ -92,7 +92,7 @@ elsif ( $phase eq 'New Term step 3' ) {
elsif ( $phase eq 'New Term step 4' ) {
# Choosing the values
- my @columns = $input->param('columns');
+ my @columns = $input->multi_param('columns');
my $columnstring = join( ',', @columns );
my @column_loop;
foreach my $column (@columns) {
@@ -130,7 +130,7 @@ elsif ( $phase eq 'New Term step 4' ) {
elsif ( $phase eq 'New Term step 5' ) {
# Confirmation screen
my $columnstring = $input->param('columnstring');
- my @criteria = $input->param('criteria_column');
+ my @criteria = $input->multi_param('criteria_column');
my $query_criteria;
my @criteria_loop;
diff --git a/reports/guided_reports.pl b/reports/guided_reports.pl
index 4b45f95..7af02bc 100755
--- a/reports/guided_reports.pl
+++ b/reports/guided_reports.pl
@@ -116,7 +116,7 @@ elsif ( $phase eq 'Build new' ) {
}
elsif ( $phase eq 'Delete Multiple') {
- my @ids = $input->param('ids');
+ my @ids = $input->multi_param('ids');
delete_report( @ids );
print $input->redirect("/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved");
exit;
@@ -320,7 +320,7 @@ elsif ( $phase eq 'Choose these columns' ) {
# next step is the constraints
my $area = $input->param('area');
my $type = $input->param('type');
- my @columns = $input->param('columns');
+ my @columns = $input->multi_param('columns');
my $column = join( ',', @columns );
$template->param(
@@ -345,9 +345,9 @@ elsif ( $phase eq 'Choose these criteria' ) {
my $area = $input->param('area');
my $type = $input->param('type');
my $column = $input->param('column');
- my @definitions = $input->param('definition');
+ my @definitions = $input->multi_param('definition');
my $definition = join (',',@definitions);
- my @criteria = $input->param('criteria_column');
+ my @criteria = $input->multi_param('criteria_column');
my $query_criteria;
foreach my $crit (@criteria) {
my $value = $input->param( $crit . "_value" );
@@ -427,7 +427,7 @@ elsif ( $phase eq 'Choose these operations' ) {
my $column = $input->param('column');
my $criteria = $input->param('criteria');
my $definition = $input->param('definition');
- my @total_by = $input->param('total_by');
+ my @total_by = $input->multi_param('total_by');
my $totals;
foreach my $total (@total_by) {
my $value = $input->param( $total . "_tvalue" );
@@ -474,7 +474,7 @@ elsif ( $phase eq 'Build report' ) {
my $query_criteria=$crit;
# split the columns up by ,
my @columns = split( ',', $column );
- my @order_by = $input->param('order_by');
+ my @order_by = $input->multi_param('order_by');
my $query_orderby;
foreach my $order (@order_by) {
@@ -621,7 +621,7 @@ elsif ($phase eq 'Run this report'){
my $limit = $input->param('limit') || 20;
my $offset = 0;
my $report_id = $input->param('reports');
- my @sql_params = $input->param('sql_params');
+ my @sql_params = $input->multi_param('sql_params');
# offset algorithm
if ($input->param('page')) {
$offset = ($input->param('page') - 1) * $limit;
diff --git a/reports/issues_avg_stats.pl b/reports/issues_avg_stats.pl
index f71ac48..b0a1d4f 100755
--- a/reports/issues_avg_stats.pl
+++ b/reports/issues_avg_stats.pl
@@ -46,7 +46,7 @@ my $do_it=$input->param('do_it');
my $fullreportname = "reports/issues_avg_stats.tt";
my $line = $input->param("Line");
my $column = $input->param("Column");
-my @filters = $input->param("Filter");
+my @filters = $input->multi_param("Filter");
$filters[0] = eval { output_pref( { dt => dt_from_string( $filters[0]), dateonly => 1, dateformat => 'iso' } ); }
if ( $filters[0] );
$filters[1] = eval { output_pref( { dt => dt_from_string( $filters[1]), dateonly => 1, dateformat => 'iso' } ); }
diff --git a/reports/issues_stats.pl b/reports/issues_stats.pl
index 568d6cc..34911b2 100755
--- a/reports/issues_stats.pl
+++ b/reports/issues_stats.pl
@@ -50,7 +50,7 @@ my $fullreportname = "reports/issues_stats.tt";
my $do_it = $input->param('do_it');
my $line = $input->param("Line");
my $column = $input->param("Column");
-my @filters = $input->param("Filter");
+my @filters = $input->multi_param("Filter");
$filters[0] = eval { output_pref( { dt => dt_from_string( $filters[0]), dateonly => 1, dateformat => 'iso' } ); }
if ( $filters[0] );
$filters[1] = eval { output_pref( { dt => dt_from_string( $filters[1]), dateonly => 1, dateformat => 'iso' } ); }
diff --git a/reports/manager.pl b/reports/manager.pl
index 647ca88..e9ec30e 100755
--- a/reports/manager.pl
+++ b/reports/manager.pl
@@ -30,7 +30,7 @@ my $input = new CGI;
my $report_name=$input->param("report_name");
my $do_it=$input->param('do_it');
my $fullreportname = "reports/".$report_name.".tt";
-my @values = $input->param("value");
+my @values = $input->multi_param("value");
my ($template, $borrowernumber, $cookie)
= get_template_and_user({template_name => $fullreportname,
query => $input,
diff --git a/reserve/modrequest.pl b/reserve/modrequest.pl
index ff810f8..84703f2 100755
--- a/reserve/modrequest.pl
+++ b/reserve/modrequest.pl
@@ -41,13 +41,13 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
}
);
-my @reserve_id = $query->param('reserve_id');
-my @rank = $query->param('rank-request');
-my @biblionumber = $query->param('biblionumber');
-my @borrower = $query->param('borrowernumber');
-my @branch = $query->param('pickup');
-my @itemnumber = $query->param('itemnumber');
-my @suspend_until=$query->param('suspend_until');
+my @reserve_id = $query->multi_param('reserve_id');
+my @rank = $query->multi_param('rank-request');
+my @biblionumber = $query->multi_param('biblionumber');
+my @borrower = $query->multi_param('borrowernumber');
+my @branch = $query->multi_param('pickup');
+my @itemnumber = $query->multi_param('itemnumber');
+my @suspend_until=$query->multi_param('suspend_until');
my $multi_hold = $query->param('multi_hold');
my $biblionumbers = $query->param('biblionumbers');
my $count=@rank;
diff --git a/reserve/placerequest.pl b/reserve/placerequest.pl
index 28e8868..c8d15d7 100755
--- a/reserve/placerequest.pl
+++ b/reserve/placerequest.pl
@@ -37,14 +37,14 @@ my $input = CGI->new();
checkauth($input, 0, { reserveforothers => 'place_holds' }, 'intranet');
-my @bibitems=$input->param('biblioitem');
-my @reqbib=$input->param('reqbib');
+my @bibitems=$input->multi_param('biblioitem');
+my @reqbib=$input->multi_param('reqbib');
my $biblionumber=$input->param('biblionumber');
my $borrowernumber=$input->param('borrowernumber');
my $notes=$input->param('notes');
my $branch=$input->param('pickup');
my $startdate=$input->param('reserve_date') || '';
-my @rank=$input->param('rank-request');
+my @rank=$input->multi_param('rank-request');
my $type=$input->param('type');
my $title=$input->param('title');
my $borrower=GetMember('borrowernumber'=>$borrowernumber);
diff --git a/serials/claims.pl b/serials/claims.pl
index 6a71cc8..1a0c5cf 100755
--- a/serials/claims.pl
+++ b/serials/claims.pl
@@ -67,7 +67,7 @@ for my $field ( @$additional_fields ) {
my $branchloop = GetBranchesLoop();
-my @serialnums=$input->param('serialid');
+my @serialnums=$input->multi_param('serialid');
if (@serialnums) { # i.e. they have been flagged to generate claims
my $err;
eval {
diff --git a/serials/lateissues-export.pl b/serials/lateissues-export.pl
index a75b21c..d9fc473 100755
--- a/serials/lateissues-export.pl
+++ b/serials/lateissues-export.pl
@@ -28,7 +28,7 @@ use Text::CSV_XS;
my $query = new CGI;
my $supplierid = $query->param('supplierid');
-my @serialids = $query->param('serialid');
+my @serialids = $query->multi_param('serialid');
my $op = $query->param('op') || q{};
my $csv_profile_id = $query->param('csv_profile');
diff --git a/serials/serials-collection.pl b/serials/serials-collection.pl
index ad8317e..f51fabb 100755
--- a/serials/serials-collection.pl
+++ b/serials/serials-collection.pl
@@ -46,7 +46,7 @@ my ($template, $loggedinuser, $cookie)
debug => 1,
});
my $biblionumber = $query->param('biblionumber');
-my @subscriptionid = $query->param('subscriptionid');
+my @subscriptionid = $query->multi_param('subscriptionid');
@subscriptionid= uniq @subscriptionid;
@subscriptionid= sort @subscriptionid;
diff --git a/serials/serials-edit.pl b/serials/serials-edit.pl
index 2fcd2e3..30ddc12 100755
--- a/serials/serials-edit.pl
+++ b/serials/serials-edit.pl
@@ -79,14 +79,14 @@ use List::MoreUtils qw/uniq/;
my $query = CGI->new();
my $dbh = C4::Context->dbh;
-my @serialids = $query->param('serialid');
-my @serialseqs = $query->param('serialseq');
-my @planneddates = $query->param('planneddate');
-my @publisheddates = $query->param('publisheddate');
-my @publisheddatetexts = $query->param('publisheddatetext');
-my @status = $query->param('status');
-my @notes = $query->param('notes');
-my @subscriptionids = $query->param('subscriptionid');
+my @serialids = $query->multi_param('serialid');
+my @serialseqs = $query->multi_param('serialseq');
+my @planneddates = $query->multi_param('planneddate');
+my @publisheddates = $query->multi_param('publisheddate');
+my @publisheddatetexts = $query->multi_param('publisheddatetext');
+my @status = $query->multi_param('status');
+my @notes = $query->multi_param('notes');
+my @subscriptionids = $query->multi_param('subscriptionid');
my $op = $query->param('op');
if ( scalar(@subscriptionids) == 1 && index( $subscriptionids[0], q|,| ) > 0 ) {
@subscriptionids = split( /,/, $subscriptionids[0] );
@@ -251,16 +251,16 @@ if ( $op and $op eq 'serialchangestatus' ) {
);
}
}
- my @moditems = $query->param('moditem');
+ my @moditems = $query->multi_param('moditem');
if ( scalar(@moditems) ) {
- my @tags = $query->param('tag');
- my @subfields = $query->param('subfield');
- my @field_values = $query->param('field_value');
- my @serials = $query->param('serial');
- my @bibnums = $query->param('bibnum');
- my @itemid = $query->param('itemid');
- my @ind_tag = $query->param('ind_tag');
- my @indicator = $query->param('indicator');
+ my @tags = $query->multi_param('tag');
+ my @subfields = $query->multi_param('subfield');
+ my @field_values = $query->multi_param('field_value');
+ my @serials = $query->multi_param('serial');
+ my @bibnums = $query->multi_param('bibnum');
+ my @itemid = $query->multi_param('itemid');
+ my @ind_tag = $query->multi_param('ind_tag');
+ my @indicator = $query->multi_param('indicator');
#Rebuilding ALL the data for items into a hash
# parting them on $itemid.
diff --git a/serials/subscription-add.pl b/serials/subscription-add.pl
index a910354..1d9ab37 100755
--- a/serials/subscription-add.pl
+++ b/serials/subscription-add.pl
@@ -294,7 +294,7 @@ sub redirect_add_subscription {
my $cost = $query->param('cost');
my $aqbudgetid = $query->param('aqbudgetid');
my $periodicity = $query->param('frequency');
- my @irregularity = $query->param('irregularity');
+ my @irregularity = $query->multi_param('irregularity');
my $numberpattern = $query->param('numbering_pattern');
my $locale = $query->param('locale');
my $graceperiod = $query->param('graceperiod') || 0;
@@ -355,7 +355,7 @@ sub redirect_add_subscription {
sub redirect_mod_subscription {
my $subscriptionid = $query->param('subscriptionid');
- my @irregularity = $query->param('irregularity');
+ my @irregularity = $query->multi_param('irregularity');
my $auser = $query->param('user');
my $librarian => $query->param('librarian'),
my $branchcode = $query->param('branchcode');
diff --git a/suggestion/suggestion.pl b/suggestion/suggestion.pl
index 74e8ab3..f00e53f 100755
--- a/suggestion/suggestion.pl
+++ b/suggestion/suggestion.pl
@@ -78,7 +78,7 @@ my $input = CGI->new;
my $redirect = $input->param('redirect');
my $suggestedbyme = (defined $input->param('suggestedbyme')? $input->param('suggestedbyme'):1);
my $op = $input->param('op')||'else';
-my @editsuggestions = $input->param('edit_field');
+my @editsuggestions = $input->multi_param('edit_field');
my $suggestedby = $input->param('suggestedby');
my $returnsuggestedby = $input->param('returnsuggestedby');
my $returnsuggested = $input->param('returnsuggested');
diff --git a/tools/automatic_item_modification_by_age.pl b/tools/automatic_item_modification_by_age.pl
index eca339c..82895d2 100755
--- a/tools/automatic_item_modification_by_age.pl
+++ b/tools/automatic_item_modification_by_age.pl
@@ -58,12 +58,12 @@ my $op = $cgi->param('op') // 'show';
my $syspref_name = q|automatic_item_modification_by_age_configuration|;
if ( $op eq 'update' ) {
my @rules;
- my @unique_ids = $cgi->param('unique_id');
+ my @unique_ids = $cgi->multi_param('unique_id');
for my $unique_id ( @unique_ids ) {
- my @substitution_fields = $cgi->param("substitution_field_$unique_id");
- my @substitution_values = $cgi->param("substitution_value_$unique_id");
- my @condition_fields = $cgi->param("condition_field_$unique_id");
- my @condition_values = $cgi->param("condition_value_$unique_id");
+ my @substitution_fields = $cgi->multi_param("substitution_field_$unique_id");
+ my @substitution_values = $cgi->multi_param("substitution_value_$unique_id");
+ my @condition_fields = $cgi->multi_param("condition_field_$unique_id");
+ my @condition_values = $cgi->multi_param("condition_value_$unique_id");
my $rule = {
substitutions => [],
conditions => [],
diff --git a/tools/batchMod.pl b/tools/batchMod.pl
index 5b104b6..320b4f1 100755
--- a/tools/batchMod.pl
+++ b/tools/batchMod.pl
@@ -40,7 +40,7 @@ use Koha::DateUtils;
my $input = new CGI;
my $dbh = C4::Context->dbh;
my $error = $input->param('error');
-my @itemnumbers = $input->param('itemnumber');
+my @itemnumbers = $input->multi_param('itemnumber');
my $biblionumber = $input->param('biblionumber');
my $op = $input->param('op');
my $del = $input->param('del');
@@ -98,13 +98,13 @@ my $sessionID = $cookies{'CGISESSID'}->value;
#--- ----------------------------------------------------------------------------
if ($op eq "action") {
#-------------------------------------------------------------------------------
- my @tags = $input->param('tag');
- my @subfields = $input->param('subfield');
- my @values = $input->param('field_value');
- my @disabled = $input->param('disable_input');
+ my @tags = $input->multi_param('tag');
+ my @subfields = $input->multi_param('subfield');
+ my @values = $input->multi_param('field_value');
+ my @disabled = $input->multi_param('disable_input');
# build indicator hash.
- my @ind_tag = $input->param('ind_tag');
- my @indicator = $input->param('indicator');
+ my @ind_tag = $input->multi_param('ind_tag');
+ my @indicator = $input->multi_param('indicator');
# Is there something to modify ?
# TODO : We shall use this var to warn the user in case no modification was done to the items
diff --git a/tools/batch_delete_records.pl b/tools/batch_delete_records.pl
index 65cbf21..a5d59d3 100755
--- a/tools/batch_delete_records.pl
+++ b/tools/batch_delete_records.pl
@@ -109,7 +109,7 @@ if ( $op eq 'form' ) {
);
} elsif ( $op eq 'delete' ) {
# We want to delete selected records!
- my @record_ids = $input->param('record_id');
+ my @record_ids = $input->multi_param('record_id');
my $dbh = C4::Context->dbh;
$dbh->{AutoCommit} = 0;
$dbh->{RaiseError} = 1;
diff --git a/tools/batch_record_modification.pl b/tools/batch_record_modification.pl
index 50a2b50..6ea0317 100755
--- a/tools/batch_record_modification.pl
+++ b/tools/batch_record_modification.pl
@@ -151,7 +151,7 @@ if ( $op eq 'form' ) {
);
} elsif ( $op eq 'modify' ) {
# We want to modify selected records!
- my @record_ids = $input->param('record_id');
+ my @record_ids = $input->multi_param('record_id');
my ( $job );
if ( $runinbackground ) {
diff --git a/tools/export.pl b/tools/export.pl
index efcd544..a4c02da 100755
--- a/tools/export.pl
+++ b/tools/export.pl
@@ -67,7 +67,7 @@ my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
}
);
-my @branch = $query->param("branch");
+my @branch = $query->multi_param("branch");
my $only_my_branch;
# Limit to local branch if IndependentBranches and not superlibrarian
if (
@@ -89,8 +89,8 @@ my %branchmap = map { $_ => 1 } @branch; # for quick lookups
if ( $op eq "export" ) {
my $export_remove_fields = $query->param("export_remove_fields") || q||;
- my @biblionumbers = $query->param("biblionumbers");
- my @itemnumbers = $query->param("itemnumbers");
+ my @biblionumbers = $query->multi_param("biblionumbers");
+ my @itemnumbers = $query->multi_param("itemnumbers");
my @sql_params;
my $sql_query;
diff --git a/tools/koha-news.pl b/tools/koha-news.pl
index 9af1640..e344bfa 100755
--- a/tools/koha-news.pl
+++ b/tools/koha-news.pl
@@ -139,7 +139,7 @@ elsif ( $op eq 'edit' ) {
print $cgi->redirect("/cgi-bin/koha/tools/koha-news.pl");
}
elsif ( $op eq 'del' ) {
- my @ids = $cgi->param('ids');
+ my @ids = $cgi->multi_param('ids');
del_opac_new( join ",", @ids );
print $cgi->redirect("/cgi-bin/koha/tools/koha-news.pl");
}
diff --git a/tools/letter.pl b/tools/letter.pl
index 293072f..9f8ac95 100755
--- a/tools/letter.pl
+++ b/tools/letter.pl
@@ -254,9 +254,9 @@ sub add_validate {
my $oldmodule = $input->param('oldmodule');
my $code = $input->param('code');
my $name = $input->param('name');
- my @mtt = $input->param('message_transport_type');
- my @title = $input->param('title');
- my @content = $input->param('content');
+ my @mtt = $input->multi_param('message_transport_type');
+ my @title = $input->multi_param('title');
+ my @content = $input->multi_param('content');
for my $mtt ( @mtt ) {
my $is_html = $input->param("is_html_$mtt");
my $title = shift @title;
diff --git a/tools/modborrowers.pl b/tools/modborrowers.pl
index 9937993..c776406 100755
--- a/tools/modborrowers.pl
+++ b/tools/modborrowers.pl
@@ -258,7 +258,7 @@ if ( $op eq 'show' ) {
# Process modifications
if ( $op eq 'do' ) {
- my @disabled = $input->param('disable_input');
+ my @disabled = $input->multi_param('disable_input');
my $infos;
for my $field ( qw/surname firstname branchcode categorycode city state zipcode country sort1 sort2 dateenrolled dateexpiry borrowernotes/ ) {
my $value = $input->param($field);
@@ -270,11 +270,11 @@ if ( $op eq 'do' ) {
$infos->{$field} = dt_from_string($infos->{$field}) if $infos->{$field};
}
- my @attributes = $input->param('patron_attributes');
- my @attr_values = $input->param('patron_attributes_value');
+ my @attributes = $input->multi_param('patron_attributes');
+ my @attr_values = $input->multi_param('patron_attributes_value');
my @errors;
- my @borrowernumbers = $input->param('borrowernumber');
+ my @borrowernumbers = $input->multi_param('borrowernumber');
# For each borrower selected
for my $borrowernumber ( @borrowernumbers ) {
# If at least one field are filled, we want to modify the borrower
diff --git a/tools/overduerules.pl b/tools/overduerules.pl
index 369ac9c..1478c3a 100755
--- a/tools/overduerules.pl
+++ b/tools/overduerules.pl
@@ -91,7 +91,7 @@ my $err=0;
my %temphash;
my $input_saved = 0;
if ($op eq 'save') {
- my @names=$input->param();
+ my @names=$input->multi_param();
my $sth_search = $dbh->prepare("SELECT count(*) AS total FROM overduerules WHERE branchcode=? AND categorycode=?");
my $sth_insert = $dbh->prepare("INSERT INTO overduerules (branchcode,categorycode, delay1,letter1,debarred1, delay2,letter2,debarred2, delay3,letter3,debarred3) VALUES (?,?,?,?,?,?,?,?,?,?,?)");
@@ -194,7 +194,7 @@ if ($op eq 'save') {
$sth_delete_mtt->execute( $branch, $bor );
for my $letternumber ( 1..3 ) {
- my @mtt = $input->param( "mtt${letternumber}-$bor" );
+ my @mtt = $input->multi_param( "mtt${letternumber}-$bor" );
next unless @mtt;
for my $mtt ( @mtt ) {
$sth_insert_mtt->execute( $branch, $bor, $letternumber, $mtt);
diff --git a/tools/viewlog.pl b/tools/viewlog.pl
index 6a26dec..d0dc7cd 100755
--- a/tools/viewlog.pl
+++ b/tools/viewlog.pl
@@ -45,9 +45,9 @@ my $input = new CGI;
$debug or $debug = $cgi_debug;
my $do_it = $input->param('do_it');
-my @modules = $input->param("modules");
+my @modules = $input->multi_param("modules");
my $user = $input->param("user") // '';
-my @actions = $input->param("actions");
+my @actions = $input->multi_param("actions");
my $object = $input->param("object");
my $info = $input->param("info");
my $datefrom = $input->param("from");
diff --git a/virtualshelves/addbybiblionumber.pl b/virtualshelves/addbybiblionumber.pl
index 9772c6d..790904f 100755
--- a/virtualshelves/addbybiblionumber.pl
+++ b/virtualshelves/addbybiblionumber.pl
@@ -112,7 +112,7 @@ else {
#end
sub HandleBiblioPars {
- my @bib= $query->param('biblionumber');
+ my @bib= $query->multi_param('biblionumber');
if(@bib==0 && $query->param('biblionumbers')) {
my $str= $query->param('biblionumbers');
@bib= split '/', $str;
diff --git a/virtualshelves/shelves.pl b/virtualshelves/shelves.pl
index eab6c17..53d39a7 100755
--- a/virtualshelves/shelves.pl
+++ b/virtualshelves/shelves.pl
@@ -161,7 +161,7 @@ if ( $op eq 'add_form' ) {
} elsif ( $op eq 'remove_biblios' ) {
$shelfnumber = $query->param('shelfnumber');
$shelf = Koha::Virtualshelves->find($shelfnumber);
- my @biblionumbers = $query->param('biblionumber');
+ my @biblionumbers = $query->multi_param('biblionumber');
if ($shelf) {
if ( $shelf->can_biblios_be_removed( $loggedinuser ) ) {
my $number_of_biblios_removed = eval {
--
1.9.1