1
1
Fork 0

Making Friendica compatible to Nextcloud Social

This commit is contained in:
Michael 2019-01-13 09:38:01 +00:00
parent 0cdf0ba422
commit d113ccd93c
3 changed files with 7 additions and 3 deletions

View file

@ -137,7 +137,7 @@ class APContact extends BaseObject
$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');
}

View file

@ -826,10 +826,10 @@ class Receiver
$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'];
}

View file

@ -93,6 +93,10 @@ class JsonLD
'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'];