- Add profile_info tag to Atom author
- Normalize xmlns:statusnet links in the API
This commit is contained in:
parent
1852eae36f
commit
1eec7f779f
|
@ -1190,7 +1190,7 @@ class Notice extends Memcached_DataObject
|
||||||
'xmlns:media' => 'http://purl.org/syndication/atommedia',
|
'xmlns:media' => 'http://purl.org/syndication/atommedia',
|
||||||
'xmlns:poco' => 'http://portablecontacts.net/spec/1.0',
|
'xmlns:poco' => 'http://portablecontacts.net/spec/1.0',
|
||||||
'xmlns:ostatus' => 'http://ostatus.org/schema/1.0',
|
'xmlns:ostatus' => 'http://ostatus.org/schema/1.0',
|
||||||
'xmlns:statusnet' => 'http://status.net/ont/');
|
'xmlns:statusnet' => 'http://status.net/schema/api/1/');
|
||||||
} else {
|
} else {
|
||||||
$attrs = array();
|
$attrs = array();
|
||||||
}
|
}
|
||||||
|
@ -1225,7 +1225,7 @@ class Notice extends Memcached_DataObject
|
||||||
$xs->element('title', null, common_xml_safe_str($this->content));
|
$xs->element('title', null, common_xml_safe_str($this->content));
|
||||||
|
|
||||||
if ($author) {
|
if ($author) {
|
||||||
$xs->raw($profile->asAtomAuthor());
|
$xs->raw($profile->asAtomAuthor($cur));
|
||||||
$xs->raw($profile->asActivityActor());
|
$xs->raw($profile->asActivityActor());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -849,15 +849,23 @@ class Profile extends Memcached_DataObject
|
||||||
*
|
*
|
||||||
* Assumes that Atom has been previously set up as the base namespace.
|
* Assumes that Atom has been previously set up as the base namespace.
|
||||||
*
|
*
|
||||||
|
* @param Profile $cur the current authenticated user
|
||||||
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function asAtomAuthor()
|
function asAtomAuthor($cur = null)
|
||||||
{
|
{
|
||||||
$xs = new XMLStringer(true);
|
$xs = new XMLStringer(true);
|
||||||
|
|
||||||
$xs->elementStart('author');
|
$xs->elementStart('author');
|
||||||
$xs->element('name', null, $this->nickname);
|
$xs->element('name', null, $this->nickname);
|
||||||
$xs->element('uri', null, $this->getUri());
|
$xs->element('uri', null, $this->getUri());
|
||||||
|
if ($cur != null) {
|
||||||
|
$attrs = Array();
|
||||||
|
$attrs['following'] = $cur->isSubscribed($this) ? 'true' : 'false';
|
||||||
|
$attrs['blocking'] = $cur->hasBlocked($this) ? 'true' : 'false';
|
||||||
|
$xs->element('statusnet:profile_info', $attrs, null);
|
||||||
|
}
|
||||||
$xs->elementEnd('author');
|
$xs->elementEnd('author');
|
||||||
|
|
||||||
return $xs->getString();
|
return $xs->getString();
|
||||||
|
|
|
@ -208,11 +208,13 @@ class ApiAction extends Action
|
||||||
|
|
||||||
// Is the requesting user following this user?
|
// Is the requesting user following this user?
|
||||||
$twitter_user['following'] = false;
|
$twitter_user['following'] = false;
|
||||||
|
$twitter_user['statusnet:blocking'] = false;
|
||||||
$twitter_user['notifications'] = false;
|
$twitter_user['notifications'] = false;
|
||||||
|
|
||||||
if (isset($this->auth_user)) {
|
if (isset($this->auth_user)) {
|
||||||
|
|
||||||
$twitter_user['following'] = $this->auth_user->isSubscribed($profile);
|
$twitter_user['following'] = $this->auth_user->isSubscribed($profile);
|
||||||
|
$twitter_user['statusnet:blocking'] = $this->auth_user->hasBlocked($profile);
|
||||||
|
|
||||||
// Notifications on?
|
// Notifications on?
|
||||||
$sub = Subscription::pkeyGet(array('subscriber' =>
|
$sub = Subscription::pkeyGet(array('subscriber' =>
|
||||||
|
|
|
@ -95,7 +95,7 @@ class AtomNoticeFeed extends Atom10Feed
|
||||||
|
|
||||||
$this->addNamespace(
|
$this->addNamespace(
|
||||||
'statusnet',
|
'statusnet',
|
||||||
'http://status.net/ont/'
|
'http://status.net/schema/api/1/'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user