X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FProtocol%2FPortableContact.php;h=f824be40f0e8065c796035d3976f7fbec041c982;hb=41b7d75cca9769203e66df5042846d260a1a0ed8;hp=06c2636aca8b33931ede15a5494feeda4f078267;hpb=69a7afc577b85a57bc04f676d273866191ab8462;p=friendica.git diff --git a/src/Protocol/PortableContact.php b/src/Protocol/PortableContact.php index 06c2636aca..f824be40f0 100644 --- a/src/Protocol/PortableContact.php +++ b/src/Protocol/PortableContact.php @@ -18,6 +18,7 @@ use Friendica\Model\Profile; use Friendica\Network\Probe; use Friendica\Util\DateTimeFormat; use Friendica\Util\Network; +use Friendica\Protocol\Diaspora; use dba; use DOMDocument; use DOMXPath; @@ -521,7 +522,12 @@ class PortableContact } } - $fields = ['updated' => $last_updated, 'last_contact' => DateTimeFormat::utcNow()]; + $fields = ['last_contact' => DateTimeFormat::utcNow()]; + + if (!empty($last_updated)) { + $fields['updated'] = $last_updated; + } + dba::update('gcontact', $fields, ['nurl' => normalise_link($profile)]); if (($gcontacts[0]["generation"] == 0)) { @@ -1426,9 +1432,31 @@ class PortableContact } foreach ($tags as $tag) { - dba::insert('gserver-tag', ['gserver-id' => $gserver['id'], 'tag' => $tag]); + dba::insert('gserver-tag', ['gserver-id' => $gserver['id'], 'tag' => $tag], true); + } + } + + // Create or update the relay contact + $fields = []; + if (isset($data->protocols)) { + if (isset($data->protocols->diaspora)) { + $fields['network'] = NETWORK_DIASPORA; + if (isset($data->protocols->diaspora->receive)) { + $fields['batch'] = $data->protocols->diaspora->receive; + } elseif (is_string($data->protocols->diaspora)) { + $fields['batch'] = $data->protocols->diaspora; + } + } + if (isset($data->protocols->dfrn)) { + $fields['network'] = NETWORK_DFRN; + if (isset($data->protocols->dfrn->receive)) { + $fields['batch'] = $data->protocols->dfrn->receive; + } elseif (is_string($data->protocols->dfrn)) { + $fields['batch'] = $data->protocols->dfrn; + } } } + Diaspora::setRelayContact($server_url, $fields); } /**