Merge pull request #6435 from annando/nextcloud

Making Friendica compatible to Nextcloud Social
This commit is contained in:
Hypolite Petovan 2019-01-13 07:57:37 -05:00 committed by GitHub
commit 72516191ef
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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'];