X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FContact.php;h=78150f1ff4085606ced6119babf7784c1eadedfd;hb=70674f2ecc9d34ba7eabbd15c06f85b469b27d0e;hp=648193b09cc2749e3c6b762ab63c2732f334ffad;hpb=97456ff20542b2dffabae77a2bab6428c51ac218;p=friendica.git diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 648193b09c..78150f1ff4 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -361,7 +361,7 @@ class Contact $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) { @@ -1152,10 +1152,11 @@ class Contact $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']; } @@ -1164,12 +1165,6 @@ class Contact $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']; } @@ -1279,7 +1274,7 @@ class Contact $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) { @@ -2704,16 +2699,20 @@ class Contact $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'])) { @@ -3098,7 +3097,7 @@ class Contact $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']); @@ -3239,7 +3238,7 @@ class Contact 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([ @@ -3440,7 +3439,7 @@ class Contact */ 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; @@ -3596,7 +3595,7 @@ class Contact 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;