diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 35127ebfcc..3edb21f760 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -1172,17 +1172,12 @@ class Contact $data['gsid'] = GServer::getID($data['baseurl']); } - if (!$contact_id && !empty($data['alias']) && ($data['alias'] != $data['url'])) { - $contact = self::getByURL($data['alias'], false, ['id']); - if (!empty($contact['id'])) { - $contact_id = $contact['id']; - Logger::info('Fetched id by alias', ['cid' => $contact_id, 'url' => $url, 'probed_url' => $data['url'], 'alias' => $data['alias']]); + if (!$contact_id) { + $urls = [Strings::normaliseLink($url), Strings::normaliseLink($data['url'])]; + if (!empty($data['alias'])) { + $urls[] = Strings::normaliseLink($data['alias']); } - } - - // Possibly there is a contact entry with the probed URL - if (!$contact_id && ($url != $data['url']) && ($url != $data['alias'])) { - $contact = self::getByURL($data['url'], false, ['id']); + $contact = self::selectFirst(['id'], ['nurl' => $urls, 'uid' => $uid]); if (!empty($contact['id'])) { $contact_id = $contact['id']; Logger::info('Fetched id by url', ['cid' => $contact_id, 'url' => $url, 'probed_url' => $data['url'], 'alias' => $data['alias']]);