aboutsummaryrefslogtreecommitdiffstats
path: root/doc/hook/collect_public_recipients.bb
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2019-01-16 16:52:21 -0800
committerzotlabs <mike@macgirvin.com>2019-01-16 16:52:21 -0800
commit7e29bd10b6a59bc9c1700cfb84dbefb6a8930153 (patch)
treeac49731f7ed9a5071bd4fcf76faaa2003204064c /doc/hook/collect_public_recipients.bb
parent20eea2184bc1336efb811c29e3fb49262ae02262 (diff)
parentde8582ec07d125bf1c7f08cc3d695c33aaaf9d85 (diff)
downloadvolse-hubzilla-7e29bd10b6a59bc9c1700cfb84dbefb6a8930153.tar.gz
volse-hubzilla-7e29bd10b6a59bc9c1700cfb84dbefb6a8930153.tar.bz2
volse-hubzilla-7e29bd10b6a59bc9c1700cfb84dbefb6a8930153.zip
Merge branch 'dev' of https://framagit.org/hubzilla/core into xdev_merge
Diffstat (limited to 'doc/hook/collect_public_recipients.bb')
-rw-r--r--doc/hook/collect_public_recipients.bb42
1 files changed, 42 insertions, 0 deletions
diff --git a/doc/hook/collect_public_recipients.bb b/doc/hook/collect_public_recipients.bb
new file mode 100644
index 000000000..de3f4049e
--- /dev/null
+++ b/doc/hook/collect_public_recipients.bb
@@ -0,0 +1,42 @@
+[h2]collect_public_recipients[/h2]
+
+Replace the default list of public recipients (i.e., all contacts).
+
+Allow plugins to create a list of recipients for public messages instead of the default
+of all channel connections.
+
+Called with the following array:
+ [
+ 'recipients' => [],
+ 'item' => $item,
+ 'private_envelope' => $private_envelope,
+ 'include_groups' => $include_groups
+ ];
+
+[code]
+ if(array_key_exists('public_policy',$item) && $item['public_policy'] !== 'self') {
+
+ $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) {
+
+ . . .
+
+[/code]
+
+see: include/item.php