header->from); $date = getLongDateString($message->header->date); // we can clean these up if the list is too long... $cc = decodeHeader(getLineOfAddrs($message->header->cc)); $to = decodeHeader(getLineOfAddrs($message->header->to)); // and Body and Subject could easily stream off the page... $id = $message->header->id; $ent_num = findDisplayEntity ($message, 0); $body_message = getEntity($message, $ent_num); if (($body_message->header->type0 == 'text') || ($body_message->header->type0 == 'rfc822')) { $body = mime_fetch_body ($imap_stream, $id, $ent_num); $body = decodeBody($body, $body_message->header->encoding); $hookResults = do_hook("message_body", $body); $body = $hookResults[1]; if ($body_message->header->type1 == 'html') { if( $show_html_default <> 1 ) { $body = strip_tags( $body ); translateText($body, $wrap_at, $body_message->header->charset); } else { $body = MagicHTML( $body, $id ); } } else { translateText($body, $wrap_at, $body_message->header->charset); } } else { $body = _("Message not printable"); } $subject = trim(decodeHeader($message->header->subject)); // now, if they choose to, we clean up the display a bit... /* if ( empty($pf_cleandisplay) || $pf_cleandisplay != 'no' ) { $num_leading_spaces = 9; // nine leading spaces for indentation // sometimes I see ',,' instead of ',' seperating addresses *shrug* $cc = pf_clean_string(str_replace(',,', ',', $cc), $num_leading_spaces); $to = pf_clean_string(str_replace(',,', ',', $to), $num_leading_spaces); // the body should have no leading zeros $body = pf_clean_string($body, 0); // clean up everything else... $subject = pf_clean_string($subject, $num_leading_spaces); $from = pf_clean_string($from, $num_leading_spaces); $date = pf_clean_string($date, $num_leading_spaces); } // end cleanup */ // --end display setup-- // --start browser output-- displayHtmlHeader( _("Printer Friendly"), '', FALSE ); echo "\n" . // headers (we use table becasue translations are not all the same width) ''. '\n". '\n"; if ( strlen($cc) > 0 ) { // only show CC: if it's there... echo '\n"; } echo '\n". '\n". '
' . _("From") . ':' . htmlentities($from) . "
' . _("To") . ':' . htmlentities($to) . "
' . _("CC") . ':' . htmlentities($cc) . "
' . _("Date") . ':' . htmlentities($date) . "
' . _("Subject") . ':' . htmlentities($subject) . "
'. "\n"; // body echo "
\n"; echo $body; // --end browser output-- ?> $wrap_at ) { $this_line = substr($unclean_string, 0, $wrap_at); if ( strrpos( $this_line, "\n" ) ) // this should NEVER happen with anything but the $body { $clean_string .= substr( $this_line, 0, strrpos( $this_line, "\n" )); $clean_string .= $leading_spaces; $unclean_string = substr($unclean_string, strrpos( $this_line, "\n" )); } else { $clean_string .= substr( $this_line, 0, strrpos( $this_line, ' ' )); $clean_string .= "\n" . $leading_spaces; $unclean_string = substr($unclean_string, (1+strrpos( $this_line, ' ' ))); } } $clean_string .= $unclean_string; return $clean_string; } // end pf_clean_string() function // --end pf-specific functions ?>