return Strings::compareLink(self::getBasepath($url, true), DI::baseUrl());
}
+ /**
+ * Check if the given contact ID is on the same server
+ *
+ * @param string $url The contact link
+ *
+ * @return boolean Is it the same server?
+ */
+ public static function isLocalById(int $cid)
+ {
+ $contact = DBA::selectFirst('contact', ['url', 'baseurl'], ['id' => $cid]);
+ if (!DBA::isResult($contact)) {
+ return false;
+ }
+
+ if (empty($contact['baseurl'])) {
+ $baseurl = self::getBasepath($contact['url'], true);
+ } else {
+ $baseurl = $contact['baseurl'];
+ }
+
+ return Strings::compareLink($baseurl, DI::baseUrl());
+ }
+
/**
* Returns the public contact id of the given user id
*
foreach ($data as $image_uri) {
$image_rid = Photo::ridFromURI($image_uri);
if ($image_rid && !Photo::exists(['resource-id' => $image_rid, 'uid' => $uid])) {
- Logger::info('Regenerating avatar for contact uid ' . $uid . ' cid ' . $cid . ' missing photo ' . $image_rid . ' avatar ' . $contact['avatar']);
+ Logger::info('Regenerating avatar', ['contact uid' => $uid, 'cid' => $cid, 'missing photo' => $image_rid, 'avatar' => $contact['avatar']]);
$force = true;
}
}
if ($force) {
self::updateContact($id, $uid, $ret['url'], ['last-update' => $updated, 'success_update' => $updated]);
}
+
+ // Update the public contact
+ if ($uid != 0) {
+ self::updateFromProbeByURL($ret['url']);
+ }
+
return true;
}