X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FLocal_group.php;h=1cebd4c40c3a777bbb31b95ab8dcf3230485c0f2;hb=f29daa22b6a7319632b2c3798313f54a6b762a10;hp=42312ec63c8e6bf3dbd8620708699f683c9b8a43;hpb=6781f95c733ed4d678fc4c09926efe195e590359;p=quix0rs-gnu-social.git diff --git a/classes/Local_group.php b/classes/Local_group.php index 42312ec63c..1cebd4c40c 100644 --- a/classes/Local_group.php +++ b/classes/Local_group.php @@ -3,7 +3,7 @@ * Table Definition for local_group */ -class Local_group extends Memcached_DataObject +class Local_group extends Managed_DataObject { ###START_AUTOCODE /* the code below is auto generated do not remove the above tag */ @@ -14,21 +14,51 @@ class Local_group extends Memcached_DataObject public $created; // datetime not_null default_0000-00-00%2000%3A00%3A00 public $modified; // timestamp not_null default_CURRENT_TIMESTAMP - /* Static get */ - function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('Local_group',$k,$v); } - /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE - function sequenceKey() + public static function schemaDef() + { + return array( + 'description' => 'Record for a user group on the local site, with some additional info not in user_group', + 'fields' => array( + 'group_id' => array('type' => 'int', 'not null' => true, 'description' => 'group represented'), + 'nickname' => array('type' => 'varchar', 'length' => 64, 'description' => 'group represented'), + + 'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'), + 'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'), + ), + 'primary key' => array('group_id'), + 'foreign keys' => array( + 'local_group_group_id_fkey' => array('user_group', array('group_id' => 'id')), + ), + 'unique keys' => array( + 'local_group_nickname_key' => array('nickname'), + ), + ); + } + + public function getProfile() { - return array(false, false, false); + return $this->getGroup()->getProfile(); + } + + public function getGroup() + { + $group = new User_group(); + $group->id = $this->group_id; + $group->find(true); + if (!$group instanceof User_group) { + common_log(LOG_ERR, 'User_group does not exist for Local_group: '.$this->group_id); + throw new NoSuchGroupException(array('id' => $this->group_id)); + } + return $group; } function setNickname($nickname) { $this->decache(); - $qry = 'UPDATE local_group set nickname = "'.$nickname.'" where group_id = ' . $this->group_id; + $qry = 'UPDATE local_group set nickname = "'.$this->escape($nickname).'" where group_id = ' . $this->group_id; $result = $this->query($qry); @@ -38,6 +68,7 @@ class Local_group extends Memcached_DataObject $this->encache(); } else { common_log_db_error($local, 'UPDATE', __FILE__); + // TRANS: Server exception thrown when updating a local group fails. throw new ServerException(_('Could not update local group.')); }