const TARGET_FOLLOWER = 5;
const TARGET_ANSWER = 6;
const TARGET_GLOBAL = 7;
+ const TARGET_AUDIENCE = 8;
const COMPLETION_NONE = 0;
const COMPLETION_ANNOUNCE = 1;
$object_data['object_type'] = $object_type;
}
- foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc'] as $element) {
+ foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc', 'as:audience', 'as:attributedTo'] as $element) {
if ((empty($object_data['receiver_urls'][$element]) || in_array($element, ['as:bto', 'as:bcc'])) && !empty($urls[$element])) {
$object_data['receiver_urls'][$element] = array_unique(array_merge($object_data['receiver_urls'][$element] ?? [], $urls[$element]));
}
{
$urls = [];
- foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc'] as $element) {
+ foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc', 'as:audience', 'as:attributedTo'] as $element) {
$receiver_list = JsonLD::fetchElementArray($activity, $element, '@id');
if (empty($receiver_list)) {
continue;
// We have to prevent false follower assumptions upon thread completions
$follower_target = empty($activity['thread-completion']) ? self::TARGET_FOLLOWER : self::TARGET_UNKNOWN;
- foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc'] as $element) {
+ foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc','as:audience'] as $element) {
$receiver_list = JsonLD::fetchElementArray($activity, $element, '@id');
if (empty($receiver_list)) {
continue;
case 'as:bcc':
$type = self::TARGET_BCC;
break;
+ case 'as:audience':
+ $type = self::TARGET_AUDIENCE;
+ break;
}
$receivers[$contact['uid']] = ['uid' => $contact['uid'], 'type' => $type];
'type' => str_replace('as:', '', JsonLD::fetchElement($attachment, '@type')),
'mediaType' => JsonLD::fetchElement($attachment, 'as:mediaType', '@value'),
'name' => JsonLD::fetchElement($attachment, 'as:name', '@value'),
- 'url' => JsonLD::fetchElement($attachment, 'as:url', '@id'),
+ 'url' => JsonLD::fetchElement($attachment, 'as:url', '@id') ?? JsonLD::fetchElement($attachment, 'as:href', '@id'),
'height' => JsonLD::fetchElement($attachment, 'as:height', '@value'),
'width' => JsonLD::fetchElement($attachment, 'as:width', '@value'),
'image' => JsonLD::fetchElement($attachment, 'as:image', '@id')