diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/feedutils.php | 57 |
1 files changed, 42 insertions, 15 deletions
diff --git a/include/feedutils.php b/include/feedutils.php index 5f2a06029..daab1a741 100644 --- a/include/feedutils.php +++ b/include/feedutils.php @@ -1937,22 +1937,49 @@ function asencode_note($i) { function asencode_person($p) { - $ret = array(); - $ret['type'] = 'Person'; - $ret['id'] = $p['xchan_url']; - $ret['name'] = $p['xchan_name']; - $ret['image'] = array( - 'type' => 'Link', - 'mediaType' => $p['xchan_photo_mimetype'], - 'href' => $p['xchan_photo_l'], - 'height' => 300, - 'width' => 300 - ); - $ret['url'] = array( - 'type' => 'Link', + $ret = []; + $ret['type'] = 'Person'; + $ret['id'] = $p['xchan_url']; + $ret['name'] = $p['xchan_name']; + $ret['icon'] = [ + [ + 'type' => 'Image', + 'mediaType' => $p['xchan_photo_mimetype'], + 'url' => $p['xchan_photo_l'], + 'height' => 300, + 'width' => 300, + ], + [ + 'type' => 'Image', + 'mediaType' => $p['xchan_photo_mimetype'], + 'url' => $p['xchan_photo_m'], + 'height' => 80, + 'width' => 80, + ], + [ + 'type' => 'Image', + 'mediaType' => $p['xchan_photo_mimetype'], + 'url' => $p['xchan_photo_l'], + 'height' => 48, + 'width' => 48, + ] + ]; + $ret['url'] = [ + 'type' => 'Link', 'mediaType' => 'text/html', - 'href' => $p['xchan_url'] - ); + 'href' => $p['xchan_url'] + ]; + + if(array_key_exists('channel_id',$p)) { + $ret['inbox'] = z_root() . '/inbox/' . $p['channel_address']; + $ret['outbox'] = z_root() . '/outbox/' . $p['channel_address']; + } + else { + $collections = get_xconfig($p['xchan_hash'],'activitystreams','collections',[]); + if($collections) { + $ret = array_merge($ret,$collections); + } + } return $ret; } |