-if (isset($view_hdr)) {
- $read = sqimap_run_command ($imapConnection, "FETCH $passed_id BODY[HEADER]", true, $a, $b);
-
- echo '<BR>' .
- '<TABLE WIDTH="100%" CELLPADDING="2" CELLSPACING="0" BORDER="0" ALIGN="CENTER">' . "\n" .
- " <TR><TD BGCOLOR=\"$color[9]\" WIDTH=\"100%\" ALIGN=\"CENTER\"><B>" . _("Viewing Full Header") . '</B> - '.
- '<a href="' . $base_uri . "src/read_body.php?mailbox=".urlencode($mailbox);
- if (isset($where) && isset($what)) {
- // Got here from a search
- echo "&passed_id=$passed_id&where=".urlencode($where)."&what=".urlencode($what).'">';
- } else {
- echo "&passed_id=$passed_id&startMessage=$startMessage&show_more=$show_more\">";
- }
- echo _("View message") . "</a></b></td></tr></table>\n" .
- "<table width=\"99%\" cellpadding=2 cellspacing=0 border=0 align=center>\n" .
- '<tr><td>';
-
- $cnum = 0;
- for ($i=1; $i < count($read); $i++) {
- $line = htmlspecialchars($read[$i]);
- if (eregi("^>", $line)) {
- $second[$i] = $line;
- $first[$i] = ' ';
- $cnum++;
- } else if (eregi("^[ |\t]", $line)) {
- $second[$i] = $line;
- $first[$i] = '';
- } else if (eregi("^([^:]+):(.+)", $line, $regs)) {
- $first[$i] = $regs[1] . ':';
- $second[$i] = $regs[2];
- $cnum++;
- } else {
- $second[$i] = trim($line);
- $first[$i] = '';
- }
- }
- for ($i=0; $i < count($second); $i = $j) {
- if (isset($first[$i])) {
- $f = $first[$i];
- }
- if (isset($second[$i])) {
- $s = nl2br($second[$i]);
- }
- $j = $i + 1;
- while (($first[$j] == '') && ($j < count($first))) {
- $s .= ' ' . nl2br($second[$j]);
- $j++;
- }
- parseEmail($s);
- if (isset($f)) {
- echo "<nobr><tt><b>$f</b>$s</tt></nobr>";
- }
- }
- echo "</td></tr></table>\n" .
- '</body></html>';
- sqimap_logout($imapConnection);
- exit;
-}
-
-if (isset($msgs)) {
- $currentArrayIndex = $passed_id;
-} else {
- $currentArrayIndex = -1;
-}
-
-for ($i = 0; $i < count($msgs); $i++) {
- if ($msgs[$i]['ID'] == $passed_id) {
- $msgs[$i]['FLAG_SEEN'] = true;
- }
-}
-
-// $message contains all information about the message
-// including header and body
-$message = sqimap_get_message($imapConnection, $passed_id, $mailbox);
-
-/** translate the subject and mailbox into url-able text **/
-$url_subj = urlencode(trim($message->header->subject));
-$urlMailbox = urlencode($mailbox);
-$url_replyto = '';
-if (isset($message->header->replyto)) {
- $url_replyto = urlencode($message->header->replyto);
-}
-
-$url_replytoall = $url_replyto;
-
-// If we are replying to all, then find all other addresses and
-// add them to the list. Remove duplicates.
-// This is somewhat messy, so I'll explain:
-// 1) Take all addresses (from, to, cc) (avoid nasty join errors here)
-$url_replytoall_extra_addrs = array_merge(
- array($message->header->from),
- $message->header->to,
- $message->header->cc
-);
-
-// 2) Make one big string out of them
-$url_replytoall_extra_addrs = join(';', $url_replytoall_extra_addrs);
-
-// 3) Parse that into an array of addresses
-$url_replytoall_extra_addrs = parseAddrs($url_replytoall_extra_addrs);
-
-// 4) Make them unique -- weed out duplicates
-// (Coded for PHP 4.0.0)
-$url_replytoall_extra_addrs =
- array_keys(array_flip($url_replytoall_extra_addrs));
-
-// 5) Remove the addresses we'll be sending the message 'to'
-$url_replytoall_avoid_addrs = '';
-if (isset($message->header->replyto)) {
- $url_replytoall_avoid_addrs = $message->header->replyto;
-}
-
-$url_replytoall_avoid_addrs = parseAddrs($url_replytoall_avoid_addrs);
-foreach ($url_replytoall_avoid_addrs as $addr) {
- RemoveAddress($url_replytoall_extra_addrs, $addr);
-}
-
-// 6) 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) {
- RemoveAddress($url_replytoall_extra_addrs,
- getPref($data_dir, $username, '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);
- RemoveAddress($url_replytoall_extra_addrs, $cur_email_address);
- }
- }
-}
-
-// 7) Smoosh back into one nice line
-$url_replytoallcc = getLineOfAddrs($url_replytoall_extra_addrs);
-
-// 8) urlencode() it
-$url_replytoallcc = urlencode($url_replytoallcc);
-
-$dateString = getLongDateString($message->header->date);
-
-// What do we reply to -- text only, if possible
-$ent_num = findDisplayEntity($message);
-
-/** TEXT STRINGS DEFINITIONS **/
-$echo_more = _("more");
-$echo_less = _("less");
-
-if (!isset($show_more_cc)) {
- $show_more_cc = FALSE;
-}
-
-/** FORMAT THE TO STRING **/
-$i = 0;
-$to_string = '';
-$url_to_string = '';
-$to_ary = $message->header->to;
-while ($i < count($to_ary)) {
- $to_ary[$i] = htmlspecialchars(decodeHeader($to_ary[$i]));
- $url_to_string .= $to_ary[$i];
-
- if ($to_string) {
- $to_string = "$to_string<BR>$to_ary[$i]";
- } else {
- $to_string = "$to_ary[$i]";
- }
-
- $i++;
- if (count($to_ary) > 1) {
- if ($show_more == false) {
- if ($i == 1) {
- /* From a search... */
- $to_string .= ' (<A HREF="' . $base_uri .
- "src/read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&";
- if (isset($where) && isset($what)) {
- $to_string .= 'where='.urlencode($where)."&what=".urlencode($what)."&show_more=1&show_more_cc=$show_more_cc\">$echo_more</A>)";
- } else {
- $to_string .= "sort=$sort&startMessage=$startMessage&show_more=1&show_more_cc=$show_more_cc\">$echo_more</A>)";
- }
- $i = count($to_ary);
- }
- } else if ($i == 1) {
- /* From a search... */
- $to_string .= ' (<A HREF="' . $base_uri .
- "src/read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&";
- if (isset($where) && isset($what)) {
- $to_string .= 'where='.urlencode($where)."&what=".urlencode($what)."&show_more=0&show_more_cc=$show_more_cc\">$echo_less</A>)";
- } else {
- $to_string .= "sort=$sort&startMessage=$startMessage&show_more=0&show_more_cc=$show_more_cc\">$echo_less</A>)";
- }
- }
- }
-}
-$url_to_string = urlencode($url_to_string);
-
-
-/** FORMAT THE CC STRING **/
-$i = 0;
-$url_cc_string = '';
-if (isset ($message->header->cc[0]) && trim($message->header->cc[0])) {
- $cc_string = '';
- $cc_ary = $message->header->cc;
- while ($i < count(decodeHeader($cc_ary))) {
- $cc_ary[$i] = htmlspecialchars($cc_ary[$i]);
- $url_cc_string .= $cc_ary[$i];
-
- if ($cc_string) {
- $cc_string = "$cc_string<BR>$cc_ary[$i]";
- } else {
- $cc_string = "$cc_ary[$i]";
- }
-
- $i++;
- if (count($cc_ary) > 1) {
- if ($show_more_cc == false) {
- if ($i == 1) {
- /* From a search... */
- $cc_string .= ' (<A HREF="' . $base_uri .
- "src/read_body.php?mailbox=$urlMailbox&passed_id=$passed_id";
- if (isset($where) && isset($what)) {
- $cc_string .= '&what='.urlencode($what)."&where=".urlencode($where)."&show_more_cc=1&show_more=$show_more\">$echo_more</A>)";
- } else {
- $cc_string .= "&sort=$sort&startMessage=$startMessage&show_more_cc=1&show_more=$show_more\">$echo_more</A>)";
- }
- $i = count($cc_ary);
- }
- } else if ($i == 1) {
- /* From a search... */
- $cc_string .= ' (<A HREF="' . $base_uri .
- "src/read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&";
- if (isset($where) && isset($what)) {
- $cc_string .= 'what=' . urlencode($what)."&where=".urlencode($where)."&show_more_cc=0&show_more=$show_more\">$echo_less</A>)";
- } else {
- $cc_string .= "sort=$sort&startMessage=$startMessage&show_more_cc=0&show_more=$show_more\">$echo_less</A>)";
- }
- }
- }
- }
-}
-else {
- $cc_string = '';
-}
-$url_cc_string = urlencode($url_cc_string);
-
-/** FORMAT THE BCC STRING **/
-$i = 0;
-$url_bcc_string = '';
-if (isset ($message->header->bcc[0]) && trim($message->header->bcc[0])){
- $bcc_string = '';
- $bcc_ary = $message->header->bcc;
- while ($i < count(decodeHeader($bcc_ary))) {
- $bcc_ary[$i] = htmlspecialchars($bcc_ary[$i]);
- $url_bcc_string .= $bcc_ary[$i];
- if ($bcc_string) {
- $bcc_string = "$bcc_string<BR>$bcc_ary[$i]";
- } else {
- $bcc_string = "$bcc_ary[$i]";
- }
-
- $i++;
- if (count($bcc_ary) > 1) {
- if ($show_more_cc == false) {
- if ($i == 1) {
- /* From a search... */
- $bcc_string .= ' (<A HREF="' . $base_uri .
- "src/read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&";
- if (isset($where) && isset($what)) {
- $bcc_string .= 'what=' . urlencode($what)."&where=".urlencode($where)."&show_more_cc=1&show_more=$show_more\">$echo_more</A>)";
- } else {
- $bcc_string .= "sort=$sort&startMessage=$startMessage&show_more_cc=1&show_more=$show_more\">$echo_more</A>)";
- }
- $i = count($bcc_ary);
- }
- } else if ($i == 1) {
- /* From a search... */
- $bcc_string .= ' (<A HREF="' . $base_uri .
- "src/read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&";
- if (isset($where) && isset($what)) {
- $bcc_string .= 'what=' . urlencode($what)."&where=".urlencode($where)."&show_more_cc=0&show_more=$show_more\">$echo_less</A>)";
- } else {
- $bcc_string .= "sort=$sort&startMessage=$startMessage&show_more_cc=0&show_more=$show_more\">$echo_less</A>)";
- }
- }
- }
- }
-}
-else {
- $bcc_string = '';
-}
-$url_bcc_string = urlencode($url_bcc_string);
-
-if ($default_use_priority) {
- $priority_level = substr($message->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_name = decodeHeader(htmlspecialchars($message->header->from));
-$subject = decodeHeader(htmlspecialchars($message->header->subject));