diff options
Diffstat (limited to 'plugins/OStatus')
-rw-r--r-- | plugins/OStatus/OStatusPlugin.php | 4 | ||||
-rw-r--r-- | plugins/OStatus/classes/Ostatus_profile.php | 88 |
2 files changed, 27 insertions, 65 deletions
diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php index d0b64e876..f846a2fc8 100644 --- a/plugins/OStatus/OStatusPlugin.php +++ b/plugins/OStatus/OStatusPlugin.php @@ -1010,7 +1010,7 @@ class OStatusPlugin extends Plugin function onEndXrdActionLinks(&$xrd, $user) { - $xrd->links[] = array('rel' => Discovery::UPDATESFROM, + $xrd->links[] = array('rel' => Discovery::UPDATESFROM, 'href' => common_local_url('ApiTimelineUser', array('id' => $user->id, 'format' => 'atom')), @@ -1045,6 +1045,6 @@ class OStatusPlugin extends Plugin $xrd->links[] = array('rel' => 'http://ostatus.org/schema/1.0/subscribe', 'template' => $url ); - return true; + return true; } } diff --git a/plugins/OStatus/classes/Ostatus_profile.php b/plugins/OStatus/classes/Ostatus_profile.php index b43a2b5f1..3dd00de29 100644 --- a/plugins/OStatus/classes/Ostatus_profile.php +++ b/plugins/OStatus/classes/Ostatus_profile.php @@ -25,7 +25,8 @@ if (!defined('STATUSNET')) { * @package OStatusPlugin * @maintainer Brion Vibber <brion@status.net> */ -class Ostatus_profile extends Memcached_DataObject + +class Ostatus_profile extends Managed_DataObject { public $__table = 'ostatus_profile'; @@ -47,74 +48,35 @@ class Ostatus_profile extends Memcached_DataObject } /** - * return table definition for DB_DataObject - * - * DB_DataObject needs to know something about the table to manipulate - * instances. This method provides all the DB_DataObject needs to know. + * Return table definition for Schema setup and DB_DataObject usage. * * @return array array of column definitions */ - function table() - { - return array('uri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL, - 'profile_id' => DB_DATAOBJECT_INT, - 'group_id' => DB_DATAOBJECT_INT, - 'feeduri' => DB_DATAOBJECT_STR, - 'salmonuri' => DB_DATAOBJECT_STR, - 'avatar' => DB_DATAOBJECT_STR, - 'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL, - 'modified' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL); - } static function schemaDef() { - return array(new ColumnDef('uri', 'varchar', - 255, false, 'PRI'), - new ColumnDef('profile_id', 'integer', - null, true, 'UNI'), - new ColumnDef('group_id', 'integer', - null, true, 'UNI'), - new ColumnDef('feeduri', 'varchar', - 255, true, 'UNI'), - new ColumnDef('salmonuri', 'text', - null, true), - new ColumnDef('avatar', 'text', - null, true), - new ColumnDef('created', 'datetime', - null, false), - new ColumnDef('modified', 'datetime', - null, false)); - } - - /** - * return key definitions for DB_DataObject - * - * DB_DataObject needs to know about keys that the table has; this function - * defines them. - * - * @return array key definitions - */ - function keys() - { - return array_keys($this->keyTypes()); - } - - /** - * return key definitions for Memcached_DataObject - * - * Our caching system uses the same key definitions, but uses a different - * method to get them. - * - * @return array key definitions - */ - function keyTypes() - { - return array('uri' => 'K', 'profile_id' => 'U', 'group_id' => 'U', 'feeduri' => 'U'); - } - - function sequenceKey() - { - return array(false, false, false); + return array( + 'fields' => array( + 'uri' => array('type' => 'varchar', 'length' => 255, 'not null' => true), + 'profile_id' => array('type' => 'integer'), + 'group_id' => array('type' => 'integer'), + 'feeduri' => array('type' => 'varchar', 'length' => 255), + 'salmonuri' => array('type' => 'varchar', 'length' => 255), + 'avatar' => array('type' => 'text'), + 'created' => array('type' => 'datetime', 'not null' => true), + 'modified' => array('type' => 'datetime', 'not null' => true), + ), + 'primary key' => array('uri'), + 'unique keys' => array( + 'ostatus_profile_profile_id_idx' => array('profile_id'), + 'ostatus_profile_group_id_idx' => array('group_id'), + 'ostatus_profile_feeduri_idx' => array('feeduri'), + ), + 'foreign keys' => array( + 'ostatus_profile_profile_id_fkey' => array('profile', array('profile_id' => 'id')), + 'ostatus_profile_group_id_fkey' => array('user_group', array('group_id' => 'id')), + ), + ); } /** |