|
@@ -82,7 +82,7 @@ if ($ent_ar[0] != '') {
|
|
|
|
|
|
$num_leading_spaces = 9; // nine leading spaces for indentation
|
|
|
|
|
|
-// sometimes I see ',,' instead of ',' seperating addresses *shrug*
|
|
|
+// sometimes I see ',,' instead of ',' separating addresses *shrug*
|
|
|
$cc = pf_clean_string(str_replace(',,', ',', $cc), $num_leading_spaces);
|
|
|
$to = pf_clean_string(str_replace(',,', ',', $to), $num_leading_spaces);
|
|
|
|
|
@@ -98,6 +98,8 @@ $cc = decodeHeader($cc);
|
|
|
$from = decodeHeader($from);
|
|
|
$subject = decodeHeader($subject);
|
|
|
|
|
|
+$attachments = pf_show_attachments($message,$ent_ar,$mailbox,$passed_id);
|
|
|
+
|
|
|
// --end display setup--
|
|
|
|
|
|
|
|
@@ -132,9 +134,24 @@ echo '<body text="#000000" bgcolor="#FFFFFF" link="#000000" vlink="#000000" alin
|
|
|
/* body */
|
|
|
echo html_tag( 'tr',
|
|
|
html_tag( 'td', '<hr style="height: 1px;" /><br />' . "\n" . $body, 'left', '', 'colspan="2"' )
|
|
|
- ) . "\n" .
|
|
|
+ ) . "\n" ;
|
|
|
+
|
|
|
+ if (! empty($attachments)) {
|
|
|
+ // attachments title
|
|
|
+ echo html_tag( 'tr',
|
|
|
+ html_tag( 'td','<b>'._("Attachments:").'</b>', 'left', '', 'colspan="2"' )
|
|
|
+ ) . "\n" ;
|
|
|
+ // list of attachments
|
|
|
+ echo html_tag( 'tr',
|
|
|
+ html_tag( 'td',$attachments, 'left', '', 'colspan="2"' )
|
|
|
+ ) . "\n" ;
|
|
|
+ // add separator line
|
|
|
+ echo html_tag( 'tr',
|
|
|
+ html_tag( 'td', '<hr style="height: 1px;" />', 'left', '', 'colspan="2"' )
|
|
|
+ ) . "\n" ;
|
|
|
+ }
|
|
|
|
|
|
- '</table>' . "\n" .
|
|
|
+ echo '</table>' . "\n" .
|
|
|
'</body></html>';
|
|
|
|
|
|
/* --end browser output-- */
|
|
@@ -185,6 +202,82 @@ function pf_clean_string ( $unclean_string, $num_leading_spaces ) {
|
|
|
return $clean_string;
|
|
|
} /* end pf_clean_string() function */
|
|
|
|
|
|
+/**
|
|
|
+ * Displays attachment information
|
|
|
+ *
|
|
|
+ * Stripped version of formatAttachments() function from functions/mime.php.
|
|
|
+ * @param object $message SquirrelMail message object
|
|
|
+ * @param array $exclude_id message parts that are not attachments.
|
|
|
+ * @param string $mailbox mailbox name
|
|
|
+ * @param integer $id message id
|
|
|
+ * @return string html formated attachment information.
|
|
|
+ */
|
|
|
+function pf_show_attachments($message, $exclude_id, $mailbox, $id) {
|
|
|
+ global $where, $what, $startMessage, $color, $passed_ent_id;
|
|
|
+
|
|
|
+ $att_ar = $message->getAttachments($exclude_id);
|
|
|
+
|
|
|
+ if (!count($att_ar)) return '';
|
|
|
+
|
|
|
+ $attachments = '';
|
|
|
+
|
|
|
+ $urlMailbox = urlencode($mailbox);
|
|
|
+
|
|
|
+ foreach ($att_ar as $att) {
|
|
|
+ $ent = $att->entity_id;
|
|
|
+ $header = $att->header;
|
|
|
+ $type0 = strtolower($header->type0);
|
|
|
+ $type1 = strtolower($header->type1);
|
|
|
+ $name = '';
|
|
|
+
|
|
|
+ if ($type0 =='message' && $type1 == 'rfc822') {
|
|
|
+ $rfc822_header = $att->rfc822_header;
|
|
|
+ $filename = $rfc822_header->subject;
|
|
|
+ if (trim( $filename ) == '') {
|
|
|
+ $filename = 'untitled-[' . $ent . ']' ;
|
|
|
+ }
|
|
|
+ $from_o = $rfc822_header->from;
|
|
|
+ if (is_object($from_o)) {
|
|
|
+ $from_name = decodeHeader($from_o->getAddress(false));
|
|
|
+ } else {
|
|
|
+ $from_name = _("Unknown sender");
|
|
|
+ }
|
|
|
+ $description = '<tr>'.
|
|
|
+ html_tag( 'td',_("From:"), 'right') .
|
|
|
+ html_tag( 'td',$from_name, 'left') .
|
|
|
+ '</tr>';
|
|
|
+ } else {
|
|
|
+ $filename = $att->getFilename();
|
|
|
+ if ($header->description) {
|
|
|
+ $description = '<tr>'.
|
|
|
+ html_tag( 'td',_("Info:"), 'right') .
|
|
|
+ html_tag( 'td',decodeHeader($header->description), 'left') .
|
|
|
+ '</tr>';
|
|
|
+ } else {
|
|
|
+ $description = '';
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $display_filename = $filename;
|
|
|
+
|
|
|
+ // TODO: maybe make it nicer?
|
|
|
+ $attachments .= '<table border="1"><tr><th colspan="2">'.decodeHeader($display_filename).'</th></tr>' .
|
|
|
+ '<tr border="0">'.
|
|
|
+ html_tag( 'td',_("Size:"), 'right') .
|
|
|
+ html_tag( 'td',show_readable_size($header->size), 'left') .
|
|
|
+ '</tr><tr>' .
|
|
|
+ html_tag( 'td',_("Type:"), 'right') .
|
|
|
+ html_tag( 'td',htmlspecialchars($type0).'/'.htmlspecialchars($type1), 'left') .
|
|
|
+ '</tr>';
|
|
|
+ if (! empty($description)) {
|
|
|
+ $attachments .= $description;
|
|
|
+ }
|
|
|
+ $attachments .= "</table>\n";
|
|
|
+ }
|
|
|
+ return $attachments;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
/* --end pf-specific functions */
|
|
|
|
|
|
?>
|