# 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.
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
# 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];
#
# 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');
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) {
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;
# 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;
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;
} 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);
}
authnotrequired => 0,
flagsrequired => {acquisition => 'order_receive'},
});
-my @ordernumbers = $input->param('ordernumber');
+my @ordernumbers = $input->multi_param('ordernumber');
my @orders;
for my $ordernumber ( @ordernumbers ) {
}
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?
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;
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;
my @authvals;
my %labels;
-my @names = $input->param();
+my @names = $input->multi_param();
# ------------------------------------------------------------
if ( $op eq 'save' ) {
#get budgets
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(
{
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];
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|^([^#]*)#([^#]*)#(.*)$|;
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');
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;
} 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,
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,
$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') {
# 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,
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] };
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);
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;
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;
$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 '') {
}
}
- 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++) {
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);
# 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';
}
$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");
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 );
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;
#-------------------------------------------------------------------------------
# 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');
} 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');
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;
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');
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 );
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 );
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; }
my $course_id = ModCourse(%params);
- my @instructors = $cgi->param('instructors');
+ my @instructors = $cgi->multi_param('instructors');
ModCourseInstructors(
mode => 'replace',
cardnumbers => \@instructors,
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) {
## 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 );
}
# 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 ".$_.".";
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;
);
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 } } )
debug => 1,
}
);
-my @items = $query->param('item');
+my @items = $query->multi_param('item');
my $opacrenew = C4::Context->preference("OpacRenewalAllowed");
# 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');
# Deleting search history
if ( $action eq 'delete' ) {
- my @id = $cgi->param('id');
+ my @id = $cgi->multi_param('id');
if ( @id ) {
C4::Search::History::delete(
{
# 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');
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);
$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");
# 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
$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);
}
# 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;
} 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 {
}
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 );
}
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 } );
}
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
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
);
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;
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' } ); }
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' }); };
}
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] );
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' } ); }
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' } ); };
}
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(
{
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");
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) {
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;
}
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;
# 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(
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" );
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" );
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) {
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;
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' } ); }
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' } ); }
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,
}
);
-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;
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);
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 {
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');
debug => 1,
});
my $biblionumber = $query->param('biblionumber');
-my @subscriptionid = $query->param('subscriptionid');
+my @subscriptionid = $query->multi_param('subscriptionid');
@subscriptionid= uniq @subscriptionid;
@subscriptionid= sort @subscriptionid;
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] );
);
}
}
- 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.
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;
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');
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');
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 => [],
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');
#--- ----------------------------------------------------------------------------
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
);
} 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;
);
} 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 ) {
}
);
-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 (
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;
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");
}
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;
# 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);
$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
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 (?,?,?,?,?,?,?,?,?,?,?)");
$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);
$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");
#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;
} 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 {