X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Fread_body.php;h=1842480792fc67d4aa7b3abc23581fbaeda9148c;hp=8e38c507e8e82fa4dbb966ba745d89a342d7b2d1;hb=8fde8417b5c9458070dec2e39d7393b1af075606;hpb=507d14ea6f2b0dececfb02892aadfbc52eaeca49 diff --git a/src/read_body.php b/src/read_body.php index 8e38c507..18424807 100644 --- a/src/read_body.php +++ b/src/read_body.php @@ -19,7 +19,6 @@ require_once('../functions/date.php'); require_once('../functions/url_parser.php'); require_once('../functions/smtp.php'); require_once('../functions/html.php'); -require_once('../src/view_header.php'); /** * Given an IMAP message id number, this will look it up in the cached @@ -28,8 +27,8 @@ require_once('../src/view_header.php'); * * @return the index of the next valid message from the array */ -function findNextMessage() { - global $msort, $currentArrayIndex, $msgs, $sort, +function findNextMessage($passed_id) { + global $msort, $msgs, $sort, $thread_sort_messages, $allow_server_sort, $server_sort_array; if (!is_array($server_sort_array)) { @@ -37,10 +36,10 @@ function findNextMessage() { $allow_server_sort = FALSE; } $result = -1; - if ($thread_sort_messages == 1 || $allow_server_sort == TRUE) { + if ($thread_sort_messages || $allow_server_sort) { reset($server_sort_array); while(list($key, $value) = each ($server_sort_array)) { - if ($currentArrayIndex == $value) { + if ($passed_id == $value) { if ($key == (count($server_sort_array) - 1)) { $result = -1; break; @@ -50,18 +49,18 @@ function findNextMessage() { } } } - elseif ($sort == 6 && $allow_server_sort != TRUE && - $thread_sort_messages != 1) { - if ($currentArrayIndex != 1) { - $result = $currentArrayIndex - 1; + elseif ($sort == 6 && !$allow_server_sort && + !$thread_sort_messages ) { + if ($passed_id != 1) { + $result = $passed_id - 1; } } - elseif ($allow_server_sort != TRUE && $thread_sort_messages != 1 ) { + elseif (!$allow_server_sort && !$thread_sort_messages ) { if (!is_array($msort)) { return -1; } for (reset($msort); ($key = key($msort)), (isset($key)); next($msort)) { - if ($currentArrayIndex == $msgs[$key]['ID']) { + if ($passed_id == $msgs[$key]['ID']) { next($msort); $key = key($msort); if (isset($key)){ @@ -74,35 +73,20 @@ function findNextMessage() { return ($result); } -/** - * Removes just one address from the list of addresses. - * - * @param &$addr_list a by-ref array of addresses - * @param $addr an address to remove - * @return void, since it operates on a by-ref param - */ -function RemoveAddress(&$addr_list, $addr) { - if ($addr != '') { - foreach (array_keys($addr_list, $addr) as $key_to_delete) { - unset($addr_list[$key_to_delete]); - } - } -} - /** returns the index of the previous message from the array. */ -function findPreviousMessage() { - global $msort, $currentArrayIndex, $sort, $msgs, $imapConnection, - $mailbox, $data_dir, $username, $thread_sort_messages, +function findPreviousMessage($numMessages, $passed_id) { + global $msort, $sort, $msgs, + $thread_sort_messages, $allow_server_sort, $server_sort_array; $result = -1; if (!is_array($server_sort_array)) { $thread_sort_messages = 0; $allow_server_sort = FALSE; } - if ($thread_sort_messages == 1 || $allow_server_sort == TRUE) { + if ($thread_sort_messages || $allow_server_sort ) { reset($server_sort_array); while(list($key, $value) = each ($server_sort_array)) { - if ($currentArrayIndex == $value) { + if ($passed_id == $value) { if ($key == 0) { $result = -1; break; @@ -112,22 +96,22 @@ function findPreviousMessage() { } } } - elseif ($sort == 6 && $allow_server_sort != TRUE && - $thread_sort_messages != 1) { - $numMessages = sqimap_get_num_messages($imapConnection, $mailbox); - if ($currentArrayIndex != $numMessages) { - $result = $currentArrayIndex + 1; + elseif ($sort == 6 && !$allow_server_sort && + !$thread_sort_messages) { + if ($passed_id != $numMessages) { + $result = $passed_id + 1; } } - elseif ($thread_sort_messages != 1 && $allow_server_sort != TRUE) { + elseif (!$thread_sort_messages && !$allow_server_sort) { if (!is_array($msort)) { return -1; } for (reset($msort); ($key = key($msort)), (isset($key)); next($msort)) { - if ($currentArrayIndex == $msgs[$key]['ID']) { + if ($passed_id == $msgs[$key]['ID']) { prev($msort); $key = key($msort); if (isset($key)) { + echo $msort[$key]; $result = $msgs[$key]['ID']; break; } @@ -141,31 +125,16 @@ function findPreviousMessage() { * Displays a link to a page where the message is displayed more * "printer friendly". */ -function printer_friendly_link() { - global $passed_id, $mailbox, $ent_num, $color, - $pf_subtle_link, - $javascript_on; +function printer_friendly_link($mailbox, $passed_id, $passed_ent_id, $color) { + global $javascript_on; - if (strlen(trim($mailbox)) < 1) { - $mailbox = 'INBOX'; - } - - $params = '?passed_ent_id=' . $ent_num . + $params = '?passed_ent_id=' . $passed_ent_id . '&mailbox=' . urlencode($mailbox) . '&passed_id=' . $passed_id; $print_text = _("View Printable Version"); - if (!$pf_subtle_link) { - /* The link is large, on the bottom of the header panel. */ - $result = html_tag( 'tr', '', '', $color[0] ) . - html_tag( 'td', ' ', 'right', '', 'class="medText" valign="top"' ) . - html_tag( 'td', '', 'left', '', 'class="medText" valign="top" colspan="2"' ) . "\n"; - } else { - /* The link is subtle, below "view full header". */ - $result = "
\n"; - } - + $result = ''; /* Output the link. */ if ($javascript_on) { $result .= ''. "\n"; + echo $script; + } + $env[_("Read receipt")] = _("requested") . + ' ['. _("Send read receipt now") .']'; + } else { + $env[_("Read receipt")] = _("requested"); + } + } + } + } + } + + $s = ''; + foreach ($env as $key => $val) { + if ($val) { + $s .= ''; + $s .= html_tag( 'td', ''.$key.':  ', 'right', $color[0], 'valign="top" width="20%"') . "\n"; + $s .= html_tag( 'td', $val, 'left', $color[0], 'valign="top" width="80%"'); + $s .= "\n"; + } + } + $s .= '
'; + echo $s; +} + +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; + + $topbar_delimiter = ' | '; + $urlMailbox = encodeHeader($mailbox); + + $s = '
'; + + $msgs_url = $base_uri . 'src/'; + if (isset($where) && isset($what)) { + if ($pos == '') { + $pos=0; + } + $msgs_url .= 'search.php?where='.urlencode($where).'&pos='.$pos. + '&what='.urlencode($what).'&mailbox='.$urlMailbox; + } else { + $msgs_url .= 'right_main.php?sort='.$sort.'&startMessage='. + $startMessage.'&mailbox='.$urlMailbox; + } + $s .= ''._("Message List").''; + $s .= $topbar_delimiter; + + $delete_url = $base_uri . 'src/delete_message.php?mailbox='.$urlMailbox. + '&message='.$passed_id.'&'; + if (!(isset($passed_ent_id) && $passed_ent_id)) { + if ($where && $what) { + $delete_url .= 'where=' . urlencode($where) . '&what=' . urlencode($what); + } else { + $delete_url .= 'sort='. $sort . '&startMessage='. $startMessage; + } + $s .= ''._("Delete").''; + } + + $comp_uri = $base_uri . 'src/compose.php'. + '?passed_id='.$passed_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'; + $comp_alt_string = _("Resume Draft"); + } else if ($mailbox == $sent_folder) { + $comp_alt_uri = $comp_uri . '&action=edit_as_new'; + $comp_alt_string = _("Edit Message as New"); + } + if (isset($comp_alt_uri)) { + $s .= $topbar_delimiter; + if ($compose_new_win == '1') { + $s .= ''.$comp_alt_string.''; + } else { + $s .= ''.$comp_alt_string.''; + } + } + + $s .= ''; + + if (!(isset($where) && isset($what)) && !$passed_ent_id) { + $prev = findPreviousMessage($mbx_response['EXISTS'], $passed_id); + $next = findNextMessage($passed_id); + if ($prev != -1) { + $uri = $base_uri . 'src/read_body.php?passed_id='.$prev. + '&mailbox='.$urlMailbox.'&sort='.$sort. + '&startMessage='.$startMessage.'&show_more=0'; + $s .= ''._("Previous").''; + } else { + $s .= _("Previous"); + } + $s .= $topbar_delimiter; + if ($next != -1) { + $uri = $base_uri . 'src/read_body.php?passed_id='.$next. + '&mailbox='.$urlMailbox.'&sort='.$sort. + '&startMessage='.$startMessage.'&show_more=0'; + $s .= ''._("Next").''; + } else { + $s .= _("Next"); + } + } else if (isset($passed_ent_id) && $passed_ent_id) { + /* code for navigating through attached message/rfc822 messages */ + $url = set_url_var($PHP_SELF, 'passed_ent_id',0); + $s .= ''._("View Message").''; + $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 .= ''._("Up").''; + } + } + + $s .= ''; + + $comp_action_uri = $comp_uri . '&action=forward'; + if ($compose_new_win == '1') { + $s .= ''._("Forward").''; + } else { + $s .= ''._("Forward").''; + } + $s .= $topbar_delimiter; + + $comp_action_uri = decodeHeader($comp_uri . '&action=reply'); + if ($compose_new_win == '1') { + $s .= ''._("Reply").''; + } else { + $s .= ''._("Reply").''; + } + $s .= $topbar_delimiter; + + $comp_action_uri = $comp_uri . '&action=reply_all'; + if ($compose_new_win == '1') { + $s .= ''._("Reply All").''; + } else { + $s .= ''._("Reply All").''; + } + $s .= '
'; + echo $s; +} + +function formatToolbar($mailbox, $passed_id, $passed_ent_id, $message, $color) { + global $QUERY_STRING, $base_uri; + + $urlMailbox = encodeHeader($mailbox); + $s = ''. "\n". + '
'; + $url = $base_uri.'src/view_header.php?'.$QUERY_STRING; + $s .= ''.("View Full Header").''; + /* 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 '
'."\n"; } - /* * Main of read_boby.php -------------------------------------------------- */ @@ -369,7 +530,7 @@ function formatRecipientString($recipients, $item ) { global $uid_support, $sqimap_capabilities; -if (isset($mailbox)){ +if (isset($mailbox)) { $mailbox = urldecode( $mailbox ); } @@ -393,633 +554,82 @@ $uidvalidity = $mbx_response['UIDVALIDITY']; if (!isset($messages[$uidvalidity])) { $messages[$uidvalidity] = array(); } -if (!isset($messages[$uidvalidity][$passed_id])) { - $message = sqimap_get_message($imapConnection, $passed_id, $mailbox); - $messages[$uidvalidity][$passed_id] = $message; - $header = $message->header; +if (!isset($messages[$uidvalidity][$passed_id]) || !$uid_support) { + $message = sqimap_get_message($imapConnection, $passed_id, $mailbox); + $messages[$uidvalidity][$passed_id] = $message; } else { - $message = $messages[$uidvalidity][$passed_id]; -// $message = sqimap_get_message($imapConnection, $passed_id, $mailbox); - if (isset($passed_ent_id)) { - $message = $message->getEntity($passed_ent_id); - $message->id = $passed_id; - $message->mailbox = $mailbox; - } - $header = $message->header; -} - -do_hook('html_top'); - -/* - * The following code sets necesarry stuff for the MDN thing - */ -if($default_use_mdn && - ($mdn_user_support = getPref($data_dir, $username, 'mdn_user_support', - $default_use_mdn))) { - $supportMDN = ServerMDNSupport($mbx_response["PERMANENTFLAGS"]); - $FirstTimeSee = !$message->is_seen; -} - -displayPageHeader($color, $mailbox); - -/* - * The following code shows the header of the message and then exit - */ -if (isset($view_hdr)) { - $template_vars = array(); - parse_viewheader($imapConnection,$passed_id,&$template_vars); - $template_vars['return_address'] = set_url_var($PHP_SELF, 'view_hdr'); - view_header($template_vars, '', ''); - exit; +// $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($msgs)) { - $currentArrayIndex = $passed_id; +if (isset($passed_ent_id)) { + $message = $message->getEntity($passed_ent_id); + $message->id = $passed_id; + $message->mailbox = $mailbox; } else { - $currentArrayIndex = -1; -} -$msgs[$passed_id]['FLAG_SEEN'] = true; - -/** translate the subject and mailbox into url-able text **/ -$url_subj = urlencode(trim($header->subject)); -$urlMailbox = urlencode($mailbox); -$url_replyto = ''; -if (isset($header->replyto)) { - $addr_o = $header->replyto; - $addr_s = $addr_o->getAddress(); - $url_replyto = urlencode($addr_s); -} - -$url_replytoall = $url_replyto; - -/** - * If we are replying to all, then find all other addresses and - * add them to the list. Remove duplicates. - */ - -$excl_arr = array(); - -/** - * 1) Remove the addresses we'll be sending the message 'to' - */ -$url_replytoall_avoid_addrs = ''; -if (isset($header->replyto)) { - $excl_ar = $header->getAddr_a('replyto'); + $passed_ent_id = 0; } +$header = $message->header; +//do_hook('html_top'); -/** - * 2) Remove our identities from the CC list (they still can be in the - * TO list) only if $include_self_reply_all is turned off - */ -if (!$include_self_reply_all) { - $email_address = trim(getPref($data_dir, $username, 'email_address')); - $excl_ar[$email_address] = ''; - - $idents = getPref($data_dir, $username, 'identities'); - if ($idents != '' && $idents > 1) { - for ($i = 1; $i < $idents; $i ++) { - $cur_email_address = getPref($data_dir, $username, - 'email_address' . $i); - $cur_email_address = strtolower($cur_email_address); - $excl_ar[$cur_email_address] = ''; - } - } -} - -/** - * 3) get the addresses. - */ -$url_replytoall_ar = $header->getAddr_a(array('from','to','cc'), $excl_ar); - -/** - * 4) generate the string. - */ -$url_replytoallcc = ''; -foreach( $url_replytoall_ar as $email => $personal) { - if ($personal) { - $url_replytoallcc .= ", \"$personal\" <$email>"; - } else { - $url_replytoallcc .= ', '. $email; - } -} -$url_replytoallcc = substr($url_replytoallcc,2); - -/** - * 5) urlencode() it +/* ============================================================================= + * block for handling incoming url vars + * + * ============================================================================= */ -$url_replytoallcc = urlencode($url_replytoallcc); - -$dateString = getLongDateString($header->date); -/** - * What do we reply to -- text only, if possible +if (isset($sendreceipt)) { + if ( !$message->is_mdnsent ) { + if (isset($identity) ) { + $final_recipient = getPref($data_dir, $username, 'email_address' . '0', '' ); + } else { + $final_recipient = getPref($data_dir, $username, 'email_address', '' ); + } + + $final_recipient = trim($final_recipient); + if ($final_recipient == '' ) { + $final_recipient = getPref($data_dir, $username, 'email_address', '' ); + } + $supportMDN = ServerMDNSupport($mbx_response["PERMANENTFLAGS"]); + if ( SendMDN( $mailbox, $passed_id, $final_recipient, $message ) > 0 && $supportMDN ) { + ToggleMDNflag( true, $imapConnection, $mailbox, $passed_id, $uid_support); + $message->is_mdnsent = true; + $messages[$uidvalidity][$passed_id]=$message; + } + ClearAttachments(); + } +} +/* ============================================================================= + * end block for handling incoming url vars + * + * ============================================================================= */ +$msgs[$passed_id]['FLAG_SEEN'] = true; -$body = ''; - -/* first step in displaying multiple entities */ - - $ent_ar = findDisplayEntity($message, false); - $i = 0; - for ($i = 0; $i < count($ent_ar); $i++) { - $body .= formatBody($imapConnection, $message, $color, $wrap_at, $ent_ar[$i]); - } - - -$ent_ar = findDisplayEntity($message,true); - -$ent_num = $ent_ar[0]; -for ($i = 1 ; $i < count($ent_ar); $i++) { - $ent_num .= '_'.$ent_ar[$i]; -} -/** TEXT STRINGS DEFINITIONS **/ -$echo_more = _("more"); -$echo_less = _("less"); - -if (!isset($show_more_cc)) { - $show_more_cc = FALSE; -} - -if (!isset($show_more_bcc)) { - $show_more_bcc = FALSE; -} - -/** FORMAT THE TO STRING **/ -$to = formatRecipientString($message->header->to, "to"); -$to_string = $to['str']; -$url_to_string = $to['url_str']; - - -/** FORMAT THE CC STRING **/ - -$cc = formatRecipientString($header->cc, "cc"); -$cc_string = $cc['str']; -$url_cc_string = $cc['url_str']; - -/** FORMAT THE BCC STRING **/ - -$bcc = formatRecipientString($header->bcc, "bcc"); -$bcc_string = $bcc['str']; -$url_bcc_string = $bcc['url_str']; - -if ($default_use_priority) { - $priority_level = substr($header->priority,0,1); - - switch($priority_level) { - /* check for a higher then normal priority. */ - case '1': - case '2': - $priority_string = _("High"); - break; - - /* check for a lower then normal priority. */ - case '4': - case '5': - $priority_string = _("Low"); - break; - - /* check for a normal priority. */ - case '3': - default: - $priority_level = '3'; - $priority_string = _("Normal"); - break; - - } -} - -/** make sure everything will display in HTML format **/ - -$from_o = $header->from; -if (is_object($from_o)) { - $from_name = $from_o->getAddress(); -} else { - $from_name = _("Unknown sender"); -} -$from_name = decodeHeader(htmlspecialchars($from_name)); -$subject = decodeHeader(htmlspecialchars($message->header->subject)); -$identity = ''; -$idents = getPref($data_dir, $username, 'identities'); -if (!empty($idents) && $idents > 1) { - for ($i = 1; $i < $idents; $i++) { - $enc_from_name = '"'. - encodeHeader(getPref($data_dir, - $username, - 'full_name' . $i)) . - '" <' . getPref($data_dir, $username, - 'email_address' . $i) . '>'; - if (htmlspecialchars($enc_from_name) == $from_name) { - $identity = $i; - break; - } - } +$messagebody = ''; +$ent_ar = $message->findDisplayEntity(array()); +for ($i = 0; $i < count($ent_ar); $i++) { + $messagebody .= formatBody($imapConnection, $message, $color, $wrap_at, $ent_ar[$i], $passed_id, $mailbox); } +displayPageHeader($color, $mailbox); do_hook('read_body_top'); - -echo '
' . - html_tag( 'table', '', 'center', '', 'width="100%" cellpadding="0" cellspacing="0" border="0"' ) . "\n" . - html_tag( 'tr' ) . - html_tag( 'td', '', 'left', $color[9], 'width="100%"' ) . - html_tag( 'table', '', '', '', 'width="100%" cellpadding="3" cellspacing="0" border="0"' ) . "\n" . - html_tag( 'tr' ) . - html_tag( 'td', '', 'left', '', 'width="33%"' ) . - '' . - '"; -} else { - echo "right_main.php?sort=$sort&startMessage=$startMessage&mailbox=$urlMailbox\">"; -} -echo _("Message List") . - ' | ' . - ''; -} else { - echo "sort=$sort&startMessage=$startMessage\">"; -} -echo _("Delete") . ' '; -if (($mailbox == $draft_folder) && ($save_as_draft)) { - $comp_uri = $base_uri . "src/compose.php?mailbox=$mailbox&". - "identity=$identity&send_to=$url_to_string&". - "send_to_cc=$url_cc_string&send_to_bcc=$url_bcc_string&". - "subject=$url_subj&mailprio=$priority_level&". - "draft_id=$passed_id&ent_num=$ent_num"; - - if ($compose_new_win == '1') { - echo "'. - _("Resume Draft") . ''; -} -if ($mailbox == $sent_folder) { - $comp_uri = $base_uri . "src/compose.php?mailbox=$mailbox&". - "identity=$identity&send_to=$url_to_string&". - "send_to_cc=$url_cc_string&send_to_bcc=$url_bcc_string&". - "subject=$url_subj&mailprio=$priority_level&". - "ent_num=$ent_num&passed_id=$passed_id&edit_as_new=1"; - - if ($compose_new_win == '1') { - echo "'. - _("Edit Message as New") . ''; -} - -echo '  ' . - '' . - '' . - html_tag( 'td', '', 'center', '', 'width="33%"' ) . - ''; - -if ( !($where && $what) ) { - if ($currentArrayIndex == -1) { - echo 'Previous | Next'; - } else { - $prev = findPreviousMessage($mbx_response['EXISTS']); - $next = findNextMessage(); - - if ($prev != -1) { - echo '" . _("Previous") . " | "; - } else { - echo _("Previous") . ' | '; - } - - if ($next != -1) { - echo '" . _("Next") . ""; - } else { - echo _("Next"); - } - } -} - -echo '' . - '' . - html_tag( 'td', '', 'right', '', 'width="33%"' ) . - '' ; -$comp_uri = $base_uri . "src/compose.php?forward_id=$passed_id&". - "forward_subj=$url_subj&". - ($default_use_priority?"mailprio=$priority_level&":''). - "mailbox=$urlMailbox&ent_num=$ent_num"; - -if ($compose_new_win == '1') { - echo "'. - _("Forward") . - ' | '; - -$comp_uri = $base_uri . "src/compose.php?send_to=$url_replyto&". - "reply_subj=$url_subj&". - ($default_use_priority?"mailprio=$priority_level&":''). - "reply_id=$passed_id&mailbox=$urlMailbox&ent_num=$ent_num"; - -if ($compose_new_win == '1') { - echo "'. - _("Reply") . - ' | '; - -$comp_uri = $base_uri . "src/compose.php?send_to=$url_replytoall&". - "send_to_cc=$url_replytoallcc&reply_subj=$url_subj&". - ($default_use_priority?"mailprio=$priority_level&":''). - "reply_id=$passed_id&mailbox=$urlMailbox&ent_num=$ent_num"; - -if ($compose_new_win == '1') { - echo "'. - _("Reply All") . - '  ' . - '' . - '' . - '' . - '' . - '' . - html_tag( 'tr' ) . - html_tag( 'td', '', 'left', '', 'width="100%"' ) . - html_tag( 'table', '', '', '', 'width="100%" border="0" cellspacing="0" cellpadding="3"' ) . - html_tag( 'tr' ) . "\n"; - -/** subject **/ -echo html_tag( 'td', _("Subject:"), 'right', $color[0], 'width="10%" valign="top"' ) . - html_tag( 'td', '' . $subject . ' ' . "\n", 'left', $color[0], 'width="80%" valign="top"' ) . - html_tag( 'td', '', 'right', $color[0], 'rowspan="4" width="10%" valign="top" nowrap' ) . - '' . - ' '; - -/** from **/ -echo html_tag( 'tr', "\n" . - html_tag( 'td', _("From:"), 'right', $color[0], 'valign="top"' ) . - html_tag( 'td', - '' . $from_name . ' ' . "\n" , - 'left', $color[0] ) - ) . "\n"; - do_hook("read_body_after_from"); -/** date **/ -echo html_tag( 'tr', "\n" . - html_tag( 'td', _("Date:"), 'right', $color[0], 'valign="top"' ) . - html_tag( 'td', - '' . $dateString . ' ' . "\n" , - 'left', $color[0] ) - ) . "\n"; -/** to **/ -echo html_tag( 'tr', "\n" . - html_tag( 'td', _("To:"), 'right', $color[0], 'valign="top"' ) . - html_tag( 'td', - '' . $to_string . ' ' . "\n" , - 'left', $color[0] ) - ) . "\n"; -/** cc **/ -if (isset($cc_string) && $cc_string <> '') { - echo html_tag( 'tr', "\n" . - html_tag( 'td', _("Cc:"), 'right', $color[0], 'valign="top"' ) . - html_tag( 'td', - '' . $cc_string . ' ' . "\n" , - 'left', $color[0], 'colspan="2" valign="top"' ) - ) . "\n"; -} - -/** bcc **/ -if (isset($bcc_string) && $bcc_string <> '') { - echo html_tag( 'tr', "\n" . - html_tag( 'td', _("Bcc:"), 'right', $color[0], 'valign="top"' ) . - html_tag( 'td', - '' . $bcc_string . ' ' . "\n" , - 'left', $color[0], 'colspan="2" valign="top"' ) - ) . "\n"; -} -if ($default_use_priority && isset($priority_string) && $priority_string <> '' ) { - echo html_tag( 'tr', "\n" . - html_tag( 'td', _("Priority") . ':', 'right', $color[0], 'valign="top"' ) . - html_tag( 'td', - '' . $priority_string . ' ' . "\n" , - 'left', $color[0], 'colspan="2" valign="top"' ) - ) . "\n"; -} - -if ($show_xmailer_default) { - $mailer = $header->xmailer; - if (trim($mailer)) { - echo html_tag( 'tr', "\n" . - html_tag( 'td', _("Mailer") . ':', 'right', $color[0], 'valign="top"' ) . - html_tag( 'td', - '' . $mailer . ' ' , - 'left', $color[0], 'colspan="2" valign="top"' ) - ) . "\n"; - } -} - -/* Output the printer friendly link if we are not in subtle mode. */ -if (!$pf_subtle_link) { - echo printer_friendly_link(true); -} - -if ($default_use_mdn) { - if ($mdn_user_support) { - - // debug gives you the capability to remove mdn-flags - // $MDNDebug = false; - - if ($header->dnt) { - $MDN_to_o = $header->dnt; - $MDN_to = $MDN_to_o->getAddress(); - } else { - $MDN_to = ''; - } - - if ($MDN_to && (!isset( $sendreceipt ) || $sendreceipt == '' ) ) { - if ( $message->is_mdnsent && $supportMDN) { - $sendreceipt = 'removeMDN'; - - $url = "\"read_body.php?mailbox=$mailbox&passed_id=$passed_id&startMessage=$startMessage&show_more=$show_more&sendreceipt=$sendreceipt\""; - $sendreceipt=''; - /* - if ($MDNDebug ) { - echo html_tag( 'tr', "\n" . - html_tag( 'td', _("Read receipt") . ':', 'right', $color[9], 'valign="top"' ) . - html_tag( 'td', - '' . _("send") . ' [' . _("Remove MDN flag") . ']  ' , - 'left', $color[9], 'colspan="2" valign="top"' ) - ) . "\n"; - } else { - */ - echo html_tag( 'tr', "\n" . - html_tag( 'td', _("Read receipt") . ':', 'right', $color[9], 'valign="top"' ) . - html_tag( 'td', - '' . _("send") . ' ' , - 'left', $color[9], 'colspan="2" valign="top"' ) - ) . "\n"; - /* - } - */ - - } // when deleted or draft flag is set don't offer to send a MDN response - else if ( $message->is_draft || $message->is_deleted) { - echo html_tag( 'tr', "\n" . - html_tag( 'td', _("Read receipt") . ':', 'right', $color[9], 'valign="top"' ) . - html_tag( 'td', - '' . _("requested") . ' ' , - 'left', $color[9], 'colspan="2" valign="top"' ) - ) . "\n"; - } - // if no MDNsupport don't use the annoying popup messages - else if ( !$FirstTimeSee ) { - $sendreceipt = 'send'; - $url = "\"read_body.php?mailbox=$mailbox&passed_id=$passed_id&startMessage=$startMessage&show_more=$show_more&sendreceipt=$sendreceipt\""; - echo html_tag( 'tr', "\n" . - html_tag( 'td', _("Read receipt") . ':', 'right', $color[9], 'valign="top"' ) . - html_tag( 'td', - '' . _("requested") . '   [' . _("Send read receipt now") . ']', - 'left', $color[9], 'colspan="2" valign="top"' ) - ) . "\n"; - $sendreceipt=''; - } - else { - $sendreceipt = 'send'; - $url = "\"read_body.php?mailbox=$mailbox&passed_id=$passed_id&startMessage=$startMessage&show_more=$show_more&sendreceipt=$sendreceipt\""; - if ($javascript_on) { - echo "' . "\n"; - } - echo html_tag( 'tr', "\n" . - html_tag( 'td', _("Read receipt") . ':', 'right', $color[9], 'valign="top"' ) . - html_tag( 'td', - '' . _("requested") . '  [' . _("Send read receipt now") . ']', - 'left', $color[9], 'colspan="2" valign="top"' ) - ) . "\n"; - $sendreceipt = ''; - } - } - - if ( !isset( $sendreceipt ) || $sendreceipt == '' ) { - } else if ( $sendreceipt == 'send' ) { - if ( !$MDN_flag_present) { - if (isset($identity) ) { - $final_recipient = getPref($data_dir, $username, 'email_address' . '0', '' ); - } else { - $final_recipient = getPref($data_dir, $username, 'email_address', '' ); - } - - - $final_recipient = trim($final_recipient); - if ($final_recipient == '' ) { - $final_recipient = getPref($data_dir, $username, 'email_address', '' ); - } - - if ( SendMDN( $MDN_to, $final_recipient, $message ) > 0 && $supportMDN ) { - ToggleMDNflag( true); - } - ClearAttachments(); - } - $sendreceipt = 'removeMDN'; - $url = "\"read_body.php?mailbox=$mailbox&passed_id=$passed_id&startMessage=$startMessage&show_more=$show_more&sendreceipt=$sendreceipt\""; - $sendreceipt=''; - /* - if ($MDNDebug && $supportMDN) { - echo html_tag( 'tr', "\n" . - html_tag( 'td', _("Read receipt") . ':', 'right', $color[9], 'valign="top"' ) . - html_tag( 'td', - '' . _("send") . '  [' . _("Remove MDN flag") . ']', - 'left', $color[9], 'colspan="2" valign="top"' ) - ) . "\n"; - } else { - */ - echo html_tag( 'tr', "\n" . - html_tag( 'td', _("Read receipt") . ':', 'right', $color[9], 'valign="top"' ) . - html_tag( 'td', - '' . _("send") . ' ', - 'left', $color[9], 'colspan="2" valign="top"' ) - ) . "\n"; - /* - } - */ - } - elseif ($sendreceipt == 'removeMDN' ) { - ToggleMDNflag ( false ); - - $sendreceipt = 'send'; - $url = "\"read_body.php?mailbox=$mailbox&passed_id=$passed_id&startMessage=$startMessage&show_more=$show_more&sendreceipt=$sendreceipt\""; - echo html_tag( 'tr', "\n" . - html_tag( 'td', _("Read receipt") . ':', 'right', $color[9], 'valign="top"' ) . - html_tag( 'td', - '' . _("requested") . '   [' . _("Send read receipt now") . ']', - 'left', $color[9], 'colspan="2" valign="top"' ) - ) . "\n"; - $sendreceipt = ''; - - } - } -} - -do_hook('read_body_header'); - -echo '' . - ' ' . - ''; -flush(); -echo html_tag( 'table', "\n" . - html_tag( 'tr', "\n" . - html_tag( 'td', '
' . "\n" . $body . "\n", 'left', $color[4] - ) - ) , - 'center', '', 'cellspacing=0 width="97%" border="0" cellpadding="0"') . - - html_tag( 'table', "\n" . - html_tag( 'tr', "\n" . - html_tag( 'td', ' ', 'left', $color[9] - ) - ) , - 'center', '', 'cellspacing=0 width="100%" border="0" cellpadding="0"'); +formatMenuBar($mailbox, $passed_id, $passed_ent_id, $message, $mbx_response); +formatEnvheader($mailbox, $passed_id, $passed_ent_id, $message, $color, $FirstTimeSee); +formatToolbar($mailbox,$passed_id,$passed_ent_id,$message, $color); +echo ''; +echo ''; +echo ''; +echo '
'.$messagebody.'
'.formatAttachments($message,$ent_ar,$mailbox, $passed_id).'
'; /* show attached images inline -- if pref'fed so */ if (($attachment_common_show_images) && is_array($attachment_common_show_images_list)) { - foreach ($attachment_common_show_images_list as $img) { $imgurl = '../src/download.php' . '?' . @@ -1037,7 +647,6 @@ if (($attachment_common_show_images) && } } - do_hook('read_body_bottom'); do_hook('html_bottom'); sqimap_logout($imapConnection);