]> git.mxchange.org Git - friendica.git/commitdiff
Account for inbox array in Worker/APDelivery
authorHypolite Petovan <hypolite@mrpetovan.com>
Mon, 14 Dec 2020 14:10:43 +0000 (09:10 -0500)
committerHypolite Petovan <hypolite@mrpetovan.com>
Mon, 14 Dec 2020 14:12:29 +0000 (09:12 -0500)
- Address https://github.com/friendica/friendica/issues/9250#issuecomment-744339671

src/Worker/APDelivery.php

index 7173475befa5117a635f06385bc21eedf6053fa8..c98f1e399322e9d02725f08e45e41fe36fa99f9b 100644 (file)
@@ -31,6 +31,28 @@ use Friendica\Util\HTTPSignature;
 
 class APDelivery
 {
+       /**
+        * Delivers ActivityPub messages
+        *
+        * @param string       $cmd
+        * @param integer      $target_id
+        * @param string|array $inboxes
+        * @param integer      $uid
+        * @param array        $receivers
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
+        * @throws \ImagickException
+        */
+       public static function execute(string $cmd, int $target_id, $inboxes, int $uid, array $receivers = [])
+       {
+               if (is_string($inboxes)) {
+                       $inboxes = [$inboxes];
+               }
+
+               foreach ($inboxes as $inbox) {
+                       self::perform($cmd, $target_id, $inbox, $uid, $receivers);
+               }
+       }
+
        /**
         * Delivers ActivityPub messages
         *
@@ -42,7 +64,7 @@ class APDelivery
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         * @throws \ImagickException
         */
-       public static function execute($cmd, $target_id, $inbox, $uid, $receivers = [])
+       private static function perform(string $cmd, int $target_id, string $inbox, int $uid, array $receivers = [])
        {
                if (ActivityPub\Transmitter::archivedInbox($inbox)) {
                        Logger::info('Inbox is archived', ['cmd' => $cmd, 'inbox' => $inbox, 'id' => $target_id, 'uid' => $uid]);