if ($dissolve) {
ActivityPub\Transmitter::sendContactReject($contact['url'], $contact['hub-verify'], $user['uid']);
}
+ } else {
+ $hook_data = [
+ 'contact' => $contact,
+ 'dissolve' => $dissolve,
+ ];
+ Hook::callAll('unfollow', $hook_data);
}
}
if ($thread_mode) {
$items = Post::toArray(Post::selectForUser(local_user(), ['uri-id', 'gravity', 'parent-uri-id', 'thr-parent-id', 'author-id'], $condition, $params));
- $o .= conversation($a, $items, 'contacts', $update, false, 'commented', local_user());
+ $o .= DI::conversation()->create($items, 'contacts', $update, false, 'commented', local_user());
} else {
$items = Post::toArray(Post::selectForUser(local_user(), Item::DISPLAY_FIELDLIST, $condition, $params));
- $o .= conversation($a, $items, 'contact-posts', $update);
+ $o .= DI::conversation()->create($items, 'contact-posts', $update);
}
if (!$update) {
return null;
}
- public static function removeFollower($importer, $contact)
+ public static function removeFollower(array $contact)
{
- if (($contact['rel'] == self::FRIEND) || ($contact['rel'] == self::SHARING)) {
+ if (in_array($contact['rel'] ?? [], [self::FRIEND, 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, 'callstack' => System::callstack()]);
}
}