summaryrefslogtreecommitdiff
path: root/program/steps/mail
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2010-04-09 15:12:40 +0000
committerthomascube <thomas@roundcube.net>2010-04-09 15:12:40 +0000
commitbc4960108e78b8a571745f55f54c83ea34fd0336 (patch)
tree5d970061197870d1ac258466587c939771ec6d79 /program/steps/mail
parent814905ca879d976792f33cf0fb45a4d3f8fedc32 (diff)
Option not to mark messages as read when viewed in preview pane (#1485012)
Diffstat (limited to 'program/steps/mail')
-rw-r--r--program/steps/mail/compose.inc4
-rw-r--r--program/steps/mail/func.inc4
-rw-r--r--program/steps/mail/show.inc4
3 files changed, 9 insertions, 3 deletions
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index 658f59037..2fac294af 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -143,6 +143,10 @@ if (!empty($msg_uid))
$CONFIG['prefer_html'] = $CONFIG['prefer_html'] || $CONFIG['htmleditor'] || $compose_mode == RCUBE_COMPOSE_DRAFT || $compose_mode == RCUBE_COMPOSE_EDIT;
$MESSAGE = new rcube_message($msg_uid);
+ // make sure message is marked as read
+ if ($MESSAGE && $MESSAGE->headers && !$MESSAGE->headers->seen)
+ $IMAP->set_flag($msg_uid, 'SEEN');
+
if (!empty($MESSAGE->headers->charset))
$IMAP->set_charset($MESSAGE->headers->charset);
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index 93a595602..7f67b2974 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -121,7 +121,9 @@ if (empty($RCMAIL->action) || $RCMAIL->action == 'list')
$OUTPUT->set_env('skip_deleted', true);
if ($CONFIG['display_next'])
$OUTPUT->set_env('display_next', true);
-
+
+ $OUTPUT->set_env('preview_pane_mark_read', $RCMAIL->config->get('preview_pane_mark_read', 0));
+
if ($CONFIG['trash_mbox'])
$OUTPUT->set_env('trash_mailbox', $CONFIG['trash_mbox']);
if ($CONFIG['drafts_mbox'])
diff --git a/program/steps/mail/show.inc b/program/steps/mail/show.inc
index 02e1f4824..10de46a36 100644
--- a/program/steps/mail/show.inc
+++ b/program/steps/mail/show.inc
@@ -140,7 +140,7 @@ if ($_GET['_uid']) {
$OUTPUT->set_env('last_uid', $last);
}
- if (!$MESSAGE->headers->seen)
+ if (!$MESSAGE->headers->seen && ($RCMAIL->action == 'show' || ($RCMAIL->action == 'preview' && intval($CONFIG['preview_pane_mark_read']) == 0)))
$RCMAIL->plugins->exec_hook('message_read', array('uid' => $MESSAGE->uid,
'mailbox' => $mbox_name, 'message' => $MESSAGE));
}
@@ -226,7 +226,7 @@ else
// mark message as read
-if ($MESSAGE && $MESSAGE->headers && !$MESSAGE->headers->seen)
+if ($MESSAGE && $MESSAGE->headers && !$MESSAGE->headers->seen && ($RCMAIL->action == 'show' || ($RCMAIL->action == 'preview' && intval($CONFIG['preview_pane_mark_read']) == 0)))
$IMAP->set_flag($MESSAGE->uid, 'SEEN');
exit;