mirror of
https://github.com/friendica/friendica
synced 2025-04-26 19:10:11 +00:00
Contact reject does work now as well
This commit is contained in:
parent
e45206ae5d
commit
2eabe45a8e
3 changed files with 38 additions and 9 deletions
|
@ -557,7 +557,11 @@ class Contact extends BaseObject
|
|||
} elseif ($contact['network'] == Protocol::DIASPORA) {
|
||||
Diaspora::sendUnshare($user, $contact);
|
||||
} elseif ($contact['network'] == Protocol::ACTIVITYPUB) {
|
||||
ActivityPub::transmitContactUndo($contact['url'], '', $user['uid']);
|
||||
ActivityPub::transmitContactUndo($contact['url'], $user['uid']);
|
||||
|
||||
if ($dissolve) {
|
||||
ActivityPub::transmitContactReject($contact['url'], $contact['hub-verify'], $user['uid']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -230,17 +230,32 @@ class ActivityPub
|
|||
return self::transmit($data, $profile['notify'], $uid);
|
||||
}
|
||||
|
||||
public static function transmitContactUndo($target, $id, $uid)
|
||||
public static function transmitContactReject($target, $id, $uid)
|
||||
{
|
||||
$profile = Probe::uri($target, Protocol::ACTIVITYPUB);
|
||||
|
||||
if (empty($id)) {
|
||||
$id = System::baseUrl() . '/activity/' . System::createGUID();
|
||||
}
|
||||
|
||||
$owner = User::getOwnerDataById($uid);
|
||||
$data = ['@context' => 'https://www.w3.org/ns/activitystreams',
|
||||
'id' => System::baseUrl() . '/activity/' . System::createGUID(),
|
||||
'type' => 'Reject',
|
||||
'actor' => $owner['url'],
|
||||
'object' => ['id' => $id, 'type' => 'Follow',
|
||||
'actor' => $profile['url'],
|
||||
'object' => $owner['url']]];
|
||||
|
||||
logger('Sending reject to ' . $target . ' for user ' . $uid . ' with id ' . $id, LOGGER_DEBUG);
|
||||
return self::transmit($data, $profile['notify'], $uid);
|
||||
}
|
||||
|
||||
public static function transmitContactUndo($target, $uid)
|
||||
{
|
||||
$profile = Probe::uri($target, Protocol::ACTIVITYPUB);
|
||||
|
||||
$id = System::baseUrl() . '/activity/' . System::createGUID();
|
||||
|
||||
$owner = User::getOwnerDataById($uid);
|
||||
$data = ['@context' => 'https://www.w3.org/ns/activitystreams',
|
||||
'id' => $id,
|
||||
'type' => 'Undo',
|
||||
'actor' => $owner['url'],
|
||||
'object' => ['id' => $id, 'type' => 'Follow',
|
||||
|
@ -1150,8 +1165,14 @@ class ActivityPub
|
|||
}
|
||||
|
||||
$fields = ['pending' => false];
|
||||
$condition = ['id' => $cid, 'pending' => true];
|
||||
DBA::update('comtact', $fields, $condition);
|
||||
|
||||
$contact = DBA::selectFirst('contact', ['rel'], ['id' => $cid]);
|
||||
if ($contact['rel'] == Contact::FOLLOWER) {
|
||||
$fields['rel'] = Contact::FRIEND;
|
||||
}
|
||||
|
||||
$condition = ['id' => $cid];
|
||||
DBA::update('contact', $fields, $condition);
|
||||
logger('Accept contact request from contact ' . $cid . ' for user ' . $uid, LOGGER_DEBUG);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue