diff options
| author | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2012-02-21 21:43:39 +0000 |
|---|---|---|
| committer | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2012-02-21 21:43:39 +0000 |
| commit | 13161d3135a52e80f01bf7923d711f2945649348 (patch) | |
| tree | 6c002c5ce6227e5eb2581f3be06577b267c617da /roundcubemail/program/include/rcube_imap_cache.php | |
| parent | 333be7a2a0b9b10af7f2190c574b3f560b12b3ed (diff) | |
Refactored IMAP cache expunge: delegate to storage object; don't rely on deprecated 'enable_caching' config option
git-svn-id: https://svn.roundcube.net/trunk@5898 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include/rcube_imap_cache.php')
| -rw-r--r-- | roundcubemail/program/include/rcube_imap_cache.php | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/roundcubemail/program/include/rcube_imap_cache.php b/roundcubemail/program/include/rcube_imap_cache.php index 96c49f713..655979de6 100644 --- a/roundcubemail/program/include/rcube_imap_cache.php +++ b/roundcubemail/program/include/rcube_imap_cache.php @@ -599,6 +599,27 @@ class rcube_imap_cache /** + * Delete cache entries older than TTL + * + * @param string $ttl Lifetime of message cache entries + */ + function expunge($ttl) + { + // get expiration timestamp + $ts = get_offset_time($ttl, -1); + + $this->db->query("DELETE FROM ".get_table_name('cache_messages') + ." WHERE changed < " . $this->db->fromunixtime($ts)); + + $this->db->query("DELETE FROM ".get_table_name('cache_index') + ." WHERE changed < " . $this->db->fromunixtime($ts)); + + $this->db->query("DELETE FROM ".get_table_name('cache_thread') + ." WHERE changed < " . $this->db->fromunixtime($ts)); + } + + + /** * Fetches index data from database */ private function get_index_row($mailbox) |
