From ccdfbc721fa0cf6710cce262cbaa219e2803e8c2 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Sun, 12 Feb 2017 15:56:33 -0800 Subject: Create virtual privacy groups for private profile member lists --- include/security.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'include/security.php') diff --git a/include/security.php b/include/security.php index 57b33251f..b49ceec0d 100644 --- a/include/security.php +++ b/include/security.php @@ -553,7 +553,21 @@ function check_form_security_token_ForbiddenOnErr($typename = '', $formname = 'f // var $contact_id = xchan_hash of connection function init_groups_visitor($contact_id) { - $groups = array(); + $groups = []; + + // private profiles are treated as a virtual group + + $r = q("SELECT abook_profile from abook where abook_xchan = '%s' and abook_profile != '' ", + dbesc($contact_id) + ); + if($r) { + foreach($r as $rv) { + $groups[] = 'vp.' . $rv['abook_profile']; + } + } + + // physical groups this channel is a member of + $r = q("SELECT hash FROM groups left join group_member on groups.id = group_member.gid WHERE xchan = '%s' ", dbesc($contact_id) ); -- cgit v1.2.3