<TR bgcolor="<%$rowbgcolor%>"> <TD bgcolor="<%$bgcolor%>"><A NAME="#<%$Transaction->Id%>"></A>  </TD> <TD>  </TD> <TD><font size=-2><% $transdate|n %></font> </TD> <TD ALIGN="LEFT"><b><%$Transaction->CreatorObj->Name%> - <%$TicketString%> <%$Transaction->BriefDescription%> </b></TD> <TD><%$TimeTaken%> </TD> <TD ALIGN="RIGHT"><font size=-1><%$titlebar_commands|n%></font></TD> </TR> <%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 (length $message->Content || $message->Children->Count); my ($headers, $content); </%PERL> <%PERL> if ($message->Parent == 0) { if ($ShowHeaders == $Ticket->Id) { $headers = $message->Headers; } else { $headers = $message->NiceHeaders; } chomp $headers; $headers .= "\n\n" if ($headers); } # 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 && length($message->Content)< $MAX_INLINE_BODY ) { $content = $message->Content; my $wrapper = new Text::Wrapper (columns=>85); $content = $wrapper->wrap($content); $content =~ s/&/&/g; $content =~ s/</</g; $content =~ s/>/>/g; $content =~ s!((?:http|https|ftp|mailto):\S*?)([\s"']|>|\.[\n])!<A HREF=\"$1\" TARGET=new>$1</A>$2!g; } else { $content = " "; } </%PERL> <TR BGCOLOR="<%$rowbgcolor%>"> <TD BGCOLOR="<%$bgcolor%>"> </TD> <TD>  </TD> <TD COLSPAN=3 VALIGN=TOP> <PRE> <%$headers%><%$content|n%> </PRE> </TD> <TD VALIGN=TOP ALIGN=RIGHT> % if ($message->Parent == 0 ) { <BR> % } <%PERL> my $size = length($message->Content()); if ($size) { if ($size > 1024) { $size = int($size/102.4)/10 . "k"; } else { $size = $size ."b"; } </%PERL> <font size=-1><A HREF="Attachment/<%$Transaction->Id%>/<%$message->Id%>/<%$message->Filename%>">Download <%$message->Filename|| '(untitled)'%></a> <% $size %></font> % } </TD> </TR> % } % } <%ARGS> $Ticket => undef $Transaction => undef $ShowHeaders => undef $Collapsed => undef $ShowTitleBarCommands => 1 $RowNum => 1 </%ARGS> <%INIT> my ($TimeTaken, $TicketString, $bgcolor, $rowbgcolor); my $transdate = $Transaction->CreatedAsString(); $transdate =~ s/\s/ /g; if ($RowNum % 2) { $rowbgcolor="#cccccc"; } else { $rowbgcolor="#ffffff"; } 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|Keyword|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->Message->First && $ShowTitleBarCommands) { if ($Transaction->TicketObj->CurrentUserHasRight('ReplyToTicket')) { $titlebar_commands .= "[<a href=\"Update.html?id=". $Transaction->Ticket . "&QuoteTransaction=".$Transaction->Id. "&Action=Respond\">Reply</a>] "; } if ($Transaction->TicketObj->CurrentUserHasRight('CommentOnTicket')) { $titlebar_commands .= "[<a href=\"Update.html?id=".$Transaction->Ticket. "&QuoteTransaction=".$Transaction->Id. "&Action=Comment\">Comment</a>]"; } } </%INIT>