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
|
<?php global $VARS;
$t = $VARS['template'];
$msg_id = $VARS['msg_id'];
$parser = $VARS['parser'];
$msgdir = $VARS['msgdir'];
function messageLink($id) {
if (is_array($id)) { $id = $id[1]; }
global $VARS; $t = $VARS['template']; $msgdir = $VARS['msgdir'];
$exists = is_file("$msgdir/$id");
$class =
$id = htmlentities($id);
return sprintf('<<a href="%1$s"%2$s>%3$s</a>>',
$t->url("messages/$id/"),
($exists?'':' class="http404"'),
$id);
}
function parseMessageIDs($string) {
$base = $_SERVER['REQUEST_URL'];
$html = preg_replace_callback(
'/<([^>]*)>/',
'messageLink',
$string);
return $html;
}
$t->header('View Message');
$t->openTag('table');
$t->row(array('To:' , htmlentities( $parser->getHeader('to' ))));
$t->row(array('From:' , htmlentities( $parser->getHeader('from' ))));
$t->row(array('Subject:' , htmlentities( $parser->getHeader('subject' ))));
$t->row(array('In-Reply-to:', parseMessageIDs($parser->getHeader('in-reply-to'))));
$t->row(array('References:' , parseMessageIDs($parser->getHeader('references' ))));
$t->closeTag('table');
$t->openTag('div', array('class'=>'message-body'));
if ($parser->getMessageBodyPart('html')!==false) {
$t->tag('h2', array(), 'HTML');
$t->tag('iframe', array('src'=>$t->url("messages/$msg_id/body.html")), '');
}
if ($parser->getMessageBodyPart('text')!==false) {
$t->tag('h2', array(), 'Plain Text');
$t->tag('iframe', array('src'=>$t->url("messages/$msg_id/body.txt")), '');
}
$t->closeTag('div');
$t->tag('h2', array(), 'Attachments');
$t->openTag('table');
$attachments = $parser->getAttachments();
foreach ($attachments as $id => $attachment) {
$t->row(array(
htmlentities($attachment->getContentType()),
$t->link($t->url("$msg_id/attachment/$id"),
htmlentities($attachment->getFilename())),
));
}
$t->closeTag('table');
$t->footer();
|