mirror of
https://github.com/friendica/friendica
synced 2025-04-28 02:30:16 +00:00
Issue 11513: Non public replies on public posts should now work
This commit is contained in:
parent
60c6ab08c1
commit
df6cda8a4d
5 changed files with 27 additions and 16 deletions
|
@ -170,13 +170,15 @@ class Notifier
|
|||
// Deliver directly to a forum, don't PuSH
|
||||
$direct_forum_delivery = false;
|
||||
|
||||
$only_ap_delivery = false;
|
||||
|
||||
$followup = false;
|
||||
$recipients_followup = [];
|
||||
|
||||
if (!empty($target_item) && !empty($items)) {
|
||||
$parent = $items[0];
|
||||
|
||||
$fields = ['network', 'author-id', 'author-link', 'author-network', 'owner-id'];
|
||||
$fields = ['network', 'private', 'author-id', 'author-link', 'author-network', 'owner-id'];
|
||||
$condition = ['uri' => $target_item['thr-parent'], 'uid' => $target_item['uid']];
|
||||
$thr_parent = Post::selectFirst($fields, $condition);
|
||||
if (empty($thr_parent)) {
|
||||
|
@ -189,6 +191,11 @@ class Notifier
|
|||
$apdelivery = self::activityPubDelivery($cmd, $target_item, $parent, $thr_parent, $a->getQueueValue('priority'), $a->getQueueValue('created'), $owner);
|
||||
$ap_contacts = $apdelivery['contacts'];
|
||||
$delivery_queue_count += $apdelivery['count'];
|
||||
if (($thr_parent['network'] == Protocol::ACTIVITYPUB) && ($thr_parent['private'] == Item::PRIVATE)) {
|
||||
$only_ap_delivery = true;
|
||||
$public_message = false;
|
||||
$diaspora_delivery = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Only deliver threaded replies (comment to a comment) to Diaspora
|
||||
|
@ -421,7 +428,9 @@ class Notifier
|
|||
}
|
||||
|
||||
if (empty($delivery_contacts_stmt)) {
|
||||
if ($followup) {
|
||||
if ($only_ap_delivery) {
|
||||
$recipients = $ap_contacts;
|
||||
} elseif ($followup) {
|
||||
$recipients = $recipients_followup;
|
||||
}
|
||||
$condition = ['id' => $recipients, 'self' => false, 'uid' => [0, $uid],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue