@ArrowSuites thanks for the 1.8.4 update.
Just to let you know, your attempt to make the permissions with the new 'enable' option work with XenForo doesn't fully work. Whilst it does in many cases, it doesn't in all. Here is a case, which is likely to occur on some (possibly many) forums:
- Basic members are given limited permissions via the Registered user group (primary user group). Chat isn't given to this group.
- Full members are given enhanced forum permissions via the Full Members (secondary user group) and they can see additional forums. This group is also given chat permissions.
- If any members in either of these groups misbehave, they have some permissions taken away (posts are moderated, they can't edit posts but that's all that it affects) by adding them to the 'Naughty Step' group (secondary user group). This is achieved by setting just two permissions, the edit posts and bypass moderation, to Never in this group. This is the correct way to set up this sort of 'sanction' that will work on any member - it's based on the cumulative permissions that XenForo is designed around.
With the above scenario, let's say that a forum admin would want the 'Naughty Step' group to not have access to chat due to their misbehaviour. This isn't possible with your implementation, as explained below:
Group Permission Disable Mode
Basic members don't have access to chat, so if the Registered group is set to disabled then no-one can use chat as everyone has the Registered group as their primary user group.
Group Permission Enable Mode
Basic members don't have access to chat as it is not enabled for the Registered group. That's great!
Full members do have access to chat as it is enabled for the Full Members group. That's great!
Basic members also in the Naughty Step group don't have access to chat as they don't have it from the Registered group. That's great!
Full members also in the Naughty Step group still have access to chat even if it's not enabled for the Naughty Step group as they have it from the Full Members group. Oh dear!
In a nutshell, if a member has chat permission in one group then there is no way to override that in another group, unlike in XenForo where this can be done with the Never permission.
Possible solutions
Best
In each user group, have a radio permission with 3 options - Not Set (No), Allow and Never that works in a similar way to XenForo permissions.
Not Set (No) - no chat permissions are set at all
Allow - allows that group to chat. Allow effectively takes precedence over any Not Set (No) permissions in other groups (as Not Set means nothing has been set).
Never - disallows chat. Effectively overrides any Allow permissions set in other groups.
This would allow you to set the permissions in just two groups for the above scenario and just one group if there was no Naughty Step group
Would work but not so good
In each user group, have a radio permission with 2 options - enable and disable.
This would allow the above scenario to work as well as ones without a Naughty Step group. However it's not as good as you would need to go into every group to set the permissions.
I hope you will consider further refinement of the permissions so that they will work for all XenForo admins.
