$background_update = DI::config()->get('system', 'update_active_contacts') ? $contact['local-data'] : true;
// Update the contact in the background if needed
- if ($background_update && !self::isLocal($url) && Probe::isProbable($contact['network']) && ($contact['next-update'] < DateTimeFormat::utcNow())) {
+ if ($background_update && !self::isLocal($url) && Protocol::supportsProbe($contact['network']) && ($contact['next-update'] < DateTimeFormat::utcNow())) {
try {
UpdateContact::add(['priority' => Worker::PRIORITY_LOW, 'dont_fork' => true], $contact['id']);
} catch (\InvalidArgumentException $e) {
$status_link = '';
$photos_link = '';
- $sparkle = false;
if (($contact['network'] === Protocol::DFRN) && !$contact['self'] && empty($contact['pending'])) {
- $sparkle = true;
$profile_link = 'contact/redir/' . $contact['id'];
+ $status_link = $profile_link . '?' . http_build_query(['url' => $contact['url'] . '/status']);
+ $photos_link = $profile_link . '?' . http_build_query(['url' => $contact['url'] . '/photos']);
+ $profile_link = $profile_link . '?' . http_build_query(['url' => $contact['url'] . '/profile']);
} else {
$profile_link = $contact['url'];
}
$profile_link = '';
}
- if ($sparkle) {
- $status_link = $profile_link . '/status';
- $photos_link = $profile_link . '/photos';
- $profile_link = $profile_link . '/profile';
- }
-
if (self::canReceivePrivateMessages($contact) && empty($contact['pending'])) {
$pm_url = 'message/new/' . $contact['id'];
}
$background_update = DI::config()->get('system', 'update_active_contacts') ? $contact['local-data'] : true;
- if ($background_update && !self::isLocal($url) && Probe::isProbable($contact['network']) && ($contact['next-update'] < DateTimeFormat::utcNow())) {
+ if ($background_update && !self::isLocal($url) && Protocol::supportsProbe($contact['network']) && ($contact['next-update'] < DateTimeFormat::utcNow())) {
try {
UpdateContact::add(['priority' => Worker::PRIORITY_LOW, 'dont_fork' => true], $contact['id']);
} catch (\InvalidArgumentException $e) {
$updated = DateTimeFormat::utcNow();
- if (!Probe::isProbable($ret['network']) && !Probe::isProbable($contact['network'])) {
+ if (!Protocol::supportsProbe($ret['network']) && !Protocol::supportsProbe($contact['network'])) {
// Periodical checks are only done on federated contacts
$failed_next_update = null;
$success_next_update = null;
} elseif ($has_local_data) {
$failed_next_update = GServer::getNextUpdateDate(false, $created, $last_update, !in_array($contact['network'], Protocol::FEDERATED));
$success_next_update = GServer::getNextUpdateDate(true, $created, $last_update, !in_array($contact['network'], Protocol::FEDERATED));
- } else {
+ } elseif (in_array($ret['network'], array_merge(Protocol::NATIVE_SUPPORT, [Protocol::ZOT, Protocol::PHANTOM]))) {
$failed_next_update = DateTimeFormat::utc('now +6 month');
$success_next_update = DateTimeFormat::utc('now +1 month');
+ } else {
+ // We don't check connector networks very often to not run into API rate limits
+ $failed_next_update = DateTimeFormat::utc('now +12 month');
+ $success_next_update = DateTimeFormat::utc('now +12 month');
}
if (Strings::normaliseLink($contact['url']) != Strings::normaliseLink($ret['url'])) {
$contact_id = $contact['id'];
$result['cid'] = $contact_id;
- Group::addMember(User::getDefaultGroup($uid), $contact_id);
+ Circle::addMember(User::getDefaultCircle($uid), $contact_id);
// Update the avatar
self::updateAvatar($contact_id, $ret['photo']);
DI::intro()->save($intro);
}
- Group::addMember(User::getDefaultGroup($importer['uid']), $contact_record['id']);
+ Circle::addMember(User::getDefaultCircle($importer['uid']), $contact_record['id']);
if (($user['notify-flags'] & Notification\Type::INTRO) && $user['page-flags'] == User::PAGE_FLAGS_NORMAL) {
DI::notify()->createFromArray([
*/
public static function magicLinkByContact(array $contact, string $url = ''): string
{
- $destination = $url ?: $contact['url']; // Equivalent to ($url != '') ? $url : $contact['url'];
+ $destination = $url ?: $contact['url'];
if (!DI::userSession()->isAuthenticated()) {
return $destination;
if (empty($contact['id']) && Network::isValidHttpUrl($url)) {
Worker::add(Worker::PRIORITY_LOW, 'AddContact', 0, $url);
++$added;
- } elseif (!empty($contact['network']) && Probe::isProbable($contact['network']) && ($contact['next-update'] < DateTimeFormat::utcNow())) {
+ } elseif (!empty($contact['network']) && Protocol::supportsProbe($contact['network']) && ($contact['next-update'] < DateTimeFormat::utcNow())) {
try {
UpdateContact::add(['priority' => Worker::PRIORITY_LOW, 'dont_fork' => true], $contact['id']);
++$updated;