import rt 3.8.9
[freeside.git] / rt / html / Ticket / Elements / ShowTransactionAttachments
index 8dabff4..662b744 100644 (file)
@@ -2,7 +2,7 @@
 %# 
 %# COPYRIGHT:
 %#  
-%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC 
+%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC 
 %#                                          <jesse@bestpractical.com>
 %# 
 %# (Except where explicitly superseded by other copyright notices)
@@ -22,7 +22,9 @@
 %# 
 %# You should have received a copy of the GNU General Public License
 %# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
 %# 
 %# 
 %# CONTRIBUTION SUBMISSION POLICY:
@@ -79,23 +81,24 @@ foreach my $message ( grep { $_->Parent == $Parent } @$Attachments ) {
      }
         
 </%PERL> 
-<A HREF="<%$AttachPath%>/<%$Transaction->Id%>/<%$message->Id%>/<%$message->Filename | u%>"><&|/l&>Download</&> <%$message->Filename || loc('(untitled)') %></a> 
-<div class="downloadcontenttype">
-<%$message->ContentType%> <% $size %> 
-</div
+<a href="<%$AttachPath%>/<%$Transaction->Id%>/<%$message->Id%>/<%$message->Filename | u%>"><&|/l&>Download</&> <%$message->Filename || loc('(untitled)') %></a>
+<span class="downloadcontenttype">
+[<%$message->ContentType%> <% $size %>]
+</span
 </div>
 % }
 % # }}}
 <div class="messagebody">
 <%perl>
 # {{{   if it has a content-disposition: attachment, don't show inline
-unless ( $message->GetHeader('Content-Disposition') =~ /attachment/i ) {
+unless ( ($message->GetHeader('Content-Disposition')||"") =~ /attachment/i ) {
 
     my $content;
 
     # If it's text
     if (   $message->ContentType =~ m{^(text|message)}i
-        && $size <= $RT::MaxInlineBody )
+       && !($RT::SuppressInlineTextFiles && $message->Filename)
+        && $message->ContentLength <= $RT::MaxInlineBody )
     {
 
         if (
@@ -136,7 +139,7 @@ unless ( $message->GetHeader('Content-Disposition') =~ /attachment/i ) {
             # if it's a text/plain show the body
             elsif ( $message->ContentType =~ m{^(text|message|text)}i ) {
 
-                eval { $content = Text::Quoted::extract($content); };
+                eval { require Text::Quoted;  $content = Text::Quoted::extract($content); };
                 if ($@) { 1; }
 
                 $m->comp(
@@ -151,12 +154,17 @@ unless ( $message->GetHeader('Content-Disposition') =~ /attachment/i ) {
     }
 
     # if it's an image, show it as an image
-    elsif ( $message->ContentType =~ /^image\//i ) {
+    elsif ( $RT::ShowTransactionImages and  $message->ContentType =~ /^image\//i ) {
         $m->out('<img src="'
               . $AttachPath . '/'
               . $Transaction->Id . '/'
               . $message->Id
-              . '/">' );
+              . '/" />' );
+    }
+    elsif ( $message->ContentLength > 0 ) {
+        $m->out(
+            loc( 'Message body not shown because it is too large or is not plain text.' )
+        );
     }
 }
 
@@ -168,9 +176,9 @@ $m->comp(
     ParentObj => $message
 );
 
-}
 </%PERL>
 </div>
+% }
 <%ARGS>
 $Ticket => undef
 $Transaction => undef