diff options
author | DM42.Net (Matt Dent) <dentm42@dm42.net> | 2019-01-12 22:37:44 -0500 |
---|---|---|
committer | DM42.Net (Matt Dent) <dentm42@dm42.net> | 2019-01-12 22:37:44 -0500 |
commit | 598cbf2210ed6c978ff30be58f0909aa9f93a049 (patch) | |
tree | 5d59aeeec81a28610c8fda06dfc5390744ceae03 /include/items.php | |
parent | f6f4e40a64c771072d0c2425e9cf2f5f42c6cd3e (diff) | |
download | volse-hubzilla-598cbf2210ed6c978ff30be58f0909aa9f93a049.tar.gz volse-hubzilla-598cbf2210ed6c978ff30be58f0909aa9f93a049.tar.bz2 volse-hubzilla-598cbf2210ed6c978ff30be58f0909aa9f93a049.zip |
Add collect_public_recipients hook
Diffstat (limited to 'include/items.php')
-rwxr-xr-x | include/items.php | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/include/items.php b/include/items.php index 02d31fcb5..e5f2be003 100755 --- a/include/items.php +++ b/include/items.php @@ -95,9 +95,24 @@ function collect_recipients($item, &$private_envelope,$include_groups = true) { //$sys = get_sys_channel(); if(array_key_exists('public_policy',$item) && $item['public_policy'] !== 'self') { - $r = q("select abook_xchan, xchan_network from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and abook_self = 0 and abook_pending = 0 and abook_archived = 0 ", + + $hookinfo = [ + 'recipients' => [], + 'item' => $item, + 'private_envelope' => $private_envelope, + 'include_groups' => $include_groups + ]; + + call_hooks('collect_public_recipients',$hookinfo); + + if ($hookinfo['recipients']) { + $r = $hookinfo['recipients']; + } else { + $r = q("select abook_xchan, xchan_network from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and abook_self = 0 and abook_pending = 0 and abook_archived = 0 ", intval($item['uid']) - ); + ); + } + if($r) { // filter out restrictive public_policy settings from remote networks |