diff options
author | ivan <ivan> | 2011-08-15 20:51:15 +0000 |
---|---|---|
committer | ivan <ivan> | 2011-08-15 20:51:15 +0000 |
commit | fee2489219be414439be6cffac38b834005a41e6 (patch) | |
tree | 3738ff5b580cf9862b5fafae56576ab5d6770f16 /httemplate | |
parent | d53fe51e0d705f5923a0be114653492160028ddc (diff) |
adding Content-Disposition with a filename and proper extension fixes invoice opening on mac firefox, RT#14015
Diffstat (limited to 'httemplate')
-rwxr-xr-x | httemplate/view/cust_bill-pdf.cgi | 5 | ||||
-rwxr-xr-x | httemplate/view/cust_bill-ps.cgi | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/httemplate/view/cust_bill-pdf.cgi b/httemplate/view/cust_bill-pdf.cgi index 323e502b4..2ac0d0a3a 100755 --- a/httemplate/view/cust_bill-pdf.cgi +++ b/httemplate/view/cust_bill-pdf.cgi @@ -6,13 +6,13 @@ die "access denied" my( $invnum, $template, $notice_name ); my($query) = $cgi->keywords; -if ( $query =~ /^((.+)-)?(\d+)(.pdf)?$/ ) { +if ( $query =~ /^((.+)-)?(\d+)(.pdf)?$/ ) { #probably not necessary anymore? $template = $2; $invnum = $3; $notice_name = 'Invoice'; } else { $invnum = $cgi->param('invnum'); - $invnum =~ s/\.pdf//i; + $invnum =~ s/\.pdf//i; #probably not necessary anymore $template = $cgi->param('template'); $notice_name = ( $cgi->param('notice_name') || 'Invoice' ); } @@ -37,6 +37,7 @@ die "Invoice #$invnum not found!" unless $cust_bill; my $pdf = $cust_bill->print_pdf(\%opt); http_header('Content-Type' => 'application/pdf' ); +http_header('Content-Disposition' => "filename=$invnum.pdf" ); http_header('Content-Length' => length($pdf) ); http_header('Cache-control' => 'max-age=60' ); diff --git a/httemplate/view/cust_bill-ps.cgi b/httemplate/view/cust_bill-ps.cgi index 5d9e034bb..cc8020a3e 100755 --- a/httemplate/view/cust_bill-ps.cgi +++ b/httemplate/view/cust_bill-ps.cgi @@ -6,7 +6,7 @@ die "access denied" my( $invnum, $template, $notice_name ); my($query) = $cgi->keywords; -if ( $query =~ /^((.+)-)?(\d+)(.pdf)?$/ ) { +if ( $query =~ /^((.+)-)?(\d+)(.pdf)?$/ ) { #probably not necessary anymore? $template = $2; $invnum = $3; $notice_name = 'Invoice'; @@ -36,7 +36,8 @@ die "Invoice #$invnum not found!" unless $cust_bill; my $ps = $cust_bill->print_ps(\%opt); http_header('Content-Type' => 'application/postscript' ); -http_header('Content-Length' => length($pdf) ); +http_header('Content-Disposition' => "filename=$invnum.ps" ); +http_header('Content-Length' => length($ps) ); http_header('Cache-control' => 'max-age=60' ); </%init> |