From 6dc0269fcc9f11fbd53da1fb647237ab73cf394d Mon Sep 17 00:00:00 2001 From: thomascube Date: Mon, 3 Oct 2005 21:20:42 +0000 Subject: Make message caching configurable --- program/include/main.inc | 6 +++++- program/include/rcube_imap.inc | 21 ++++++++++++++------- 2 files changed, 19 insertions(+), 8 deletions(-) (limited to 'program/include') diff --git a/program/include/main.inc b/program/include/main.inc index 7b34bf632..7173917d4 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -132,9 +132,13 @@ function rcmail_auth_hash($sess_id, $ts) function rcmail_imap_init($connect=FALSE) { global $CONFIG, $IMAP; - + $IMAP = new rcube_imap(); + // enable caching of imap data + if ($CONFIG['enable_caching']===TRUE) + $IMAP->set_caching(TRUE); + // set root dir from config if (strlen($CONFIG['imap_root'])) $IMAP->set_rootdir($CONFIG['imap_root']); diff --git a/program/include/rcube_imap.inc b/program/include/rcube_imap.inc index b5eba0094..e74321418 100644 --- a/program/include/rcube_imap.inc +++ b/program/include/rcube_imap.inc @@ -35,7 +35,7 @@ class rcube_imap var $mailbox = 'INBOX'; var $list_page = 1; var $page_size = 10; - var $cacheing_enabled = FALSE; + var $caching_enabled = FALSE; var $default_folders = array('inbox', 'drafts', 'sent', 'junk', 'trash'); var $cache = array(); var $cache_changes = array(); @@ -46,8 +46,7 @@ class rcube_imap // PHP 5 constructor function __construct() { - if (function_exists('rcube_read_cache')) - $this->cacheing_enabled = TRUE; + } // PHP 4 compatibility @@ -681,14 +680,22 @@ class rcube_imap /* -------------------------------- - * internal cacheing functions + * internal caching functions * --------------------------------*/ - + + + function set_caching($set) + { + if ($set && function_exists('rcube_read_cache')) + $this->caching_enabled = TRUE; + else + $this->caching_enabled = FALSE; + } function get_cache($key) { // read cache - if (!isset($this->cache[$key]) && $this->cacheing_enabled) + if (!isset($this->cache[$key]) && $this->caching_enabled) { $cache_data = rcube_read_cache('IMAP.'.$key); $this->cache[$key] = strlen($cache_data) ? unserialize($cache_data) : FALSE; @@ -708,7 +715,7 @@ class rcube_imap function write_cache() { - if ($this->cacheing_enabled && $this->cache_changed) + if ($this->caching_enabled && $this->cache_changed) { foreach ($this->cache as $key => $data) { -- cgit v1.2.3