import rt 3.8.10
[freeside.git] / rt / html / Ticket / Elements / ShowMessageHeaders
index 8dc76ba..40b5c84 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:
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-% use Data::Dumper;
 <table>
 % foreach my $header (@headers) {
-% next unless ($display_headers{'_all'} || $display_headers{lc($header->{'Tag'})});
-<tr>
-<td align="right" class="message-header-key"><%$header->{'Tag'}%>:</td>
-<td class="message-header-value"><%$header->{'Value'} | n%></td>
-</tr>
+%     next unless $display_headers{_all}
+%           or ($display_headers{ lc $header->{Tag} }
+%                 and length $header->{Value});
+  <tr>
+    <td align="right" class="message-header-key"><%$header->{'Tag'}%>:</td>
+    <td class="message-header-value"><%$header->{'Value'} | n%></td>
+  </tr>
 % }
 </table>
 <%INIT>
@@ -61,23 +64,24 @@ $m->comp('/Elements/Callback', content => \$content, %ARGS);
 # we'll display the value without escaping later (for MakeClicky et al.)
 $content = $m->interp->apply_escapes($content, 'h');
 
-my @lines = split (/\n/,$content);
+my @lines = split /\n/, $content;
 my $in_header = 0;
-my @headers =();
-foreach (@lines) {
+my @headers;
+
+for (@lines) {
     if (/^(\S+):\s+(.*)$/) {
-        push (@headers, { Tag => $1, Value => $2} ); 
-    } elsif ($headers[-1]) {
+        push @headers, { Tag => $1, Value => $2 };
+    }
+    elsif (/^\s+/) {
         $headers[-1]->{'Value'} .= $_;
-    } else {
-
-        push (@headers, { Tag => $_, Value => ''} ); 
+    }
+    else {
+        s/:$//;
+        push @headers, { Tag => $_, Value => '' };
     }
 }
 
-my %display_headers;
-
-map { $display_headers{lc($_)} = 1 } @$DisplayHeaders;
+my %display_headers = map { lc($_) => 1 } @$DisplayHeaders;
 
 $m->comp('/Elements/Callback', _CallbackName => 'Headers', content => \$content, headers => \@headers, display_headers => \%display_headers, %ARGS);