projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rt 4.0.23
[freeside.git]
/
rt
/
share
/
html
/
Ticket
/
Attachment
/
dhandler
diff --git
a/rt/share/html/Ticket/Attachment/dhandler
b/rt/share/html/Ticket/Attachment/dhandler
index
75efeff
..
a43eba7
100755
(executable)
--- a/
rt/share/html/Ticket/Attachment/dhandler
+++ b/
rt/share/html/Ticket/Attachment/dhandler
@@
-2,7
+2,7
@@
%#
%# COPYRIGHT:
%#
%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-201
2
Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-201
5
Best Practical Solutions, LLC
%# <sales@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
%# <sales@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
@@
-48,7
+48,7
@@
<%perl>
my ($ticket, $trans,$attach, $filename);
my $arg = $m->dhandler_arg; # get rest of path
<%perl>
my ($ticket, $trans,$attach, $filename);
my $arg = $m->dhandler_arg; # get rest of path
- if ($arg =~
'^(\d+)/(\d+)'
) {
+ if ($arg =~
m{^(\d+)/(\d+)}
) {
$trans = $1;
$attach = $2;
}
$trans = $1;
$attach = $2;
}
@@
-70,7
+70,7
@@
my $content_type = $AttachmentObj->ContentType || 'text/plain';
if (RT->Config->Get('AlwaysDownloadAttachments')) {
my $content_type = $AttachmentObj->ContentType || 'text/plain';
if (RT->Config->Get('AlwaysDownloadAttachments')) {
- $r->headers_out->{'Content-Disposition'} = "attachment
; filename=" . $AttachmentObj->Filename
;
+ $r->headers_out->{'Content-Disposition'} = "attachment
"
;
}
elsif (!RT->Config->Get('TrustHTMLAttachments')) {
$content_type = 'text/plain' if ($content_type =~ /^text\/html/i);
}
elsif (!RT->Config->Get('TrustHTMLAttachments')) {
$content_type = 'text/plain' if ($content_type =~ /^text\/html/i);
@@
-79,7
+79,12
@@
my $enc = $AttachmentObj->OriginalEncoding || 'utf-8';
my $iana = Encode::find_encoding( $enc );
$iana = $iana? $iana->mime_name : $enc;
my $enc = $AttachmentObj->OriginalEncoding || 'utf-8';
my $iana = Encode::find_encoding( $enc );
$iana = $iana? $iana->mime_name : $enc;
- $content_type .= ";charset=$iana";
+
+ require MIME::Types;
+ my $mimetype = MIME::Types->new->type($content_type);
+ unless ( $mimetype && $mimetype->isBinary ) {
+ $content_type .= ";charset=$iana";
+ }
$r->subprocess_env('no-gzip' => 1); # disable mod_deflate
$r->content_type( $content_type );
$r->subprocess_env('no-gzip' => 1); # disable mod_deflate
$r->content_type( $content_type );