Activity Streams JSON - express to and in-reply-to stuff as person objects
This commit is contained in:
parent
20e414665d
commit
da42d36d7f
@ -364,6 +364,27 @@ class Activity
|
|||||||
if ($this->verb == ActivityVerb::POST && count($this->objects) == 1) {
|
if ($this->verb == ActivityVerb::POST && count($this->objects) == 1) {
|
||||||
$activity['object'] = $this->objects[0]->asArray();
|
$activity['object'] = $this->objects[0]->asArray();
|
||||||
|
|
||||||
|
// Context stuff. For now I'm just sticking most of it
|
||||||
|
// in a property called "context"
|
||||||
|
|
||||||
|
if (!empty($this->context)) {
|
||||||
|
|
||||||
|
if (!empty($this->context->location)) {
|
||||||
|
$loc = $this->context->location;
|
||||||
|
|
||||||
|
// GeoJSON
|
||||||
|
|
||||||
|
$activity['geopoint'] = array(
|
||||||
|
'type' => 'Point',
|
||||||
|
'coordinates' => array($loc->lat, $loc->lon)
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$activity['to'] = $this->context->getToArray();
|
||||||
|
$activity['context'] = $this->context->asArray();
|
||||||
|
}
|
||||||
|
|
||||||
// Instead of adding enclosures as an extension to JSON
|
// Instead of adding enclosures as an extension to JSON
|
||||||
// Activities, it seems like we should be using the
|
// Activities, it seems like we should be using the
|
||||||
// attachedObjects property of ActivityObject
|
// attachedObjects property of ActivityObject
|
||||||
@ -457,28 +478,6 @@ class Activity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Context stuff. For now I'm just sticking most of it
|
|
||||||
// in a property called "context"
|
|
||||||
|
|
||||||
if (!empty($this->context)) {
|
|
||||||
|
|
||||||
if (!empty($this->context->location)) {
|
|
||||||
$loc = $this->context->location;
|
|
||||||
|
|
||||||
// GeoJSON
|
|
||||||
|
|
||||||
$activity['geopoint'] = array(
|
|
||||||
'type' => 'Point',
|
|
||||||
'coordinates' => array($loc->lat, $loc->lon)
|
|
||||||
);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
$activity['to'] = $this->context->getToArray();
|
|
||||||
$activity['context'] = $this->context->asArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_filter($activity);
|
return array_filter($activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -137,19 +137,16 @@ class ActivityContext
|
|||||||
*
|
*
|
||||||
* @return array the context
|
* @return array the context
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function asArray()
|
function asArray()
|
||||||
{
|
{
|
||||||
$context = array();
|
$context = array();
|
||||||
|
|
||||||
$context['replyToId'] = $this->replyToID;
|
$context['replyTo'] = $this->getInReplyToArray();
|
||||||
$context['replyToUrl'] = $this->replyToUrl;
|
|
||||||
$context['conversation'] = $this->conversation;
|
$context['conversation'] = $this->conversation;
|
||||||
$context['forwardId'] = $this->forwardID;
|
$context['forwardId'] = $this->forwardID;
|
||||||
$context['forwardUrl'] = $this->forwardUrl;
|
$context['forwardUrl'] = $this->forwardUrl;
|
||||||
|
|
||||||
// XXX: We might want to have the attention to stuff
|
|
||||||
// in here like we do with Atom
|
|
||||||
|
|
||||||
return array_filter($context);
|
return array_filter($context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -164,16 +161,38 @@ class ActivityContext
|
|||||||
*
|
*
|
||||||
* @return array the array of recipients
|
* @return array the array of recipients
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function getToArray()
|
function getToArray()
|
||||||
{
|
{
|
||||||
$tos = array();
|
$tos = array();
|
||||||
|
|
||||||
foreach ($this->attention as $attnUrl) {
|
foreach ($this->attention as $attnUrl) {
|
||||||
$to = array('id' => $attnUrl, 'url' => $attnUrl);
|
$to = array(
|
||||||
|
'objectType' => 'person',
|
||||||
|
'id' => $attnUrl,
|
||||||
|
'url' => $attnUrl
|
||||||
|
);
|
||||||
$tos[] = $to;
|
$tos[] = $to;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $tos;
|
return $tos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Show replyTo
|
||||||
|
*/
|
||||||
|
|
||||||
|
function getInReplyToArray()
|
||||||
|
{
|
||||||
|
$replyToObj = array('objectType' => 'note');
|
||||||
|
|
||||||
|
$replyToObj['id'] = $this->replyToID;
|
||||||
|
|
||||||
|
if (!empty($this->replyToUrl)) {
|
||||||
|
$replyToObj['url'] = $this->replyToUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user