public $__table = 'status_network'; // table name
public $site_id; // int(4) primary_key not_null
public $nickname; // varchar(64) unique_key not_null
- public $hostname; // varchar(255) unique_key
- public $pathname; // varchar(255) unique_key
- public $dbhost; // varchar(255)
- public $dbuser; // varchar(255)
- public $dbpass; // varchar(255)
- public $dbname; // varchar(255)
- public $sitename; // varchar(255)
- public $theme; // varchar(255)
- public $logo; // varchar(255)
+ public $hostname; // varchar(191) unique_key not 255 because utf8mb4 takes more space
+ public $pathname; // varchar(191) unique_key not 255 because utf8mb4 takes more space
+ public $dbhost; // varchar(191) not 255 because utf8mb4 takes more space
+ public $dbuser; // varchar(191) not 255 because utf8mb4 takes more space
+ public $dbpass; // varchar(191) not 255 because utf8mb4 takes more space
+ public $dbname; // varchar(191) not 255 because utf8mb4 takes more space
+ public $sitename; // varchar(191) not 255 because utf8mb4 takes more space
+ public $theme; // varchar(191) not 255 because utf8mb4 takes more space
+ public $logo; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
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
/* 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;
* @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();
// 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;
}
}
static function cacheKey($k, $v) {
- return 'statusnet:' . self::$base . ':status_network:'.$k.':'.$v;
+ return 'gnusocial:' . self::$base . ':status_network:'.$k.':'.$v;
}
static function memGet($k, $v)
{
if (!self::$cache) {
- return self::staticGet($k, $v);
+ return self::getKV($k, $v);
}
$ck = self::cacheKey($k, $v);
$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));
}
}
}
- function update($orig=null)
+ function update($dataObject=false)
{
- if (is_object($orig)) {
- $orig->decache(); # might be different keys
+ if (is_object($dataObject)) {
+ $dataObject->decache(); # might be different keys
}
- return parent::update($orig);
+ return parent::update($dataObject);
}
/**
' WHERE nickname = ' . $this->_quote($this->nickname);
$orig->decache();
$result = $this->query($qry);
- if ($result) {
- $this->encache();
- }
+ $this->decache();
+
return $result;
}
-
- function delete()
+
+ function delete($useWhere=false)
{
$this->decache(); # while we still have the values!
- return parent::delete();
+ return parent::delete($useWhere);
}
-
+
/**
* @param string $servername hostname
* @param string $wildcard hostname suffix to match wildcard config
*/
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);
}
/**
* @param array tags
* @fixme only add/remove differentials
*/
- function setTags($tags)
+ function setTags(array $tags)
{
$this->clearTags();
foreach ($tags as $tag) {
$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.
$tag->free();
}
-
+
/**
* Check if this site record has a particular meta-info tag attached.
* @param string $tag