diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-09-18 09:02:35 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-09-18 09:02:35 +0000 |
| commit | 8219df7241e3c96bb6b7f9abfa057b8a64b1839f (patch) | |
| tree | 98c1a74c5e98c4d2d0fa76f3344acb5d3bf04ecb /roundcubemail/program/steps/mail/show.inc | |
| parent | 68000ee62bccc327ce4b9d90da3d4e6c8bf178f4 (diff) | |
- Cache synchronization using QRESYNC/CONDSTORE
- Fixed message ID updates in cache
- Changed message flags handling + some fixes (e.g. fixed messages listing after delete)
git-svn-id: https://svn.roundcube.net/trunk@5233 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/steps/mail/show.inc')
| -rw-r--r-- | roundcubemail/program/steps/mail/show.inc | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/roundcubemail/program/steps/mail/show.inc b/roundcubemail/program/steps/mail/show.inc index ba172c7ae..0766583a4 100644 --- a/roundcubemail/program/steps/mail/show.inc +++ b/roundcubemail/program/steps/mail/show.inc @@ -76,12 +76,13 @@ if ($uid = get_input_value('_uid', RCUBE_INPUT_GET)) { 'movingmessage', 'deletingmessage'); // check for unset disposition notification - if ($MESSAGE->headers->mdn_to && - !$MESSAGE->headers->mdnsent && !$MESSAGE->headers->seen && - ($IMAP->check_permflag('MDNSENT') || $IMAP->check_permflag('*')) && - $mbox_name != $CONFIG['drafts_mbox'] && - $mbox_name != $CONFIG['sent_mbox']) - { + if ($MESSAGE->headers->mdn_to + && empty($MESSAGE->headers->flags['MDNSENT']) + && empty($MESSAGE->headers->flags['SEEN']) + && ($IMAP->check_permflag('MDNSENT') || $IMAP->check_permflag('*')) + && $mbox_name != $CONFIG['drafts_mbox'] + && $mbox_name != $CONFIG['sent_mbox'] + ) { $mdn_cfg = intval($CONFIG['mdn_requests']); if ($mdn_cfg == 1 || (($mdn_cfg == 3 || $mdn_cfg == 4) && rcmail_contact_exists($MESSAGE->sender['mailto']))) { @@ -100,9 +101,12 @@ if ($uid = get_input_value('_uid', RCUBE_INPUT_GET)) { } } - if (!$MESSAGE->headers->seen && ($RCMAIL->action == 'show' || ($RCMAIL->action == 'preview' && intval($CONFIG['preview_pane_mark_read']) == 0))) + if (empty($MESSAGE->headers->flags['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)); + } } @@ -199,7 +203,7 @@ else // mark message as read -if ($MESSAGE && $MESSAGE->headers && !$MESSAGE->headers->seen && +if ($MESSAGE && $MESSAGE->headers && empty($MESSAGE->headers->flags['SEEN']) && ($RCMAIL->action == 'show' || ($RCMAIL->action == 'preview' && intval($CONFIG['preview_pane_mark_read']) == 0))) { if ($IMAP->set_flag($MESSAGE->uid, 'SEEN')) { |
