X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fview%2Fattachment.html;h=4c4ca56388728541e80a91b62aff56086a0e6819;hp=5827e3d20d05cca04c35550650890c2bc34e2343;hb=3f2a7b01b59902faed5767d81e2959e131bdbdfd;hpb=fb4ab1073f0d15d660c6cdc4e07afebf68ef3924 diff --git a/httemplate/view/attachment.html b/httemplate/view/attachment.html index 5827e3d20..4c4ca5638 100644 --- a/httemplate/view/attachment.html +++ b/httemplate/view/attachment.html @@ -1,15 +1,26 @@ <%init> +$FS::CurrentUser::CurrentUser->access_right('Download attachment') + or die 'access denied'; + my ($query) = $cgi->keywords; $query =~ /^(\d+)$/; my $attachnum = $1 or die 'Invalid attachment number'; -$FS::CurrentUser::CurrentUser->access_right('Download attachment') or die 'access denied'; - -my $attach = qsearchs('cust_attachment', { attachnum => $attachnum }) or die "Attachment not found: $attachnum"; +my $attach = qsearchs('cust_attachment', { attachnum => $attachnum }) + or die "Attachment not found: $attachnum"; die 'access denied' if $attach->disabled; $r->subprocess_env('no-gzip' => 1); # disable mod_deflate + $m->clear_buffer; + $r->content_type($attach->mime_type || 'text/plain'); -$r->headers_out->add('Content-Disposition' => 'attachment;filename=' . $attach->filename); + +my $filename = $attach->filename; +$filename =~ s/"/'/g; #no idea how to encode " ... \" ? "" ? can't? +$r->headers_out->add( + 'Content-Disposition' => qq(attachment;filename="$filename") +); + $m->print($attach->body); +