From fec2d8e1309d1f16f9cd772b82b28627d9359354 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Tue, 21 Feb 2012 16:43:39 -0500
Subject: [PATCH] Refactored IMAP cache expunge: delegate to storage object; don't rely on deprecated 'enable_caching' config option
---
program/include/rcube_imap.php | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php
index 56b5e59..70b410f 100644
--- a/program/include/rcube_imap.php
+++ b/program/include/rcube_imap.php
@@ -3527,7 +3527,8 @@
{
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 @@
}
}
+ /**
+ * 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
--
Gitblit v1.9.1