return null;
}
- public static function removeFollower($importer, $contact)
+ public static function removeFollower(array $contact)
{
- if (($contact['rel'] == self::FRIEND) || ($contact['rel'] == self::SHARING)) {
+ if (!empty($contact['rel']) && (($contact['rel'] == self::FRIEND) || ($contact['rel'] == self::SHARING))) {
DBA::update('contact', ['rel' => self::SHARING], ['id' => $contact['id']]);
- } else {
+ } elseif (!empty($contact['id'])) {
self::remove($contact['id']);
+ } else {
+ DI::logger()->info('Couldn\'t remove follower because of invalid contact array', ['contact' => $contact]);
}
}
continue;
} elseif (!$expire_starred && intval($item['starred'])) {
continue;
- } elseif (!$expire_notes && ($item['post-type'] == self::PT_PERSONAL_NOTE)) {
+ } elseif (!$expire_notes && (($item['post-type'] ?? null) == self::PT_PERSONAL_NOTE)) {
continue;
- } elseif (!$expire_items && ($item['post-type'] != self::PT_PERSONAL_NOTE)) {
+ } elseif (!$expire_items && (($item['post-type'] ?? null) != self::PT_PERSONAL_NOTE)) {
continue;
}
$contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => [0, local_user()], 'deleted' => false]);
// Don't display contacts that are about to be deleted
- if ($contact['network'] == Protocol::PHANTOM) {
+ if (DBA::isResult($contact) && !empty($contact['network']) && $contact['network'] == Protocol::PHANTOM) {
$contact = false;
}
}
return;
}
- Contact::removeFollower($owner, $contact);
+ Contact::removeFollower($contact);
Logger::info('Undo following request', ['contact' => $cid, 'user' => $uid]);
}
}
if ($activity->match($item["verb"], Activity::UNFOLLOW)) {
Logger::log("Lost follower");
- Contact::removeFollower($importer, $contact, $item);
+ Contact::removeFollower($contact);
return false;
}
if ($activity->match($item["verb"], Activity::REQ_FRIEND)) {
return true;
} else {
Logger::log("Author ".$author." doesn't want to follow us anymore.", Logger::DEBUG);
- Contact::removeFollower($importer, $contact);
+ Contact::removeFollower($contact);
return true;
}
}
if ($item["verb"] == Activity::O_UNFOLLOW) {
$dummy = null;
- Contact::removeFollower($importer, $contact, $item, $dummy);
+ Contact::removeFollower($contact);
continue;
}