+/**
+ * $message contains all information about the message
+ * including header and body
+ */
+
+$uidvalidity = $mbx_response['UIDVALIDITY'];
+
+if (!isset($messages[$uidvalidity])) {
+ $messages[$uidvalidity] = array();
+}
+if (!isset($messages[$uidvalidity][$passed_id]) || !$uid_support) {
+ $message = sqimap_get_message($imapConnection, $passed_id, $mailbox);
+ $FirstTimeSee = !$message->is_seen;
+ $message->is_seen = true;
+ $messages[$uidvalidity][$passed_id] = $message;
+ sqsession_register($messages, 'messages');
+} else {
+// $message = sqimap_get_message($imapConnection, $passed_id, $mailbox);
+ $message = $messages[$uidvalidity][$passed_id];
+ $FirstTimeSee = !$message->is_seen;
+}
+//$FirstTimeSee = !$message->is_seen;
+//$message->is_seen = true;
+//$messages[$uidvalidity][$passed_id] = $message;
+
+if (isset($passed_ent_id) && $passed_ent_id) {
+ $message = $message->getEntity($passed_ent_id);
+ 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');
+
+/****************************************/
+/* Block for handling incoming url vars */
+/****************************************/
+
+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, $imapConnection ) > 0 && $supportMDN ) {
+ ToggleMDNflag( true, $imapConnection, $mailbox, $passed_id, $uid_support);
+ $message->is_mdnsent = true;
+ $messages[$uidvalidity][$passed_id]=$message;
+ }
+ ClearAttachments();
+ }
+}
+/***********************************************/
+/* End of block for handling incoming url vars */
+/***********************************************/
+
+$msgs[$passed_id]['FLAG_SEEN'] = true;
+
+$messagebody = '';
+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);
+ if ($i != $cnt-1) {
+ $messagebody .= '<hr noshade size=1>';
+ }
+}