From 23557f06d13f121a8483376dad1604eb30711a88 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 09 Aug 2012 08:54:49 -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 464bc40..6da5d24 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
 - Add new DB abstraction layer based on PHP PDO, supporting SQLite3 (#1488332)
 - Removed PEAR::MDB2 package
diff --git a/program/include/rcube_cache.php b/program/include/rcube_cache.php
index 17a8859..cdb1dd5 100644
--- a/program/include/rcube_cache.php
+++ b/program/include/rcube_cache.php
@@ -463,10 +463,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 e3b5600..b6a0ccf 100644
--- a/program/include/rcube_session.php
+++ b/program/include/rcube_session.php
@@ -312,7 +312,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