$apcontact['about'] = HTML::toBBCode(JsonLD::fetchElement($compacted, 'as:summary'));
$apcontact['photo'] = JsonLD::fetchElement($compacted, 'as:icon', '@id');
- if (is_array($apcontact['photo'])) {
+ if (is_array($apcontact['photo']) || !empty($compacted['as:icon']['as:url']['@id'])) {
$apcontact['photo'] = JsonLD::fetchElement($compacted['as:icon'], 'as:url', '@id');
}
$object_data = [];
$object_data['object_type'] = JsonLD::fetchElement($object, '@type');
$object_data['id'] = JsonLD::fetchElement($object, '@id');
-
$object_data['reply-to-id'] = JsonLD::fetchElement($object, 'as:inReplyTo');
- if (empty($object_data['reply-to-id'])) {
+ // An empty "id" field is translated to "./" by the compactor, so we have to check for this content
+ if (empty($object_data['reply-to-id']) || ($object_data['reply-to-id'] == './')) {
$object_data['reply-to-id'] = $object_data['id'];
}
'dc' => (object)['@id' => 'http://purl.org/dc/terms/', '@type' => '@id'],
'toot' => (object)['@id' => 'http://joinmastodon.org/ns#', '@type' => '@id']];
+ // Workaround for Nextcloud Social
+ // See issue https://github.com/nextcloud/social/issues/330
+ $json['@context'][] = 'https://w3id.org/security/v1';
+
// Trying to avoid memory problems with large content fields
if (!empty($json['object']['source']['content'])) {
$content = $json['object']['source']['content'];