1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
<?php
/**
* The MIME_Viewer_rfc822 class renders out messages from the
* message/rfc822 content type.
*
* $Horde: framework/MIME/MIME/Viewer/rfc822.php,v 1.8.10.8 2006/01/01 21:28:25 jan Exp $
*
* Copyright 2002-2006 Michael Slusarz <slusarz@bigworm.colorado.edu>
*
* See the enclosed file COPYING for license information (GPL). If you
* did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
*
* @author Michael Slusarz <slusarz@bigworm.colorado.edu>
* @since Horde 3.0
* @package Horde_MIME_Viewer
*/
class MIME_Viewer_rfc822 extends MIME_Viewer {
/**
* Render out the currently set contents.
*
* @param array $params An array with any parameters needed.
*
* @return string The rendered text.
*/
function render($params = array())
{
$part = $this->mime_part;
$part->transferDecodeContents();
$text = $part->getContents();
if (!$text) {
require_once 'Horde/MIME/Contents.php';
$contents = &new MIME_Contents(new MIME_Part());
return $contents->formatStatusMsg(_("There was an error displaying this message part"));
} else {
return $text;
}
}
/**
* Render out attachment information.
*
* @param array $params An array with any parameters needed.
*
* @return string The rendered text in HTML.
*/
function renderAttachmentInfo($params = array())
{
$msg = '';
/* Get the text of the part. Since we need to look for the end of
* the headers by searching for the CRLFCRLF sequence, use
* getCanonicalContents() to make sure we are getting the text with
* CRLF's. */
$text = $this->mime_part->getCanonicalContents();
/* Search for the end of the header text (CRLFCRLF). */
$text = substr($text, 0, strpos($text, "\r\n\r\n"));
/* Get the list of headers now. */
require_once 'Horde/MIME/Structure.php';
$headers = MIME_Structure::parseMIMEHeaders($text, true, true);
require_once 'Horde/MIME/Contents.php';
$contents = &new MIME_Contents(new MIME_Part());
$msg = $contents->formatStatusMsg(_("The following are the headers for this message/rfc822 message."), Horde::img('info_icon.png', _("Info"), 'height="16" width="16"', $GLOBALS['registry']->getImageDir('horde')), false);
$msg .= '<span class="fixed">';
$header_array = array(
'date' => _("Date"),
'subject' => _("Subject"),
'from' => _("From"),
'to' => _("To")
);
$header_output = array();
foreach ($header_array as $key => $val) {
if (isset($headers[$key])) {
if (is_array($headers[$key])) {
$headers[$key] = $headers[$key][0];
}
$header_output[] = '<strong>' . $val . ':</strong> ' . $headers[$key];
}
}
require_once 'Horde/Text/Filter.php';
$msg .= implode("<br />\n", Text_Filter::filter($header_output, 'emails')) . '</span>';
return $msg;
}
/**
* Return the MIME content type for the rendered data.
*
* @return string The content type of the data.
*/
function getType()
{
return 'text/plain; charset=' . NLS::getCharset();
}
}
|