Aleksander Machniak
2013-06-13 35b0a75f72ef1c7c83bf2ad8ba01f6ac1a444122
Fix default sorting of threaded list when THREAD=REFS isn't supported.
The result need to be re-sorted even if sort column is not set. This fixes
the issue when new messages aren't displayed on top of the list.
2 files modified
12 ■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_imap.php 11 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix default sorting of threaded list when THREAD=REFS isn't supported
- Fix list mode switch to 'List' after saving list settings in Larry skin (#1489164)
- Fix error when there's no writeable addressbook source (#1489162)
- Fix zipdownload plugin issue with filenames charset (#1489156)
program/lib/Roundcube/rcube_imap.php
@@ -1336,17 +1336,16 @@
        // THREAD=REFERENCES:     sorting by sent date of root message
        // THREAD=REFS:           sorting by the most recent date in each thread
        if ($this->sort_field && ($this->sort_field != 'date' || $this->get_capability('THREAD') != 'REFS')) {
            $index = $this->index_direct($this->folder, $this->sort_field, $this->sort_order, false);
        if ($this->get_capability('THREAD') != 'REFS') {
            $sortby = $this->sort_field ? $this->sort_field : 'date';
            $index  = $this->index_direct($this->folder, $sortby, $this->sort_order, false);
            if (!$index->is_empty()) {
                $threads->sort($index);
            }
        }
        else {
            if ($this->sort_order != $threads->get_parameters('ORDER')) {
                $threads->revert();
            }
        else if ($this->sort_order != $threads->get_parameters('ORDER')) {
            $threads->revert();
        }
    }