Account for inbox array in Worker/APDelivery

- Address https://github.com/friendica/friendica/issues/9250#issuecomment-744339671
This commit is contained in:
Hypolite Petovan 2020-12-14 09:10:43 -05:00
parent 0441b912ac
commit 481c5c9e81

View 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]);