updates to Status_network

This commit is contained in:
Evan Prodromou 2009-06-15 08:54:52 -07:00
parent 528ceec3fe
commit eb6a60ef88
3 changed files with 29 additions and 7 deletions

View File

@ -12,11 +12,13 @@ class Status_network extends DB_DataObject
public $nickname; // varchar(64) primary_key not_null public $nickname; // varchar(64) primary_key not_null
public $hostname; // varchar(255) unique_key public $hostname; // varchar(255) unique_key
public $pathname; // varchar(255) unique_key public $pathname; // varchar(255) unique_key
public $sitename; // varchar(255)
public $dbhost; // varchar(255) public $dbhost; // varchar(255)
public $dbuser; // varchar(255) public $dbuser; // varchar(255)
public $dbpass; // varchar(255) public $dbpass; // varchar(255)
public $dbname; // varchar(255) public $dbname; // varchar(255)
public $sitename; // varchar(255)
public $theme; // varchar(255)
public $logo; // varchar(255)
public $created; // datetime() not_null public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
@ -37,13 +39,19 @@ class Status_network extends DB_DataObject
return true; return true;
} }
static function setupSite($servername, $pathname) static function setupSite($servername, $pathname, $wildcard)
{ {
global $config; global $config;
$parts = explode('.', $servername); // XXX I18N, probably not crucial for hostnames
// XXX This probably needs a tune up
$sn = Status_network::staticGet('nickname', $parts[0]); if (0 == strncasecmp(strrev($wildcard), strrev($servername), strlen($wildcard))) {
$parts = explode('.', $servername);
$sn = Status_network::staticGet('nickname', strtolower($parts[0]));
} else {
$sn = Status_network::staticGet('hostname', strtolower($servername));
}
if (!empty($sn)) { if (!empty($sn)) {
$dbhost = (empty($sn->dbhost)) ? 'localhost' : $sn->dbhost; $dbhost = (empty($sn->dbhost)) ? 'localhost' : $sn->dbhost;
@ -52,7 +60,16 @@ class Status_network extends DB_DataObject
$dbname = (empty($sn->dbname)) ? $sn->nickname : $sn->dbname; $dbname = (empty($sn->dbname)) ? $sn->nickname : $sn->dbname;
$config['db']['database'] = "mysqli://$dbuser:$dbpass@$dbhost/$dbname"; $config['db']['database'] = "mysqli://$dbuser:$dbpass@$dbhost/$dbname";
$config['site']['name'] = $sn->sitename; $config['site']['name'] = $sn->sitename;
if (!empty($sn->theme)) {
$config['site']['theme'] = $sn->theme;
}
if (!empty($sn->logo)) {
$config['site']['logo'] = $sn->logo;
}
return true; return true;
} else { } else {
return false; return false;

View File

@ -1,13 +1,14 @@
[status_network] [status_network]
nickname = 130 nickname = 130
hostname = 2 hostname = 2
pathname = 2 pathname = 2
sitename = 2
dbhost = 2 dbhost = 2
dbuser = 2 dbuser = 2
dbpass = 2 dbpass = 2
dbname = 2 dbname = 2
sitename = 2
theme = 2
logo = 2
created = 142 created = 142
modified = 384 modified = 384

View File

@ -5,12 +5,16 @@ create table status_network (
nickname varchar(64) primary key comment 'nickname', nickname varchar(64) primary key comment 'nickname',
hostname varchar(255) unique key comment 'alternate hostname if any', hostname varchar(255) unique key comment 'alternate hostname if any',
pathname varchar(255) unique key comment 'alternate pathname if any', pathname varchar(255) unique key comment 'alternate pathname if any',
sitename varchar(255) comment 'display name',
dbhost varchar(255) comment 'database host', dbhost varchar(255) comment 'database host',
dbuser varchar(255) comment 'database username', dbuser varchar(255) comment 'database username',
dbpass varchar(255) comment 'database password', dbpass varchar(255) comment 'database password',
dbname varchar(255) comment 'database name', dbname varchar(255) comment 'database name',
sitename varchar(255) comment 'display name',
theme varchar(255) comment 'theme name',
logo varchar(255) comment 'site logo',
created datetime not null comment 'date this record was created', created datetime not null comment 'date this record was created',
modified timestamp comment 'date this record was modified' modified timestamp comment 'date this record was modified'