]> git.mxchange.org Git - friendica.git/blobdiff - src/Worker/APDelivery.php
New parameter to create a share block for display reasons
[friendica.git] / src / Worker / APDelivery.php
index 4703b8ca165f32b391959d27dd8de1500533b4f8..b16ad7705f8a00af02f2b403392ebb2bbd187ae1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2022, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -24,6 +24,7 @@ namespace Friendica\Worker;
 use Friendica\Core\Logger;
 use Friendica\Core\Worker;
 use Friendica\Model\Post;
+use Friendica\Model\User;
 use Friendica\Protocol\ActivityPub;
 class APDelivery
 {
@@ -66,14 +67,23 @@ class APDelivery
                if (empty($uri_id)) {
                        $result  = ActivityPub\Delivery::deliver($inbox);
                        $success = $result['success'];
+                       $drop    = false;
                        $uri_ids = $result['uri_ids'];
                } else {
-                       $result  = ActivityPub\Delivery::deliverToInbox($cmd, $item_id, $inbox, $uid, $receivers, $uri_id);
+                       $owner = User::getOwnerDataById($uid);
+                       if (!$owner) {
+                               Post\Delivery::remove($uri_id, $inbox);
+                               Post\Delivery::incrementFailed($uri_id, $inbox);
+                               return;
+                       }
+
+                       $result  = ActivityPub\Delivery::deliverToInbox($cmd, $item_id, $inbox, $owner, $receivers, $uri_id);
                        $success = $result['success'];
+                       $drop    = $result['drop'];
                        $uri_ids = [$uri_id];
                }
 
-               if (!$success && !Worker::defer() && !empty($uri_ids)) {
+               if (!$drop && !$success && !Worker::defer() && !empty($uri_ids)) {
                        foreach ($uri_ids as $uri_id) {
                                Post\Delivery::remove($uri_id, $inbox);
                                Post\DeliveryData::incrementQueueFailed($uri_id);