+ my $auser = $query->param('user');
+ my $branchcode = $query->param('branchcode');
+ my $aqbooksellerid = $query->param('aqbooksellerid');
+ my $cost = $query->param('cost');
+ my $aqbudgetid = $query->param('aqbudgetid');
+ my $startdate = $query->param('startdate');
+ my $firstacquidate = $query->param('firstacquidate');
+ my $periodicity = $query->param('periodicity');
+ my $dow = $query->param('dow');
+ my @irregularity = $query->param('irregularity_select');
+ my $numberlength = 0;
+ my $weeklength = 0;
+ my $monthlength = 0;
+ my $numberpattern = $query->param('numbering_pattern');
+ my $sublength = $query->param('sublength');
+ my $subtype = $query->param('subtype');
+ my $graceperiod = $query->param('graceperiod') || 0;
+
+ if ($subtype eq 'months'){
+ $monthlength = $sublength;
+ } elsif ($subtype eq 'weeks'){
+ $weeklength = $sublength;
+ } else {
+ $numberlength = $sublength;
+ }
+ my $add1 = $query->param('add1');
+ my $every1 = $query->param('every1');
+ my $whenmorethan1 = $query->param('whenmorethan1');
+ my $setto1 = $query->param('setto1');
+ my $lastvalue1 = $query->param('lastvalue1');
+ my $innerloop1 =$query->param('innerloop1');
+ my $add2 = $query->param('add2');
+ my $every2 = $query->param('every2');
+ my $whenmorethan2 = $query->param('whenmorethan2');
+ my $setto2 = $query->param('setto2');
+ my $innerloop2 =$query->param('innerloop2');
+ my $lastvalue2 = $query->param('lastvalue2');
+ my $add3 = $query->param('add3');
+ my $every3 = $query->param('every3');
+ my $whenmorethan3 = $query->param('whenmorethan3');
+ my $setto3 = $query->param('setto3');
+ my $lastvalue3 = $query->param('lastvalue3');
+ my $innerloop3 =$query->param('innerloop3');
+ my $numberingmethod = $query->param('numberingmethod');
+ my $status = 1;
+ my $biblionumber = $query->param('biblionumber');
+ my $callnumber = $query->param('callnumber');
+ my $notes = $query->param('notes');
+ my $internalnotes = $query->param('internalnotes');
+ my $hemisphere = $query->param('hemisphere') || 1;
+ my $letter = $query->param('letter');
+ # ## BugFIX : hdl doesnot know what innerloops or letter stand for but it seems necessary. So he adds them.
+ my $manualhistory = $query->param('manualhist');
+ my $serialsadditems = $query->param('serialsadditems');
+ my $staffdisplaycount = $query->param('staffdisplaycount');
+ my $opacdisplaycount = $query->param('opacdisplaycount');
+ my $location = $query->param('location');
+ my $subscriptionid = NewSubscription($auser,$branchcode,$aqbooksellerid,$cost,$aqbudgetid,$biblionumber,
+ $startdate,$periodicity,$dow,$numberlength,$weeklength,$monthlength,
+ $add1,$every1,$whenmorethan1,$setto1,$lastvalue1,$innerloop1,
+ $add2,$every2,$whenmorethan2,$setto2,$lastvalue2,$innerloop2,
+ $add3,$every3,$whenmorethan3,$setto3,$lastvalue3,$innerloop3,
+ $numberingmethod, $status, $notes,$letter,$firstacquidate,join(",",@irregularity),
+ $numberpattern, $callnumber, $hemisphere,($manualhistory?$manualhistory:0),$internalnotes,
+ $serialsadditems,$staffdisplaycount,$opacdisplaycount,$graceperiod,$location
+ );
+
+ print $query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid");
+} elsif ($op eq 'modsubscription') {
+ my $subscriptionid = $query->param('subscriptionid');
+ my @irregularity = $query->param('irregularity_select');