X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fcust_msg_part.html;fp=httemplate%2Fview%2Fcust_msg_part.html;h=0be5705cb22a4e0348632ab89c955b324a5453b0;hb=c16ef0145a0049c3f20377e2c5076087e999cde0;hp=0000000000000000000000000000000000000000;hpb=d2d137731f88b8a0d35294284ec3571f46bd18b5;p=freeside.git diff --git a/httemplate/view/cust_msg_part.html b/httemplate/view/cust_msg_part.html new file mode 100644 index 000000000..0be5705cb --- /dev/null +++ b/httemplate/view/cust_msg_part.html @@ -0,0 +1,23 @@ +<%init> +die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('View email logs'); +# invoke this as "view/cust_msg_part.html?$custmsgnum+$partnum" +my ($custmsgnum, $partnum) = $cgi->keywords; +$custmsgnum =~ /^\d+$/ or die "bad custmsgnum"; +$partnum =~ /^\d+$/ or die "bad partnum"; +my $cust_msg = FS::cust_msg->by_key($custmsgnum) + or die "message not found"; +my $part = ($cust_msg->parts)[$partnum] + or die "message part $partnum does not exist"; + +my $filename = $part->head->recommended_filename; +if (!$filename) { + # for lack of a better idea + $part->bodyhandle->{MB_Path} =~ /.*\/(.*)/; + $filename = $1; +} + +$m->clear_buffer; +$r->content_type($part->mime_type || 'application/octet-stream'); +$r->headers_out->add('Content-Disposition' => 'attachment;filename=' . $filename); +$m->print($part->bodyhandle->as_string); +