diff options
author | zotlabs <mike@macgirvin.com> | 2016-10-17 20:52:02 -0700 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2016-10-17 23:39:53 -0700 |
commit | a7fd4e96f1960f486980393ec99e94ef629af855 (patch) | |
tree | 4c3fa126da0d2afcebf700f730523a59de8fac35 /include | |
parent | a9cae7c9bd8504f307df3ba559edfafc7d086247 (diff) | |
download | volse-hubzilla-a7fd4e96f1960f486980393ec99e94ef629af855.tar.gz volse-hubzilla-a7fd4e96f1960f486980393ec99e94ef629af855.tar.bz2 volse-hubzilla-a7fd4e96f1960f486980393ec99e94ef629af855.zip |
issue #549, ACL has 'public' selected even when restrictive ACL is being used.
Diffstat (limited to 'include')
-rw-r--r-- | include/acl_selectors.php | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 362776b44..63867823f 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -149,13 +149,36 @@ function populate_acl($defaults = null,$show_jotnets = true, $emptyACL_descripti array_walk($deny_gid,'fixacl'); } + + $channel = ((local_channel()) ? \App::get_channel() : ''); + $has_acl = false; + $single_group = false; + $just_me = false; + $custom = false; + + if($allow_cid || $allow_gid || $deny_gid || $deny_cid) { + $has_acl = true; + $custom = true; + } + + if(count($allow_gid) === 1 && (! $allow_cid) && (! $deny_gid) && (! $deny_cid)) { + $single_group = true; + $custom = false; + } + + if(count($allow_cid) === 1 && $channel && $allow_cid[0] = $channel['channel_hash'] && (! $allow_gid) && (! $deny_gid) && (! $deny_cid)) { + $just_me = true; + $custom = false; + } + $r = q("SELECT id, hash, gname FROM groups WHERE deleted = 0 AND uid = %d ORDER BY gname ASC", intval(local_channel()) ); if($r) { foreach($r as $rr) { - $groups .= '<option id="' . $rr['id'] . '" value="' . $rr['hash'] . '">' . $rr['gname'] . '</option>' . "\r\n"; + $selected = (($single_group && $rr['hash'] === $allow_gid[0]) ? ' selected = "selected" ' : ''); + $groups .= '<option id="' . $rr['id'] . '" value="' . $rr['hash'] . '"' . $selected . '>' . $rr['gname'] . '</option>' . "\r\n"; } } @@ -163,7 +186,10 @@ function populate_acl($defaults = null,$show_jotnets = true, $emptyACL_descripti $o = replace_macros($tpl, array( '$showall' => $showall_caption, '$onlyme' => t('Only me'), - '$groups' => $groups, + '$groups' => $groups, + '$public_selected' => (($has_acl) ? false : true), + '$justme_selected' => $just_me, + '$custom_selected' => $custom, '$showallOrigin' => $showall_origin, '$showallIcon' => $showall_icon, '$select_label' => t('Who can see this?'), |