From fec2d8e1309d1f16f9cd772b82b28627d9359354 Mon Sep 17 00:00:00 2001 From: thomascube Date: Tue, 21 Feb 2012 21:43:39 +0000 Subject: Refactored IMAP cache expunge: delegate to storage object; don't rely on deprecated 'enable_caching' config option --- program/include/rcube_imap.php | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'program/include/rcube_imap.php') diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php index 56b5e59fe..70b410ff8 100644 --- a/program/include/rcube_imap.php +++ b/program/include/rcube_imap.php @@ -3527,7 +3527,8 @@ class rcube_imap extends rcube_storage { if ($this->caching && !$this->cache) { $rcmail = rcmail::get_instance(); - $this->cache = $rcmail->get_cache('IMAP', $this->caching); + $ttl = $rcmail->config->get('message_cache_lifetime', '10d') - mktime(); + $this->cache = $rcmail->get_cache('IMAP', $this->caching, $ttl); } return $this->cache; @@ -3574,6 +3575,20 @@ class rcube_imap extends rcube_storage } } + /** + * Delete outdated cache entries + */ + public function expunge_cache() + { + if ($this->mcache) { + $ttl = rcmail::get_instance()->config->get('message_cache_lifetime', '10d'); + $this->mcache->expunge($ttl); + } + + if ($this->cache) + $this->cache->expunge(); + } + /* -------------------------------- * message caching methods -- cgit v1.2.3