projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
scanning daemon and network status map, goal 1C
[freeside.git]
/
httemplate
/
view
/
attachment.html
diff --git
a/httemplate/view/attachment.html
b/httemplate/view/attachment.html
index
c85b137
..
4c4ca56
100644
(file)
--- a/
httemplate/view/attachment.html
+++ b/
httemplate/view/attachment.html
@@
-1,16
+1,26
@@
<%init>
<%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';
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";
+die 'access denied' if $attach->disabled;
-my $attach = qsearchs('cust_attachment', { attachnum => $attachnum }) or die 'Attachment not found: $attachnum';
+$r->subprocess_env('no-gzip' => 1); # disable mod_deflate
$m->clear_buffer;
$m->clear_buffer;
+
$r->content_type($attach->mime_type || 'text/plain');
$r->content_type($attach->mime_type || 'text/plain');
-$r->headers_out->add('Content-Disposition' => 'attachment;filename=' . $attach->filename);
-binmode STDOUT;
-print STDOUT $attach->body;
+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);
</%init>
</%init>