From f82580c2efc910c05653e5240ee73e39ca76fdc1 Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 9 Aug 2018 06:19:23 +0000 Subject: [PATCH] Avoid probing for contacts if we don't want to update --- src/Model/Contact.php | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 6f83dba01..095bad37c 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -849,7 +849,24 @@ class Contact extends BaseObject return 0; } - $data = Probe::uri($url, "", $uid); + // When we don't want to update, we look if some of our users already know this contact + if ($no_update) { + $fields = ['url', 'addr', 'alias', 'notify', 'poll', 'name', 'nick', + 'photo', 'keywords', 'location', 'about', 'network', + 'priority', 'batch', 'request', 'confirm', 'poco']; + $data = DBA::selectFirst('contact', $fields, ['nurl' => normalise_link($url)]); + + if (DBA::isResult($data)) { + // For security reasons we don't fetch key data from our users + $data["pubkey"] = ''; + } + } else { + $data = []; + } + + if (empty($data)) { + $data = Probe::uri($url, "", $uid); + } // Last try in gcontact for unsupported networks if (!in_array($data["network"], [NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA, NETWORK_PUMPIO, NETWORK_MAIL, NETWORK_FEED])) {