%# BEGIN LICENSE BLOCK %# %# Copyright (c) 1996-2003 Jesse Vincent %# %# (Except where explictly superceded by other copyright notices) %# %# This work is made available to you under the terms of Version 2 of %# the GNU General Public License. A copy of that license should have %# been provided with this software, but in any event can be snarfed %# from www.gnu.org. %# %# This work is distributed in the hope that it will be useful, but %# WITHOUT ANY WARRANTY; without even the implied warranty of %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU %# General Public License for more details. %# %# Unless otherwise specified, all modifications, corrections or %# extensions to this work which alter its source code become the %# property of Best Practical Solutions, LLC when submitted for %# inclusion in the work. %# %# %# END LICENSE BLOCK #     <% $transdate|n %>  % my $desc = $Transaction->BriefDescription; % $m->comp('/Elements/Callback', _CallbackName => 'ModifyDisplay', text => \$desc, Transaction => $Transaction, %ARGS); <%$Transaction->CreatorObj->Name%> - <%$TicketString%> <%$desc%> <%$TimeTaken%>  <%$titlebar_commands|n%> <%PERL> unless ($Collapsed) { $attachments->GotoFirstItem; while (my $message=$attachments->Next) { #we don't want to show any empty transactions, unless they have kids next unless ($message->ContentLength || $message->Children->Count); my ($headers, $quoted); if ($ShowHeaders && ($ShowHeaders == $Ticket->Id)) { $headers = $message->Headers; } else { $headers = $message->NiceHeaders; } chomp $headers; if ($headers) { # localize the common headers (like 'Subject:'), too. eval {$headers =~ s/^([^:]+)(?=:)/loc($1)/em; } # we eval here to catch errors when 5.6 panics } # 13456 is a random # of about the biggest size we want to see inline text my $MAX_INLINE_BODY = 13456; if ($message->ContentType =~ m{^(text/plain|message|text$)}i && $message->ContentLength < $MAX_INLINE_BODY ) { require Text::Quoted; $quoted = Text::Quoted::extract($message->Content); }      
<& ShowMessageHeaders, Headers => $headers, Transaction => $Transaction &>
<& ShowMessageStanza, Depth => 0, Message => $quoted, Transaction => $Transaction &>
% if ($message->Parent == 0 ) {
% } <%PERL> my $size = $message->ContentLength; if ($size) { if ($size > 1024) { $size = loc("[_1]k", int($size/102.4)/10); } else { $size = loc("[_1]b", $size); } <&|/l&>Download <% $message->Filename|| loc('(untitled)') %> <% $size %> % } % } % } <%ARGS> $Ticket => undef $Transaction => undef $ShowHeaders => 0 $Collapsed => undef $ShowTitleBarCommands => 1 $RowNum => 1 <%INIT> my ($TimeTaken, $TicketString, $bgcolor); my $transdate = $Transaction->CreatedAsString(); $transdate =~ s/\s/ /g; if ($Transaction->Type =~ /^(Create|Correspond|Comment$)/) { if ($Transaction->IsInbound) { $bgcolor="#336699"; } else { $bgcolor="#339999"; } } elsif (($Transaction->Field =~ /^Owner$/) or ($Transaction->Type =~ /^(AddWatcher|DelWatcher)$/)) { $bgcolor="#333399"; } elsif ($Transaction->Type =~ /^(AddLink|DeleteLink)$/) { $bgcolor="#336633"; } elsif ($Transaction->Type =~ /^(Status|Set|Told)$/) { if ($Transaction->Field =~ /^(Told|Starts|Started|Due)$/) { $bgcolor="#663366"; } else { $bgcolor="#993333"; } } else { $bgcolor="#cccccc"; } if ($Ticket->Id != $Transaction->Ticket) { $TicketString = "Ticket ".$Transaction->Ticket .": "; } if ($Transaction->TimeTaken > 0) { $TimeTaken = $Transaction->TimeTaken." min" } my $attachments = $Transaction->Attachments; my $titlebar_commands=' '; # If the transaction has anything attached to it at all if ($Transaction->Attachments->First && $ShowTitleBarCommands) { if ($Transaction->TicketObj->CurrentUserHasRight('ReplyToTicket')) { $titlebar_commands .= "[Ticket . "&QuoteTransaction=".$Transaction->Id. "&Action=Respond\">". loc('Reply') ."] "; } if ($Transaction->TicketObj->CurrentUserHasRight('CommentOnTicket')) { $titlebar_commands .= "[Ticket. "&QuoteTransaction=".$Transaction->Id. "&Action=Comment\">". loc('Comment') ."]"; } }