diff options
Diffstat (limited to 'httemplate/misc/print-invoice.cgi')
-rwxr-xr-x | httemplate/misc/print-invoice.cgi | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/httemplate/misc/print-invoice.cgi b/httemplate/misc/print-invoice.cgi index 6a4c2d7f1..144f6156a 100755 --- a/httemplate/misc/print-invoice.cgi +++ b/httemplate/misc/print-invoice.cgi @@ -1,14 +1,26 @@ <% +my $conf = new FS::Conf; +my $lpr = $conf->config('lpr'); + #untaint invnum my($query) = $cgi->keywords; -$query =~ /^((.+)-)?(\d+)$/; -my $template = $2; -my $invnum = $3; +$query =~ /^(\d*)$/; +my $invnum = $1; my $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum}); die "Can't find invoice!\n" unless $cust_bill; -$cust_bill->print($template); + open(LPR,"|$lpr") or die "Can't open $lpr: $!"; + + if ( $conf->exists('invoice_latex') ) { + print LPR $cust_bill->print_ps; #( date ) + } else { + print LPR $cust_bill->print_text; #( date ) + } + + close LPR + or die $! ? "Error closing $lpr: $!" + : "Exit status $? from $lpr"; my $custnum = $cust_bill->getfield('custnum'); |