WHERE `gid` = ?
AND `contact`.`uid` = ?
AND NOT `contact`.`self`
+ AND NOT `contact`.`deleted`
AND NOT `contact`.`blocked`
AND NOT `contact`.`pending`
ORDER BY `contact`.`name` ASC',
} elseif ($contact['network'] == Protocol::DIASPORA) {
Diaspora::sendUnshare($user, $contact);
} elseif ($contact['network'] == Protocol::ACTIVITYPUB) {
- ActivityPub\Transmitter::sendContactUndo($contact['url'], $user['uid']);
+ ActivityPub\Transmitter::sendContactUndo($contact['url'], $contact['id'], $user['uid']);
if ($dissolve) {
ActivityPub\Transmitter::sendContactReject($contact['url'], $contact['hub-verify'], $user['uid']);
public static function photoMenu(array $contact, $uid = 0)
{
// @todo Unused, to be removed
- $a = get_app();
+ $a = \get_app();
$contact_url = '';
$pm_url = '';
FROM `contact`
WHERE `uid` = %d
AND NOT `self`
+ AND NOT `deleted`
AND NOT `blocked`
AND NOT `pending`
AND `id` NOT IN (
{
$result = ['cid' => -1, 'success' => false, 'message' => ''];
- $a = get_app();
+ $a = \get_app();
// remove ajax junk, e.g. Twitter
$url = str_replace('/#!/', '/', $url);
$hidden = (($ret['network'] === Protocol::MAIL) ? 1 : 0);
+ $pending = in_array($ret['network'], [Protocol::ACTIVITYPUB]);
+
if (in_array($ret['network'], [Protocol::MAIL, Protocol::DIASPORA, Protocol::ACTIVITYPUB])) {
$writeable = 1;
}
'hidden' => $hidden,
'blocked' => 0,
'readonly'=> 0,
- 'pending' => 0,
+ 'pending' => $pending,
'subhub' => $subhub
]);
}
$ret = Diaspora::sendShare($a->user, $contact);
Logger::log('share returns: ' . $ret);
} elseif ($contact['network'] == Protocol::ACTIVITYPUB) {
- $ret = ActivityPub\Transmitter::sendActivity('Follow', $contact['url'], $uid);
+ $activity_id = ActivityPub\Transmitter::activityIDFromContact($contact_id);
+ if (empty($activity_id)) {
+ // This really should never happen
+ return false;
+ }
+
+ $ret = ActivityPub\Transmitter::sendActivity('Follow', $contact['url'], $uid, $activity_id);
Logger::log('Follow returns: ' . $ret);
}
}
*/
public static function magicLink($contact_url, $url = '')
{
- if (!local_user()) {
+ if (!local_user() && remote_user()) {
return $url ?: $contact_url; // Equivalent to: ($url != '') ? $url : $contact_url;
}
$contact = DBA::selectFirst('contact', ['id', 'network', 'url', 'uid'], ['id' => $cid]);
return self::magicLinkbyContact($contact, $url);
- }
+ }
/**
* @brief Returns a magic link to authenticate remote visitors
*/
public static function magicLinkbyContact($contact, $url = '')
{
- if (!local_user() || ($contact['network'] != Protocol::DFRN)) {
+ if ((!local_user() && !remote_user()) || ($contact['network'] != Protocol::DFRN)) {
return $url ?: $contact['url']; // Equivalent to ($url != '') ? $url : $contact['url'];
}