From 91cb9dfe789871f9f0e9080752e21b7d4aaef94d Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Mon, 23 Apr 2012 05:22:15 -0400 Subject: [PATCH] - Fix parsing ESEARCH (ALL) result and enabling ESEARCH for ordinary searches --- program/include/rcube_result_index.php | 4 +++- program/include/rcube_imap_generic.php | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/program/include/rcube_imap_generic.php b/program/include/rcube_imap_generic.php index 9fce20a..77b0cc4 100644 --- a/program/include/rcube_imap_generic.php +++ b/program/include/rcube_imap_generic.php @@ -1611,7 +1611,7 @@ // If ESEARCH is supported always use ALL // but not when items are specified or using simple id2uid search - if (empty($items) && ((int) $criteria != $criteria)) { + if (empty($items) && preg_match('/[^0-9]/', $criteria)) { $items = array('ALL'); } diff --git a/program/include/rcube_result_index.php b/program/include/rcube_result_index.php index 2572aea..cd90067 100644 --- a/program/include/rcube_result_index.php +++ b/program/include/rcube_result_index.php @@ -100,7 +100,7 @@ // @TODO: Implement compression using compressMessageSet() in __sleep() and __wakeup() ? // @TODO: work with compressed result?! if (isset($this->params['ALL'])) { - $data[$idx] = implode(self::SEPARATOR_ELEMENT, + $data_item = implode(self::SEPARATOR_ELEMENT, rcube_imap_generic::uncompressMessageSet($this->params['ALL'])); } } @@ -111,6 +111,8 @@ unset($data[$i]); } + $data = array_filter($data); + if (empty($data)) { return; } -- Gitblit v1.9.1