From: Michael Date: Sat, 7 Mar 2020 11:16:10 +0000 (+0000) Subject: Some systems return an array instead of a string for the followers/following X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=2722c8e595e61341e6a475972b09fff75aaf1ac0;p=friendica.git Some systems return an array instead of a string for the followers/following --- diff --git a/src/Model/GContact.php b/src/Model/GContact.php index ee30cf3c59..a13b719a9c 100644 --- a/src/Model/GContact.php +++ b/src/Model/GContact.php @@ -1326,7 +1326,16 @@ class GContact DBA::update('gfollower', ['deleted' => true], ['gcid' => $gcid]); } - $contacts = array_unique(array_merge($followers, $followings)); + $contacts = []; + foreach (array_merge($followers, $followings) as $contact) { + if (is_string($contact)) { + $contacts[] = $contact; + } elseif (!empty($contact['url']) && is_string($contact['url'])) { + $contacts[] = $contact['url']; + } + } + $contacts = array_unique($contacts); + Logger::info('Discover AP contacts', ['url' => $url, 'contacts' => count($contacts)]); foreach ($contacts as $contact) { $gcontact = DBA::selectFirst('gcontact', ['id'], ['nurl' => Strings::normaliseLink(($contact))]);