diff options
author | zotlabs <mike@macgirvin.com> | 2019-02-07 14:13:13 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2019-02-07 14:13:13 -0800 |
commit | 92e6c21210b71acb2e1071171fa8cd7e76640f7b (patch) | |
tree | 786d64833b05028ba59d07d618188f3a5f5c8da8 /include | |
parent | beb26e84f3698106bd145ff21a7477e1775397dd (diff) | |
download | volse-hubzilla-92e6c21210b71acb2e1071171fa8cd7e76640f7b.tar.gz volse-hubzilla-92e6c21210b71acb2e1071171fa8cd7e76640f7b.tar.bz2 volse-hubzilla-92e6c21210b71acb2e1071171fa8cd7e76640f7b.zip |
add missing zot6 conversation completion (required for message repeats)
Diffstat (limited to 'include')
-rwxr-xr-x | include/items.php | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/items.php b/include/items.php index 76ae79e6f..a14e3db3a 100755 --- a/include/items.php +++ b/include/items.php @@ -7,6 +7,7 @@ use Zotlabs\Lib\Enotify; use Zotlabs\Lib\MarkdownSoap; use Zotlabs\Lib\MessageFilter; +use Zotlabs\Lib\ThreadListener; use Zotlabs\Lib\IConfig; use Zotlabs\Access\PermissionLimits; use Zotlabs\Access\AccessList; @@ -141,6 +142,22 @@ function collect_recipients($item, &$private_envelope,$include_groups = true) { // $recipients[] = $sys['xchan_hash']; } + + // Forward to thread listeners, *unless* there is even a remote hint that the item + // might have some privacy attached. This could be (for instance) an ActivityPub DM + // in the middle of a public thread. Unless we can guarantee beyond all doubt that + // this is public, don't allow it to go to thread listeners. + + if(! intval($item['item_private'])) { + $r = ThreadListener::fetch_by_target($item['parent_mid']); + if($r) { + foreach($r as $rv) { + $recipients[] = $rv['portable_id']; + } + } + } + + // Add the authors of any posts in this thread, if they are known to us. // This is specifically designed to forward wall-to-wall posts to the original author, // in case they aren't a connection but have permission to write on our wall. @@ -3867,6 +3884,8 @@ function delete_item_lowlevel($item, $stage = DROPITEM_NORMAL, $force = false) { intval(TERM_OBJ_POST) ); + ThreadListener::delete_by_target($item['mid']); + /** @FIXME remove notifications for this item */ return true; |