diff --git a/src/Model/APContact.php b/src/Model/APContact.php index 67c714f9af..c308da3889 100644 --- a/src/Model/APContact.php +++ b/src/Model/APContact.php @@ -152,7 +152,13 @@ class APContact extends BaseObject $apcontact['alias'] = JsonLD::fetchElement($compacted['as:url'], 'as:href', '@id'); } - if (empty($apcontact['url']) || empty($apcontact['inbox'])) { + // Quit if none of the basic values are set + if (empty($apcontact['url']) || empty($apcontact['inbox']) || empty($apcontact['type'])) { + return false; + } + + // Quit if this doesn't seem to be an account at all + if (!in_array($apcontact['type'], ActivityPub::ACCOUNT_TYPES)) { return false; } @@ -228,11 +234,13 @@ class APContact extends BaseObject DBA::update('contact', $contact_fields, ['nurl' => Strings::normaliseLink($url)]); - $contacts = DBA::select('contact', ['uid', 'id'], ['nurl' => Strings::normaliseLink($url)]); - while ($contact = DBA::fetch($contacts)) { - Contact::updateAvatar($apcontact['photo'], $contact['uid'], $contact['id']); + if (!empty($apcontact['photo'])) { + $contacts = DBA::select('contact', ['uid', 'id'], ['nurl' => Strings::normaliseLink($url)]); + while ($contact = DBA::fetch($contacts)) { + Contact::updateAvatar($apcontact['photo'], $contact['uid'], $contact['id']); + } + DBA::close($contacts); } - DBA::close($contacts); // Update the gcontact table // These two fields don't exist in the gcontact table diff --git a/src/Model/Photo.php b/src/Model/Photo.php index 8ad7f3145f..2d740e1378 100644 --- a/src/Model/Photo.php +++ b/src/Model/Photo.php @@ -413,7 +413,11 @@ class Photo extends BaseObject $photo_failure = false; $filename = basename($image_url); - $img_str = Network::fetchUrl($image_url, true); + if (!empty($image_url)) { + $img_str = Network::fetchUrl($image_url, true); + } else { + $img_str = ''; + } if ($quit_on_error && ($img_str == "")) { return false; diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index 06dbaee71f..5f33257113 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -436,7 +436,7 @@ class Transmitter $data['to'][] = $profile['url']; } else { $data['cc'][] = $profile['url']; - if (!$item['private']) { + if (!$item['private'] && !empty($actor_profile['followers'])) { $data['cc'][] = $actor_profile['followers']; } }