+ // returns the index of the previous message from the array
+ function findPreviousMessage() {
+ global $msort, $currentArrayIndex, $sort, $msgs, $imapConnection, $mailbox;
+ if ($sort == 6) {
+ $numMessages = sqimap_get_num_messages($imapConnection, $mailbox);
+ if ($currentArrayIndex != $numMessages) {
+ return $currentArrayIndex + 1;
+ }
+ } else {
+ 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(sqStripSlashes($message->header->subject)));
+ $urlMailbox = urlencode($mailbox);
+ $url_replyto = urlencode($message->header->replyto);
+
+ $url_replytoall = urlencode($message->header->replyto);
+ $url_replytoallcc = getLineOfAddrs($message->header->to);
+ $url_replytoallcc_cc = getLineOfAddrs($message->header->cc);
+ if ($url_replytoallcc) {
+ if ($url_replytoallcc_cc) {
+ $url_replytoallcc .= ", " . $url_replytoallcc_cc;
+ }
+ } else {
+ if ($url_replytoallcc_cc) {
+ $url_replytoallcc = $url_replytoallcc_cc;
+ } else {
+ $url_replytoallcc = "";
+ }
+ }
+ $url_replytoallcc = urlencode($url_replytoallcc);
+
+ $dateString = getLongDateString($message->header->date);
+ $ent_num = findDisplayEntity($message);
+
+ /** TEXT STRINGS DEFINITIONS **/
+ $echo_more = _("more");
+ $echo_less = _("less");
+
+ /** FORMAT THE TO STRING **/