summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2006-06-16 00:27:43 +0000
committerivan <ivan>2006-06-16 00:27:43 +0000
commit44c866ddd722374379813d774f609ef43f39dfbc (patch)
tree116733563f6e94b159f98825632478922e70dad1
parent83f6b21826ce123e5936aaedaf58086189be11f2 (diff)
s/printf/sprintf/ and make the config a little less strange
-rw-r--r--httemplate/misc/download-batch.cgi66
1 files changed, 38 insertions, 28 deletions
diff --git a/httemplate/misc/download-batch.cgi b/httemplate/misc/download-batch.cgi
index 5a98f1d51..37b31c196 100644
--- a/httemplate/misc/download-batch.cgi
+++ b/httemplate/misc/download-batch.cgi
@@ -5,11 +5,12 @@ my $conf=new FS::Conf;
#http_header('Content-Type' => 'text/comma-separated-values' ); #IE chokes
http_header('Content-Type' => 'text/plain' );
-#need default
-my $formatconfig = "batchconfig".$cgi->param('format');
-
-die "No batch configuration exists.\n$formatconfig\n" unless $conf->exists($formatconfig);
-my $format = $conf->config($formatconfig);
+my $format;
+if ( $cgi->param('format') =~ /^([\w ]+)$/ ) {
+ $format = $1;
+} else {
+ $format = $conf->config('batch_default_format');
+}
my $oldAutoCommit = $FS::UID::AutoCommit;
local $FS::UID::AutoCommit = 0;
@@ -31,11 +32,14 @@ my (@date)=localtime();
my $jdate = sprintf("%03d", $date[5] % 100).sprintf("%03d", $date[7]);
if ($format eq "BoM") {
- my($reformat,$origid,$datacenter,$typecode,$shortname,$longname,$mybank,$myacct) = $conf->config('batchconfig');
- printf "A%10s%04u%06u%05u%54s\n",$origid,$pay_batch->batchnum,$jdate,$datacenter,"";
- printf "XD%03u%06u%-15s%-30s%09u%-12s \n",$typecode,$jdate,$shortname,$longname,$mybank,$myacct;
+
+ my($reformat,$origid,$datacenter,$typecode,$shortname,$longname,$mybank,$myacct) = $conf->config("batchconfig-$format");
+ %><%= sprintf( "A%10s%04u%06u%05u%54s\n",$origid,$pay_batch->batchnum,$jdate,$datacenter,"").
+ sprintf( "XD%03u%06u%-15s%-30s%09u%-12s \n",$typecode,$jdate,$shortname,$longname,$mybank,$myacct )
+ %><%
+
}elsif ($format eq "CSV file for TD Canada Trust Merchant PC Batch"){
- 1;
+# 1;
}else{
die "Unknown format for batch in batchconfig. \n";
}
@@ -46,30 +50,36 @@ for my $cust_pay_batch ( sort { $a->paybatchnum <=> $b->paybatchnum }
{'batchnum'=>$pay_batch->batchnum} )
) {
-$cust_pay_batch->exp =~ /^\d{2}(\d{2})[\/\-](\d+)[\/\-]\d+$/;
-my( $mon, $y ) = ( $2, $1 );
-$mon = "0$mon" if $mon < 10;
-my $exp = "$mon$y";
-$batchcount++;
-$batchtotal += $cust_pay_batch->amount;
+ $cust_pay_batch->exp =~ /^\d{2}(\d{2})[\/\-](\d+)[\/\-]\d+$/;
+ my( $mon, $y ) = ( $2, $1 );
+ $mon = "0$mon" if $mon < 10;
+ my $exp = "$mon$y";
+ $batchcount++;
+ $batchtotal += $cust_pay_batch->amount;
+
+ if ($format eq "BoM") {
-if ($format eq "BoM") {
- my( $account, $aba ) = split( '@', $cust_pay_batch->payinfo );
- printf "D%010u%09u%-12s%-29s%-19s\n",$cust_pay_batch->amount*100,$aba,$account,$cust_pay_batch->payname,$cust_pay_batch->invnum;
-}elsif ($format eq "CSV file for TD Canada Trust Merchant PC Batch"){
-%>,,,,<%= $cust_pay_batch->payinfo %>,<%= $exp %>,<%= $cust_pay_batch->amount %>,<%= $cust_pay_batch->paybatchnum %>
-<% }else{
- die "I'm already dead, but you did not know that.\n";
-}
+ my( $account, $aba ) = split( '@', $cust_pay_batch->payinfo );
+ %><%= sprintf( "D%010u%09u%-12s%-29s%-19s\n",$cust_pay_batch->amount*100,$aba,$account,$cust_pay_batch->payname,$cust_pay_batch->invnum %><%
+
+ } elsif ($format eq "CSV file for TD Canada Trust Merchant PC Batch") {
+
+ %>,,,,<%= $cust_pay_batch->payinfo %>,<%= $exp %>,<%= $cust_pay_batch->amount %>,<%= $cust_pay_batch->paybatchnum %><%
+
+ } else {
+ die "I'm already dead, but you did not know that.\n";
+ }
}
if ($format eq "BoM") {
- printf "YD%08u%014u%56s\n",$batchcount,$batchtotal*100,"";
- printf "Z%014u%05u%014u%05u%41s\n",$batchtotal*100,$batchcount,"0","0","";
-}elsif ($format eq "CSV file for TD Canada Trust Merchant PC Batch"){
- 1;
-} else{
+
+ %><%= sprintf( "YD%08u%014u%56s\n",$batchcount,$batchtotal*100,"" ).
+ sprintf( "Z%014u%05u%014u%05u%41s\n",$batchtotal*100,$batchcount,"0","0","" ) %><%
+
+} elsif ($format eq "CSV file for TD Canada Trust Merchant PC Batch"){
+ #1;
+} else {
die "I'm already dead (again), but you did not know that.\n";
}