From cc95700b58f31f04470db8271a09d6e52ba9a63d Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Sun, 05 Feb 2006 10:38:51 -0500
Subject: [PATCH] Added message cache garbage collector

---
 program/include/main.inc |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/program/include/main.inc b/program/include/main.inc
index 3c07836..ac612cd 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -697,6 +697,22 @@
   }
 
 
+// remove all expired message cache records
+function rcmail_message_cache_gc()
+  {
+  global $DB, $CONFIG;
+  
+  // no cache lifetime configured
+  if (empty($CONFIG['message_cache_lifetime']))
+    return;
+  
+  // get target timestamp
+  $ts = get_offset_time($CONFIG['message_cache_lifetime'], -1);
+  
+  $DB->query("DELETE FROM ".get_table_name('messages')."
+             WHERE  created < ".$DB->fromunixtime($ts));
+  }
+
 
 // convert a string from one charset to another
 // this function is not complete and not tested well
@@ -709,7 +725,7 @@
     return $str;
     
   // convert charset using iconv module  
-  if (0 && function_exists('iconv') && $from!='UTF-7' && $to!='UTF-7') {
+  if (function_exists('iconv') && $from!='UTF-7' && $to!='UTF-7') {
     return iconv($from, $to, $str);
     }
 
@@ -1506,6 +1522,8 @@
   }
 
 
+/****** debugging function ********/
+
 function rcube_timer()
   {
   list($usec, $sec) = explode(" ", microtime());

--
Gitblit v1.9.1