issue #549, ACL has 'public' selected even when restrictive ACL is being used.

This commit is contained in:
zotlabs 2016-10-17 20:52:02 -07:00
parent b37184ae57
commit f31ef3420d
2 changed files with 31 additions and 5 deletions

View File

@ -152,13 +152,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";
}
}
@ -166,7 +189,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?'),

View File

@ -15,10 +15,10 @@
{{/if}}
<label for="acl-select">{{$select_label}}</label>
<select id="acl-select" name="optionsRadios" class="form-control form-group">
<option id="acl-showall" value="public" selected>{{$showall}}</option>
<option id="acl-showall" value="public" {{$public_selected}}>{{$showall}}</option>
{{$groups}}
<option id="acl-onlyme" value="onlyme">{{$onlyme}}</option>
<option id="acl-custom" value="custom">{{$custom}}</option>
<option id="acl-onlyme" value="onlyme" {{$justme_selected}}>{{$onlyme}}</option>
<option id="acl-custom" value="custom" {{$custom_selected}}>{{$custom}}</option>
</select>
{{if $showallOrigin}}