From 33e4acc0ed54e781f528b8ad89d8e018c50fdbf3 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 15 Aug 2011 20:51:16 +0000 Subject: [PATCH] adding Content-Disposition with a filename and proper extension fixes invoice opening on mac firefox, RT#14015 --- httemplate/view/cust_bill-pdf.cgi | 5 +++-- 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' ); -- 2.11.0