]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/Status_network.php
Qvitter API changes (thanks hannes2peer)
[quix0rs-gnu-social.git] / classes / Status_network.php
index c3acacf595c029c232f9cf16dbbd2d1e51da3765..7d6e9461136dbbb007b03f9de5a24ab8098e4002 100644 (file)
@@ -42,7 +42,8 @@ class Status_network extends Safe_DataObject
     public $modified;                        // timestamp()   not_null default_CURRENT_TIMESTAMP
 
     /* Static get */
-    function staticGet($k,$v=NULL) {
+    static function getKV($k,$v=NULL) {
+        // TODO: This must probably be turned into a non-static call
         $i = DB_DataObject::staticGet('Status_network',$k,$v);
 
         // Don't use local process cache; if we're fetching multiple
@@ -56,8 +57,9 @@ class Status_network extends Safe_DataObject
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
 
-    static $cache = null;
-    static $cacheInitialized = false;
+    // XXX: made public so Status_network_tag can eff with it
+    public static $cache = null;
+    public static $cacheInitialized = false;
     static $base = null;
     static $wildcard = null;
 
@@ -68,7 +70,7 @@ class Status_network extends Safe_DataObject
      * @param string $dbname
      * @param array $servers memcached servers to use for caching config info
      */
-    static function setupDB($dbhost, $dbuser, $dbpass, $dbname, $servers)
+    static function setupDB($dbhost, $dbuser, $dbpass, $dbname, array $servers)
     {
         global $config;
 
@@ -91,12 +93,18 @@ class Status_network extends Safe_DataObject
             // or a single-process script which is switching
             // configurations.
             $persist = php_sapi_name() != 'cli' || self::$cacheInitialized;
-            if (is_array($servers)) {
-                foreach($servers as $server) {
-                    self::$cache->addServer($server, 11211, $persist);
+            if (!is_array($servers)) {
+                $servers = array($servers);
+            } 
+            foreach($servers as $server) {
+                $parts = explode(':', $server);
+                $server = $parts[0];
+                if (count($parts) > 1) {
+                    $port = $parts[1];
+                } else {
+                    $port = 11211;
                 }
-            } else {
-                self::$cache->addServer($servers, 11211, $persist);
+                self::$cache->addServer($server, $port, $persist);
             }
             self::$cacheInitialized = true;
         }
@@ -111,7 +119,7 @@ class Status_network extends Safe_DataObject
     static function memGet($k, $v)
     {
         if (!self::$cache) {
-            return self::staticGet($k, $v);
+            return self::getKV($k, $v);
         }
 
         $ck = self::cacheKey($k, $v);
@@ -119,7 +127,7 @@ class Status_network extends Safe_DataObject
         $sn = self::$cache->get($ck);
 
         if (empty($sn)) {
-            $sn = self::staticGet($k, $v);
+            $sn = self::getKV($k, $v);
             if (!empty($sn)) {
                 self::$cache->set($ck, clone($sn));
             }
@@ -325,7 +333,7 @@ class Status_network extends Safe_DataObject
      * @param array tags
      * @fixme only add/remove differentials
      */
-    function setTags($tags)
+    function setTags(array $tags)
     {
         $this->clearTags();
         foreach ($tags as $tag) {