diff options
author | Aleksander Machniak <alec@alec.pl> | 2014-01-24 19:05:18 +0100 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2014-01-24 19:05:18 +0100 |
commit | 3b1d410b4ede2fd54be23bb47da5950535df9b04 (patch) | |
tree | ce3a73fbaa3bdf48bf2b317f8711802f4d23bc63 /program/lib | |
parent | 5140c310645b1728f59e27d8f5fe37aeb2928d6f (diff) |
Fix confusing intersect/filter methods naming/behaviour.
Removed rcube_result_index::intersect() method.
Changed rcube_result_index::filter() to filter in the same way as
rcube_result_thread::filter(), which means it actually does array_intersect().
Added tests scripts for rcube_result_index class.
Diffstat (limited to 'program/lib')
-rw-r--r-- | program/lib/Roundcube/rcube_result_index.php | 19 | ||||
-rw-r--r-- | program/lib/Roundcube/rcube_result_thread.php | 2 |
2 files changed, 3 insertions, 18 deletions
diff --git a/program/lib/Roundcube/rcube_result_index.php b/program/lib/Roundcube/rcube_result_index.php index 5f592c54f..058f25c6f 100644 --- a/program/lib/Roundcube/rcube_result_index.php +++ b/program/lib/Roundcube/rcube_result_index.php @@ -231,29 +231,13 @@ class rcube_result_index /** - * Filters data set. Removes elements listed in $ids list. + * Filters data set. Removes elements not listed in $ids list. * * @param array $ids List of IDs to remove. */ public function filter($ids = array()) { $data = $this->get(); - $data = array_diff($data, $ids); - - $this->meta = array(); - $this->meta['count'] = count($data); - $this->raw_data = implode(self::SEPARATOR_ELEMENT, $data); - } - - - /** - * Filters data set. Removes elements not listed in $ids list. - * - * @param array $ids List of IDs to keep. - */ - public function intersect($ids = array()) - { - $data = $this->get(); $data = array_intersect($data, $ids); $this->meta = array(); @@ -332,6 +316,7 @@ class rcube_result_index if (empty($this->raw_data)) { return array(); } + return explode(self::SEPARATOR_ELEMENT, $this->raw_data); } diff --git a/program/lib/Roundcube/rcube_result_thread.php b/program/lib/Roundcube/rcube_result_thread.php index c7f21db53..ceaaf59a6 100644 --- a/program/lib/Roundcube/rcube_result_thread.php +++ b/program/lib/Roundcube/rcube_result_thread.php @@ -453,7 +453,7 @@ class rcube_result_thread // when sorting search result it's good to make the index smaller if ($index->count() != $this->count_messages()) { - $index->intersect($this->get()); + $index->filter($this->get()); } $result = array_fill_keys($index->get(), null); |