X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FRemote_profile.php;h=d59f97ada7cd115035ae1ef7339f2dadfb81de8b;hb=8e52c6fc030e453d6f61fb5b4a8f3113092adb91;hp=e9e4094b3b02e78c7bfc64047a885046b8550853;hpb=b6cfd2dffeeb733f07818db5f4ce11d4b3d51771;p=quix0rs-gnu-social.git diff --git a/classes/Remote_profile.php b/classes/Remote_profile.php index e9e4094b3b..d59f97ada7 100644 --- a/classes/Remote_profile.php +++ b/classes/Remote_profile.php @@ -1,43 +1,79 @@ . */ -if (!defined('LACONICA')) { exit(1) } +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } /** * Table Definition for remote_profile */ -require_once 'DB/DataObject.php'; +require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; -class Remote_profile extends DB_DataObject +class Remote_profile extends Managed_DataObject { ###START_AUTOCODE /* the code below is auto generated do not remove the above tag */ public $__table = 'remote_profile'; // table name public $id; // int(4) primary_key not_null - public $url; // varchar(255) unique_key + public $uri; // varchar(255) unique_key + public $postnoticeurl; // varchar(255) + public $updateprofileurl; // varchar(255) public $created; // datetime() not_null public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP /* Static get */ - function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('Remote_profile',$k,$v); } + function staticGet($k,$v=null) + { return Memcached_DataObject::staticGet('Remote_profile',$k,$v); } /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE + + function hasRight($right) + { + $profile = Profile::staticGet($this->id); + if ($profile) { + return $profile->hasright($right); + } else { + // TRANS: Exception thrown when a right for a non-existing user profile is checked. + throw new Exception(_("Missing profile.")); + } + } + + public static function schemaDef() + { + return array( + 'description' => 'remote people (OMB)', + 'fields' => array( + 'id' => array('type' => 'int', 'not null' => true, 'description' => 'foreign key to profile table'), + 'uri' => array('type' => 'varchar', 'length' => 255, 'description' => 'universally unique identifier, usually a tag URI'), + 'postnoticeurl' => array('type' => 'varchar', 'length' => 255, 'description' => 'URL we use for posting notices'), + 'updateprofileurl' => array('type' => 'varchar', 'length' => 255, 'description' => 'URL we use for updates to this profile'), + '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('id'), + 'unique keys' => array( + 'remote_profile_uri_key' => array('uri'), + ), + 'foreign keys' => array( + 'remote_profile_id_fkey' => array('profile', array('id' => 'id')), + ), + ); + } }