The whole contact handling does work now, yeah ...
This commit is contained in:
parent
6a8ebc8639
commit
86bd283705
|
@ -337,7 +337,7 @@ function dfrn_confirm_post(App $a, $handsfree = null)
|
|||
);
|
||||
} else {
|
||||
if ($network == Protocol::ACTIVITYPUB) {
|
||||
ActivityPub::transmitContactActivity('Accept', $contact['url'], $contact['hub-verify'], $uid);
|
||||
ActivityPub::transmitContactAccept($contact['url'], $contact['hub-verify'], $uid);
|
||||
$pending = true;
|
||||
} else {
|
||||
$pending = false;
|
||||
|
|
|
@ -557,7 +557,7 @@ class Contact extends BaseObject
|
|||
} elseif ($contact['network'] == Protocol::DIASPORA) {
|
||||
Diaspora::sendUnshare($user, $contact);
|
||||
} elseif ($contact['network'] == Protocol::ACTIVITYPUB) {
|
||||
ActivityPub::transmitContactActivity('Undo', $contact['url'], '', $user['uid']);
|
||||
ActivityPub::transmitContactUndo($contact['url'], '', $user['uid']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1834,7 +1834,7 @@ class Contact extends BaseObject
|
|||
return;
|
||||
}
|
||||
|
||||
$url = $pub_contact['url'];
|
||||
$url = defaults($datarray, 'author-link', $pub_contact['url']);
|
||||
$name = $pub_contact['name'];
|
||||
$photo = $pub_contact['photo'];
|
||||
$nick = $pub_contact['nick'];
|
||||
|
@ -1848,7 +1848,7 @@ class Contact extends BaseObject
|
|||
}
|
||||
|
||||
if ($contact['network'] == Protocol::ACTIVITYPUB) {
|
||||
ActivityPub::transmitContactActivity('Accept', $contact['url'], $contact['hub-verify'], $importer['uid']);
|
||||
ActivityPub::transmitContactAccept($contact['url'], $contact['hub-verify'], $importer['uid']);
|
||||
}
|
||||
|
||||
// send email notification to owner?
|
||||
|
|
|
@ -213,7 +213,24 @@ class ActivityPub
|
|||
return self::transmit($data, $profile['notify'], $uid);
|
||||
}
|
||||
|
||||
public static function transmitContactActivity($activity, $target, $id, $uid)
|
||||
public static function transmitContactAccept($target, $id, $uid)
|
||||
{
|
||||
$profile = Probe::uri($target, Protocol::ACTIVITYPUB);
|
||||
|
||||
$owner = User::getOwnerDataById($uid);
|
||||
$data = ['@context' => 'https://www.w3.org/ns/activitystreams',
|
||||
'id' => 'https://pirati.ca/activity/' . System::createGUID(),
|
||||
'type' => 'Accept',
|
||||
'actor' => $owner['url'],
|
||||
'object' => ['id' => $id, 'type' => 'Follow',
|
||||
'actor' => $profile['url'],
|
||||
'object' => $owner['url']]];
|
||||
|
||||
logger('Sending accept to ' . $target . ' for user ' . $uid . ' with id ' . $id, LOGGER_DEBUG);
|
||||
return self::transmit($data, $profile['notify'], $uid);
|
||||
}
|
||||
|
||||
public static function transmitContactUndo($target, $id, $uid)
|
||||
{
|
||||
$profile = Probe::uri($target, Protocol::ACTIVITYPUB);
|
||||
|
||||
|
@ -224,13 +241,13 @@ class ActivityPub
|
|||
$owner = User::getOwnerDataById($uid);
|
||||
$data = ['@context' => 'https://www.w3.org/ns/activitystreams',
|
||||
'id' => 'https://pirati.ca/activity/' . System::createGUID(),
|
||||
'type' => $activity,
|
||||
'type' => 'Undo',
|
||||
'actor' => $owner['url'],
|
||||
'object' => ['id' => $id, 'type' => 'Follow',
|
||||
'actor' => $owner['url'],
|
||||
'object' => $profile['url']]];
|
||||
|
||||
logger('Sending ' . $activity . ' to ' . $target . ' for user ' . $uid . ' with id ' . $id, LOGGER_DEBUG);
|
||||
logger('Sending undo to ' . $target . ' for user ' . $uid . ' with id ' . $id, LOGGER_DEBUG);
|
||||
return self::transmit($data, $profile['notify'], $uid);
|
||||
}
|
||||
|
||||
|
@ -1099,10 +1116,10 @@ class ActivityPub
|
|||
$contact = false;
|
||||
}
|
||||
|
||||
$item = ['author-id' => Contact::getIdForURL($activity['owner'])];
|
||||
$item = ['author-id' => Contact::getIdForURL($activity['owner']),
|
||||
'author-link' => $activity['owner']];
|
||||
|
||||
Contact::addRelationship($owner, $contact, $item);
|
||||
|
||||
$cid = Contact::getIdForURL($activity['owner'], $uid);
|
||||
if (empty($cid)) {
|
||||
return;
|
||||
|
|
Loading…
Reference in a new issue