Consider sort order in UID sort mode of multi-folder search results
| | |
| | | $a_msg_headers = array_slice(array_values($a_msg_headers), $from, $slice_length); |
| | | } |
| | | else { |
| | | if ($this->sort_order != $search_set->get_parameters('ORDER')) { |
| | | $search_set->revert(); |
| | | } |
| | | |
| | | // slice resultset first... |
| | | $fetch = array(); |
| | | foreach (array_slice($search_set->get(), $from, $slice_length) as $msg_id) { |
| | |
| | | public function revert() |
| | | { |
| | | $this->order = $this->order == 'ASC' ? 'DESC' : 'ASC'; |
| | | $this->index = array(); |
| | | |
| | | // revert order in all sub-sets |
| | | foreach ($this->sets as $set) { |
| | | if ($this->order != $set->get_parameters('ORDER')) { |
| | | $set->revert(); |
| | | } |
| | | $folder = $set->get_parameters('MAILBOX'); |
| | | $index = array_map(function($uid) use ($folder) { return $uid . '-' . $folder; }, $set->get()); |
| | | $this->index = array_merge($this->index, $index); |
| | | } |
| | | } |
| | | |
| | | |