"; echo "\n"; echo "
" . _("Viewing full header") . " - "; if ($where && $what) { // Got here from a search echo ""; } else { echo ""; } echo ""._("View message") . "
\n"; echo "\n"; echo "
";
      for ($i=1; $i < count($read)-1; $i++) {
         $read[$i] = htmlspecialchars($read[$i]);
         if (substr($read[$i], 0, 1) != "\t" && 
             substr($read[$i], 0, 1) != " " && 
             substr($read[$i], 0, 1) != "&" && 
             trim($read[$i])) {
            $pre = substr($read[$i], 0, strpos($read[$i], ":"));
            $read[$i] = str_replace("$pre", "$pre", decodeHeader($read[$i]));
         }
         echo "$read[$i]";
      }
      echo "
\n"; echo ""; exit; } // given an IMAP message id number, this will look it up in the cached and sorted msgs array and // return the index. used for finding the next and previous messages // returns the index of the next valid message from the array function findNextMessage() { global $msort, $currentArrayIndex, $msgs; for (reset($msort); ($key = key($msort)), (isset($key)); next($msort)) { if ($currentArrayIndex == $msgs[$key]["ID"]) { next($msort); $key = key($msort); if (isset($key)) return $msgs[$key]["ID"]; } } return -1; } // returns the index of the previous message from the array function findPreviousMessage() { global $msort, $currentArrayIndex, $msgs; for (reset($msort); ($key = key($msort)), (isset($key)); next($msort)) { if ($currentArrayIndex == $msgs[$key]["ID"]) { prev($msort); $key = key($msort); if (isset($key)) return $msgs[$key]["ID"]; } } return -1; } if (isset($msgs)) { $currentArrayIndex = $passed_id; /* for ($i=0; $i < count($msgs); $i++) { if ($msgs[$i]["ID"] == $passed_id) { $currentArrayIndex = $i; break; } } */ } 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(stripslashes($message->header->subject))); $urlMailbox = urlencode($mailbox); $url_replyto = urlencode($message->header->replyto); $url_replytoall = urlencode($message->header->replyto); $url_replytoallcc = urlencode(getLineOfAddrs($message->header->to) . ", " . getLineOfAddrs($message->header->cc)); $dateString = getLongDateString($message->header->date); $ent_num = findDisplayEntity($message); /** TEXT STRINGS DEFINITIONS **/ $echo_more = _("more"); $echo_less = _("less"); /** FORMAT THE TO STRING **/ $i = 0; $to_string = ""; $to_ary = $message->header->to; while ($i < count($to_ary)) { $to_ary[$i] = htmlspecialchars($to_ary[$i]); if ($to_string) $to_string = "$to_string
$to_ary[$i]"; else $to_string = "$to_ary[$i]"; $i++; if (count($to_ary) > 1) { if ($show_more == false) { if ($i == 1) { if ($where && $what) { // from a search $to_string = "$to_string ($echo_more)"; } else { $to_string = "$to_string ($echo_more)"; } $i = count($to_ary); } } else if ($i == 1) { if ($where && $what) { // from a search $to_string = "$to_string ($echo_less)"; } else { $to_string = "$to_string ($echo_less)"; } } } } /** FORMAT THE CC STRING **/ $i = 0; $cc_string = ""; $cc_ary = $message->header->cc; while ($i < count($cc_ary)) { $cc_ary[$i] = htmlspecialchars($cc_ary[$i]); if ($cc_string) $cc_string = "$cc_string
$cc_ary[$i]"; else $cc_string = "$cc_ary[$i]"; $i++; if (count($cc_ary) > 1) { if ($show_more_cc == false) { if ($i == 1) { if ($where && $what) { // from a search $cc_string = "$cc_string ($echo_more)"; } else { $cc_string = "$cc_string ($echo_more)"; } $i = count($cc_ary); } } else if ($i == 1) { if ($where && $what) { // from a search $cc_string = "$cc_string ($echo_less)"; } else { $cc_string = "$cc_string ($echo_less)"; } } } } /** make sure everything will display in HTML format **/ $from_name = decodeHeader(htmlspecialchars($message->header->from)); $subject = decodeHeader(htmlspecialchars(stripslashes($message->header->subject))); echo "
"; echo "\n"; echo " "; echo " "; echo "
"; echo " "; echo " "; echo " "; echo " "; echo "
"; echo " "; if ($where && $what) { echo " "; } else { echo " "; } echo _("Message List"); echo " | "; if ($where && $what) { echo " "; } else { echo " "; } echo _("Delete"); echo "  "; echo " "; echo " "; echo " \n"; if ($where && $what) { } else { if ($currentArrayIndex == -1) { echo "Previous | Next"; } else { $prev = findPreviousMessage(); $next = findNextMessage(); if ($prev != -1) echo "" . _("Previous") . " | "; else echo _("Previous") . " | "; if ($next != -1) echo "" . _("Next") . ""; else echo _("Next"); } } echo " \n"; echo " "; echo " "; echo " "; echo _("Forward"); echo " | "; echo " "; echo _("Reply"); echo " | "; echo " "; echo _("Reply All"); echo "  "; echo " "; echo "
"; echo "
"; echo " \n"; echo " \n"; /** subject **/ echo " \n"; if ($where && $what) { // Got here from a search echo " "; } else { echo " "; } echo " \n"; /** from **/ echo " \n"; echo " \n"; echo " \n"; /** date **/ echo " \n"; echo " \n"; echo " \n"; /** to **/ echo " \n"; echo " \n"; echo " \n"; /** cc **/ if ($message->header->cc) { echo " \n"; echo " \n"; echo " \n"; } echo "
\n"; echo _("Subject:"); echo " \n"; echo " $subject\n"; echo " " . _("View full header") . "  " . _("View full header") . "  
\n"; echo _("From:"); echo " \n"; echo " $from_name\n"; echo "
\n"; echo _("Date:"); echo " \n"; echo " $dateString\n"; echo "
\n"; echo _("To:"); echo " \n"; echo " $to_string\n"; echo "
\n"; echo " Cc:\n"; echo " \n"; echo " $cc_string\n"; echo "
"; echo "
"; echo "\n"; echo " \n"; echo "
\n"; $body = formatBody($imapConnection, $message, $color, $wrap_at); echo "
"; echo "$body"; echo "
"; echo "\n"; echo " "; echo "
 
\n"; sqimap_logout($imapConnection); ?>