From 3b1d410b4ede2fd54be23bb47da5950535df9b04 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Fri, 24 Jan 2014 19:05:18 +0100 Subject: 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. --- program/lib/Roundcube/rcube_result_index.php | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) (limited to 'program/lib/Roundcube/rcube_result_index.php') 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,27 +231,11 @@ 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); @@ -332,6 +316,7 @@ class rcube_result_index if (empty($this->raw_data)) { return array(); } + return explode(self::SEPARATOR_ELEMENT, $this->raw_data); } -- cgit v1.2.3