]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Don't spew warnings on usage of MEMCACHE_COMPRESSED constant when memcache PHP extens...
authorBrion Vibber <brion@pobox.com>
Fri, 5 Feb 2010 17:47:56 +0000 (09:47 -0800)
committerBrion Vibber <brion@pobox.com>
Fri, 5 Feb 2010 17:47:56 +0000 (09:47 -0800)
Switched to a locally-defined Cache::COMPRESSED, translating that to MEMCACHE_COMPRESSED in the plugin.

classes/Memcached_DataObject.php
lib/cache.php
plugins/MemcachePlugin.php

index ab65c30ce28579a8684b4e9fa8d9cc8124d2b833..dfd06b57e50366f4fb60b86578c2f3ddaecb510d 100644 (file)
@@ -363,7 +363,7 @@ class Memcached_DataObject extends DB_DataObject
             $cached[] = clone($inst);
         }
         $inst->free();
-        $c->set($ckey, $cached, MEMCACHE_COMPRESSED, $expiry);
+        $c->set($ckey, $cached, Cache::COMPRESSED, $expiry);
         return new ArrayWrapper($cached);
     }
 
index 635c96ad4c7899640ac0f8c3ed7e149daad9ce5a..df6fc364931fb2f7b0734523e76724b8c8b675d5 100644 (file)
@@ -47,6 +47,8 @@ class Cache
     var $_items   = array();
     static $_inst = null;
 
+    const COMPRESSED = 1;
+
     /**
      * Singleton constructor
      *
@@ -133,7 +135,7 @@ class Cache
      *
      * @param string  $key    The key to use for lookups
      * @param string  $value  The value to store
-     * @param integer $flag   Flags to use, mostly ignored
+     * @param integer $flag   Flags to use, may include Cache::COMPRESSED
      * @param integer $expiry Expiry value, mostly ignored
      *
      * @return boolean success flag
index 2bc4b892bd6a287c9750c73060f7522f68db5bf5..c5e74fb4162a38efb35a2b37354caf63d32b4287 100644 (file)
@@ -102,7 +102,7 @@ class MemcachePlugin extends Plugin
      *
      * @param string  &$key     in; Key to use for lookups
      * @param mixed   &$value   in; Value to associate
-     * @param integer &$flag    in; Flag (passed through to Memcache)
+     * @param integer &$flag    in; Flag empty or Cache::COMPRESSED
      * @param integer &$expiry  in; Expiry (passed through to Memcache)
      * @param boolean &$success out; Whether the set was successful
      *
@@ -115,7 +115,7 @@ class MemcachePlugin extends Plugin
         if ($expiry === null) {
             $expiry = $this->defaultExpiry;
         }
-        $success = $this->_conn->set($key, $value, $flag, $expiry);
+        $success = $this->_conn->set($key, $value, $this->flag(intval($flag)), $expiry);
         Event::handle('EndCacheSet', array($key, $value, $flag,
                                            $expiry));
         return false;
@@ -197,6 +197,20 @@ class MemcachePlugin extends Plugin
         }
     }
 
+    /**
+     * Translate general flags to Memcached-specific flags
+     * @param int $flag
+     * @return int
+     */
+    protected function flag($flag)
+    {
+        $out = 0;
+        if ($flag & Cache::COMPRESSED == Cache::COMPRESSED) {
+            $out |= MEMCACHE_COMPRESSED;
+        }
+        return $out;
+    }
+
     function onPluginVersion(&$versions)
     {
         $versions[] = array('name' => 'Memcache',