View | Details | Raw Unified | Return to bug 16154
Collapse All | Expand All

(-)a/acqui/addorder.pl (-7 / +7 lines)
Lines 280-292 if ( $orderinfo->{quantity} ne '0' ) { Link Here
280
    # now, add items if applicable
280
    # now, add items if applicable
281
    if (C4::Context->preference('AcqCreateItem') eq 'ordering') {
281
    if (C4::Context->preference('AcqCreateItem') eq 'ordering') {
282
282
283
        my @tags         = $input->param('tag');
283
        my @tags         = $input->multi_param('tag');
284
        my @subfields    = $input->param('subfield');
284
        my @subfields    = $input->multi_param('subfield');
285
        my @field_values = $input->param('field_value');
285
        my @field_values = $input->multi_param('field_value');
286
        my @serials      = $input->param('serial');
286
        my @serials      = $input->multi_param('serial');
287
        my @itemid       = $input->param('itemid');
287
        my @itemid       = $input->multi_param('itemid');
288
        my @ind_tag      = $input->param('ind_tag');
288
        my @ind_tag      = $input->multi_param('ind_tag');
289
        my @indicator    = $input->param('indicator');
289
        my @indicator    = $input->multi_param('indicator');
290
        #Rebuilding ALL the data for items into a hash
290
        #Rebuilding ALL the data for items into a hash
291
        # parting them on $itemid.
291
        # parting them on $itemid.
292
292
(-)a/acqui/addorderiso2709.pl (-13 / +13 lines)
Lines 133-145 if ($op eq ""){ Link Here
133
    my $biblios = GetImportRecordsRange($import_batch_id);
133
    my $biblios = GetImportRecordsRange($import_batch_id);
134
    my $duplinbatch;
134
    my $duplinbatch;
135
    my $imported = 0;
135
    my $imported = 0;
136
    my @import_record_id_selected = $input->param("import_record_id");
136
    my @import_record_id_selected = $input->multi_param("import_record_id");
137
    my @quantities = $input->param('quantity');
137
    my @quantities = $input->multi_param('quantity');
138
    my @prices = $input->param('price');
138
    my @prices = $input->multi_param('price');
139
    my @budgets_id = $input->param('budget_id');
139
    my @budgets_id = $input->multi_param('budget_id');
140
    my @discount = $input->param('discount');
140
    my @discount = $input->multi_param('discount');
141
    my @sort1 = $input->param('sort1');
141
    my @sort1 = $input->multi_param('sort1');
142
    my @sort2 = $input->param('sort2');
142
    my @sort2 = $input->multi_param('sort2');
143
    my $active_currency = Koha::Acquisition::Currencies->get_active;
143
    my $active_currency = Koha::Acquisition::Currencies->get_active;
144
    for my $biblio (@$biblios){
144
    for my $biblio (@$biblios){
145
        # Check if this import_record_id was selected
145
        # Check if this import_record_id was selected
Lines 239-250 if ($op eq ""){ Link Here
239
        # parse the item sent by the form, and create an item just for the import_record_id we are dealing with
239
        # parse the item sent by the form, and create an item just for the import_record_id we are dealing with
240
        # this is not optimised, but it's working !
240
        # this is not optimised, but it's working !
241
        if ( C4::Context->preference('AcqCreateItem') eq 'ordering' ) {
241
        if ( C4::Context->preference('AcqCreateItem') eq 'ordering' ) {
242
            my @tags         = $input->param('tag');
242
            my @tags         = $input->multi_param('tag');
243
            my @subfields    = $input->param('subfield');
243
            my @subfields    = $input->multi_param('subfield');
244
            my @field_values = $input->param('field_value');
244
            my @field_values = $input->multi_param('field_value');
245
            my @serials      = $input->param('serial');
245
            my @serials      = $input->multi_param('serial');
246
            my @ind_tag   = $input->param('ind_tag');
246
            my @ind_tag   = $input->multi_param('ind_tag');
247
            my @indicator = $input->param('indicator');
247
            my @indicator = $input->multi_param('indicator');
248
            my $item;
248
            my $item;
249
            push @{ $item->{tags} },         $tags[0];
249
            push @{ $item->{tags} },         $tags[0];
250
            push @{ $item->{subfields} },    $subfields[0];
250
            push @{ $item->{subfields} },    $subfields[0];
(-)a/acqui/basketgroup.pl (-1 / +1 lines)
Lines 340-346 if ( $op eq "add" ) { Link Here
340
#
340
#
341
    # Getting parameters
341
    # Getting parameters
342
    my $basketgroup       = {};
342
    my $basketgroup       = {};
343
    my @baskets           = $input->param('basket');
343
    my @baskets           = $input->multi_param('basket');
344
    my $basketgroupid     = $input->param('basketgroupid');
344
    my $basketgroupid     = $input->param('basketgroupid');
345
    my $basketgroupname   = $input->param('basketgroupname');
345
    my $basketgroupname   = $input->param('basketgroupname');
346
    my $booksellerid      = $input->param('booksellerid');
346
    my $booksellerid      = $input->param('booksellerid');
(-)a/acqui/check_duplicate_barcode_ajax.pl (-1 / +1 lines)
Lines 41-47 if ($auth_status ne "ok") { Link Here
41
my $json;
41
my $json;
42
42
43
#Check if the barcodes already exist.
43
#Check if the barcodes already exist.
44
my @barcodes = $input->param('barcodes');
44
my @barcodes = $input->multi_param('barcodes');
45
foreach my $barcode (@barcodes) {
45
foreach my $barcode (@barcodes) {
46
    my $existing_itemnumber = GetItemnumberFromBarcode($barcode);
46
    my $existing_itemnumber = GetItemnumberFromBarcode($barcode);
47
    if ($existing_itemnumber) {
47
    if ($existing_itemnumber) {
(-)a/acqui/check_uniqueness.pl (-2 / +2 lines)
Lines 37-44 use C4::Output; Link Here
37
use C4::Items;
37
use C4::Items;
38
38
39
my $input = new CGI;
39
my $input = new CGI;
40
my @field = $input->param('field[]');
40
my @field = $input->multi_param('field[]');
41
my @value = $input->param('value[]');
41
my @value = $input->multi_param('value[]');
42
42
43
my $r = {};
43
my $r = {};
44
my $i = 0;
44
my $i = 0;
(-)a/acqui/finishreceive.pl (-7 / +7 lines)
Lines 122-134 if ($quantityrec > $origquantityrec ) { Link Here
122
    # now, add items if applicable
122
    # now, add items if applicable
123
    if (C4::Context->preference('AcqCreateItem') eq 'receiving') {
123
    if (C4::Context->preference('AcqCreateItem') eq 'receiving') {
124
124
125
        my @tags         = $input->param('tag');
125
        my @tags         = $input->multi_param('tag');
126
        my @subfields    = $input->param('subfield');
126
        my @subfields    = $input->multi_param('subfield');
127
        my @field_values = $input->param('field_value');
127
        my @field_values = $input->multi_param('field_value');
128
        my @serials      = $input->param('serial');
128
        my @serials      = $input->multi_param('serial');
129
        my @itemid       = $input->param('itemid');
129
        my @itemid       = $input->multi_param('itemid');
130
        my @ind_tag      = $input->param('ind_tag');
130
        my @ind_tag      = $input->multi_param('ind_tag');
131
        my @indicator    = $input->param('indicator');
131
        my @indicator    = $input->multi_param('indicator');
132
        #Rebuilding ALL the data for items into a hash
132
        #Rebuilding ALL the data for items into a hash
133
        # parting them on $itemid.
133
        # parting them on $itemid.
134
        my %itemhash;
134
        my %itemhash;
(-)a/acqui/histsearch.pl (-1 / +1 lines)
Lines 74-80 my $budget = $input->param( 'budget' ); Link Here
74
my $orderstatus             = $input->param( 'orderstatus' );
74
my $orderstatus             = $input->param( 'orderstatus' );
75
my $ordernumber             = $input->param( 'ordernumber' );
75
my $ordernumber             = $input->param( 'ordernumber' );
76
my $search_children_too     = $input->param( 'search_children_too' );
76
my $search_children_too     = $input->param( 'search_children_too' );
77
my @created_by              = $input->param('created_by');
77
my @created_by              = $input->multi_param('created_by');
78
78
79
my $from_placed_on = eval { dt_from_string( $input->param('from') ) } || dt_from_string;
79
my $from_placed_on = eval { dt_from_string( $input->param('from') ) } || dt_from_string;
80
my $to_placed_on   = eval { dt_from_string( $input->param('to')   ) } || dt_from_string;
80
my $to_placed_on   = eval { dt_from_string( $input->param('to')   ) } || dt_from_string;
(-)a/acqui/invoice.pl (-1 / +1 lines)
Lines 92-98 elsif ( $op && $op eq 'mod' ) { Link Here
92
    } elsif ($input->param('close')) {
92
    } elsif ($input->param('close')) {
93
        CloseInvoice($invoiceid);
93
        CloseInvoice($invoiceid);
94
    } elsif ($input->param('merge')) {
94
    } elsif ($input->param('merge')) {
95
        my @sources = $input->param('merge');
95
        my @sources = $input->multi_param('merge');
96
        MergeInvoices($invoiceid, \@sources);
96
        MergeInvoices($invoiceid, \@sources);
97
        defined($invoice_files) && $invoice_files->MergeFileRecIds(@sources);
97
        defined($invoice_files) && $invoice_files->MergeFileRecIds(@sources);
98
    }
98
    }
(-)a/acqui/lateorders-export.pl (-1 / +1 lines)
Lines 31-37 my ($template, $loggedinuser, $cookie) = get_template_and_user({ Link Here
31
    authnotrequired => 0,
31
    authnotrequired => 0,
32
    flagsrequired => {acquisition => 'order_receive'},
32
    flagsrequired => {acquisition => 'order_receive'},
33
});
33
});
34
my @ordernumbers = $input->param('ordernumber');
34
my @ordernumbers = $input->multi_param('ordernumber');
35
35
36
my @orders;
36
my @orders;
37
for my $ordernumber ( @ordernumbers ) {
37
for my $ordernumber ( @ordernumbers ) {
(-)a/acqui/lateorders.pl (-1 / +1 lines)
Lines 103-109 if ( $delay and not $delay =~ /^\d{1,3}$/ ) { Link Here
103
}
103
}
104
104
105
if ($op and $op eq "send_alert"){
105
if ($op and $op eq "send_alert"){
106
    my @ordernums = $input->param("ordernumber");# FIXME: Fallback values?
106
    my @ordernums = $input->multi_param("ordernumber");# FIXME: Fallback values?
107
    my $err;
107
    my $err;
108
    eval {
108
    eval {
109
        $err = SendAlerts( 'claimacquisition', \@ordernums, $input->param("letter_code") );    # FIXME: Fallback value?
109
        $err = SendAlerts( 'claimacquisition', \@ordernums, $input->param("letter_code") );    # FIXME: Fallback value?
(-)a/acqui/z3950_search.pl (-1 / +1 lines)
Lines 110-116 if ( $op ne "do_search" ) { Link Here
110
    exit;
110
    exit;
111
}
111
}
112
112
113
my @id = $input->param('id');
113
my @id = $input->multi_param('id');
114
if (@id==0) {
114
if (@id==0) {
115
    $template->param( emptyserverlist => 1 );
115
    $template->param( emptyserverlist => 1 );
116
    output_html_with_http_headers $input, $cookie, $template->output;
116
    output_html_with_http_headers $input, $cookie, $template->output;
(-)a/admin/aqplan.pl (-2 / +2 lines)
Lines 96-102 my $del = $input->param("sep"); Link Here
96
96
97
my $show_mine       = $input->param('show_mine') ;
97
my $show_mine       = $input->param('show_mine') ;
98
98
99
my @hide_cols      = $input->param('hide_cols');
99
my @hide_cols      = $input->multi_param('hide_cols');
100
100
101
if ( $budget_period_locked == 1  && not defined  $show_actual ) {
101
if ( $budget_period_locked == 1  && not defined  $show_actual ) {
102
     $show_actual  = 1;
102
     $show_actual  = 1;
Lines 141-147 my @budgets = @$budgets_ref; Link Here
141
my @authvals;
141
my @authvals;
142
my %labels;
142
my %labels;
143
143
144
my @names = $input->param();
144
my @names = $input->multi_param();
145
# ------------------------------------------------------------
145
# ------------------------------------------------------------
146
if ( $op eq 'save' ) {
146
if ( $op eq 'save' ) {
147
    #get budgets
147
    #get budgets
(-)a/admin/audio_alerts.pl (-1 / +1 lines)
Lines 32-38 my $sound = $cgi->param('sound'); Link Here
32
my $id       = $cgi->param('id');
32
my $id       = $cgi->param('id');
33
my $action     = $cgi->param('action');
33
my $action     = $cgi->param('action');
34
my $where    = $cgi->param('where');
34
my $where    = $cgi->param('where');
35
my @delete   = $cgi->param('delete');
35
my @delete   = $cgi->multi_param('delete');
36
36
37
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
37
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
38
    {
38
    {
(-)a/admin/auth_subfields_structure.pl (-10 / +10 lines)
Lines 192-209 if ($op eq 'add_form') { Link Here
192
                                    values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
192
                                    values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
193
    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=?
193
    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=?
194
                                    where authtypecode=? and tagfield=? and tagsubfield=?");
194
                                    where authtypecode=? and tagfield=? and tagsubfield=?");
195
	my @tagsubfield	= $input->param('tagsubfield');
195
	my @tagsubfield	= $input->multi_param('tagsubfield');
196
	my @liblibrarian	= $input->param('liblibrarian');
196
	my @liblibrarian	= $input->multi_param('liblibrarian');
197
	my @libopac		= $input->param('libopac');
197
	my @libopac		= $input->multi_param('libopac');
198
	my @kohafield		= ''.$input->param('kohafield');
198
	my @kohafield		= ''.$input->param('kohafield');
199
	my @tab				= $input->param('tab');
199
	my @tab				= $input->multi_param('tab');
200
	my @seealso		= $input->param('seealso');
200
	my @seealso		= $input->multi_param('seealso');
201
    my @ohidden             = $input->param('ohidden');
201
    my @ohidden             = $input->multi_param('ohidden');
202
	my @authorised_values	= $input->param('authorised_value');
202
	my @authorised_values	= $input->multi_param('authorised_value');
203
	my $authtypecode	= $input->param('authtypecode');
203
	my $authtypecode	= $input->param('authtypecode');
204
	my @frameworkcodes	= $input->param('frameworkcode');
204
	my @frameworkcodes	= $input->multi_param('frameworkcode');
205
	my @value_builder	=$input->param('value_builder');
205
	my @value_builder	=$input->multi_param('value_builder');
206
    my @defaultvalue = $input->param('defaultvalue');
206
    my @defaultvalue = $input->multi_param('defaultvalue');
207
	for (my $i=0; $i<= $#tagsubfield ; $i++) {
207
	for (my $i=0; $i<= $#tagsubfield ; $i++) {
208
		my $tagfield			=$input->param('tagfield');
208
		my $tagfield			=$input->param('tagfield');
209
		my $tagsubfield		=$tagsubfield[$i];
209
		my $tagsubfield		=$tagsubfield[$i];
(-)a/admin/columns_settings.pl (-1 / +1 lines)
Lines 24-30 my $action = $input->param('action') // 'list'; Link Here
24
24
25
if ( $action eq 'save' ) {
25
if ( $action eq 'save' ) {
26
    my $module = $input->param('module');
26
    my $module = $input->param('module');
27
    my @columnids = $input->param("columnid");
27
    my @columnids = $input->multi_param("columnid");
28
    my @columns;
28
    my @columns;
29
    for my $columnid (@columnids) {
29
    for my $columnid (@columnids) {
30
        next unless $columnid =~ m|^([^#]*)#([^#]*)#(.*)$|;
30
        next unless $columnid =~ m|^([^#]*)#([^#]*)#(.*)$|;
(-)a/admin/marc_subfields_structure.pl (-13 / +13 lines)
Lines 249-267 elsif ( $op eq 'add_validate' ) { Link Here
249
        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=?
249
        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=?
250
        where tagfield=? and tagsubfield=? and frameworkcode=?
250
        where tagfield=? and tagsubfield=? and frameworkcode=?
251
    });
251
    });
252
    my @tagsubfield       = $input->param('tagsubfield');
252
    my @tagsubfield       = $input->multi_param('tagsubfield');
253
    my @liblibrarian      = $input->param('liblibrarian');
253
    my @liblibrarian      = $input->multi_param('liblibrarian');
254
    my @libopac           = $input->param('libopac');
254
    my @libopac           = $input->multi_param('libopac');
255
    my @kohafield         = $input->param('kohafield');
255
    my @kohafield         = $input->multi_param('kohafield');
256
    my @tab               = $input->param('tab');
256
    my @tab               = $input->multi_param('tab');
257
    my @seealso           = $input->param('seealso');
257
    my @seealso           = $input->multi_param('seealso');
258
    my @hidden            = $input->param('hidden');
258
    my @hidden            = $input->multi_param('hidden');
259
    my @authorised_values = $input->param('authorised_value');
259
    my @authorised_values = $input->multi_param('authorised_value');
260
    my @authtypecodes     = $input->param('authtypecode');
260
    my @authtypecodes     = $input->multi_param('authtypecode');
261
    my @value_builder     = $input->param('value_builder');
261
    my @value_builder     = $input->multi_param('value_builder');
262
    my @link              = $input->param('link');
262
    my @link              = $input->multi_param('link');
263
    my @defaultvalue      = $input->param('defaultvalue');
263
    my @defaultvalue      = $input->multi_param('defaultvalue');
264
    my @maxlength         = $input->param('maxlength');
264
    my @maxlength         = $input->multi_param('maxlength');
265
    
265
    
266
    for ( my $i = 0 ; $i <= $#tagsubfield ; $i++ ) {
266
    for ( my $i = 0 ; $i <= $#tagsubfield ; $i++ ) {
267
        my $tagfield    = $input->param('tagfield');
267
        my $tagfield    = $input->param('tagfield');
(-)a/admin/oai_set_mappings.pl (-4 / +4 lines)
Lines 53-62 my $id = $input->param('id'); Link Here
53
my $op = $input->param('op');
53
my $op = $input->param('op');
54
54
55
if($op && $op eq "save") {
55
if($op && $op eq "save") {
56
    my @marcfields = $input->param('marcfield');
56
    my @marcfields = $input->multi_param('marcfield');
57
    my @marcsubfields = $input->param('marcsubfield');
57
    my @marcsubfields = $input->multi_param('marcsubfield');
58
    my @operators = $input->param('operator');
58
    my @operators = $input->multi_param('operator');
59
    my @marcvalues = $input->param('marcvalue');
59
    my @marcvalues = $input->multi_param('marcvalue');
60
60
61
    my @mappings;
61
    my @mappings;
62
    my $i = 0;
62
    my $i = 0;
(-)a/admin/oai_sets.pl (-2 / +2 lines)
Lines 52-58 if($op && $op eq "new") { Link Here
52
} elsif($op && $op eq "savenew") {
52
} elsif($op && $op eq "savenew") {
53
    my $spec = $input->param('spec');
53
    my $spec = $input->param('spec');
54
    my $name = $input->param('name');
54
    my $name = $input->param('name');
55
    my @descriptions = $input->param('description');
55
    my @descriptions = $input->multi_param('description');
56
    AddOAISet({
56
    AddOAISet({
57
        spec => $spec,
57
        spec => $spec,
58
        name => $name,
58
        name => $name,
Lines 72-78 if($op && $op eq "new") { Link Here
72
    my $id = $input->param('id');
72
    my $id = $input->param('id');
73
    my $spec = $input->param('spec');
73
    my $spec = $input->param('spec');
74
    my $name = $input->param('name');
74
    my $name = $input->param('name');
75
    my @descriptions = $input->param('description');
75
    my @descriptions = $input->multi_param('description');
76
    ModOAISet({
76
    ModOAISet({
77
        id => $id,
77
        id => $id,
78
        spec => $spec,
78
        spec => $spec,
(-)a/admin/patron-attr-types.pl (-1 / +1 lines)
Lines 168-174 sub add_update_attribute_type { Link Here
168
    $attr_type->display_checkout($display_checkout);
168
    $attr_type->display_checkout($display_checkout);
169
    $attr_type->category_code($input->param('category_code'));
169
    $attr_type->category_code($input->param('category_code'));
170
    $attr_type->class($input->param('class'));
170
    $attr_type->class($input->param('class'));
171
    my @branches = $input->param('branches');
171
    my @branches = $input->multi_param('branches');
172
    $attr_type->branches( \@branches );
172
    $attr_type->branches( \@branches );
173
173
174
    if ($op eq 'edit') {
174
    if ($op eq 'edit') {
(-)a/authorities/auth_finder.pl (-5 / +5 lines)
Lines 55-64 my $authority_types = Koha::Authority::Types->search( {}, { order_by => ['authty Link Here
55
55
56
# If search form posted
56
# If search form posted
57
if ( $op eq "do_search" ) {
57
if ( $op eq "do_search" ) {
58
    my @marclist  = $query->param('marclist');
58
    my @marclist  = $query->multi_param('marclist');
59
    my @and_or    = $query->param('and_or');
59
    my @and_or    = $query->multi_param('and_or');
60
    my @excluding = $query->param('excluding');
60
    my @excluding = $query->multi_param('excluding');
61
    my @operator  = $query->param('operator');
61
    my @operator  = $query->multi_param('operator');
62
    my @value     = (
62
    my @value     = (
63
        $query->param('value_mainstr') || undef,
63
        $query->param('value_mainstr') || undef,
64
        $query->param('value_main')    || undef,
64
        $query->param('value_main')    || undef,
Lines 84-90 if ( $op eq "do_search" ) { Link Here
84
    my @field_data = ();
84
    my @field_data = ();
85
85
86
# get marclist again, as the previous one has been modified by catalogsearch (mainentry replaced by field name)
86
# get marclist again, as the previous one has been modified by catalogsearch (mainentry replaced by field name)
87
    my @marclist_ini = $query->param('marclist');
87
    my @marclist_ini = $query->multi_param('marclist');
88
    for ( my $i = 0 ; $i <= $#marclist ; $i++ ) {
88
    for ( my $i = 0 ; $i <= $#marclist ; $i++ ) {
89
        push @field_data, { term => "marclist",  val => $marclist_ini[$i] };
89
        push @field_data, { term => "marclist",  val => $marclist_ini[$i] };
90
        push @field_data, { term => "and_or",    val => $and_or[$i] };
90
        push @field_data, { term => "and_or",    val => $and_or[$i] };
(-)a/authorities/authorities.pl (-5 / +5 lines)
Lines 606-617 $op ||= q{}; Link Here
606
if ($op eq "add") {
606
if ($op eq "add") {
607
#------------------------------------------------------------------------------------------------------------------------------
607
#------------------------------------------------------------------------------------------------------------------------------
608
    # rebuild
608
    # rebuild
609
    my @tags = $input->param('tag');
609
    my @tags = $input->multi_param('tag');
610
    my @subfields = $input->param('subfield');
610
    my @subfields = $input->multi_param('subfield');
611
    my @values = $input->param('field_value');
611
    my @values = $input->multi_param('field_value');
612
    # build indicator hash.
612
    # build indicator hash.
613
    my @ind_tag = $input->param('ind_tag');
613
    my @ind_tag = $input->multi_param('ind_tag');
614
    my @indicator = $input->param('indicator');
614
    my @indicator = $input->multi_param('indicator');
615
    my $record = TransformHtmlToMarc($input, 0);
615
    my $record = TransformHtmlToMarc($input, 0);
616
616
617
    my ($duplicateauthid,$duplicateauthvalue);
617
    my ($duplicateauthid,$duplicateauthvalue);
(-)a/authorities/merge.pl (-1 / +1 lines)
Lines 28-34 use C4::Koha; Link Here
28
use C4::Biblio;
28
use C4::Biblio;
29
29
30
my $input  = new CGI;
30
my $input  = new CGI;
31
my @authid = $input->param('authid');
31
my @authid = $input->multi_param('authid');
32
my $merge  = $input->param('merge');
32
my $merge  = $input->param('merge');
33
33
34
my @errors;
34
my @errors;
(-)a/authorities/ysearch.pl (-4 / +4 lines)
Lines 48-60 if ( $auth_status ne "ok" ) { Link Here
48
    exit 0;
48
    exit 0;
49
}
49
}
50
50
51
    my @value      = $query->param('term');
51
    my @value      = $query->multi_param('term');
52
    my $searchtype = $query->param('querytype');
52
    my $searchtype = $query->param('querytype');
53
    my @marclist  = ($searchtype);
53
    my @marclist  = ($searchtype);
54
    my $authtypecode = $query->param('authtypecode');
54
    my $authtypecode = $query->param('authtypecode');
55
    my @and_or    = $query->param('and_or');
55
    my @and_or    = $query->multi_param('and_or');
56
    my @excluding = $query->param('excluding');
56
    my @excluding = $query->multi_param('excluding');
57
    my @operator  = $query->param('operator');
57
    my @operator  = $query->multi_param('operator');
58
    my $orderby   = $query->param('orderby');
58
    my $orderby   = $query->param('orderby');
59
59
60
    my $resultsperpage = 50;
60
    my $resultsperpage = 50;
(-)a/catalogue/itemsearch.pl (-9 / +9 lines)
Lines 47-57 if (defined $format and $format eq 'json') { Link Here
47
    $cgi->param('sortby', $columns[ $cgi->param('iSortCol_0') ]);
47
    $cgi->param('sortby', $columns[ $cgi->param('iSortCol_0') ]);
48
    $cgi->param('sortorder', $cgi->param('sSortDir_0'));
48
    $cgi->param('sortorder', $cgi->param('sSortDir_0'));
49
49
50
    my @f = $cgi->param('f');
50
    my @f = $cgi->multi_param('f');
51
    my @q = $cgi->param('q');
51
    my @q = $cgi->multi_param('q');
52
    push @q, '' if @q == 0;
52
    push @q, '' if @q == 0;
53
    my @op = $cgi->param('op');
53
    my @op = $cgi->multi_param('op');
54
    my @c = $cgi->param('c');
54
    my @c = $cgi->multi_param('c');
55
    foreach my $i (0 .. ($cgi->param('iColumns') - 1)) {
55
    foreach my $i (0 .. ($cgi->param('iColumns') - 1)) {
56
        my $sSearch = $cgi->param("sSearch_$i");
56
        my $sSearch = $cgi->param("sSearch_$i");
57
        if (defined $sSearch and $sSearch ne '') {
57
        if (defined $sSearch and $sSearch ne '') {
Lines 116-125 if (scalar keys %params > 0) { Link Here
116
        }
116
        }
117
    }
117
    }
118
118
119
    my @c = $cgi->param('c');
119
    my @c = $cgi->multi_param('c');
120
    my @fields = $cgi->param('f');
120
    my @fields = $cgi->multi_param('f');
121
    my @q = $cgi->param('q');
121
    my @q = $cgi->multi_param('q');
122
    my @op = $cgi->param('op');
122
    my @op = $cgi->multi_param('op');
123
123
124
    my $f;
124
    my $f;
125
    for (my $i = 0; $i < @fields; $i++) {
125
    for (my $i = 0; $i < @fields; $i++) {
Lines 232-238 if (scalar keys %params > 0) { Link Here
232
        my $url = '/cgi-bin/koha/catalogue/itemsearch.pl';
232
        my $url = '/cgi-bin/koha/catalogue/itemsearch.pl';
233
        my @params;
233
        my @params;
234
        foreach my $p (keys %params) {
234
        foreach my $p (keys %params) {
235
            my @v = $cgi->param($p);
235
            my @v = $cgi->multi_param($p);
236
            push @params, map { "$p=" . $_ } @v;
236
            push @params, map { "$p=" . $_ } @v;
237
        }
237
        }
238
        $url .= '?' . join ('&', @params);
238
        $url .= '?' . join ('&', @params);
(-)a/catalogue/search.pl (-2 / +2 lines)
Lines 166-172 my $cgi = new CGI; Link Here
166
# decide which template to use
166
# decide which template to use
167
my $template_name;
167
my $template_name;
168
my $template_type;
168
my $template_type;
169
my @params = $cgi->param("limit");
169
my @params = $cgi->multi_param("limit");
170
if ((@params>=1) || ($cgi->param("q")) || ($cgi->param('multibranchlimit')) || ($cgi->param('limit-yr')) ) {
170
if ((@params>=1) || ($cgi->param("q")) || ($cgi->param('multibranchlimit')) || ($cgi->param('limit-yr')) ) {
171
    $template_name = 'catalogue/results.tt';
171
    $template_name = 'catalogue/results.tt';
172
}
172
}
Lines 392-398 foreach my $sort (@sort_by) { Link Here
392
$template->param('sort_by' => $sort_by[0]);
392
$template->param('sort_by' => $sort_by[0]);
393
393
394
# Use the servers defined, or just search our local catalog(default)
394
# Use the servers defined, or just search our local catalog(default)
395
my @servers = $cgi->param('server');
395
my @servers = $cgi->multi_param('server');
396
unless (@servers) {
396
unless (@servers) {
397
    #FIXME: this should be handled using Context.pm
397
    #FIXME: this should be handled using Context.pm
398
    @servers = ("biblioserver");
398
    @servers = ("biblioserver");
(-)a/cataloguing/addbiblio.pl (-1 / +1 lines)
Lines 833-839 if ( $op eq "addbiblio" ) { Link Here
833
        biblionumberdata => $biblionumber,
833
        biblionumberdata => $biblionumber,
834
    );
834
    );
835
    # getting html input
835
    # getting html input
836
    my @params = $input->param();
836
    my @params = $input->multi_param();
837
    $record = TransformHtmlToMarc( $input, 1 );
837
    $record = TransformHtmlToMarc( $input, 1 );
838
    # check for a duplicate
838
    # check for a duplicate
839
    my ( $duplicatebiblionumber, $duplicatetitle );
839
    my ( $duplicatebiblionumber, $duplicatetitle );
(-)a/cataloguing/addbooks.pl (-1 / +1 lines)
Lines 38-44 my $input = new CGI; Link Here
38
38
39
my $success = $input->param('biblioitem');
39
my $success = $input->param('biblioitem');
40
my $query   = $input->param('q');
40
my $query   = $input->param('q');
41
my @value   = $input->param('value');
41
my @value   = $input->multi_param('value');
42
my $page    = $input->param('page') || 1;
42
my $page    = $input->param('page') || 1;
43
my $results_per_page = 20;
43
my $results_per_page = 20;
44
44
(-)a/cataloguing/additem.pl (-10 / +10 lines)
Lines 429-440 if ($op eq "additem") { Link Here
429
429
430
    #-------------------------------------------------------------------------------
430
    #-------------------------------------------------------------------------------
431
    # rebuild
431
    # rebuild
432
    my @tags      = $input->param('tag');
432
    my @tags      = $input->multi_param('tag');
433
    my @subfields = $input->param('subfield');
433
    my @subfields = $input->multi_param('subfield');
434
    my @values    = $input->param('field_value');
434
    my @values    = $input->multi_param('field_value');
435
    # build indicator hash.
435
    # build indicator hash.
436
    my @ind_tag   = $input->param('ind_tag');
436
    my @ind_tag   = $input->multi_param('ind_tag');
437
    my @indicator = $input->param('indicator');
437
    my @indicator = $input->multi_param('indicator');
438
    my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values,\@indicator,\@ind_tag, 'ITEM');
438
    my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values,\@indicator,\@ind_tag, 'ITEM');
439
    my $record = MARC::Record::new_from_xml($xml, 'UTF-8');
439
    my $record = MARC::Record::new_from_xml($xml, 'UTF-8');
440
440
Lines 671-682 if ($op eq "additem") { Link Here
671
} elsif ($op eq "saveitem") {
671
} elsif ($op eq "saveitem") {
672
#-------------------------------------------------------------------------------
672
#-------------------------------------------------------------------------------
673
    # rebuild
673
    # rebuild
674
    my @tags      = $input->param('tag');
674
    my @tags      = $input->multi_param('tag');
675
    my @subfields = $input->param('subfield');
675
    my @subfields = $input->multi_param('subfield');
676
    my @values    = $input->param('field_value');
676
    my @values    = $input->multi_param('field_value');
677
    # build indicator hash.
677
    # build indicator hash.
678
    my @ind_tag   = $input->param('ind_tag');
678
    my @ind_tag   = $input->multi_param('ind_tag');
679
    my @indicator = $input->param('indicator');
679
    my @indicator = $input->multi_param('indicator');
680
    # my $itemnumber = $input->param('itemnumber');
680
    # my $itemnumber = $input->param('itemnumber');
681
    my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values,\@indicator,\@ind_tag,'ITEM');
681
    my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values,\@indicator,\@ind_tag,'ITEM');
682
    my $itemtosave=MARC::Record::new_from_xml($xml, 'UTF-8');
682
    my $itemtosave=MARC::Record::new_from_xml($xml, 'UTF-8');
(-)a/cataloguing/merge.pl (-1 / +1 lines)
Lines 32-38 use C4::Acquisition qw/ModOrder GetOrdersByBiblionumber/; Link Here
32
use Koha::MetadataRecord;
32
use Koha::MetadataRecord;
33
33
34
my $input = new CGI;
34
my $input = new CGI;
35
my @biblionumbers = $input->param('biblionumber');
35
my @biblionumbers = $input->multi_param('biblionumber');
36
my $merge = $input->param('merge');
36
my $merge = $input->param('merge');
37
37
38
my @errors;
38
my @errors;
(-)a/cataloguing/value_builder/unimarc_field_210c.pl (-5 / +5 lines)
Lines 70-80 my ($input) = @_; Link Here
70
    my $resultsperpage;
70
    my $resultsperpage;
71
71
72
    if ($op eq "do_search") {
72
    if ($op eq "do_search") {
73
        my @marclist = $query->param('marclist');
73
        my @marclist = $query->multi_param('marclist');
74
        my @and_or = $query->param('and_or');
74
        my @and_or = $query->multi_param('and_or');
75
        my @excluding = $query->param('excluding');
75
        my @excluding = $query->multi_param('excluding');
76
        my @operator = $query->param('operator');
76
        my @operator = $query->multi_param('operator');
77
        my @value = $query->param('value');
77
        my @value = $query->multi_param('value');
78
        my $orderby   = $query->param('orderby');
78
        my $orderby   = $query->param('orderby');
79
79
80
        $resultsperpage= $query->param('resultsperpage');
80
        $resultsperpage= $query->param('resultsperpage');
(-)a/cataloguing/z3950_auth_search.pl (-1 / +1 lines)
Lines 77-83 if ( $op ne "do_search" ) { Link Here
77
    exit;
77
    exit;
78
}
78
}
79
79
80
my @id = $input->param('id');
80
my @id = $input->multi_param('id');
81
if ( @id==0 ) {
81
if ( @id==0 ) {
82
        # empty server list -> report and exit
82
        # empty server list -> report and exit
83
        $template->param( emptyserverlist => 1 );
83
        $template->param( emptyserverlist => 1 );
(-)a/cataloguing/z3950_search.pl (-1 / +1 lines)
Lines 90-96 if ( $op ne "do_search" ) { Link Here
90
    exit;
90
    exit;
91
}
91
}
92
92
93
my @id = $input->param('id');
93
my @id = $input->multi_param('id');
94
if ( @id==0 ) {
94
if ( @id==0 ) {
95
        # empty server list -> report and exit
95
        # empty server list -> report and exit
96
        $template->param( emptyserverlist => 1 );
96
        $template->param( emptyserverlist => 1 );
(-)a/circ/circulation.pl (-2 / +2 lines)
Lines 145-155 if (!C4::Auth::haspermission( C4::Context->userenv->{id} , { circulate => 'force Link Here
145
145
146
my $onsite_checkout = $query->param('onsite_checkout');
146
my $onsite_checkout = $query->param('onsite_checkout');
147
147
148
my @failedrenews = $query->param('failedrenew');    # expected to be itemnumbers
148
my @failedrenews = $query->multi_param('failedrenew');    # expected to be itemnumbers
149
our %renew_failed = ();
149
our %renew_failed = ();
150
for (@failedrenews) { $renew_failed{$_} = 1; }
150
for (@failedrenews) { $renew_failed{$_} = 1; }
151
151
152
my @failedreturns = $query->param('failedreturn');
152
my @failedreturns = $query->multi_param('failedreturn');
153
our %return_failed = ();
153
our %return_failed = ();
154
for (@failedreturns) { $return_failed{$_} = 1; }
154
for (@failedreturns) { $return_failed{$_} = 1; }
155
155
(-)a/course_reserves/mod_course.pl (-1 / +1 lines)
Lines 59-65 if ( $action eq 'del' ) { Link Here
59
59
60
    my $course_id = ModCourse(%params);
60
    my $course_id = ModCourse(%params);
61
61
62
    my @instructors = $cgi->param('instructors');
62
    my @instructors = $cgi->multi_param('instructors');
63
    ModCourseInstructors(
63
    ModCourseInstructors(
64
        mode        => 'replace',
64
        mode        => 'replace',
65
        cardnumbers => \@instructors,
65
        cardnumbers => \@instructors,
(-)a/members/member-flags.pl (-1 / +1 lines)
Lines 43-49 $member2{'borrowernumber'}=$member; Link Here
43
if ($input->param('newflags')) {
43
if ($input->param('newflags')) {
44
    my $dbh=C4::Context->dbh();
44
    my $dbh=C4::Context->dbh();
45
45
46
    my @perms = $input->param('flag');
46
    my @perms = $input->multi_param('flag');
47
    my %all_module_perms = ();
47
    my %all_module_perms = ();
48
    my %sub_perms = ();
48
    my %sub_perms = ();
49
    foreach my $perm (@perms) {
49
    foreach my $perm (@perms) {
(-)a/members/memberentry.pl (-1 / +1 lines)
Lines 102-108 my $userenv = C4::Context->userenv; Link Here
102
## Deal with debarments
102
## Deal with debarments
103
$template->param(
103
$template->param(
104
    debarments => GetDebarments( { borrowernumber => $borrowernumber } ) );
104
    debarments => GetDebarments( { borrowernumber => $borrowernumber } ) );
105
my @debarments_to_remove = $input->param('remove_debarment');
105
my @debarments_to_remove = $input->multi_param('remove_debarment');
106
foreach my $d ( @debarments_to_remove ) {
106
foreach my $d ( @debarments_to_remove ) {
107
    DelDebarment( $d );
107
    DelDebarment( $d );
108
}
108
}
(-)a/opac/ilsdi.pl (-1 / +1 lines)
Lines 199-205 if ( $service and any { $service eq $_ } @services ) { Link Here
199
199
200
    # check for multiple parameters
200
    # check for multiple parameters
201
    for ( @names ) {
201
    for ( @names ) {
202
        my @values = $cgi->param($_);
202
        my @values = $cgi->multi_param($_);
203
        if ( $#values != 0 ) {
203
        if ( $#values != 0 ) {
204
            $out->{'code'} = "MultipleValuesNotAllowed";
204
            $out->{'code'} = "MultipleValuesNotAllowed";
205
            $out->{'message'} = "Multiple values not allowed for the parameter ".$_.".";
205
            $out->{'message'} = "Multiple values not allowed for the parameter ".$_.".";
(-)a/opac/opac-account-pay-paypal-return.pl (-1 / +1 lines)
Lines 55-61 my $active_currency = Koha::Acquisition::Currencies->get_active; Link Here
55
my $token    = $cgi->param('token');
55
my $token    = $cgi->param('token');
56
my $payer_id = $cgi->param('PayerID');
56
my $payer_id = $cgi->param('PayerID');
57
my $amount   = $cgi->param('amount');
57
my $amount   = $cgi->param('amount');
58
my @accountlines = $cgi->param('accountlines');
58
my @accountlines = $cgi->multi_param('accountlines');
59
59
60
my $ua = LWP::UserAgent->new;
60
my $ua = LWP::UserAgent->new;
61
61
(-)a/opac/opac-account-pay.pl (-1 / +1 lines)
Lines 50-56 my ( $template, $borrowernumber, $cookie ) = get_template_and_user( Link Here
50
);
50
);
51
51
52
my $payment_method = $cgi->param('payment_method');
52
my $payment_method = $cgi->param('payment_method');
53
my @accountlines = $cgi->param('accountline');
53
my @accountlines = $cgi->multi_param('accountline');
54
54
55
my $amount_to_pay =
55
my $amount_to_pay =
56
  Koha::Database->new()->schema()->resultset('Accountline')->search( { accountlines_id => { -in => \@accountlines } } )
56
  Koha::Database->new()->schema()->resultset('Accountline')->search( { accountlines_id => { -in => \@accountlines } } )
(-)a/opac/opac-renew.pl (-1 / +1 lines)
Lines 42-48 my ( $template, $borrowernumber, $cookie ) = get_template_and_user( Link Here
42
        debug           => 1,
42
        debug           => 1,
43
	}
43
	}
44
); 
44
); 
45
my @items = $query->param('item');
45
my @items = $query->multi_param('item');
46
46
47
my $opacrenew = C4::Context->preference("OpacRenewalAllowed");
47
my $opacrenew = C4::Context->preference("OpacRenewalAllowed");
48
48
(-)a/opac/opac-search-history.pl (-2 / +2 lines)
Lines 55-61 unless ( $loggedinuser ) { Link Here
55
    # Deleting search history
55
    # Deleting search history
56
    if ( $action eq 'delete') {
56
    if ( $action eq 'delete') {
57
        # Deleting session's search history
57
        # Deleting session's search history
58
        my @id = $cgi->param('id');
58
        my @id = $cgi->multi_param('id');
59
        my $all = not scalar( @id );
59
        my $all = not scalar( @id );
60
60
61
        my $type = $cgi->param('type');
61
        my $type = $cgi->param('type');
Lines 99-105 unless ( $loggedinuser ) { Link Here
99
99
100
    # Deleting search history
100
    # Deleting search history
101
    if ( $action eq 'delete' ) {
101
    if ( $action eq 'delete' ) {
102
        my @id = $cgi->param('id');
102
        my @id = $cgi->multi_param('id');
103
        if ( @id ) {
103
        if ( @id ) {
104
            C4::Search::History::delete(
104
            C4::Search::History::delete(
105
                {
105
                {
(-)a/opac/opac-search.pl (-9 / +9 lines)
Lines 85-92 my ($template,$borrowernumber,$cookie); Link Here
85
# decide which template to use
85
# decide which template to use
86
my $template_name;
86
my $template_name;
87
my $template_type = 'basic';
87
my $template_type = 'basic';
88
my @params = $cgi->param("limit");
88
my @params = $cgi->multi_param("limit");
89
my @searchCategories = $cgi->param('searchcat');
89
my @searchCategories = $cgi->multi_param('searchcat');
90
90
91
my $format = $cgi->param("format") || '';
91
my $format = $cgi->param("format") || '';
92
my $build_grouped_results = C4::Context->preference('OPACGroupResults');
92
my $build_grouped_results = C4::Context->preference('OPACGroupResults');
Lines 393-399 if ( $params->{tag} ) { Link Here
393
my $pasarParams = '';
393
my $pasarParams = '';
394
my $j = 0;
394
my $j = 0;
395
for (keys %$params) {
395
for (keys %$params) {
396
    my @pasarParam = $cgi->param($_);
396
    my @pasarParam = $cgi->multi_param($_);
397
    for my $paramValue(@pasarParam) {
397
    for my $paramValue(@pasarParam) {
398
        $pasarParams .= '&amp;' if ($j > 0);
398
        $pasarParams .= '&amp;' if ($j > 0);
399
        $pasarParams .= $_ . '=' . uri_escape_utf8($paramValue);
399
        $pasarParams .= $_ . '=' . uri_escape_utf8($paramValue);
Lines 424-430 foreach my $sort (@sort_by) { Link Here
424
$template->param('sort_by' => $sort_by[0]);
424
$template->param('sort_by' => $sort_by[0]);
425
425
426
# Use the servers defined, or just search our local catalog(default)
426
# Use the servers defined, or just search our local catalog(default)
427
my @servers = $cgi->param('server');
427
my @servers = $cgi->multi_param('server');
428
unless (@servers) {
428
unless (@servers) {
429
    #FIXME: this should be handled using Context.pm
429
    #FIXME: this should be handled using Context.pm
430
    @servers = ("biblioserver");
430
    @servers = ("biblioserver");
Lines 433-444 unless (@servers) { Link Here
433
433
434
# operators include boolean and proximity operators and are used
434
# operators include boolean and proximity operators and are used
435
# to evaluate multiple operands
435
# to evaluate multiple operands
436
my @operators = $cgi->param('op');
436
my @operators = $cgi->multi_param('op');
437
@operators = map { uri_unescape($_) } @operators;
437
@operators = map { uri_unescape($_) } @operators;
438
438
439
# indexes are query qualifiers, like 'title', 'author', etc. They
439
# indexes are query qualifiers, like 'title', 'author', etc. They
440
# can be single or multiple parameters separated by comma: kw,right-Truncation 
440
# can be single or multiple parameters separated by comma: kw,right-Truncation 
441
my @indexes = $cgi->param('idx');
441
my @indexes = $cgi->multi_param('idx');
442
@indexes = map { uri_unescape($_) } @indexes;
442
@indexes = map { uri_unescape($_) } @indexes;
443
443
444
# if a simple index (only one)  display the index used in the top search box
444
# if a simple index (only one)  display the index used in the top search box
Lines 446-452 if ($indexes[0] && !$indexes[1]) { Link Here
446
    $template->param("ms_".$indexes[0] => 1);
446
    $template->param("ms_".$indexes[0] => 1);
447
}
447
}
448
# an operand can be a single term, a phrase, or a complete ccl query
448
# an operand can be a single term, a phrase, or a complete ccl query
449
my @operands = $cgi->param('q');
449
my @operands = $cgi->multi_param('q');
450
@operands = map { uri_unescape($_) } @operands;
450
@operands = map { uri_unescape($_) } @operands;
451
451
452
$template->{VARS}->{querystring} = join(' ', @operands);
452
$template->{VARS}->{querystring} = join(' ', @operands);
Lines 459-467 if ($operands[0] && !$operands[1]) { Link Here
459
}
459
}
460
460
461
# limits are use to limit to results to a pre-defined category such as branch or language
461
# limits are use to limit to results to a pre-defined category such as branch or language
462
my @limits = $cgi->param('limit');
462
my @limits = $cgi->multi_param('limit');
463
@limits = map { uri_unescape($_) } @limits;
463
@limits = map { uri_unescape($_) } @limits;
464
my @nolimits = $cgi->param('nolimit');
464
my @nolimits = $cgi->multi_param('nolimit');
465
@nolimits = map { uri_unescape($_) } @nolimits;
465
@nolimits = map { uri_unescape($_) } @nolimits;
466
my %is_nolimit = map { $_ => 1 } @nolimits;
466
my %is_nolimit = map { $_ => 1 } @nolimits;
467
@limits = grep { not $is_nolimit{$_} } @limits;
467
@limits = grep { not $is_nolimit{$_} } @limits;
(-)a/opac/opac-shelves.pl (-1 / +1 lines)
Lines 188-194 if ( $op eq 'add_form' ) { Link Here
188
} elsif ( $op eq 'remove_biblios' ) {
188
} elsif ( $op eq 'remove_biblios' ) {
189
    $shelfnumber = $query->param('shelfnumber');
189
    $shelfnumber = $query->param('shelfnumber');
190
    $shelf = Koha::Virtualshelves->find($shelfnumber);
190
    $shelf = Koha::Virtualshelves->find($shelfnumber);
191
    my @biblionumber = $query->param('biblionumber');
191
    my @biblionumber = $query->multi_param('biblionumber');
192
    if ($shelf) {
192
    if ($shelf) {
193
        if ( $shelf->can_biblios_be_removed( $loggedinuser ) ) {
193
        if ( $shelf->can_biblios_be_removed( $loggedinuser ) ) {
194
            my $number_of_biblios_removed = eval {
194
            my $number_of_biblios_removed = eval {
(-)a/opac/opac-suggestions.pl (-1 / +1 lines)
Lines 142-148 if ( $op eq "add_confirm" ) { Link Here
142
}
142
}
143
143
144
if ( $op eq "delete_confirm" ) {
144
if ( $op eq "delete_confirm" ) {
145
    my @delete_field = $input->param("delete_field");
145
    my @delete_field = $input->multi_param("delete_field");
146
    foreach my $delete_field (@delete_field) {
146
    foreach my $delete_field (@delete_field) {
147
        &DelSuggestion( $borrowernumber, $delete_field );
147
        &DelSuggestion( $borrowernumber, $delete_field );
148
    }
148
    }
(-)a/patron_lists/list.pl (-2 / +2 lines)
Lines 40-51 my ( $template, $logged_in_user, $cookie ) = get_template_and_user( Link Here
40
my ($list) =
40
my ($list) =
41
  GetPatronLists( { patron_list_id => $cgi->param('patron_list_id') } );
41
  GetPatronLists( { patron_list_id => $cgi->param('patron_list_id') } );
42
42
43
my @patrons_to_add = $cgi->param('patrons_to_add');
43
my @patrons_to_add = $cgi->multi_param('patrons_to_add');
44
if (@patrons_to_add) {
44
if (@patrons_to_add) {
45
    AddPatronsToList( { list => $list, cardnumbers => \@patrons_to_add } );
45
    AddPatronsToList( { list => $list, cardnumbers => \@patrons_to_add } );
46
}
46
}
47
47
48
my @patrons_to_remove = $cgi->param('patrons_to_remove');
48
my @patrons_to_remove = $cgi->multi_param('patrons_to_remove');
49
if (@patrons_to_remove) {
49
if (@patrons_to_remove) {
50
    DelPatronsFromList( { list => $list, patron_list_patrons => \@patrons_to_remove } );
50
    DelPatronsFromList( { list => $list, patron_list_patrons => \@patrons_to_remove } );
51
}
51
}
(-)a/patroncards/create-pdf.pl (-2 / +2 lines)
Lines 51-58 my $batch_id = $cgi->param('batch_id') if $cgi->param('batch_id'); Link Here
51
my $template_id = $cgi->param('template_id') || undef;
51
my $template_id = $cgi->param('template_id') || undef;
52
my $layout_id   = $cgi->param('layout_id') || undef;
52
my $layout_id   = $cgi->param('layout_id') || undef;
53
my $start_card = $cgi->param('start_card') || 1;
53
my $start_card = $cgi->param('start_card') || 1;
54
my @label_ids   = $cgi->param('label_id') if $cgi->param('label_id');
54
my @label_ids   = $cgi->multi_param('label_id') if $cgi->param('label_id');
55
my @borrower_numbers  = $cgi->param('borrower_number') if $cgi->param('borrower_number');
55
my @borrower_numbers  = $cgi->multi_param('borrower_number') if $cgi->param('borrower_number');
56
my $patronlist_id = $cgi->param('patronlist_id');
56
my $patronlist_id = $cgi->param('patronlist_id');
57
57
58
my $items = undef; # items = cards
58
my $items = undef; # items = cards
(-)a/patroncards/image-manage.pl (-1 / +1 lines)
Lines 30-36 my $image_name = $cgi->param('image_name') || ''; Link Here
30
my $file_name = $cgi->param('uploadfile') || '';
30
my $file_name = $cgi->param('uploadfile') || '';
31
my $upload_file = $cgi->upload('uploadfile') || '';
31
my $upload_file = $cgi->upload('uploadfile') || '';
32
my $op = $cgi->param('op') || 'none';
32
my $op = $cgi->param('op') || 'none';
33
my @image_ids = $cgi->param('image_id') if $cgi->param('image_id');
33
my @image_ids = $cgi->multi_param('image_id') if $cgi->param('image_id');
34
34
35
my $source_file = "$file_name"; # otherwise we end up with what amounts to a pointer to a filehandle rather than a user-friendly filename
35
my $source_file = "$file_name"; # otherwise we end up with what amounts to a pointer to a filehandle rather than a user-friendly filename
36
36
(-)a/patroncards/print.pl (-3 / +3 lines)
Lines 41-53 my ( $template, $loggedinuser, $cookie ) = get_template_and_user( Link Here
41
);
41
);
42
42
43
my $op = $cgi->param('op') || 'none';
43
my $op = $cgi->param('op') || 'none';
44
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
44
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
45
my @batch_ids = $cgi->param('batch_id') if $cgi->param('batch_id');
45
my @batch_ids = $cgi->multi_param('batch_id') if $cgi->param('batch_id');
46
my $patronlist_id = $cgi->param('patronlist_id') || undef;
46
my $patronlist_id = $cgi->param('patronlist_id') || undef;
47
my $layout_id = $cgi->param('layout_id') || undef;
47
my $layout_id = $cgi->param('layout_id') || undef;
48
my $template_id = $cgi->param('template_id') || undef;
48
my $template_id = $cgi->param('template_id') || undef;
49
my $start_card = $cgi->param('start_card') || 1;
49
my $start_card = $cgi->param('start_card') || 1;
50
my @borrower_numbers = $cgi->param('borrower_number') if $cgi->param('borrower_number');
50
my @borrower_numbers = $cgi->multi_param('borrower_number') if $cgi->param('borrower_number');
51
my $output_format = $cgi->param('output_format') || 'pdf';
51
my $output_format = $cgi->param('output_format') || 'pdf';
52
my $referer = $cgi->param('referer') || undef;
52
my $referer = $cgi->param('referer') || undef;
53
53
(-)a/reports/acquisitions_stats.pl (-1 / +1 lines)
Lines 45-51 my $do_it = $input->param('do_it'); Link Here
45
my $fullreportname = "reports/acquisitions_stats.tt";
45
my $fullreportname = "reports/acquisitions_stats.tt";
46
my $line           = $input->param("Line");
46
my $line           = $input->param("Line");
47
my $column         = $input->param("Column");
47
my $column         = $input->param("Column");
48
my @filters        = $input->param("Filter");
48
my @filters        = $input->multi_param("Filter");
49
$filters[0] = eval { output_pref( { dt => dt_from_string( $filters[0]), dateonly => 1, dateformat => 'iso' } ); }
49
$filters[0] = eval { output_pref( { dt => dt_from_string( $filters[0]), dateonly => 1, dateformat => 'iso' } ); }
50
    if ( $filters[0] );
50
    if ( $filters[0] );
51
$filters[1] = eval { output_pref( { dt => dt_from_string( $filters[1]), dateonly => 1, dateformat => 'iso' } ); }
51
$filters[1] = eval { output_pref( { dt => dt_from_string( $filters[1]), dateonly => 1, dateformat => 'iso' } ); }
(-)a/reports/bor_issues_top.pl (-1 / +1 lines)
Lines 49-55 my $fullreportname = "reports/bor_issues_top.tt"; Link Here
49
my $do_it   = $input->param('do_it');
49
my $do_it   = $input->param('do_it');
50
my $limit   = $input->param("Limit");
50
my $limit   = $input->param("Limit");
51
my $column  = $input->param("Criteria");
51
my $column  = $input->param("Criteria");
52
my @filters = $input->param("Filter");
52
my @filters = $input->multi_param("Filter");
53
foreach ( @filters[0..3] ) {
53
foreach ( @filters[0..3] ) {
54
    $_ and $_ = eval { output_pref( { dt => dt_from_string ( $_ ), dateonly => 1, dateformat => 'iso' }); };
54
    $_ and $_ = eval { output_pref( { dt => dt_from_string ( $_ ), dateonly => 1, dateformat => 'iso' }); };
55
}
55
}
(-)a/reports/borrowers_out.pl (-1 / +1 lines)
Lines 45-51 my $do_it=$input->param('do_it'); Link Here
45
my $fullreportname = "reports/borrowers_out.tt";
45
my $fullreportname = "reports/borrowers_out.tt";
46
my $limit = $input->param("Limit");
46
my $limit = $input->param("Limit");
47
my $column = $input->param("Criteria");
47
my $column = $input->param("Criteria");
48
my @filters = $input->param("Filter");
48
my @filters = $input->multi_param("Filter");
49
$filters[1] = eval { output_pref( { dt => dt_from_string( $filters[1]), dateonly => 1, dateformat => 'iso' } ); }
49
$filters[1] = eval { output_pref( { dt => dt_from_string( $filters[1]), dateonly => 1, dateformat => 'iso' } ); }
50
    if ( $filters[1] );
50
    if ( $filters[1] );
51
51
(-)a/reports/borrowers_stats.pl (-1 / +1 lines)
Lines 49-55 my $do_it=$input->param('do_it'); Link Here
49
my $fullreportname = "reports/borrowers_stats.tt";
49
my $fullreportname = "reports/borrowers_stats.tt";
50
my $line = $input->param("Line");
50
my $line = $input->param("Line");
51
my $column = $input->param("Column");
51
my $column = $input->param("Column");
52
my @filters = $input->param("Filter");
52
my @filters = $input->multi_param("Filter");
53
$filters[3] = eval { output_pref( { dt => dt_from_string( $filters[3]), dateonly => 1, dateformat => 'iso' } ); }
53
$filters[3] = eval { output_pref( { dt => dt_from_string( $filters[3]), dateonly => 1, dateformat => 'iso' } ); }
54
    if ( $filters[3] );
54
    if ( $filters[3] );
55
$filters[4] = eval { output_pref ({ dt => dt_from_string( $filters[4]), dateonly => 1, dateformat => 'iso' } ); }
55
$filters[4] = eval { output_pref ({ dt => dt_from_string( $filters[4]), dateonly => 1, dateformat => 'iso' } ); }
(-)a/reports/cat_issues_top.pl (-1 / +1 lines)
Lines 46-52 my $do_it=$input->param('do_it'); Link Here
46
my $fullreportname = "reports/cat_issues_top.tt";
46
my $fullreportname = "reports/cat_issues_top.tt";
47
my $limit = $input->param("Limit");
47
my $limit = $input->param("Limit");
48
my $column = $input->param("Criteria");
48
my $column = $input->param("Criteria");
49
my @filters = $input->param("Filter");
49
my @filters = $input->multi_param("Filter");
50
foreach ( @filters[0..3] ) {
50
foreach ( @filters[0..3] ) {
51
    $_ and $_ = eval { output_pref( { dt => dt_from_string ( $_ ), dateonly => 1, dateformat => 'iso' } ); };
51
    $_ and $_ = eval { output_pref( { dt => dt_from_string ( $_ ), dateonly => 1, dateformat => 'iso' } ); };
52
}
52
}
(-)a/reports/catalogue_out.pl (-1 / +1 lines)
Lines 40-46 my $input = new CGI; Link Here
40
my $do_it   = $input->param('do_it');
40
my $do_it   = $input->param('do_it');
41
my $limit   = $input->param("Limit") || 10;
41
my $limit   = $input->param("Limit") || 10;
42
my $column  = $input->param("Criteria");
42
my $column  = $input->param("Criteria");
43
my @filters = $input->param("Filter");
43
my @filters = $input->multi_param("Filter");
44
44
45
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
45
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
46
    {
46
    {
(-)a/reports/catalogue_stats.pl (-1 / +1 lines)
Lines 47-53 my $do_it = $input->param('do_it'); Link Here
47
my $line        = $input->param("Line");
47
my $line        = $input->param("Line");
48
my $column      = $input->param("Column");
48
my $column      = $input->param("Column");
49
my $cellvalue      = $input->param("Cellvalue"); # one of 'items', 'biblios', 'deleteditems'
49
my $cellvalue      = $input->param("Cellvalue"); # one of 'items', 'biblios', 'deleteditems'
50
my @filters     = $input->param("Filter");
50
my @filters     = $input->multi_param("Filter");
51
my $cotedigits  = $input->param("cotedigits");
51
my $cotedigits  = $input->param("cotedigits");
52
my $output      = $input->param("output");
52
my $output      = $input->param("output");
53
my $basename    = $input->param("basename");
53
my $basename    = $input->param("basename");
(-)a/reports/dictionary.pl (-2 / +2 lines)
Lines 92-98 elsif ( $phase eq 'New Term step 3' ) { Link Here
92
elsif ( $phase eq 'New Term step 4' ) {
92
elsif ( $phase eq 'New Term step 4' ) {
93
93
94
    # Choosing the values
94
    # Choosing the values
95
    my @columns                = $input->param('columns');
95
    my @columns                = $input->multi_param('columns');
96
    my $columnstring           = join( ',', @columns );
96
    my $columnstring           = join( ',', @columns );
97
    my @column_loop;
97
    my @column_loop;
98
    foreach my $column (@columns) {
98
    foreach my $column (@columns) {
Lines 130-136 elsif ( $phase eq 'New Term step 4' ) { Link Here
130
elsif ( $phase eq 'New Term step 5' ) {
130
elsif ( $phase eq 'New Term step 5' ) {
131
    # Confirmation screen
131
    # Confirmation screen
132
    my $columnstring           = $input->param('columnstring');
132
    my $columnstring           = $input->param('columnstring');
133
    my @criteria               = $input->param('criteria_column');
133
    my @criteria               = $input->multi_param('criteria_column');
134
    my $query_criteria;
134
    my $query_criteria;
135
    my @criteria_loop;
135
    my @criteria_loop;
136
136
(-)a/reports/guided_reports.pl (-7 / +7 lines)
Lines 116-122 elsif ( $phase eq 'Build new' ) { Link Here
116
}
116
}
117
117
118
elsif ( $phase eq 'Delete Multiple') {
118
elsif ( $phase eq 'Delete Multiple') {
119
    my @ids = $input->param('ids');
119
    my @ids = $input->multi_param('ids');
120
    delete_report( @ids );
120
    delete_report( @ids );
121
    print $input->redirect("/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved");
121
    print $input->redirect("/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved");
122
    exit;
122
    exit;
Lines 320-326 elsif ( $phase eq 'Choose these columns' ) { Link Here
320
    # next step is the constraints
320
    # next step is the constraints
321
    my $area    = $input->param('area');
321
    my $area    = $input->param('area');
322
    my $type    = $input->param('type');
322
    my $type    = $input->param('type');
323
    my @columns = $input->param('columns');
323
    my @columns = $input->multi_param('columns');
324
    my $column  = join( ',', @columns );
324
    my $column  = join( ',', @columns );
325
325
326
    $template->param(
326
    $template->param(
Lines 345-353 elsif ( $phase eq 'Choose these criteria' ) { Link Here
345
    my $area     = $input->param('area');
345
    my $area     = $input->param('area');
346
    my $type     = $input->param('type');
346
    my $type     = $input->param('type');
347
    my $column   = $input->param('column');
347
    my $column   = $input->param('column');
348
    my @definitions = $input->param('definition');
348
    my @definitions = $input->multi_param('definition');
349
    my $definition = join (',',@definitions);
349
    my $definition = join (',',@definitions);
350
    my @criteria = $input->param('criteria_column');
350
    my @criteria = $input->multi_param('criteria_column');
351
    my $query_criteria;
351
    my $query_criteria;
352
    foreach my $crit (@criteria) {
352
    foreach my $crit (@criteria) {
353
        my $value = $input->param( $crit . "_value" );
353
        my $value = $input->param( $crit . "_value" );
Lines 427-433 elsif ( $phase eq 'Choose these operations' ) { Link Here
427
    my $column   = $input->param('column');
427
    my $column   = $input->param('column');
428
    my $criteria = $input->param('criteria');
428
    my $criteria = $input->param('criteria');
429
	my $definition = $input->param('definition');
429
	my $definition = $input->param('definition');
430
    my @total_by = $input->param('total_by');
430
    my @total_by = $input->multi_param('total_by');
431
    my $totals;
431
    my $totals;
432
    foreach my $total (@total_by) {
432
    foreach my $total (@total_by) {
433
        my $value = $input->param( $total . "_tvalue" );
433
        my $value = $input->param( $total . "_tvalue" );
Lines 474-480 elsif ( $phase eq 'Build report' ) { Link Here
474
    my $query_criteria=$crit;
474
    my $query_criteria=$crit;
475
    # split the columns up by ,
475
    # split the columns up by ,
476
    my @columns = split( ',', $column );
476
    my @columns = split( ',', $column );
477
    my @order_by = $input->param('order_by');
477
    my @order_by = $input->multi_param('order_by');
478
478
479
    my $query_orderby;
479
    my $query_orderby;
480
    foreach my $order (@order_by) {
480
    foreach my $order (@order_by) {
Lines 621-627 elsif ($phase eq 'Run this report'){ Link Here
621
    my $limit      = $input->param('limit') || 20;
621
    my $limit      = $input->param('limit') || 20;
622
    my $offset     = 0;
622
    my $offset     = 0;
623
    my $report_id  = $input->param('reports');
623
    my $report_id  = $input->param('reports');
624
    my @sql_params = $input->param('sql_params');
624
    my @sql_params = $input->multi_param('sql_params');
625
    # offset algorithm
625
    # offset algorithm
626
    if ($input->param('page')) {
626
    if ($input->param('page')) {
627
        $offset = ($input->param('page') - 1) * $limit;
627
        $offset = ($input->param('page') - 1) * $limit;
(-)a/reports/issues_avg_stats.pl (-1 / +1 lines)
Lines 46-52 my $do_it=$input->param('do_it'); Link Here
46
my $fullreportname = "reports/issues_avg_stats.tt";
46
my $fullreportname = "reports/issues_avg_stats.tt";
47
my $line = $input->param("Line");
47
my $line = $input->param("Line");
48
my $column = $input->param("Column");
48
my $column = $input->param("Column");
49
my @filters = $input->param("Filter");
49
my @filters = $input->multi_param("Filter");
50
$filters[0] = eval { output_pref( { dt => dt_from_string( $filters[0]), dateonly => 1, dateformat => 'iso' } ); }
50
$filters[0] = eval { output_pref( { dt => dt_from_string( $filters[0]), dateonly => 1, dateformat => 'iso' } ); }
51
    if ( $filters[0] );
51
    if ( $filters[0] );
52
$filters[1] = eval { output_pref( { dt => dt_from_string( $filters[1]), dateonly => 1, dateformat => 'iso' } ); }
52
$filters[1] = eval { output_pref( { dt => dt_from_string( $filters[1]), dateonly => 1, dateformat => 'iso' } ); }
(-)a/reports/issues_stats.pl (-1 / +1 lines)
Lines 50-56 my $fullreportname = "reports/issues_stats.tt"; Link Here
50
my $do_it    = $input->param('do_it');
50
my $do_it    = $input->param('do_it');
51
my $line     = $input->param("Line");
51
my $line     = $input->param("Line");
52
my $column   = $input->param("Column");
52
my $column   = $input->param("Column");
53
my @filters  = $input->param("Filter");
53
my @filters  = $input->multi_param("Filter");
54
$filters[0] = eval { output_pref( { dt => dt_from_string( $filters[0]), dateonly => 1, dateformat => 'iso' } ); }
54
$filters[0] = eval { output_pref( { dt => dt_from_string( $filters[0]), dateonly => 1, dateformat => 'iso' } ); }
55
    if ( $filters[0] );
55
    if ( $filters[0] );
56
$filters[1] = eval { output_pref( { dt => dt_from_string( $filters[1]), dateonly => 1, dateformat => 'iso' } ); }
56
$filters[1] = eval { output_pref( { dt => dt_from_string( $filters[1]), dateonly => 1, dateformat => 'iso' } ); }
(-)a/reports/manager.pl (-1 / +1 lines)
Lines 30-36 my $input = new CGI; Link Here
30
my $report_name=$input->param("report_name");
30
my $report_name=$input->param("report_name");
31
my $do_it=$input->param('do_it');
31
my $do_it=$input->param('do_it');
32
my $fullreportname = "reports/".$report_name.".tt";
32
my $fullreportname = "reports/".$report_name.".tt";
33
my @values = $input->param("value");
33
my @values = $input->multi_param("value");
34
my ($template, $borrowernumber, $cookie)
34
my ($template, $borrowernumber, $cookie)
35
	= get_template_and_user({template_name => $fullreportname,
35
	= get_template_and_user({template_name => $fullreportname,
36
				query => $input,
36
				query => $input,
(-)a/reserve/modrequest.pl (-7 / +7 lines)
Lines 41-53 my ( $template, $loggedinuser, $cookie ) = get_template_and_user( Link Here
41
    }
41
    }
42
);
42
);
43
43
44
my @reserve_id = $query->param('reserve_id');
44
my @reserve_id = $query->multi_param('reserve_id');
45
my @rank = $query->param('rank-request');
45
my @rank = $query->multi_param('rank-request');
46
my @biblionumber = $query->param('biblionumber');
46
my @biblionumber = $query->multi_param('biblionumber');
47
my @borrower = $query->param('borrowernumber');
47
my @borrower = $query->multi_param('borrowernumber');
48
my @branch = $query->param('pickup');
48
my @branch = $query->multi_param('pickup');
49
my @itemnumber = $query->param('itemnumber');
49
my @itemnumber = $query->multi_param('itemnumber');
50
my @suspend_until=$query->param('suspend_until');
50
my @suspend_until=$query->multi_param('suspend_until');
51
my $multi_hold = $query->param('multi_hold');
51
my $multi_hold = $query->param('multi_hold');
52
my $biblionumbers = $query->param('biblionumbers');
52
my $biblionumbers = $query->param('biblionumbers');
53
my $count=@rank;
53
my $count=@rank;
(-)a/reserve/placerequest.pl (-3 / +3 lines)
Lines 37-50 my $input = CGI->new(); Link Here
37
37
38
checkauth($input, 0, { reserveforothers => 'place_holds' }, 'intranet');
38
checkauth($input, 0, { reserveforothers => 'place_holds' }, 'intranet');
39
39
40
my @bibitems=$input->param('biblioitem');
40
my @bibitems=$input->multi_param('biblioitem');
41
my @reqbib=$input->param('reqbib'); 
41
my @reqbib=$input->multi_param('reqbib'); 
42
my $biblionumber=$input->param('biblionumber');
42
my $biblionumber=$input->param('biblionumber');
43
my $borrowernumber=$input->param('borrowernumber');
43
my $borrowernumber=$input->param('borrowernumber');
44
my $notes=$input->param('notes');
44
my $notes=$input->param('notes');
45
my $branch=$input->param('pickup');
45
my $branch=$input->param('pickup');
46
my $startdate=$input->param('reserve_date') || '';
46
my $startdate=$input->param('reserve_date') || '';
47
my @rank=$input->param('rank-request');
47
my @rank=$input->multi_param('rank-request');
48
my $type=$input->param('type');
48
my $type=$input->param('type');
49
my $title=$input->param('title');
49
my $title=$input->param('title');
50
my $borrower=GetMember('borrowernumber'=>$borrowernumber);
50
my $borrower=GetMember('borrowernumber'=>$borrowernumber);
(-)a/serials/claims.pl (-1 / +1 lines)
Lines 67-73 for my $field ( @$additional_fields ) { Link Here
67
67
68
my $branchloop = GetBranchesLoop();
68
my $branchloop = GetBranchesLoop();
69
69
70
my @serialnums=$input->param('serialid');
70
my @serialnums=$input->multi_param('serialid');
71
if (@serialnums) { # i.e. they have been flagged to generate claims
71
if (@serialnums) { # i.e. they have been flagged to generate claims
72
    my $err;
72
    my $err;
73
    eval {
73
    eval {
(-)a/serials/lateissues-export.pl (-1 / +1 lines)
Lines 28-34 use Text::CSV_XS; Link Here
28
28
29
my $query = new CGI;
29
my $query = new CGI;
30
my $supplierid = $query->param('supplierid');
30
my $supplierid = $query->param('supplierid');
31
my @serialids = $query->param('serialid');
31
my @serialids = $query->multi_param('serialid');
32
my $op = $query->param('op') || q{};
32
my $op = $query->param('op') || q{};
33
33
34
my $csv_profile_id = $query->param('csv_profile');
34
my $csv_profile_id = $query->param('csv_profile');
(-)a/serials/serials-collection.pl (-1 / +1 lines)
Lines 46-52 my ($template, $loggedinuser, $cookie) Link Here
46
                            debug => 1,
46
                            debug => 1,
47
                            });
47
                            });
48
my $biblionumber = $query->param('biblionumber');
48
my $biblionumber = $query->param('biblionumber');
49
my @subscriptionid = $query->param('subscriptionid');
49
my @subscriptionid = $query->multi_param('subscriptionid');
50
50
51
@subscriptionid= uniq @subscriptionid;
51
@subscriptionid= uniq @subscriptionid;
52
@subscriptionid= sort @subscriptionid;
52
@subscriptionid= sort @subscriptionid;
(-)a/serials/serials-edit.pl (-17 / +17 lines)
Lines 79-92 use List::MoreUtils qw/uniq/; Link Here
79
79
80
my $query           = CGI->new();
80
my $query           = CGI->new();
81
my $dbh             = C4::Context->dbh;
81
my $dbh             = C4::Context->dbh;
82
my @serialids       = $query->param('serialid');
82
my @serialids       = $query->multi_param('serialid');
83
my @serialseqs      = $query->param('serialseq');
83
my @serialseqs      = $query->multi_param('serialseq');
84
my @planneddates    = $query->param('planneddate');
84
my @planneddates    = $query->multi_param('planneddate');
85
my @publisheddates  = $query->param('publisheddate');
85
my @publisheddates  = $query->multi_param('publisheddate');
86
my @publisheddatetexts = $query->param('publisheddatetext');
86
my @publisheddatetexts = $query->multi_param('publisheddatetext');
87
my @status          = $query->param('status');
87
my @status          = $query->multi_param('status');
88
my @notes           = $query->param('notes');
88
my @notes           = $query->multi_param('notes');
89
my @subscriptionids = $query->param('subscriptionid');
89
my @subscriptionids = $query->multi_param('subscriptionid');
90
my $op              = $query->param('op');
90
my $op              = $query->param('op');
91
if ( scalar(@subscriptionids) == 1 && index( $subscriptionids[0], q|,| ) > 0 ) {
91
if ( scalar(@subscriptionids) == 1 && index( $subscriptionids[0], q|,| ) > 0 ) {
92
    @subscriptionids = split( /,/, $subscriptionids[0] );
92
    @subscriptionids = split( /,/, $subscriptionids[0] );
Lines 251-266 if ( $op and $op eq 'serialchangestatus' ) { Link Here
251
            );
251
            );
252
        }
252
        }
253
    }
253
    }
254
    my @moditems = $query->param('moditem');
254
    my @moditems = $query->multi_param('moditem');
255
    if ( scalar(@moditems) ) {
255
    if ( scalar(@moditems) ) {
256
        my @tags         = $query->param('tag');
256
        my @tags         = $query->multi_param('tag');
257
        my @subfields    = $query->param('subfield');
257
        my @subfields    = $query->multi_param('subfield');
258
        my @field_values = $query->param('field_value');
258
        my @field_values = $query->multi_param('field_value');
259
        my @serials      = $query->param('serial');
259
        my @serials      = $query->multi_param('serial');
260
        my @bibnums      = $query->param('bibnum');
260
        my @bibnums      = $query->multi_param('bibnum');
261
        my @itemid       = $query->param('itemid');
261
        my @itemid       = $query->multi_param('itemid');
262
        my @ind_tag      = $query->param('ind_tag');
262
        my @ind_tag      = $query->multi_param('ind_tag');
263
        my @indicator    = $query->param('indicator');
263
        my @indicator    = $query->multi_param('indicator');
264
264
265
        #Rebuilding ALL the data for items into a hash
265
        #Rebuilding ALL the data for items into a hash
266
        # parting them on $itemid.
266
        # parting them on $itemid.
(-)a/serials/subscription-add.pl (-2 / +2 lines)
Lines 294-300 sub redirect_add_subscription { Link Here
294
    my $cost           = $query->param('cost');
294
    my $cost           = $query->param('cost');
295
    my $aqbudgetid     = $query->param('aqbudgetid');
295
    my $aqbudgetid     = $query->param('aqbudgetid');
296
    my $periodicity    = $query->param('frequency');
296
    my $periodicity    = $query->param('frequency');
297
    my @irregularity   = $query->param('irregularity');
297
    my @irregularity   = $query->multi_param('irregularity');
298
    my $numberpattern  = $query->param('numbering_pattern');
298
    my $numberpattern  = $query->param('numbering_pattern');
299
    my $locale         = $query->param('locale');
299
    my $locale         = $query->param('locale');
300
    my $graceperiod    = $query->param('graceperiod') || 0;
300
    my $graceperiod    = $query->param('graceperiod') || 0;
Lines 355-361 sub redirect_add_subscription { Link Here
355
355
356
sub redirect_mod_subscription {
356
sub redirect_mod_subscription {
357
    my $subscriptionid = $query->param('subscriptionid');
357
    my $subscriptionid = $query->param('subscriptionid');
358
    my @irregularity = $query->param('irregularity');
358
    my @irregularity = $query->multi_param('irregularity');
359
    my $auser = $query->param('user');
359
    my $auser = $query->param('user');
360
    my $librarian => $query->param('librarian'),
360
    my $librarian => $query->param('librarian'),
361
    my $branchcode = $query->param('branchcode');
361
    my $branchcode = $query->param('branchcode');
(-)a/suggestion/suggestion.pl (-1 / +1 lines)
Lines 78-84 my $input = CGI->new; Link Here
78
my $redirect  = $input->param('redirect');
78
my $redirect  = $input->param('redirect');
79
my $suggestedbyme   = (defined $input->param('suggestedbyme')? $input->param('suggestedbyme'):1);
79
my $suggestedbyme   = (defined $input->param('suggestedbyme')? $input->param('suggestedbyme'):1);
80
my $op              = $input->param('op')||'else';
80
my $op              = $input->param('op')||'else';
81
my @editsuggestions = $input->param('edit_field');
81
my @editsuggestions = $input->multi_param('edit_field');
82
my $suggestedby     = $input->param('suggestedby');
82
my $suggestedby     = $input->param('suggestedby');
83
my $returnsuggestedby = $input->param('returnsuggestedby');
83
my $returnsuggestedby = $input->param('returnsuggestedby');
84
my $returnsuggested = $input->param('returnsuggested');
84
my $returnsuggested = $input->param('returnsuggested');
(-)a/tools/automatic_item_modification_by_age.pl (-5 / +5 lines)
Lines 58-69 my $op = $cgi->param('op') // 'show'; Link Here
58
my $syspref_name = q|automatic_item_modification_by_age_configuration|;
58
my $syspref_name = q|automatic_item_modification_by_age_configuration|;
59
if ( $op eq 'update' ) {
59
if ( $op eq 'update' ) {
60
    my @rules;
60
    my @rules;
61
    my @unique_ids = $cgi->param('unique_id');
61
    my @unique_ids = $cgi->multi_param('unique_id');
62
    for my $unique_id ( @unique_ids ) {
62
    for my $unique_id ( @unique_ids ) {
63
        my @substitution_fields = $cgi->param("substitution_field_$unique_id");
63
        my @substitution_fields = $cgi->multi_param("substitution_field_$unique_id");
64
        my @substitution_values = $cgi->param("substitution_value_$unique_id");
64
        my @substitution_values = $cgi->multi_param("substitution_value_$unique_id");
65
        my @condition_fields = $cgi->param("condition_field_$unique_id");
65
        my @condition_fields = $cgi->multi_param("condition_field_$unique_id");
66
        my @condition_values = $cgi->param("condition_value_$unique_id");
66
        my @condition_values = $cgi->multi_param("condition_value_$unique_id");
67
        my $rule = {
67
        my $rule = {
68
            substitutions => [],
68
            substitutions => [],
69
            conditions => [],
69
            conditions => [],
(-)a/tools/batchMod.pl (-7 / +7 lines)
Lines 40-46 use Koha::DateUtils; Link Here
40
my $input = new CGI;
40
my $input = new CGI;
41
my $dbh = C4::Context->dbh;
41
my $dbh = C4::Context->dbh;
42
my $error        = $input->param('error');
42
my $error        = $input->param('error');
43
my @itemnumbers  = $input->param('itemnumber');
43
my @itemnumbers  = $input->multi_param('itemnumber');
44
my $biblionumber = $input->param('biblionumber');
44
my $biblionumber = $input->param('biblionumber');
45
my $op           = $input->param('op');
45
my $op           = $input->param('op');
46
my $del          = $input->param('del');
46
my $del          = $input->param('del');
Lines 98-110 my $sessionID = $cookies{'CGISESSID'}->value; Link Here
98
#--- ----------------------------------------------------------------------------
98
#--- ----------------------------------------------------------------------------
99
if ($op eq "action") {
99
if ($op eq "action") {
100
#-------------------------------------------------------------------------------
100
#-------------------------------------------------------------------------------
101
    my @tags      = $input->param('tag');
101
    my @tags      = $input->multi_param('tag');
102
    my @subfields = $input->param('subfield');
102
    my @subfields = $input->multi_param('subfield');
103
    my @values    = $input->param('field_value');
103
    my @values    = $input->multi_param('field_value');
104
    my @disabled  = $input->param('disable_input');
104
    my @disabled  = $input->multi_param('disable_input');
105
    # build indicator hash.
105
    # build indicator hash.
106
    my @ind_tag   = $input->param('ind_tag');
106
    my @ind_tag   = $input->multi_param('ind_tag');
107
    my @indicator = $input->param('indicator');
107
    my @indicator = $input->multi_param('indicator');
108
108
109
    # Is there something to modify ?
109
    # Is there something to modify ?
110
    # TODO : We shall use this var to warn the user in case no modification was done to the items
110
    # TODO : We shall use this var to warn the user in case no modification was done to the items
(-)a/tools/batch_delete_records.pl (-1 / +1 lines)
Lines 109-115 if ( $op eq 'form' ) { Link Here
109
    );
109
    );
110
} elsif ( $op eq 'delete' ) {
110
} elsif ( $op eq 'delete' ) {
111
    # We want to delete selected records!
111
    # We want to delete selected records!
112
    my @record_ids = $input->param('record_id');
112
    my @record_ids = $input->multi_param('record_id');
113
    my $dbh = C4::Context->dbh;
113
    my $dbh = C4::Context->dbh;
114
    $dbh->{AutoCommit} = 0;
114
    $dbh->{AutoCommit} = 0;
115
    $dbh->{RaiseError} = 1;
115
    $dbh->{RaiseError} = 1;
(-)a/tools/batch_record_modification.pl (-1 / +1 lines)
Lines 151-157 if ( $op eq 'form' ) { Link Here
151
    );
151
    );
152
} elsif ( $op eq 'modify' ) {
152
} elsif ( $op eq 'modify' ) {
153
    # We want to modify selected records!
153
    # We want to modify selected records!
154
    my @record_ids = $input->param('record_id');
154
    my @record_ids = $input->multi_param('record_id');
155
155
156
    my ( $job );
156
    my ( $job );
157
    if ( $runinbackground ) {
157
    if ( $runinbackground ) {
(-)a/tools/export.pl (-3 / +3 lines)
Lines 67-73 my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user( Link Here
67
    }
67
    }
68
);
68
);
69
69
70
my @branch = $query->param("branch");
70
my @branch = $query->multi_param("branch");
71
my $only_my_branch;
71
my $only_my_branch;
72
# Limit to local branch if IndependentBranches and not superlibrarian
72
# Limit to local branch if IndependentBranches and not superlibrarian
73
if (
73
if (
Lines 89-96 my %branchmap = map { $_ => 1 } @branch; # for quick lookups Link Here
89
if ( $op eq "export" ) {
89
if ( $op eq "export" ) {
90
90
91
    my $export_remove_fields = $query->param("export_remove_fields") || q||;
91
    my $export_remove_fields = $query->param("export_remove_fields") || q||;
92
    my @biblionumbers      = $query->param("biblionumbers");
92
    my @biblionumbers      = $query->multi_param("biblionumbers");
93
    my @itemnumbers        = $query->param("itemnumbers");
93
    my @itemnumbers        = $query->multi_param("itemnumbers");
94
    my @sql_params;
94
    my @sql_params;
95
    my $sql_query;
95
    my $sql_query;
96
96
(-)a/tools/koha-news.pl (-1 / +1 lines)
Lines 139-145 elsif ( $op eq 'edit' ) { Link Here
139
    print $cgi->redirect("/cgi-bin/koha/tools/koha-news.pl");
139
    print $cgi->redirect("/cgi-bin/koha/tools/koha-news.pl");
140
}
140
}
141
elsif ( $op eq 'del' ) {
141
elsif ( $op eq 'del' ) {
142
    my @ids = $cgi->param('ids');
142
    my @ids = $cgi->multi_param('ids');
143
    del_opac_new( join ",", @ids );
143
    del_opac_new( join ",", @ids );
144
    print $cgi->redirect("/cgi-bin/koha/tools/koha-news.pl");
144
    print $cgi->redirect("/cgi-bin/koha/tools/koha-news.pl");
145
}
145
}
(-)a/tools/letter.pl (-3 / +3 lines)
Lines 254-262 sub add_validate { Link Here
254
    my $oldmodule     = $input->param('oldmodule');
254
    my $oldmodule     = $input->param('oldmodule');
255
    my $code          = $input->param('code');
255
    my $code          = $input->param('code');
256
    my $name          = $input->param('name');
256
    my $name          = $input->param('name');
257
    my @mtt           = $input->param('message_transport_type');
257
    my @mtt           = $input->multi_param('message_transport_type');
258
    my @title         = $input->param('title');
258
    my @title         = $input->multi_param('title');
259
    my @content       = $input->param('content');
259
    my @content       = $input->multi_param('content');
260
    for my $mtt ( @mtt ) {
260
    for my $mtt ( @mtt ) {
261
        my $is_html = $input->param("is_html_$mtt");
261
        my $is_html = $input->param("is_html_$mtt");
262
        my $title   = shift @title;
262
        my $title   = shift @title;
(-)a/tools/modborrowers.pl (-4 / +4 lines)
Lines 258-264 if ( $op eq 'show' ) { Link Here
258
# Process modifications
258
# Process modifications
259
if ( $op eq 'do' ) {
259
if ( $op eq 'do' ) {
260
260
261
    my @disabled = $input->param('disable_input');
261
    my @disabled = $input->multi_param('disable_input');
262
    my $infos;
262
    my $infos;
263
    for my $field ( qw/surname firstname branchcode categorycode city state zipcode country sort1 sort2 dateenrolled dateexpiry borrowernotes/ ) {
263
    for my $field ( qw/surname firstname branchcode categorycode city state zipcode country sort1 sort2 dateenrolled dateexpiry borrowernotes/ ) {
264
        my $value = $input->param($field);
264
        my $value = $input->param($field);
Lines 270-280 if ( $op eq 'do' ) { Link Here
270
        $infos->{$field} = dt_from_string($infos->{$field}) if $infos->{$field};
270
        $infos->{$field} = dt_from_string($infos->{$field}) if $infos->{$field};
271
    }
271
    }
272
272
273
    my @attributes = $input->param('patron_attributes');
273
    my @attributes = $input->multi_param('patron_attributes');
274
    my @attr_values = $input->param('patron_attributes_value');
274
    my @attr_values = $input->multi_param('patron_attributes_value');
275
275
276
    my @errors;
276
    my @errors;
277
    my @borrowernumbers = $input->param('borrowernumber');
277
    my @borrowernumbers = $input->multi_param('borrowernumber');
278
    # For each borrower selected
278
    # For each borrower selected
279
    for my $borrowernumber ( @borrowernumbers ) {
279
    for my $borrowernumber ( @borrowernumbers ) {
280
        # If at least one field are filled, we want to modify the borrower
280
        # If at least one field are filled, we want to modify the borrower
(-)a/tools/overduerules.pl (-2 / +2 lines)
Lines 91-97 my $err=0; Link Here
91
my %temphash;
91
my %temphash;
92
my $input_saved = 0;
92
my $input_saved = 0;
93
if ($op eq 'save') {
93
if ($op eq 'save') {
94
    my @names=$input->param();
94
    my @names=$input->multi_param();
95
    my $sth_search = $dbh->prepare("SELECT count(*) AS total FROM overduerules WHERE branchcode=? AND categorycode=?");
95
    my $sth_search = $dbh->prepare("SELECT count(*) AS total FROM overduerules WHERE branchcode=? AND categorycode=?");
96
96
97
    my $sth_insert = $dbh->prepare("INSERT INTO overduerules (branchcode,categorycode, delay1,letter1,debarred1, delay2,letter2,debarred2, delay3,letter3,debarred3) VALUES (?,?,?,?,?,?,?,?,?,?,?)");
97
    my $sth_insert = $dbh->prepare("INSERT INTO overduerules (branchcode,categorycode, delay1,letter1,debarred1, delay2,letter2,debarred2, delay3,letter3,debarred3) VALUES (?,?,?,?,?,?,?,?,?,?,?)");
Lines 194-200 if ($op eq 'save') { Link Here
194
194
195
                    $sth_delete_mtt->execute( $branch, $bor );
195
                    $sth_delete_mtt->execute( $branch, $bor );
196
                    for my $letternumber ( 1..3 ) {
196
                    for my $letternumber ( 1..3 ) {
197
                        my @mtt = $input->param( "mtt${letternumber}-$bor" );
197
                        my @mtt = $input->multi_param( "mtt${letternumber}-$bor" );
198
                        next unless @mtt;
198
                        next unless @mtt;
199
                        for my $mtt ( @mtt ) {
199
                        for my $mtt ( @mtt ) {
200
                            $sth_insert_mtt->execute( $branch, $bor, $letternumber, $mtt);
200
                            $sth_insert_mtt->execute( $branch, $bor, $letternumber, $mtt);
(-)a/tools/viewlog.pl (-2 / +2 lines)
Lines 45-53 my $input = new CGI; Link Here
45
45
46
$debug or $debug = $cgi_debug;
46
$debug or $debug = $cgi_debug;
47
my $do_it    = $input->param('do_it');
47
my $do_it    = $input->param('do_it');
48
my @modules  = $input->param("modules");
48
my @modules  = $input->multi_param("modules");
49
my $user     = $input->param("user") // '';
49
my $user     = $input->param("user") // '';
50
my @actions  = $input->param("actions");
50
my @actions  = $input->multi_param("actions");
51
my $object   = $input->param("object");
51
my $object   = $input->param("object");
52
my $info     = $input->param("info");
52
my $info     = $input->param("info");
53
my $datefrom = $input->param("from");
53
my $datefrom = $input->param("from");
(-)a/virtualshelves/addbybiblionumber.pl (-1 / +1 lines)
Lines 112-118 else { Link Here
112
#end
112
#end
113
113
114
sub HandleBiblioPars {
114
sub HandleBiblioPars {
115
    my @bib= $query->param('biblionumber');
115
    my @bib= $query->multi_param('biblionumber');
116
    if(@bib==0 && $query->param('biblionumbers')) {
116
    if(@bib==0 && $query->param('biblionumbers')) {
117
        my $str= $query->param('biblionumbers');
117
        my $str= $query->param('biblionumbers');
118
        @bib= split '/', $str;
118
        @bib= split '/', $str;
(-)a/virtualshelves/shelves.pl (-2 / +1 lines)
Lines 161-167 if ( $op eq 'add_form' ) { Link Here
161
} elsif ( $op eq 'remove_biblios' ) {
161
} elsif ( $op eq 'remove_biblios' ) {
162
    $shelfnumber = $query->param('shelfnumber');
162
    $shelfnumber = $query->param('shelfnumber');
163
    $shelf = Koha::Virtualshelves->find($shelfnumber);
163
    $shelf = Koha::Virtualshelves->find($shelfnumber);
164
    my @biblionumbers = $query->param('biblionumber');
164
    my @biblionumbers = $query->multi_param('biblionumber');
165
    if ($shelf) {
165
    if ($shelf) {
166
        if ( $shelf->can_biblios_be_removed( $loggedinuser ) ) {
166
        if ( $shelf->can_biblios_be_removed( $loggedinuser ) ) {
167
            my $number_of_biblios_removed = eval {
167
            my $number_of_biblios_removed = eval {
168
- 

Return to bug 16154