thomascube
2012-02-21 249303d4415bc77b5f57abe1780322b45a1a9578
Fix message cache expunge after config options changed

2 files modified
11 ■■■■ changed files
program/include/main.inc 8 ●●●●● patch | view | raw | blame | history
program/include/rcmail.php 3 ●●●● patch | view | raw | blame | history
program/include/main.inc
@@ -169,14 +169,16 @@
  // get target timestamp
  $ts = get_offset_time($rcmail->config->get('message_cache_lifetime', '30d'), -1);
  $db->query("DELETE FROM ".get_table_name('cache_messages')
  if ($rcmail->config->get('messages_cache') || $this->config->get('enable_caching')) {
    $db->query("DELETE FROM ".get_table_name('cache_messages')
        ." WHERE changed < " . $db->fromunixtime($ts));
  $db->query("DELETE FROM ".get_table_name('cache_index')
    $db->query("DELETE FROM ".get_table_name('cache_index')
        ." WHERE changed < " . $db->fromunixtime($ts));
  $db->query("DELETE FROM ".get_table_name('cache_thread')
    $db->query("DELETE FROM ".get_table_name('cache_thread')
        ." WHERE changed < " . $db->fromunixtime($ts));
  }
  $db->query("DELETE FROM ".get_table_name('cache')
        ." WHERE created < " . $db->fromunixtime($ts));
program/include/rcmail.php
@@ -704,8 +704,7 @@
    $this->session = new rcube_session($this->get_dbh(), $this->config);
    $this->session->register_gc_handler('rcmail_temp_gc');
    if ($this->config->get('enable_caching'))
      $this->session->register_gc_handler('rcmail_cache_gc');
    $this->session->register_gc_handler('rcmail_cache_gc');
    // start PHP session (if not in CLI mode)
    if ($_SERVER['REMOTE_ADDR'])