diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 8c946502b..96ffc5346 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -1241,6 +1241,10 @@ class Contact Logger::info('Contact will be updated', ['url' => $url, 'uid' => $uid, 'update' => $update, 'cid' => $contact_id]); } + if ($data['network'] == Protocol::DIASPORA) { + FContact::updateFromProbeArray($data); + } + self::updateFromProbeArray($contact_id, $data); // Don't return a number for a deleted account @@ -2076,6 +2080,11 @@ class Contact } $ret = Probe::uri($contact['url'], $network, $contact['uid']); + + if ($ret['network'] == Protocol::DIASPORA) { + FContact::updateFromProbeArray($ret); + } + return self::updateFromProbeArray($id, $ret); } diff --git a/src/Model/FContact.php b/src/Model/FContact.php index 09ee3fb3d..f78da626c 100644 --- a/src/Model/FContact.php +++ b/src/Model/FContact.php @@ -75,7 +75,7 @@ class FContact // Note that Friendica contacts will return a "Diaspora person" // if Diaspora connectivity is enabled on their server if ($data['network'] ?? '' === Protocol::DIASPORA) { - self::updateFContact($data); + self::updateFromProbeArray($data); $person = self::getByURL($handle, false); } @@ -90,7 +90,7 @@ class FContact * @param array $arr The fcontact data * @throws \Exception */ - private static function updateFContact($arr) + public static function updateFromProbeArray($arr) { $uriid = ItemURI::insert(['uri' => $arr['url'], 'guid' => $arr['guid']]);