diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2014-05-15 17:45:22 +0200 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2014-05-15 17:45:22 +0200 |
commit | eb62a816fba72e54361a1407d962082443d4b041 (patch) | |
tree | ae2ebd0a03dbdb898b44c4606a3e189cf80430ca /program/lib/Roundcube/rcube_imap_search.php | |
parent | 072f1aa97b0452f48c46e6a28ed8394d709c2faa (diff) | |
parent | 482c45831440c4d72097aef682fff4b689607ae1 (diff) |
Merge branch 'master' of github.com:roundcube/roundcubemail
Diffstat (limited to 'program/lib/Roundcube/rcube_imap_search.php')
-rw-r--r-- | program/lib/Roundcube/rcube_imap_search.php | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/program/lib/Roundcube/rcube_imap_search.php b/program/lib/Roundcube/rcube_imap_search.php index 0c44daf1b..365d78f76 100644 --- a/program/lib/Roundcube/rcube_imap_search.php +++ b/program/lib/Roundcube/rcube_imap_search.php @@ -29,7 +29,7 @@ class rcube_imap_search { public $options = array(); - protected $jobs = array(); + protected $jobs = array(); protected $timelimit = 0; protected $results; protected $conn; @@ -40,7 +40,7 @@ class rcube_imap_search public function __construct($options, $conn) { $this->options = $options; - $this->conn = $conn; + $this->conn = $conn; } /** @@ -54,7 +54,7 @@ class rcube_imap_search */ public function exec($folders, $str, $charset = null, $sort_field = null, $threading=null) { - $start = floor(microtime(true)); + $start = floor(microtime(true)); $results = new rcube_result_multifolder($folders); // start a search job for every folder to search in @@ -65,7 +65,8 @@ class rcube_imap_search $results->add($result); } else { - $job = new rcube_imap_search_job($folder, $str, $charset, $sort_field, $threading); + $search = is_array($str) && $str[$folder] ? $str[$folder] : $str; + $job = new rcube_imap_search_job($folder, $search, $charset, $sort_field, $threading); $job->worker = $this; $this->jobs[] = $job; } @@ -129,11 +130,11 @@ class rcube_imap_search_job /* extends Stackable */ public function __construct($folder, $str, $charset = null, $sort_field = null, $threading=false) { - $this->folder = $folder; - $this->search = $str; - $this->charset = $charset; + $this->folder = $folder; + $this->search = $str; + $this->charset = $charset; $this->sort_field = $sort_field; - $this->threading = $threading; + $this->threading = $threading; $this->result = new rcube_result_index($folder); $this->result->incomplete = true; @@ -150,9 +151,8 @@ class rcube_imap_search_job /* extends Stackable */ protected function search_index() { $criteria = $this->search; - $charset = $this->charset; - - $imap = $this->worker->get_imap(); + $charset = $this->charset; + $imap = $this->worker->get_imap(); if (!$imap->connected()) { trigger_error("No IMAP connection for $this->folder", E_USER_WARNING); @@ -228,7 +228,4 @@ class rcube_imap_search_job /* extends Stackable */ { return $this->result; } - } - - |