]> git.mxchange.org Git - friendica.git/commitdiff
Issue 14153: Don't transmit activities to all participants
authorMichael <heluecht@pirati.ca>
Sun, 19 May 2024 08:37:18 +0000 (08:37 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 19 May 2024 08:37:18 +0000 (08:37 +0000)
src/Protocol/ActivityPub/Transmitter.php

index b97628f78098765e46c04a0fa14029db3ab649db..27b1772b87a819c91dfb2803a1aed4a940d08525 100644 (file)
@@ -765,7 +765,7 @@ class Transmitter
                }
 
                if (!empty($item['parent']) && (!$exclusive || ($item['private'] == Item::PRIVATE))) {
-                       if ($item['private'] == Item::PRIVATE) {
+                       if ($item['private'] == Item::PRIVATE || $item['gravity'] == Item::GRAVITY_ACTIVITY) {
                                $condition = ['parent' => $item['parent'], 'uri-id' => $item['thr-parent-id']];
                        } else {
                                $condition = ['parent' => $item['parent']];
@@ -814,6 +814,14 @@ class Transmitter
                        DBA::close($parents);
                }
 
+               if (!empty($item['quote-uri-id']) && in_array($item['private'], [Item::PUBLIC, Item::UNLISTED])) {
+                       $quoted = Post::selectFirst(['author-link'], ['uri-id' => $item['quote-uri-id']]);
+                       $profile = APContact::getByURL($quoted['author-link'], false);
+                       if (!empty($profile)) {
+                               $data['cc'][] = $profile['url'];
+                       }
+               }
+
                $data['to']       = array_unique($data['to']);
                $data['cc']       = array_unique($data['cc']);
                $data['bcc']      = array_unique($data['bcc']);