Aleksander Machniak
2012-11-25 5352b55779aadc8b4c665daf69c7a27767f17d78
program/lib/Roundcube/rcube_imap.php
@@ -2188,10 +2188,10 @@
            $result = $this->conn->flag($folder, $uids, $flag);
        }
        if ($result) {
        if ($result && !$skip_cache) {
            // reload message headers if cached
            // @TODO: update flags instead removing from cache
            if (!$skip_cache && ($mcache = $this->get_mcache_engine())) {
            // update flags instead removing from cache
            if ($mcache = $this->get_mcache_engine()) {
                $status = strpos($flag, 'UN') !== 0;
                $mflag  = preg_replace('/^UN/', '', $flag);
                $mcache->change_flag($folder, $all_mode ? null : explode(',', $uids),
@@ -2203,8 +2203,12 @@
                $this->clear_messagecount($folder, 'SEEN');
                $this->clear_messagecount($folder, 'UNSEEN');
            }
            else if ($flag == 'DELETED') {
            else if ($flag == 'DELETED' || $flag == 'UNDELETED') {
                $this->clear_messagecount($folder, 'DELETED');
                // remove cached messages
                if ($this->options['skip_deleted']) {
                    $this->clear_message_cache($folder, $all_mode ? null : explode(',', $uids));
                }
            }
        }