]> git.mxchange.org Git - friendica.git/commitdiff
Fix: Always search contacts with uid
authorMichael <heluecht@pirati.ca>
Wed, 5 Aug 2020 14:57:49 +0000 (14:57 +0000)
committerMichael <heluecht@pirati.ca>
Wed, 5 Aug 2020 14:57:49 +0000 (14:57 +0000)
src/Model/Contact.php

index 35127ebfcc4488a00c4c920d7f2bb498a866ae9f..3edb21f760453d20432147aeff34d14e019849f6 100644 (file)
@@ -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']]);