|
|
|
|
@ -1656,6 +1656,7 @@ class rcube_imap extends rcube_storage
|
|
|
|
|
public function refresh_search()
|
|
|
|
|
{
|
|
|
|
|
if (!empty($this->search_string)) {
|
|
|
|
|
// FIXME: make this work with saved multi-folder searches
|
|
|
|
|
$this->search('', $this->search_string, $this->search_charset, $this->search_sort_field);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1678,6 +1679,11 @@ class rcube_imap extends rcube_storage
|
|
|
|
|
$folder = $this->folder;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// decode combined UID-folder identifier
|
|
|
|
|
if (preg_match('/^\d+-[^,]+$/', $uid)) {
|
|
|
|
|
list($uid, $folder) = explode('-', $uid);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// get cached headers
|
|
|
|
|
if (!$force && $uid && ($mcache = $this->get_mcache_engine())) {
|
|
|
|
|
$headers = $mcache->get_message($folder, $uid);
|
|
|
|
|
@ -1709,6 +1715,11 @@ class rcube_imap extends rcube_storage
|
|
|
|
|
$folder = $this->folder;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// decode combined UID-folder identifier
|
|
|
|
|
if (preg_match('/^\d+-[^,]+$/', $uid)) {
|
|
|
|
|
list($uid, $folder) = explode('-', $uid);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check internal cache
|
|
|
|
|
if (!empty($this->icache['message'])) {
|
|
|
|
|
if (($headers = $this->icache['message']) && $headers->uid == $uid) {
|
|
|
|
|
|