mirror of
https://github.com/EssentialsX/Essentials.git
synced 2024-12-23 09:37:50 +01:00
Merge remote-tracking branch 'origin/groupmanager' into 2.9
This commit is contained in:
commit
6fdeddd96b
@ -242,15 +242,10 @@ groups:
|
||||
|
||||
g:towny_default:
|
||||
permissions:
|
||||
- towny.chat.general
|
||||
- towny.chat.local
|
||||
|
||||
g:towny_builder:
|
||||
permissions:
|
||||
- towny.town.*
|
||||
- towny.nation.*
|
||||
- towny.chat.town
|
||||
- towny.chat.nation
|
||||
- towny.wild.build.6
|
||||
- towny.wild.destroy.6
|
||||
- towny.wild.destroy.14
|
||||
|
@ -768,6 +768,9 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper for offline server checks.
|
||||
* Looks for the 'groupmanager.noofflineperms' permissions and reports no permissions on servers set to offline.
|
||||
*
|
||||
* Check user and groups with inheritance and Bukkit if bukkit = true return
|
||||
* a PermissionCheckResult.
|
||||
*
|
||||
@ -778,23 +781,42 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
|
||||
*/
|
||||
public PermissionCheckResult checkFullGMPermission(User user, String targetPermission, Boolean checkBukkit) {
|
||||
|
||||
PermissionCheckResult result = new PermissionCheckResult();
|
||||
result.accessLevel = targetPermission;
|
||||
result.resultType = PermissionCheckResult.Type.NOTFOUND;
|
||||
|
||||
if (user == null || targetPermission == null || targetPermission.isEmpty()) {
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Do not push any perms to bukkit if...
|
||||
* Report no permissions under the following conditions.
|
||||
*
|
||||
* We are in offline mode
|
||||
* and the player has the 'groupmanager.noofflineperms' permission.
|
||||
*/
|
||||
if (!Bukkit.getServer().getOnlineMode()
|
||||
&& (checkFullGMPermission(user, "groupmanager.noofflineperms", true).resultType == PermissionCheckResult.Type.FOUND))
|
||||
if (user == null || targetPermission == null || targetPermission.isEmpty() ||
|
||||
(!Bukkit.getServer().getOnlineMode()
|
||||
&& (checkPermission(user, "groupmanager.noofflineperms", true).resultType == PermissionCheckResult.Type.FOUND))) {
|
||||
|
||||
PermissionCheckResult result = new PermissionCheckResult();
|
||||
result.accessLevel = targetPermission;
|
||||
result.resultType = PermissionCheckResult.Type.NOTFOUND;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
return checkPermission(user, targetPermission, checkBukkit);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Check user and groups with inheritance and Bukkit if bukkit = true return
|
||||
* a PermissionCheckResult.
|
||||
*
|
||||
* @param user
|
||||
* @param targetPermission
|
||||
* @param checkBukkit
|
||||
* @return PermissionCheckResult
|
||||
*/
|
||||
private PermissionCheckResult checkPermission(User user, String targetPermission, Boolean checkBukkit) {
|
||||
|
||||
PermissionCheckResult result = new PermissionCheckResult();
|
||||
result.accessLevel = targetPermission;
|
||||
result.resultType = PermissionCheckResult.Type.NOTFOUND;
|
||||
|
||||
if (checkBukkit) {
|
||||
// Check Bukkit perms to support plugins which add perms via code
|
||||
// (Heroes).
|
||||
|
Loading…
Reference in New Issue
Block a user