]> git.mxchange.org Git - friendica.git/commitdiff
Avoid a database query when possible
authorMichael <heluecht@pirati.ca>
Thu, 5 Aug 2021 08:51:39 +0000 (08:51 +0000)
committerMichael <heluecht@pirati.ca>
Thu, 5 Aug 2021 08:51:39 +0000 (08:51 +0000)
src/Protocol/Diaspora.php

index 2c3e9add63af3eea9ee128ec0da82cb095d1d7f8..485e5a7846dbd6b617c30675f07809ab1365508a 100644 (file)
@@ -4051,13 +4051,18 @@ class Diaspora
         */
        public static function createCommentSignature(array $item)
        {
-               $contact = Contact::getById($item['author-id'], ['url']);
-               if (empty($contact['url'])) {
-                       Logger::warning('Author Contact not found', ['author-id' => $item['author-id']]);
-                       return false;
+               if (!empty($item['author-link'])) {
+                       $url = $item['author-link'];
+               } else {
+                       $contact = Contact::getById($item['author-id'], ['url']);
+                       if (empty($contact['url'])) {
+                               Logger::warning('Author Contact not found', ['author-id' => $item['author-id']]);
+                               return false;
+                       }
+                       $url = $contact['url'];
                }
 
-               $uid = User::getIdForURL($contact['url']);
+               $uid = User::getIdForURL($url);
                if (empty($uid)) {
                        Logger::info('No owner post, so not storing signature', ['url' => $contact['url']]);
                        return false;