From 00c444a69968d1c110989720960f61847a224249 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 26 Mar 2018 06:17:50 +0000 Subject: [PATCH] Only update when changed --- src/Protocol/PortableContact.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Protocol/PortableContact.php b/src/Protocol/PortableContact.php index 9c7ad538cc..e66cb4687c 100644 --- a/src/Protocol/PortableContact.php +++ b/src/Protocol/PortableContact.php @@ -1379,7 +1379,7 @@ class PortableContact } if (!$failure && in_array($fields['network'], [NETWORK_DFRN, NETWORK_DIASPORA])) { - self::discoverRelay(server_url); + self::discoverRelay($server_url); } logger("End discovery for server " . $server_url, LOGGER_DEBUG); @@ -1401,13 +1401,15 @@ class PortableContact return; } - $gserver = dba::selectFirst('gserver', ['id'], ['nurl' => normalise_link($server_url)]); + $gserver = dba::selectFirst('gserver', ['id', 'relay-subscribe', 'relay-scope'], ['nurl' => normalise_link($server_url)]); if (!DBM::is_result($gserver)) { return; } - $fields = ['relay-subscribe' => $data->subscribe, 'relay-scope' => $data->scope]; - dba::update('gserver', $fields, ['id' => $gserver['id']]); + if (($gserver['relay-subscribe'] != $data->subscribe) || ($gserver['relay-scope'] != $data->scope)) { + $fields = ['relay-subscribe' => $data->subscribe, 'relay-scope' => $data->scope]; + dba::update('gserver', $fields, ['id' => $gserver['id']]); + } dba::delete('gserver-tag', ['gserver-id' => $gserver['id']]); if ($data->scope == 'tags') {