diff --git a/include/acl_selectors.php b/include/acl_selectors.php
index 80d1f1216..dcf0fe9a2 100644
--- a/include/acl_selectors.php
+++ b/include/acl_selectors.php
@@ -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 .= '' . "\r\n";
+ $selected = (($single_group && $rr['hash'] === $allow_gid[0]) ? ' selected = "selected" ' : '');
+ $groups .= '' . "\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?'),
diff --git a/view/tpl/acl_selector.tpl b/view/tpl/acl_selector.tpl
index dbdbd6a56..c23840c16 100755
--- a/view/tpl/acl_selector.tpl
+++ b/view/tpl/acl_selector.tpl
@@ -15,10 +15,10 @@
{{/if}}
{{if $showallOrigin}}