X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FStatus_network.php;h=eb9bd69e1f94f1db07fbf3e89c88c1d8ede5b0f9;hb=202f6ad7a9d5e1c264ce68233aeed70559051fcf;hp=70c7a58eb7488040b3df886c54ade9e361f770be;hpb=b5cfcba4712809cb17eabba299ce5ff04f4d7d70;p=quix0rs-gnu-social.git diff --git a/classes/Status_network.php b/classes/Status_network.php index 70c7a58eb7..eb9bd69e1f 100644 --- a/classes/Status_network.php +++ b/classes/Status_network.php @@ -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,13 +70,16 @@ 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; $config['db']['database_'.$dbname] = "mysqli://$dbuser:$dbpass@$dbhost/$dbname"; $config['db']['ini_'.$dbname] = INSTALLDIR.'/classes/status_network.ini'; - $config['db']['table_status_network'] = $dbname; + + foreach (array('status_network', 'status_network_tag', 'unavailable_status_network') as $table) { + $config['db']['table_'.$table] = $dbname; + } if (class_exists('Memcache')) { self::$cache = new Memcache(); @@ -88,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; } @@ -108,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); @@ -116,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)); } @@ -168,16 +179,16 @@ class Status_network extends Safe_DataObject $orig->decache(); $result = $this->query($qry); $this->decache(); - + return $result; } - + function delete() { $this->decache(); # while we still have the values! return parent::delete(); } - + /** * @param string $servername hostname * @param string $wildcard hostname suffix to match wildcard config @@ -307,14 +318,7 @@ class Status_network extends Safe_DataObject */ function getTags() { - $result = Status_network_tag::getTags($this->site_id); - - // XXX : for backwards compatibility - if (empty($result)) { - return explode('|', $this->tags); - } - - return $result; + return Status_network_tag::getTags($this->site_id); } /** @@ -322,7 +326,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) { @@ -331,7 +335,7 @@ class Status_network extends Safe_DataObject $snt->site_id = $this->site_id; $snt->tag = $tag; $snt->created = common_sql_now(); - + $id = $snt->insert(); if (!$id) { // TRANS: Exception thrown when a tag cannot be saved. @@ -356,7 +360,7 @@ class Status_network extends Safe_DataObject $tag->free(); } - + /** * Check if this site record has a particular meta-info tag attached. * @param string $tag