Add option kolab_messages_cache_bypass
This commit is contained in:
parent
16d9509a5d
commit
9d174daf9f
2 changed files with 27 additions and 10 deletions
|
@ -24,3 +24,9 @@ $rcmail_config['kolab_custom_display_names'] = false;
|
|||
// See http://pear.php.net/manual/en/package.http.http-request2.config.php
|
||||
// for list of supported configuration options (array keys)
|
||||
$rcmail_config['kolab_http_request'] = array();
|
||||
|
||||
// When kolab_cache is enabled Roundcube's messages cache will be redundant
|
||||
// when working on kolab folders. Here we can:
|
||||
// 2 - bypass messages/indexes cache completely
|
||||
// 1 - bypass only messages, but use index cache
|
||||
$rcmail_config['kolab_messages_cache_bypass'] = 0;
|
||||
|
|
|
@ -804,21 +804,32 @@ class kolab_storage_cache
|
|||
return;
|
||||
}
|
||||
|
||||
if ($this->messages_cache === null) {
|
||||
static $messages_cache, $cache_bypass;
|
||||
|
||||
if ($messages_cache === null) {
|
||||
$rcmail = rcube::get_instance();
|
||||
$this->messages_cache = (bool) $rcmail->config->get('messages_cache');
|
||||
$messages_cache = (bool) $rcmail->config->get('messages_cache');
|
||||
$cache_bypass = (int) $rcmail->config->get('kolab_messages_cache_bypass');
|
||||
}
|
||||
|
||||
if ($this->messages_cache) {
|
||||
// we'll disable messages cache, but keep index cache
|
||||
// default mode is both (MODE_INDEX | MODE_MESSAGE)
|
||||
$mode = rcube_imap_cache::MODE_INDEX;
|
||||
if ($messages_cache) {
|
||||
switch ($cache_bypass) {
|
||||
case 2:
|
||||
// Disable messages cache completely
|
||||
$this->imap->set_messages_caching(!$disable);
|
||||
return;
|
||||
|
||||
if (!$disable) {
|
||||
$mode |= rcube_imap_cache::MODE_MESSAGE;
|
||||
case 1:
|
||||
// We'll disable messages cache, but keep index cache.
|
||||
// Default mode is both (MODE_INDEX | MODE_MESSAGE)
|
||||
$mode = rcube_imap_cache::MODE_INDEX;
|
||||
|
||||
if (!$disable) {
|
||||
$mode |= rcube_imap_cache::MODE_MESSAGE;
|
||||
}
|
||||
|
||||
$this->imap->set_messages_caching(true, $mode);
|
||||
}
|
||||
|
||||
$this->imap->set_messages_caching(true, $mode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue