Merge branch 'master' of https://github.com/redmatrix/redmatrix
This commit is contained in:
@@ -4842,6 +4842,17 @@ function comment_local_origin($item) {
|
||||
}
|
||||
|
||||
|
||||
function gen_asld($items) {
|
||||
$ret = array();
|
||||
if(! $items)
|
||||
return $ret;
|
||||
foreach($items as $item) {
|
||||
$ret[] = i2asld($item);
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
function i2asld($i) {
|
||||
|
||||
if(! $i)
|
||||
@@ -4849,30 +4860,69 @@ function i2asld($i) {
|
||||
|
||||
$ret = array();
|
||||
|
||||
$ret['@context'] = array( 'http://www.w3.org/ns/activitystreams', 'zot' => 'http://purl.org/zot/protocol');
|
||||
|
||||
if($i['verb']) {
|
||||
$ret['@context'] = dirname($i['verb']);
|
||||
$ret['@type'] = ucfirst(basename($i['verb']));
|
||||
if(strpos(dirname($i['verb'],'activitystrea.ms/schema/1.0'))) {
|
||||
$ret['@type'] = ucfirst(basename($i['verb']));
|
||||
}
|
||||
elseif(strpos(dirname($i['verb'],'purl.org/zot'))) {
|
||||
$ret['@type'] = 'zot:' . ucfirst(basename($i['verb']));
|
||||
}
|
||||
}
|
||||
$ret['@id'] = $i['plink'];
|
||||
|
||||
$ret['published'] = datetime_convert('UTC','UTC',$i['created'],ATOM_TIME);
|
||||
if($i['title'])
|
||||
$ret['title'] = $i['title'];
|
||||
$ret['content'] = bbcode($i['body']);
|
||||
|
||||
// we need to pass the parent into this
|
||||
// if($i['id'] != $i['parent'] && $i['obj_type'] === ACTIVITY_OBJ_NOTE) {
|
||||
// $ret['inReplyTo'] = asencode_note
|
||||
// }
|
||||
|
||||
if($i['obj_type'] === ACTIVITY_OBJ_NOTE)
|
||||
$ret['object'] = asencode_note($i);
|
||||
|
||||
|
||||
$ret['actor'] = asencode_person($i['author']);
|
||||
$ret['owner'] = asencode_person($i['owner']);
|
||||
|
||||
|
||||
return $ret;
|
||||
|
||||
}
|
||||
|
||||
function asencode_note($i) {
|
||||
|
||||
$ret = array();
|
||||
|
||||
$ret['@type'] = 'Note';
|
||||
$ret['@id'] = $i['plink'];
|
||||
if($i['title'])
|
||||
$ret['title'] = bbcode($i['title']);
|
||||
$ret['content'] = bbcode($i['body']);
|
||||
$ret['zot:owner'] = asencode_person($i['owner']);
|
||||
$ret['published'] = datetime_convert('UTC','UTC',$i['created'],ATOM_TIME);
|
||||
if($i['created'] !== $i['edited'])
|
||||
$ret['updated'] = datetime_convert('UTC','UTC',$i['edited'],ATOM_TIME);
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
function asencode_person($p) {
|
||||
$ret = array();
|
||||
$ret['@type'] = 'Person';
|
||||
$ret['@id'] = 'acct:' . $p['xchan_addr'];
|
||||
$ret['displayName'] = $p['xchan_name'];
|
||||
$ret['icon'] = array(
|
||||
'@type' => 'Link',
|
||||
'mediaType' => $p['xchan_photo_mimetype'],
|
||||
'href' => $p['xchan_photo_m']
|
||||
);
|
||||
$ret['url'] = array(
|
||||
'@type' => 'Link',
|
||||
'mediaType' => 'text/html',
|
||||
'href' => $p['xchan_url']
|
||||
);
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user