summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2012-02-16 23:44:13 +0000
committerKHobbits <rob@khobbits.co.uk>2012-02-16 23:44:13 +0000
commitfab9688abb8ac18820a6664d22c52931bda7fc70 (patch)
treeb9792d4a1dc9b2a62e67f88c390f1b0af5a89f73
parentb2dbb3f9e38bdcc05cdb87ce3da4ef10606b6402 (diff)
downloadEssentials-fab9688abb8ac18820a6664d22c52931bda7fc70.tar
Essentials-fab9688abb8ac18820a6664d22c52931bda7fc70.tar.gz
Essentials-fab9688abb8ac18820a6664d22c52931bda7fc70.tar.lz
Essentials-fab9688abb8ac18820a6664d22c52931bda7fc70.tar.xz
Essentials-fab9688abb8ac18820a6664d22c52931bda7fc70.zip
Don't try to use old bPerms API if it is not available.
-rw-r--r--Essentials/src/com/earth2me/essentials/perm/PermissionsHandler.java32
-rw-r--r--Essentials/src/com/earth2me/essentials/perm/SuperpermsHandler.java2
2 files changed, 22 insertions, 12 deletions
diff --git a/Essentials/src/com/earth2me/essentials/perm/PermissionsHandler.java b/Essentials/src/com/earth2me/essentials/perm/PermissionsHandler.java
index aa786934e..70a9e582c 100644
--- a/Essentials/src/com/earth2me/essentials/perm/PermissionsHandler.java
+++ b/Essentials/src/com/earth2me/essentials/perm/PermissionsHandler.java
@@ -1,5 +1,6 @@
package com.earth2me.essentials.perm;
+import com.earth2me.essentials.Util;
import java.util.Collections;
import java.util.List;
import java.util.logging.Level;
@@ -111,17 +112,6 @@ public class PermissionsHandler implements IPermissionsHandler
return;
}
- final Plugin bPermPlugin = pluginManager.getPlugin("bPermissions");
- if (bPermPlugin != null && bPermPlugin.isEnabled())
- {
- if (!(handler instanceof BPermissionsHandler))
- {
- LOGGER.log(Level.INFO, "Essentials: Using bPermissions based permissions.");
- handler = new BPermissionsHandler();
- }
- return;
- }
-
final Plugin GMplugin = pluginManager.getPlugin("GroupManager");
if (GMplugin != null && GMplugin.isEnabled())
{
@@ -155,6 +145,26 @@ public class PermissionsHandler implements IPermissionsHandler
return;
}
+ final Plugin bPermPlugin = pluginManager.getPlugin("bPermissions");
+ if (bPermPlugin != null && bPermPlugin.isEnabled())
+ {
+ final String bVer = bPermPlugin.getDescription().getVersion().replace(".", "");
+ if (Util.isInt(bVer) && Integer.parseInt(bVer) < 284)
+ {
+ if (!(handler instanceof BPermissionsHandler))
+ {
+ LOGGER.log(Level.INFO, "Essentials: Using bPermissions based permissions.");
+ handler = new BPermissionsHandler();
+ }
+ return;
+ }
+ if (!(handler instanceof SuperpermsHandler))
+ {
+ LOGGER.log(Level.INFO, "Essentials: bPermissions api broken, switching to superperms based permissions.");
+ handler = new SuperpermsHandler();
+ }
+ return;
+ }
final Plugin permPlugin = pluginManager.getPlugin("Permissions");
if (permPlugin != null && permPlugin.isEnabled())
{
diff --git a/Essentials/src/com/earth2me/essentials/perm/SuperpermsHandler.java b/Essentials/src/com/earth2me/essentials/perm/SuperpermsHandler.java
index 70a118bcf..2e767cb72 100644
--- a/Essentials/src/com/earth2me/essentials/perm/SuperpermsHandler.java
+++ b/Essentials/src/com/earth2me/essentials/perm/SuperpermsHandler.java
@@ -27,7 +27,7 @@ public class SuperpermsHandler implements IPermissionsHandler
@Override
public boolean inGroup(final Player base, final String group)
{
- return false;
+ return hasPermission(base, "group." + group);
}
@Override