]> git.mxchange.org Git - friendica.git/commitdiff
refactor Receiver::processObject() method
authorArt4 <art4@wlabs.de>
Thu, 14 Nov 2024 07:32:25 +0000 (07:32 +0000)
committerArt4 <art4@wlabs.de>
Thu, 14 Nov 2024 07:32:25 +0000 (07:32 +0000)
src/Protocol/ActivityPub/Receiver.php

index 8055ff6666cc6160462c1e6bf313e77ce3d515b7..7512e6179c3d009f941544fe054910228140638c 100644 (file)
@@ -1880,31 +1880,29 @@ class Receiver
 
                $object_data = self::getObjectDataFromActivity($object);
 
-               $receiverdata = self::getReceivers($object, $actor ?: $object_data['actor'] ?? '', $object_data['tags'], true, false);
-               $receivers = $reception_types = [];
-               foreach ($receiverdata as $key => $data) {
-                       $receivers[$key] = $data['uid'];
-                       $reception_types[$data['uid']] = $data['type'] ?? 0;
-               }
-
                $object_data['receiver_urls']  = self::getReceiverURL($object);
-               $object_data['receiver']       = $receivers;
-               $object_data['reception_type'] = $reception_types;
+               $object_data['receiver']       = [];
+               $object_data['reception_type'] = [];
                $object_data['unlisted']       = false;
 
-               if (!empty($object['pixelfed:capabilities'])) {
-                       $object_data['capabilities'] = self::getCapabilities($object);
-               }
+               $receiverdata = self::getReceivers($object, $actor ?: $object_data['actor'] ?? '', $object_data['tags'], true, false);
 
-               if (in_array(-1, $object_data['receiver'])) {
-                       $object_data['unlisted'] = true;
-                       unset($object_data['receiver'][-1]);
+               foreach ($receiverdata as $key => $data) {
+                       if ($data['uid'] !== -1) {
+                               $object_data['reception_type'][$data['uid']] = $data['type'] ?? 0;
+                       }
 
-                       if (array_key_exists(-1, $object_data['reception_type'])) {
-                               unset($object_data['reception_type'][-1]);
+                       if ($key !== -1) {
+                               $object_data['receiver'][$key] = $data['uid'];
+                       } else {
+                               $object_data['unlisted'] = true;
                        }
                }
 
+               if (!empty($object['pixelfed:capabilities'])) {
+                       $object_data['capabilities'] = self::getCapabilities($object);
+               }
+
                return $object_data;
        }