X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Factivity.php;h=b733ff97aaee568c040341d05e398e8955a9ba92;hb=f02d32b718de732181d0f73beed2b7fdb77b1cbd;hp=7546e2cd432c2fc6f8f82c6ab0402d3cab8e95ef;hpb=2a70ed27e71e2e6e88359c88229d9c9ac5bb91a0;p=quix0rs-gnu-social.git diff --git a/lib/activity.php b/lib/activity.php index 7546e2cd43..b733ff97aa 100644 --- a/lib/activity.php +++ b/lib/activity.php @@ -244,6 +244,9 @@ class Activity if (!empty($targetEl)) { $this->target = new ActivityObject($targetEl); + } elseif (ActivityUtils::compareVerbs($this->verb, array(ActivityVerb::FAVORITE))) { + // StatusNet didn't send a 'target' for their Favorite atom entries + $this->target = clone($this->objects[0]); } $this->summary = ActivityUtils::childContent($entry, 'summary'); @@ -576,8 +579,8 @@ class Activity if (!empty($this->link)) { $xs->element('link', array('rel' => 'alternate', - 'type' => 'text/html'), - $this->link); + 'type' => 'text/html', + 'href' => $this->link)); } } @@ -622,28 +625,33 @@ class Activity } if (!empty($this->context->conversation)) { - $xs->element('link', array('rel' => 'ostatus:conversation', - 'href' => $this->context->conversation)); - } - - foreach ($this->context->attention as $attnURI) { - $xs->element('link', array('rel' => 'ostatus:attention', - 'href' => $attnURI)); - $xs->element('link', array('rel' => 'mentioned', - 'href' => $attnURI)); - } - - // XXX: shoulda used ActivityVerb::SHARE - - if (!empty($this->context->forwardID)) { - if (!empty($this->context->forwardUrl)) { - $xs->element('ostatus:forward', - array('ref' => $this->context->forwardID, - 'href' => $this->context->forwardUrl)); + $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 { - $xs->element('ostatus:forward', - array('ref' => $this->context->forwardID)); + $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 + 'conversation', // tag (or the element name from ActivityContext::CONVERSATION) + null, // attributes + $this->context->conversation); // content + */ + } + + foreach ($this->context->attention as $attnURI=>$type) { + $xs->element('link', array('rel' => ActivityContext::MENTIONED, + ActivityContext::OBJECTTYPE => $type, // FIXME: undocumented + 'href' => $attnURI)); } if (!empty($this->context->location)) {