$val) { $this->$key = $val; } } public function apiUser() { return User::getSilentWithUID($this->api_uid); } public static function fetchByAPIUser(User $user) { $res = XDB::fetchOneAssoc('SELECT id, shortname, name, url, has_directory, has_bulkmail, default_sharing_level, api_uid FROM profile_partnersharing_enum WHERE api_uid = {?}', $user->uid); if ($res == null) { return null; } else { return new PartnerSharing($res); } } public static function fetchById($id) { $res = XDB::fetchOneAssoc('SELECT id, shortname, name, url, has_directory, has_bulkmail, default_sharing_level, api_uid FROM profile_partnersharing_enum WHERE id = {?}', $id); if ($res == null) { return null; } else { return new PartnerSharing($res); } } } // }}} // {{{ class PartnerSettings class PartnerSettings { public $exposed_uid; public $sharing_level; public $allow_email = false; protected $partner_id; public $partner = null; public function __construct(array $data) { foreach ($data as $key => $val) { $this->$key = $val; } $this->partner = PartnerSharing::fetchById($this->partner_id); $this->sharing_visibility = Visibility::get($this->sharing_level); } public static function getEmpty($partner_id) { $data = array( 'partner_id' => $partner_id, 'exposed_uid' => 0, 'sharing_level' => Visibility::VIEW_NONE, 'allow_email' => false, ); return new PartnerSettings($data); } } // }}} // vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8: ?>