]> git.mxchange.org Git - friendica.git/commitdiff
Raw content is now stored with announce messages as well
authorMichael <heluecht@pirati.ca>
Wed, 4 Mar 2020 06:04:27 +0000 (06:04 +0000)
committerMichael <heluecht@pirati.ca>
Wed, 4 Mar 2020 06:04:27 +0000 (06:04 +0000)
src/Protocol/ActivityPub/Receiver.php

index 075bc942edeecf17edc28922b0f4e2875cf01adf..21aba50944f7448bcc9b9411bf86e150526582e2 100644 (file)
@@ -225,7 +225,6 @@ class Receiver
                if (in_array($type, ['as:Create', 'as:Update', 'as:Announce'])) {
                        if ($type == 'as:Announce') {
                                $trust_source = false;
-                               $push = false;
                        }
                        $object_data = self::fetchObject($object_id, $activity['as:object'], $trust_source, $uid);
                        if (empty($object_data)) {
@@ -234,7 +233,12 @@ class Receiver
                        }
 
                        $object_data['object_id'] = $object_id;
-                       $object_data['push'] = $push;
+
+                       if ($type == 'as:Announce') {
+                               $object_data['push'] = false;
+                       } else {
+                               $object_data['push'] = $push;
+                       }
 
                        // Test if it is an answer to a mail
                        if (DBA::exists('mail', ['uri' => $object_data['reply-to-id']])) {
@@ -357,7 +361,7 @@ class Receiver
                        return;
                }
 
-               if (!empty($body)) {
+               if (!empty($body) && empty($object_data['raw'])) {
                        $object_data['raw'] = $body;
                }
 
@@ -395,6 +399,11 @@ class Receiver
                                                $announce_object_data['author'] = JsonLD::fetchElement($activity, 'as:actor', '@id');
                                                $announce_object_data['object_id'] = $object_data['object_id'];
                                                $announce_object_data['object_type'] = $object_data['object_type'];
+                                               $announce_object_data['push'] = $push;
+
+                                               if (!empty($body)) {
+                                                       $announce_object_data['raw'] = $body;
+                                               }
 
                                                ActivityPub\Processor::createActivity($announce_object_data, Activity::ANNOUNCE);
                                        }