diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2014-04-23 13:21:51 +0200 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2014-04-23 13:21:51 +0200 |
commit | 31aa080609f6ea8a561182eb5b3da46733bef313 (patch) | |
tree | 24ef1d723fdfaaf9ccc3a709fa2df7b3b4183bd4 /program/lib/Roundcube/rcube_imap.php | |
parent | 3b55b2f92b435630f56e63f5796471abacaaf425 (diff) |
Further refine cross-folder searching:
- Store incomplete search results in session and re-send search requests
to the server if returned before complete (this should avoid hitting request timeouts).
- Display full folder path on mouseover in message list
- Remove pthreads implementation stuff as this wasn't really working
Diffstat (limited to 'program/lib/Roundcube/rcube_imap.php')
-rw-r--r-- | program/lib/Roundcube/rcube_imap.php | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/program/lib/Roundcube/rcube_imap.php b/program/lib/Roundcube/rcube_imap.php index f2ade9545..2038b94d8 100644 --- a/program/lib/Roundcube/rcube_imap.php +++ b/program/lib/Roundcube/rcube_imap.php @@ -1513,6 +1513,16 @@ class rcube_imap extends rcube_storage $this->threading = false; $searcher = new rcube_imap_search($this->options, $this->conn); + + // set limit to not exceed the client's request timeout + $searcher->set_timelimit(60); + + // continue existing incomplete search + if (!empty($this->search_set) && $this->search_set->incomplete && $str == $this->search_string) { + $searcher->set_results($this->search_set); + } + + // execute the search $results = $searcher->exec( $folder, $str, |