break;
}
}
- }
- elseif ($sort == 6 && !$allow_server_sort &&
+ } else if ($sort == 6 && !$allow_server_sort &&
!$thread_sort_messages ) {
if ($passed_id != 1) {
$result = $passed_id - 1;
}
- }
- elseif (!$allow_server_sort && !$thread_sort_messages ) {
+ } else if (!$allow_server_sort && !$thread_sort_messages ) {
if (!is_array($msort)) {
return -1;
}
break;
}
}
- }
- elseif ($sort == 6 && !$allow_server_sort &&
+ } else if ($sort == 6 && !$allow_server_sort &&
!$thread_sort_messages) {
if ($passed_id != $numMessages) {
$result = $passed_id + 1;
}
- }
- elseif (!$thread_sort_messages && !$allow_server_sort) {
+ } else if (!$thread_sort_messages && !$allow_server_sort) {
if (!is_array($msort)) {
return -1;
}
prev($msort);
$key = key($msort);
if (isset($key)) {
- echo $msort[$key];
+ //echo $msort[$key]; /* Why again were we echoing here? */
$result = $msgs[$key]['ID'];
break;
}
function SendMDN ( $mailbox, $passed_id, $sender, $message) {
global $username, $attachment_dir, $SERVER_NAME,
- $version, $attachments;
+ $version, $attachments, $squirrelmail_language;
- $header = $message->header;
+ $header = $message->rfc822_header;
$hashed_attachment_dir = getHashedDir($username, $attachment_dir);
$recipient_o = $header->dnt;
"\r\n" .
sprintf( _("Was displayed on %s"), $now );
+ if (function_exists($languages[$squrrelmail_language]['XTRA_CODE'])) {
+ $body = $languages[$squirrelmail_language]['XTRA_CODE']('encode', $body);
+ }
+
// part2 (RFC2298)
$original_recipient = $to;
$original_message_id = $header->message_id;
function formatEnvheader($mailbox, $passed_id, $passed_ent_id, $message,
$color, $FirstTimeSee) {
- global $msn_user_support, $default_use_mdn, $draft_folder, $sent_folder,
- $default_use_priority, $show_xmailer_default,
- $mdn_user_support, $PHP_SELF, $javascript_on;
-
- $header = $message->header;
+ global $msn_user_support, $default_use_mdn, $draft_folder, $sent_folder,
+ $default_use_priority, $show_xmailer_default,
+ $mdn_user_support, $PHP_SELF, $javascript_on;
+
+ $header = $message->rfc822_header;
$env = array();
- $env[_("Subject")] = getLongDateString($header->date);
- $from_o = $header->from;
- if (is_object($from_o)) {
- $from_name = $from_o->getAddress();
- } else {
- $from_name = _("Unknown sender");
+ $env[_("Subject")] = htmlspecialchars(decodeHeader($header->subject));
+ $from_name = $header->getAddr_s('from');
+ if (!$from_name) {
+ $from_name = $header->getAddr_s('sender');
+ if (!$from_name) {
+ $from_name = _("Unknown sender");
+ }
}
- $env[_("From")] = htmlspecialchars($from_name);
- $env[_("Date")] = htmlspecialchars($header->subject);
+ $env[_("From")] = htmlspecialchars(decodeHeader($from_name));
+ $env[_("Date")] = getLongDateString($header->date);
$env[_("To")] = formatRecipientString($header->to, "to");
$env[_("Cc")] = formatRecipientString($header->cc, "cc");
$env[_("Bcc")] = formatRecipientString($header->bcc, "bcc");
$env[_("Priority")] = getPriorityStr($header->priority);
}
if ($show_xmailer_default) {
- $env[_("Mailer")] = $header->xmailer;
+ $env[_("Mailer")] = decodeHeader($header->xmailer);
}
if ($default_use_mdn) {
if ($mdn_user_support) {
$env[_("Read receipt")] = _("send");
} else {
if ( !($mailbox == $draft_folder ||
- $mailbox == $sent_folder || $message->is_deleted)) {
+ $mailbox == $sent_folder ||
+ $message->is_deleted ||
+ $passed_ent_id)) {
$mdn_url = $PHP_SELF . '&sendreceipt=1';
if ($FirstTimeSee && $javascript_on) {
$script = '<script language="JavaScript" type="text/javascript">' ."\n";
}
}
- $s = '<table width="100%" cellpadding="0" cellspacing="0" border="0" ' .
- 'align="center">';
+ $s = '<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"';
+ $s .= ' ALIGN="center" BGCOLOR="' . $color[0] . '">';
foreach ($env as $key => $val) {
if ($val) {
- $s .= '<tr>';
- $s .= html_tag( 'td', '<b>'.$key.': </b>', 'right', $color[0], 'valign="top" width="20%"') . "\n";
- $s .= html_tag( 'td', $val, 'left', $color[0], 'valign="top" width="80%"');
- $s .= "\n</tr>";
+ $s .= '<TR>';
+ $s .= html_tag('TD', '<B>' . $key . ': </B>', 'RIGHT', '', 'VALIGN="TOP" WIDTH="20%"') . "\n";
+ $s .= html_tag('TD', $val, 'left', '', 'VALIGN="TOP" WIDTH="80%"') . "\n";
+ $s .= '</TR>';
}
}
- $s .= '</table>';
echo $s;
+ do_hook("read_body_header");
+ formatToolbar($mailbox,$passed_id,$passed_ent_id,$message, $color);
+ echo '</table>';
}
function formatMenubar($mailbox, $passed_id, $passed_ent_id, $message, $mbx_response) {
global $base_uri, $sent_folder, $draft_folder, $where, $what, $color, $sort,
- $startMessage, $compose_new_win, $PHP_SELF, $save_as_draft;
+ $startMessage, $compose_new_win, $PHP_SELF, $save_as_draft,
+ $enable_forward_as_attachment;
$topbar_delimiter = ' | ';
- $urlMailbox = encodeHeader($mailbox);
-
+ $urlMailbox = urlencode($mailbox);
$s = '<table width="100%" cellpadding="3" cellspacing="0" align="center"'.
' border="0" bgcolor="'.$color[9].'"><tr><td align="left" width="33%"><small>';
if (isset($where) && isset($what)) {
$msgs_url .= 'search.php?where='.urlencode($where).
'&what='.urlencode($what).'&mailbox='.$urlMailbox;
- $msgs_str = _("Search results");
+ $msgs_str = _("Search results");
} else {
$msgs_url .= 'right_main.php?sort='.$sort.'&startMessage='.
$startMessage.'&mailbox='.$urlMailbox;
}
$s .= '<a href="'. $msgs_url.'">'.$msgs_str.'</a>';
$s .= $topbar_delimiter;
-
+
$delete_url = $base_uri . 'src/delete_message.php?mailbox='.$urlMailbox.
'&message='.$passed_id.'&';
if (!(isset($passed_ent_id) && $passed_ent_id)) {
$comp_uri = $base_uri . 'src/compose.php'.
'?passed_id='.$passed_id.
- '&mailbox='.$urlMailbox.
- (isset($passed_ent_id)?'&passed_ent_id='.$passed_ent_id:'');
+ '&mailbox='.$urlMailbox.
+ (isset($passed_ent_id)?'&passed_ent_id='.$passed_ent_id:'');
if (($mailbox == $draft_folder) && ($save_as_draft)) {
$comp_alt_uri = $comp_uri . '&action=draft';
$s .= $topbar_delimiter;
if ($compose_new_win == '1') {
$s .= '<a href="javascript:void(0)" '.
- 'onclick="comp_in_new(\''.$comp_alt_uri.'\')">'.$comp_alt_string.'</a>';
+ 'onclick="comp_in_new(\''.$comp_alt_uri.'\')">'.$comp_alt_string.'</a>';
} else {
$s .= '<a href="'.$comp_alt_uri.'">'.$comp_alt_string.'</a>';
}
}
-
+
$s .= '</small></td><td align="center" width="33%"><small>';
-
+
if (!(isset($where) && isset($what)) && !$passed_ent_id) {
$prev = findPreviousMessage($mbx_response['EXISTS'], $passed_id);
$next = findNextMessage($passed_id);
$uri = $base_uri . 'src/read_body.php?passed_id='.$next.
'&mailbox='.$urlMailbox.'&sort='.$sort.
'&startMessage='.$startMessage.'&show_more=0';
- $s .= '<a href="'.$uri.'">'._("Next").'</a>';
+ $s .= '<a href="'.$uri.'">'._("Next").'</a>';
} else {
$s .= _("Next");
}
$s .= '<a href="'.$url.'">'._("View Message").'</a>';
$par_ent_id = $message->parent->entity_id;
if ($par_ent_id) {
- $par_ent_id = substr($par_ent_id,0,-2);
- $s .= $topbar_delimiter;
- $url = set_url_var($PHP_SELF, 'passed_ent_id',$par_ent_id);
- $s .= '<a href="'.$url.'">'._("Up").'</a>';
+ $par_ent_id = substr($par_ent_id,0,-2);
+ $s .= $topbar_delimiter;
+ $url = set_url_var($PHP_SELF, 'passed_ent_id',$par_ent_id);
+ $s .= '<a href="'.$url.'">'._("Up").'</a>';
}
- }
-
- $s .= '</small></td><td align="right" width="33%"><small>';
+ }
+ $s .= '</small></td><td align="right" width="33%" nowrap><small>';
$comp_action_uri = $comp_uri . '&action=forward';
if ($compose_new_win == '1') {
$s .= '<a href="javascript:void(0)" '.
}
$s .= $topbar_delimiter;
+ if ($enable_forward_as_attachment) {
+ $comp_action_uri = $comp_uri . '&action=forward_as_attachment';
+ if ($compose_new_win == '1') {
+ $s .= '<a href="javascript:void(0)" '.
+ 'onclick="comp_in_new(\''.$comp_action_uri.'\')">'._("Forward as Attachment").'</a>';
+ } else {
+ $s .= '<a href="'.$comp_action_uri.'">'._("Forward as Attachment").'</a>';
+ }
+ $s .= $topbar_delimiter;
+ }
+
$comp_action_uri = decodeHeader($comp_uri . '&action=reply');
if ($compose_new_win == '1') {
$s .= '<a href="javascript:void(0)" '.
$s .= '<a href="'.$comp_action_uri.'">'._("Reply All").'</a>';
}
$s .= '</small></td></tr></table>';
+ do_hook("read_body_menu_top");
echo $s;
+ do_hook("read_body_menu_bottom");
}
function formatToolbar($mailbox, $passed_id, $passed_ent_id, $message, $color) {
global $QUERY_STRING, $base_uri;
- $urlMailbox = encodeHeader($mailbox);
- $s = '<table width="100%" cellpadding="3" cellspacing="0" align="center"'.
- ' border="0" bgcolor="'.$color[9].'">'. "\n".
- '<tr align="right"><td valign="top" align="right"><small>';
+ $urlMailbox = urlencode($mailbox);
$url = $base_uri.'src/view_header.php?'.$QUERY_STRING;
- $s .= '<a href="'.$url.'">'.("View Full Header").'</a>';
- /* Output the printer friendly link if we are in subtle mode. */
- $s .= ' | '.
+
+ $s = "<TR>\n" .
+ '<TD VALIGN="MIDDLE" ALIGN="RIGHT" WIDTH="20%"><B>' . _("Options") . ": </B></TD>\n" .
+ '<TD VALIGN="MIDDLE" ALIGN="LEFT" WIDTH="80%"><SMALL>' .
+ '<a href="'.$url.'">'._("View Full Header").'</a>';
+
+ /* Output the printer friendly link if we are in subtle mode. */
+ $s .= ' | ' .
printer_friendly_link($mailbox, $passed_id, $passed_ent_id, $color);
echo $s;
do_hook("read_body_header_right");
- echo '</small></td></tr>';
- echo '</table>'."\n";
-}
+ $s = "</SMALL></TD>\n" .
+ "</TR>\n";
+ echo $s;
+}
-/*
- * Main of read_boby.php --------------------------------------------------
- */
+/***************************/
+/* Main of read_body.php */
+/***************************/
/*
Urled vars
$mailbox = urldecode( $mailbox );
}
-$imapConnection = sqimap_login($username, $key, $imapServerAddress,
- $imapPort, 0);
-
+$imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
$mbx_response = sqimap_mailbox_select($imapConnection, $mailbox, false, false, true);
if (!isset($messages)) {
$message = sqimap_get_message($imapConnection, $passed_id, $mailbox);
$messages[$uidvalidity][$passed_id] = $message;
} else {
-// $message = sqimap_get_message($imapConnection, $passed_id, $mailbox);
- $message = $messages[$uidvalidity][$passed_id];
+ $message = sqimap_get_message($imapConnection, $passed_id, $mailbox);
+// $message = $messages[$uidvalidity][$passed_id];
}
$FirstTimeSee = !$message->is_seen;
$message->is_seen = true;
$messages[$uidvalidity][$passed_id] = $message;
-if (isset($passed_ent_id)) {
+if (isset($passed_ent_id) && $passed_ent_id) {
$message = $message->getEntity($passed_ent_id);
- $message->id = $passed_id;
- $message->mailbox = $mailbox;
+ if ($message->type0 != 'message' && $message->type1 != 'rfc822') {
+ $message = $message->parent;
+ }
+ $read = sqimap_run_command ($imapConnection, "FETCH $passed_id BODY[$passed_ent_id.HEADER]", true, $response, $msg, $uid_support);
+ $rfc822_header = new Rfc822Header();
+ $rfc822_header->parseHeader($read);
+ $message->rfc822_header = $rfc822_header;
} else {
$passed_ent_id = 0;
}
$header = $message->header;
-//do_hook('html_top');
+do_hook('html_top');
-/* =============================================================================
- * block for handling incoming url vars
- *
- * =============================================================================
- */
+/****************************************/
+/* Block for handling incoming url vars */
+/****************************************/
if (isset($sendreceipt)) {
if ( !$message->is_mdnsent ) {
ClearAttachments();
}
}
-/* =============================================================================
- * end block for handling incoming url vars
- *
- * =============================================================================
- */
+/***********************************************/
+/* End of block for handling incoming url vars */
+/***********************************************/
+
$msgs[$passed_id]['FLAG_SEEN'] = true;
$messagebody = '';
-$ent_ar = $message->findDisplayEntity(array());
-for ($i = 0; $i < count($ent_ar); $i++) {
+do_hook('read_body_top');
+if ($show_html_default == 1) {
+ $ent_ar = $message->findDisplayEntity(array());
+} else {
+ $ent_ar = $message->findDisplayEntity(array(), array('text/plain'));
+}
+$cnt = count($ent_ar);
+for ($i = 0; $i < $cnt; $i++) {
$messagebody .= formatBody($imapConnection, $message, $color, $wrap_at, $ent_ar[$i], $passed_id, $mailbox);
- $messagebody .= '<hr noshade size=1>';
+ if ($i != $cnt-1) {
+ $messagebody .= '<hr noshade size=1>';
+ }
}
displayPageHeader($color, $mailbox);
-do_hook('read_body_top');
formatMenuBar($mailbox, $passed_id, $passed_ent_id, $message, $mbx_response);
formatEnvheader($mailbox, $passed_id, $passed_ent_id, $message, $color, $FirstTimeSee);
-do_hook("read_body_header");
-formatToolbar($mailbox,$passed_id,$passed_ent_id,$message, $color);
-echo '<table width="100%" cellpadding="3" cellspacing="3" align="center"'.
- ' border="0" bgcolor="'.$color[4].'">';
-echo '<tr><td>'.$messagebody.'</td></tr>';
-echo '<tr><td>'.formatAttachments($message,$ent_ar,$mailbox, $passed_id).'</td></tr>';
+echo '<table width="100%" cellpadding="0" cellspacing="0" align="center" border="0">';
+echo ' <tr><td>';
+echo ' <table width="100%" cellpadding="1" cellspacing="0" align="center" border="0" bgcolor="'.$color[9].'">';
+echo ' <tr><td>';
+echo ' <table width="100%" cellpadding="3" cellspacing="0" align="center" border="0">';
+echo ' <tr bgcolor="'.$color[4].'"><td>';
+echo ' <table cellpadding="0" cellspacing="0" align="center" border="0">';
+echo ' <tr><td><br>' . $messagebody . '</td></td>';
+echo ' </table>';
+echo ' </td></tr>';
+echo ' </table></td></tr>';
+echo ' </table>';
+echo ' </td></tr>';
+
+$attachmentsdisplay = formatAttachments($message,$ent_ar,$mailbox, $passed_id);
+if ($attachmentsdisplay) {
+ echo ' <tr><td>';
+ echo ' <table width="100%" cellpadding="1" cellspacing="0" align="center"'.' border="0" bgcolor="'.$color[9].'">';
+ echo ' <tr><td>';
+ echo ' <table width="100%" cellpadding="1" cellspacing="0" align="center" border="0" bgcolor="'.$color[4].'">';
+ echo ' <tr><td ALIGN="left" bgcolor="'.$color[9].'">';
+ echo ' <b>' . _("Attachments") . ':</b>';
+ echo ' </td></tr>';
+ echo ' <tr><td>';
+ echo ' <table width="100%" cellpadding="2" cellspacing="2" align="center"'.' border="0" bgcolor="'.$color[0].'"><tr><td>';
+ echo $attachmentsdisplay;
+ echo ' </td></tr></table>';
+ echo ' </table></td></tr>';
+ echo ' </table></td></tr>';
+ echo ' </table>';
+ echo ' </td></tr>';
+}
echo '</table>';
+
/* show attached images inline -- if pref'fed so */
if (($attachment_common_show_images) &&
is_array($attachment_common_show_images_list)) {
'?' .
'passed_id=' . urlencode($img['passed_id']) .
'&mailbox=' . urlencode($mailbox) .
- '&passed_ent_id=' . urlencode($img['ent_id']) .
+ '&ent_id=' . urlencode($img['ent_id']) .
'&absolute_dl=true';
echo html_tag( 'table', "\n" .
do_hook('read_body_bottom');
do_hook('html_bottom');
+//$message->clean_up();
sqimap_logout($imapConnection);
?>
</body>