]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/APContact.php
Merge pull request #9146 from tobiasd/2020.09-CHANGELOG
[friendica.git] / src / Model / APContact.php
index 9fc72ac5a49d7780a1c4fef68976e323b0c9ef1c..d31aa5d3727f4eecebdbb6d7e9f0841b37d310b8 100644 (file)
@@ -320,13 +320,18 @@ class APContact
 
                $apcontact['updated'] = DateTimeFormat::utcNow();
 
-               DBA::update('apcontact', $apcontact, ['url' => $url], true);
-
                // We delete the old entry when the URL is changed
-               if (($url != $apcontact['url']) && DBA::exists('apcontact', ['url' => $url]) && DBA::exists('apcontact', ['url' => $apcontact['url']])) {
+               if ($url != $apcontact['url']) {
+                       Logger::info('Delete changed profile url', ['old' => $url, 'new' => $apcontact['url']]);
                        DBA::delete('apcontact', ['url' => $url]);
                }
 
+               if (DBA::exists('apcontact', ['url' => $apcontact['url']])) {
+                       DBA::update('apcontact', $apcontact, ['url' => $apcontact['url']]);
+               } else {
+                       DBA::replace('apcontact', $apcontact);
+               }
+
                Logger::info('Updated profile', ['url' => $url]);
 
                return $apcontact;
@@ -349,7 +354,7 @@ class APContact
 
                if (!DBA::exists('inbox-status', ['url' => $url])) {
                        $fields = array_merge($fields, ['url' => $url, 'created' => $now]);
-                       DBA::insert('inbox-status', $fields);
+                       DBA::replace('inbox-status', $fields);
                } else {
                        DBA::update('inbox-status', $fields, ['url' => $url]);
                }