From d098e205a0d97c70c3c40e54d50895ee4fc2a213 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 09 Aug 2012 08:59:10 -0400
Subject: [PATCH] - Fix (workaround) delete operations with some versions of memcache (#1488592)

---
 CHANGELOG                         |    1 +
 program/include/rcube_cache.php   |    9 ++++++---
 program/include/rcube_session.php |    3 ++-
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 5fec20c..447a41b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
+- Fix (workaround) delete operations with some versions of memcache (#1488592)
 - Fix wrong compose screen elements focus in IE9 (#1488541)
 - Fix redirect to mail/compose on re-login (#1488226)
 - Add IE8 hack for messages list issue (#1487821)
diff --git a/program/include/rcube_cache.php b/program/include/rcube_cache.php
index 018d5f5..550a148 100644
--- a/program/include/rcube_cache.php
+++ b/program/include/rcube_cache.php
@@ -461,10 +461,13 @@
      */
     private function delete_record($key, $index=true)
     {
-        if ($this->type == 'memcache')
-            $this->db->delete($this->ckey($key));
-        else
+        if ($this->type == 'memcache') {
+            // #1488592: use 2nd argument
+            $this->db->delete($this->ckey($key), 0);
+        }
+        else {
             apc_delete($this->ckey($key));
+        }
 
         if ($index) {
             if (($idx = array_search($key, $this->index)) !== false) {
diff --git a/program/include/rcube_session.php b/program/include/rcube_session.php
index bd0ce60..3e3becb 100644
--- a/program/include/rcube_session.php
+++ b/program/include/rcube_session.php
@@ -319,7 +319,8 @@
    */
   public function mc_destroy($key)
   {
-    $ret = $this->memcache->delete($key);
+    // #1488592: use 2nd argument
+    $ret = $this->memcache->delete($key, 0);
     if ($this->mc_debug) write_log('memcache', "delete($key): " . ($ret ? 'OK' : 'ERR'));
     return $ret;
   }

--
Gitblit v1.9.1