]> git.mxchange.org Git - friendica.git/blobdiff - src/Protocol/ActivityPub/Processor.php
Merge pull request #7339 from annando/gcontact-update
[friendica.git] / src / Protocol / ActivityPub / Processor.php
index 61f6389cad04b1e80d4aa74257de0f5990369f97..6ba0c8f8486179110fd7f2a02432aca50ef864d7 100644 (file)
@@ -370,12 +370,15 @@ class Processor
                $item['private'] = !in_array(0, $activity['receiver']);
                $item['author-link'] = $activity['author'];
                $item['author-id'] = Contact::getIdForURL($activity['author'], 0, true);
+               $item['owner-link'] = $activity['actor'];
+               $item['owner-id'] = Contact::getIdForURL($activity['actor'], 0, true);
 
-               if (empty($activity['thread-completion'])) {
-                       $item['owner-link'] = $activity['actor'];
-                       $item['owner-id'] = Contact::getIdForURL($activity['actor'], 0, true);
-               } else {
-                       Logger::info('Ignoring actor because of thread completion.');
+               if (!empty($activity['thread-completion'])) {
+                       // Store the original actor in the "causer" fields to enable the check for ignored or blocked contacts
+                       $item['causer-link'] = $item['owner-link'];
+                       $item['causer-id'] = $item['owner-id'];
+
+                       Logger::info('Ignoring actor because of thread completion.', ['actor' => $item['owner-link']]);
                        $item['owner-link'] = $item['author-link'];
                        $item['owner-id'] = $item['author-id'];
                }
@@ -608,7 +611,7 @@ class Processor
                }
 
                Logger::log('Updating profile for ' . $activity['object_id'], Logger::DEBUG);
-               APContact::getByURL($activity['object_id'], true);
+               Contact::updateFromProbeByURL($activity['object_id'], true);
        }
 
        /**