aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Module/Settings.php2
-rw-r--r--doc/acl_dialog_post.html10
-rw-r--r--include/PermissionDescription.php19
3 files changed, 20 insertions, 11 deletions
diff --git a/Zotlabs/Module/Settings.php b/Zotlabs/Module/Settings.php
index 8674ca5e7..a6293e842 100644
--- a/Zotlabs/Module/Settings.php
+++ b/Zotlabs/Module/Settings.php
@@ -1066,7 +1066,7 @@ class Settings extends \Zotlabs\Web\Controller {
'$maxreq' => array('maxreq', t('Maximum Friend Requests/Day:'), intval($channel['channel_max_friend_req']) , t('May reduce spam activity')),
'$permissions' => t('Default Post Permissions'),
'$permdesc' => t("\x28click to open/close\x29"),
- '$aclselect' => populate_acl($perm_defaults, false, \PermissionDescription::fromDescription(t('Use my default audience setting for the type of channel'))),
+ '$aclselect' => populate_acl($perm_defaults, false, \PermissionDescription::fromDescription(t('Use my default audience setting for the type of post'))),
'$suggestme' => $suggestme,
'$group_select' => $group_select,
'$role' => array('permissions_role' , t('Channel permissions category:'), $permissions_role, '', get_roles()),
diff --git a/doc/acl_dialog_post.html b/doc/acl_dialog_post.html
index b387ec08e..80b2c68b6 100644
--- a/doc/acl_dialog_post.html
+++ b/doc/acl_dialog_post.html
@@ -3,13 +3,11 @@
<h2>Post Permissions</h2>
-<p>Sometimes called Access Control List, or ACL, the permissions set who is able to see your new post.</p>
+<p>The permissions dialog lets you select which channels and/or privacy groups can see the post. You can also select who is explicitly denied access. For example, say you are planning a surprise party for a friend. You can send an invitation post to everyone in your <b>Friends</b> group <i>except</i> the friend you are surprising. In this case you "Show" the <b>Friends</b> group but "Don't show" that one person.</p>
-<p>Pressing the ACL button (<i class="fa fa-lock"></i> or <i class="fa fa-unlock"></i>) beside the Submit button will display a dialog in which you can select what channels and/or privacy groups can see the post. You can also select who is explicitly denied access. For example, say you are planning a surprise party for a friend. You can send an invitation post to everyone in your <b>Friends</b> group <i>except</i> the friend you are surprising. In this case you "Show" the <b>Friends</b> group but "Don't show" that one person.</p>
-
-<dl>
-<dt>Tip:</dt>
-<dd>The border color of each channel indicates whether that channel &mdash; or one of the groups it belongs to &mdash; has access to the post. The border color will also indicate when a channel [or group it belongs to] has been expliciyly set to "Don't show".</dd>
+<dl class="text-info dl-terms-large dl-horizontal">
+<dt style="width: 3em;">Tip!</td>
+<dd style="margin-left: 4em;">The border color of each channel indicates whether that channel &mdash; or one of the groups it's a member of &mdash; will have access to the post. The border color will also indicate when a channel, or group it belongs to, has been explicitly set to "Don't show".</dd>
</dl>
<h3>Why can't I edit a post's permissions after I saved it?</h3>
diff --git a/include/PermissionDescription.php b/include/PermissionDescription.php
index d5a3a972c..75dd9ecf7 100644
--- a/include/PermissionDescription.php
+++ b/include/PermissionDescription.php
@@ -32,10 +32,11 @@ class PermissionDescription {
}
/**
- * If the interpretation of an empty ACL can't be summarised with a global default permission
+ * If the interpretation of an empty ACL can't be summarised with a global default permission
* or a specific permission setting then use this method and describe what it means instead.
+ * Remember to localize the description first.
*
- * @param string $description - the caption for the no-ACL option in the ACL dialog.
+ * @param string $description - the localized caption for the no-ACL option in the ACL dialog.
* @return a new instance of PermissionDescription
*/
public static function fromDescription($description) {
@@ -44,8 +45,9 @@ class PermissionDescription {
/**
- * Use this method only if the interpretation of an empty ACL doesn't fall back to a global
- * default permission. You should pass one of the constants from boot.php - PERMS_PUBLIC, PERMS_NETWORK etc.
+ * Use this method only if the interpretation of an empty ACL doesn't fall back to a global
+ * default permission. You should pass one of the constants from boot.php - PERMS_PUBLIC,
+ * PERMS_NETWORK etc.
*
* @param integer $perm - a single enumerated constant permission - PERMS_PUBLIC, PERMS_NETWORK etc.
* @return a new instance of PermissionDescription
@@ -81,6 +83,15 @@ class PermissionDescription {
if (array_key_exists($permname, $global_perms)) {
$permDetails = $global_perms[$permname];
+
+ // It should be OK to always just read the permissions from App::$channel
+ //
+ // App::$profile is a union of channel and profile fields.
+ // The distinction is basically that App::$profile is pointing to the resource
+ // being observed. App::$channel is referring to the current logged-in channel
+ // member (if this is a local channel) e.g. the observer. We only show the ACL
+ // widget to the page owner (observer and observed are the same) so in that case
+ // I believe either may be safely used here.
$channelPerm = \App::$channel[$permDetails[0]];
$result = new PermissionDescription($permDetails[1], $channelPerm);
} else {