From cf8bac1c65b0a1a9b86d4c4430710eb04919da70 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 09 Aug 2012 08:55:53 -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 0497cae..d105140 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
+- Fix (workaround) delete operations with some versions of memcache (#1488592)
 - Fix (disable) request validation for spell and spell_html actions
 
 RELEASE 0.8.0
diff --git a/program/include/rcube_cache.php b/program/include/rcube_cache.php
index e501185..299e655 100644
--- a/program/include/rcube_cache.php
+++ b/program/include/rcube_cache.php
@@ -464,10 +464,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 6916e2b..e00401f 100644
--- a/program/include/rcube_session.php
+++ b/program/include/rcube_session.php
@@ -315,7 +315,8 @@
   public function mc_destroy($key)
   {
     if ($key) {
-      $this->memcache->delete($key);
+      // #1488592: use 2nd argument
+      $this->memcache->delete($key, 0);
     }
 
     return true;

--
Gitblit v1.9.1