diff --git a/src/Protocol/DFRN.php b/src/Protocol/DFRN.php index 312aae5f7b..35bbffede5 100644 --- a/src/Protocol/DFRN.php +++ b/src/Protocol/DFRN.php @@ -2705,8 +2705,12 @@ class DFRN } $deletions = $xpath->query("/atom:feed/at:deleted-entry"); - foreach ($deletions as $deletion) { - self::processDeletion($xpath, $deletion, $importer); + if (!empty($deletions)) { + foreach ($deletions as $deletion) { + self::processDeletion($xpath, $deletion, $importer); + } + Logger::notice('Deletions had been processed'); + return 200; } if (!$sort_by_date) { diff --git a/src/Worker/Delivery.php b/src/Worker/Delivery.php index fc24faef62..8a84f34a2f 100644 --- a/src/Worker/Delivery.php +++ b/src/Worker/Delivery.php @@ -296,13 +296,17 @@ class Delivery $msgitems = [$target_item]; $atom = DFRN::entries($msgitems, $owner); } else { - $msgitems = []; - foreach ($items as $item) { - // Only add the parent when we don't delete other items. - if (($target_item['id'] == $item['id']) || ($cmd != self::DELETION)) { - $item["entry:comment-allow"] = true; - $item["entry:cid"] = ($top_level ? $contact['id'] : 0); - $msgitems[] = $item; + if ($target_item['deleted']) { + $msgitems = [$target_item]; + } else { + $msgitems = []; + foreach ($items as $item) { + // Only add the parent when we don't delete other items. + if (($target_item['id'] == $item['id']) || ($cmd != self::DELETION)) { + $item["entry:comment-allow"] = true; + $item["entry:cid"] = ($top_level ? $contact['id'] : 0); + $msgitems[] = $item; + } } } $atom = DFRN::entries($msgitems, $owner);