Add context to Activity Streams JSON
This commit is contained in:
parent
11f77b2fca
commit
60f62199a1
@ -450,6 +450,9 @@ class Activity
|
|||||||
|
|
||||||
/* more extensions */
|
/* more extensions */
|
||||||
|
|
||||||
|
// Context stuff. For now I'm just sticking most of it
|
||||||
|
// in a property called "context"
|
||||||
|
|
||||||
if (!empty($this->context)) {
|
if (!empty($this->context)) {
|
||||||
|
|
||||||
if (!empty($this->context->location)) {
|
if (!empty($this->context->location)) {
|
||||||
@ -461,8 +464,11 @@ class Activity
|
|||||||
'type' => 'Point',
|
'type' => 'Point',
|
||||||
'coordinates' => array($loc->lat, $loc->lon)
|
'coordinates' => array($loc->lat, $loc->lon)
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$activity['to'] = $this->context->getToArray();
|
||||||
|
$activity['context'] = $this->context->asArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
return array_filter($activity);
|
return array_filter($activity);
|
||||||
|
@ -130,4 +130,50 @@ class ActivityContext
|
|||||||
common_log(LOG_ERR, "Ignoring bogus georss:point value $point");
|
common_log(LOG_ERR, "Ignoring bogus georss:point value $point");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns context (StatusNet stuff) as an array suitable for serializing
|
||||||
|
* in JSON. Right now context stuff is an extension to Activity.
|
||||||
|
*
|
||||||
|
* @return array the context
|
||||||
|
*/
|
||||||
|
function asArray()
|
||||||
|
{
|
||||||
|
$context = array();
|
||||||
|
|
||||||
|
$context['replyToId'] = $this->replyToID;
|
||||||
|
$context['replyToUrl'] = $this->replyToUrl;
|
||||||
|
$context['conversation'] = $this->conversation;
|
||||||
|
$context['forwardId'] = $this->forwardID;
|
||||||
|
$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);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an array of arrays representing Activity Objects (intended to be
|
||||||
|
* serialized in JSON) that represent WHO the Activity is supposed to
|
||||||
|
* be received by. This is not really specified but appears in an example
|
||||||
|
* of the current spec as an extension. We might want to figure out a JSON
|
||||||
|
* serialization for OStatus and use that to express mentions instead.
|
||||||
|
*
|
||||||
|
* XXX: People's ideas on how to do this are all over the place
|
||||||
|
*
|
||||||
|
* @return array the array of recipients
|
||||||
|
*/
|
||||||
|
function getToArray()
|
||||||
|
{
|
||||||
|
$tos = array();
|
||||||
|
|
||||||
|
foreach ($this->attention as $attnUrl) {
|
||||||
|
$to = array('id' => $attnUrl, 'url' => $attnUrl);
|
||||||
|
$tos[] = $to;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $tos;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user