* This file is used for reading the msgs array and displaying
* the resulting emails in the right frame.
*
- * @copyright © 1999-2009 The SquirrelMail Project Team
+ * @copyright 1999-2018 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
if (! empty($deliver->dlv_server_msg)) {
$msg.= "\n" .
_("Server replied:") . ' ' . $deliver->dlv_ret_nr . ' ' .
- nl2br(htmlspecialchars($deliver->dlv_server_msg));
+ nl2br(sm_encode_html_special_chars($deliver->dlv_server_msg));
}
plain_error_message($msg);
} else {
$a[] = array(
// note: decodeHeader is htmlsafe by default
'Name' => decodeHeader($r->getAddress(false)),
- 'Email' => htmlspecialchars($r->getEmail()),
+ 'Email' => sm_encode_html_special_chars($r->getEmail()),
'Full' => decodeHeader($r->getAddress(true))
);
}
'&mailbox='.$urlMailbox.'&sort='.$sort.
'&startMessage='.$startMessage.'&show_more=0'.
"&where=$where&what=$what" .
- '&delete_id='.$passed_id;
+ '&delete_id='.$passed_id .
+ '&smtoken='.sm_generate_security_token();
}
if ($next >= 0) {
'&mailbox='.$urlMailbox.'&sort='.$sort.
'&startMessage='.$startMessage.'&show_more=0'.
"&where=$where&what=$what" .
- '&delete_id='.$passed_id;
+ '&delete_id='.$passed_id .
+ '&smtoken='.sm_generate_security_token();
}
}
}
global $accesskey_read_msg_reply, $accesskey_read_msg_reply_all,
$accesskey_read_msg_forward, $accesskey_read_msg_as_attach,
$accesskey_read_msg_delete, $accesskey_read_msg_bypass_trash,
- $accesskey_read_msg_move, $accesskey_read_msg_move_to;
+ $accesskey_read_msg_move, $accesskey_read_msg_move_to,
+ $accesskey_read_msg_copy;
} else {
$accesskey_read_msg_reply = $accesskey_read_msg_reply_all =
$accesskey_read_msg_forward = $accesskey_read_msg_as_attach =
$accesskey_read_msg_delete = $accesskey_read_msg_bypass_trash =
- $accesskey_read_msg_move = $accesskey_read_msg_move_to = 'NONE';
+ $accesskey_read_msg_move = $accesskey_read_msg_move_to =
+ $accesskey_read_msg_copy = 'NONE';
}
$oTemplate->assign('accesskey_read_msg_reply', $accesskey_read_msg_reply);
$oTemplate->assign('accesskey_read_msg_reply_all', $accesskey_read_msg_reply_all);
$oTemplate->assign('accesskey_read_msg_bypass_trash', $accesskey_read_msg_bypass_trash);
$oTemplate->assign('accesskey_read_msg_move_to', $accesskey_read_msg_move_to);
$oTemplate->assign('accesskey_read_msg_move', $accesskey_read_msg_move);
+ $oTemplate->assign('accesskey_read_msg_copy', $accesskey_read_msg_copy);
global $null;
do_hook('read_body_menu', $null);
}
$header = $message->header;
+// gmail does not mark messages as read when retrieving the message body
+// even though RFC 3501, section 6.4.5 (FETCH Command) says:
+// "The \Seen flag is implicitly set; if this causes the flags to change,
+// they SHOULD be included as part of the FETCH responses."
+//
+if ($imap_server_type == 'gmail') {
+ sqimap_toggle_flag($imapConnection, $passed_id, '\\Seen', true, true);
+}
/****************************************/
/* Block for handling incoming url vars */