<?php
/**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2021, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
Logger::info('Invoked', ['cmd' => $cmd, 'target' => $post_uriid, 'sender_uid' => $sender_uid]);
- if (!empty($sender_uid)) {
- $post = Post::selectFirst(['id'], ['uri-id' => $post_uriid, 'uid' => $sender_uid]);
- if (!DBA::isResult($post)) {
- Logger::warning('Post not found', ['uri-id' => $post_uriid, 'uid' => $sender_uid]);
- return;
- }
- $target_id = $post['id'];
- } else {
- $target_id = $post_uriid;
- }
-
+ $target_id = $post_uriid;
$top_level = false;
$recipients = [];
$url_recipients = [];
$condition = ['uid' => $target_id, 'self' => false, 'network' => [Protocol::DFRN, Protocol::DIASPORA]];
$delivery_contacts_stmt = DBA::select('contact', ['id', 'url', 'addr', 'network', 'protocol', 'batch'], $condition);
} else {
+ $post = Post::selectFirst(['id'], ['uri-id' => $post_uriid, 'uid' => $sender_uid]);
+ if (!DBA::isResult($post)) {
+ Logger::warning('Post not found', ['uri-id' => $post_uriid, 'uid' => $sender_uid]);
+ return;
+ }
+ $target_id = $post['id'];
+
// find ancestors
$condition = ['id' => $target_id, 'visible' => true];
$target_item = Post::selectFirst(Item::DELIVER_FIELDLIST, $condition);
$contact['network'] = Protocol::DFRN;
}
- if (in_array($contact['id'], $ap_contacts)) {
+ // Deletions are always sent via DFRN as well.
+ // This is done until we can perform deletions of foreign comments on our own threads via AP.
+ if (($cmd != Delivery::DELETION) && in_array($contact['id'], $ap_contacts)) {
Logger::info('Contact is already delivered via AP, so skip delivery via legacy DFRN/Diaspora', ['target' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact['url']]);
continue;
}