aboutsummaryrefslogtreecommitdiffstats
path: root/include/acl_selectors.php
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2016-10-17 20:52:02 -0700
committerzotlabs <mike@macgirvin.com>2016-10-17 23:39:53 -0700
commita7fd4e96f1960f486980393ec99e94ef629af855 (patch)
tree4c3fa126da0d2afcebf700f730523a59de8fac35 /include/acl_selectors.php
parenta9cae7c9bd8504f307df3ba559edfafc7d086247 (diff)
downloadvolse-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/acl_selectors.php')
-rw-r--r--include/acl_selectors.php30
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?'),