summaryrefslogtreecommitdiffstats
path: root/EssentialsGroupManager/src
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2013-02-01 00:01:57 +0000
committerKHobbits <rob@khobbits.co.uk>2013-02-01 00:01:57 +0000
commit9c09771845bdbff20433548a6203937b6a232aea (patch)
tree222caed06b254e5a6438b06e7fc96b790308ec55 /EssentialsGroupManager/src
parent8e6ef99ae23b7850b75522b17e13df5bf7759d86 (diff)
downloadEssentials-9c09771845bdbff20433548a6203937b6a232aea.tar
Essentials-9c09771845bdbff20433548a6203937b6a232aea.tar.gz
Essentials-9c09771845bdbff20433548a6203937b6a232aea.tar.lz
Essentials-9c09771845bdbff20433548a6203937b6a232aea.tar.xz
Essentials-9c09771845bdbff20433548a6203937b6a232aea.zip
Make gm API lookup respect offlineperms toggle properly.
Diffstat (limited to 'EssentialsGroupManager/src')
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java
index a221c56a2..f303aea35 100644
--- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java
@@ -789,9 +789,9 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
* We are in offline mode
* and the player has the 'groupmanager.noofflineperms' permission.
*/
- if (user == null || targetPermission == null || targetPermission.isEmpty() ||
- (!Bukkit.getServer().getOnlineMode()
- && (checkPermission(user, "groupmanager.noofflineperms", true).resultType == PermissionCheckResult.Type.FOUND))) {
+ if (user == null || targetPermission == null || targetPermission.isEmpty()
+ || (!Bukkit.getServer().getOnlineMode()
+ && (checkPermission(user, "groupmanager.noofflineperms", false).resultType == PermissionCheckResult.Type.FOUND))) {
PermissionCheckResult result = new PermissionCheckResult();
result.accessLevel = targetPermission;
@@ -1037,6 +1037,15 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
userAccessLevelOffset = 1;
result = PermissionCheckResult.Type.NEGATION;
}
+
+ if (fullPermissionName.equals(userAccessLevel)) {
+ return result;
+ }
+
+ if ("groupmanager.noofflineperms".equals(fullPermissionName)) {
+ result = PermissionCheckResult.Type.NOTFOUND;
+ }
+
if ("*".regionMatches(0, userAccessLevel, userAccessLevelOffset, userAccessLevelLength - userAccessLevelOffset)) {
return result;
}