- foreach ($inboxes as $inbox) {
- self::perform($cmd, $target_id, $inbox, $uid, $receivers);
+ Logger::info('Invoked', ['cmd' => $cmd, 'inbox' => $inbox, 'id' => $item_id, 'uri-id' => $uri_id, 'uid' => $uid]);
+
+ if (empty($uri_id)) {
+ $result = self::deliver($inbox);
+ $success = $result['success'];
+ $uri_ids = $result['uri_ids'];
+ }
+
+ if (empty($uri_ids)) {
+ $success = self::deliverToInbox($cmd, $item_id, $inbox, $uid, $receivers, $uri_id);
+ }
+
+ if (!$success && !Worker::defer() && in_array($cmd, [Delivery::POST])) {
+ if (!empty($uri_id)) {
+ Post\Delivery::remove($uri_id, $inbox);
+ Post\DeliveryData::incrementQueueFailed($uri_id);
+ } elseif (!empty($uri_ids)) {
+ foreach ($uri_ids as $uri_id) {
+ Post\Delivery::remove($uri_id, $inbox);
+ Post\DeliveryData::incrementQueueFailed($uri_id);
+ }
+ }
+ } elseif ($success && in_array($cmd, [Delivery::POST])) {
+ if (!empty($uri_id)) {
+ Post\DeliveryData::incrementQueueDone($uri_id, Post\DeliveryData::ACTIVITYPUB);
+ } elseif (!empty($uri_ids)) {
+ foreach ($uri_ids as $uri_id) {
+ Post\DeliveryData::incrementQueueDone($uri_id, Post\DeliveryData::ACTIVITYPUB);
+ }
+ }