put local id, href and such in ostatus:conversation element

This commit is contained in:
Mikael Nordfeldth 2016-04-18 16:09:36 +02:00
parent afdd6d39ec
commit 844fe3924e
1 changed files with 14 additions and 3 deletions

View File

@ -625,9 +625,20 @@ class Activity
}
if (!empty($this->context->conversation)) {
$xs->element('link', array('rel' => ActivityContext::CONVERSATION,
'href' => $this->context->conversation));
$xs->element(ActivityContext::CONVERSATION, null, $this->context->conversation);
$convattr = [];
$conv = Conversation::getKV('uri', $this->context->conversation);
if ($conv instanceof Conversation) {
$convattr['href'] = $conv->getUrl();
$convattr['local_id'] = $conv->getID();
$convattr['ref'] = $conv->getUri();
$xs->element('link', array('rel' => ActivityContext::CONVERSATION,
'href' => $convattr['href']));
} else {
$convattr['ref'] = $this->context->conversation;
}
$xs->element(ActivityContext::CONVERSATION,
$convattr,
$this->context->conversation);
/* Since we use XMLWriter we just use the previously hardcoded prefix for ostatus,
otherwise we should use something like this:
$xs->elementNS(array(ActivityContext::OSTATUS => 'ostatus'), // namespace