From b020983471bcaf9d78b93031ee35989d4a98adab Mon Sep 17 00:00:00 2001 From: Necrodoom Date: Fri, 1 Mar 2013 20:48:12 +0200 Subject: [PATCH 01/11] messages fix, add /manuclearp and /mangclearp --- .../anjocaido/groupmanager/GroupManager.java | 103 ++++++++++++++---- 1 file changed, 83 insertions(+), 20 deletions(-) diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index 6e75b3a8a..647956a00 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -515,7 +515,7 @@ public class GroupManager extends JavaPlugin { } auxGroup = dataHolder.getGroup(args[1]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[1] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[1] + "' Group doesnt exist!"); return false; } if (auxGroup.isGlobal()) { @@ -605,7 +605,7 @@ public class GroupManager extends JavaPlugin { } auxGroup = dataHolder.getGroup(args[1]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[1] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[1] + "' Group doesnt exist!"); return true; } // Validating permission @@ -643,7 +643,7 @@ public class GroupManager extends JavaPlugin { } auxGroup = dataHolder.getGroup(args[1]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[1] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[1] + "' Group doesnt exist!"); return true; } @@ -675,7 +675,7 @@ public class GroupManager extends JavaPlugin { } auxGroup = dataHolder.getGroup(args[0]); if (auxGroup != null) { - sender.sendMessage(ChatColor.RED + "" + args[0] + " Group already exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group already exist!"); return true; } // Seems OK @@ -848,6 +848,43 @@ public class GroupManager extends JavaPlugin { BukkitPermissions.updatePermissions(targetPlayer); return true; + + case manuclearp: + // Validating state of sender + if (dataHolder == null || permissionHandler == null) { + if (!setDefaultWorldHandler(sender)) + return true; + } + // Validating arguments + if (args.length != 1) { + sender.sendMessage(ChatColor.RED + "Review your arguments count! (/manuclearp )"); + return true; + } + + if ((validateOnlinePlayer) && ((match = validatePlayer(args[0], sender)) == null)) { + return false; + } + + if (match != null) { + auxUser = dataHolder.getUser(match.get(0)); + } else { + auxUser = dataHolder.getUser(args[0]); + } + // Validating your permissions + if (!isConsole && !isOpOverride && (senderGroup != null ? permissionHandler.inGroup(auxUser.getName(), senderGroup.getName()) : false)) { + sender.sendMessage(ChatColor.RED + "You can't modify a player with same group as you, or higher."); + return true; + } + for (auxString : auxUser.getPermissionList()) { + auxUser.removePermission(auxString); + } + sender.sendMessage(ChatColor.YELLOW + "You removed all permissions from player '" + auxUser.getName() + "' permissions."); + + targetPlayer = this.getServer().getPlayer(auxUser.getName()); + if (targetPlayer != null) + BukkitPermissions.updatePermissions(targetPlayer); + + return true; case manulistp: // Validating state of sender @@ -995,7 +1032,7 @@ public class GroupManager extends JavaPlugin { auxGroup = dataHolder.getGroup(args[0]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[0] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); return false; } // Validating your permissions @@ -1069,7 +1106,7 @@ public class GroupManager extends JavaPlugin { auxGroup = dataHolder.getGroup(args[0]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[0] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); return true; } // Validating your permissions @@ -1081,8 +1118,8 @@ public class GroupManager extends JavaPlugin { // Validating permissions of user permissionResult = permissionHandler.checkGroupOnlyPermission(auxGroup, auxString); if (permissionResult.resultType.equals(PermissionCheckResult.Type.NOTFOUND)) { - sender.sendMessage(ChatColor.RED + "The group doesn't have direct access to that permission."); - return false; + sender.sendMessage(ChatColor.YELLOW + "The group doesn't have direct access to that permission."); + return true; } if (!auxGroup.hasSamePermissionNode(auxString)) { sender.sendMessage(ChatColor.RED + "This permission node doesn't match any node."); @@ -1096,6 +1133,32 @@ public class GroupManager extends JavaPlugin { BukkitPermissions.updateAllPlayers(); return true; + + case mangclearp: + // Validating state of sender + if (dataHolder == null || permissionHandler == null) { + if (!setDefaultWorldHandler(sender)) + return true; + } + // Validating arguments + if (args.length != 1) { + sender.sendMessage(ChatColor.RED + "Review your arguments count! (/mangclearp )"); + return true; + } + + auxGroup = dataHolder.getGroup(args[0]); + if (auxGroup == null) { + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); + return true; + } + for (auxString : auxGroup.getPermissionList()) { + auxGroup.removePermission(auxString); + } + sender.sendMessage(ChatColor.YELLOW + "You removed all permissions from group '" + auxGroup.getName() + "' permissions."); + + BukkitPermissions.updateAllPlayers(); + + return true; case manglistp: // Validating state of sender @@ -1110,7 +1173,7 @@ public class GroupManager extends JavaPlugin { } auxGroup = dataHolder.getGroup(args[0]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[0] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); return true; } // Validating permission @@ -1166,7 +1229,7 @@ public class GroupManager extends JavaPlugin { auxGroup = dataHolder.getGroup(args[0]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[0] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); return true; } // Validating permission @@ -1201,12 +1264,12 @@ public class GroupManager extends JavaPlugin { } auxGroup = dataHolder.getGroup(args[0]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[0] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); return true; } auxGroup2 = dataHolder.getGroup(args[1]); if (auxGroup2 == null) { - sender.sendMessage(ChatColor.RED + "" + args[1] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[1] + "' Group doesnt exist!"); return true; } if (auxGroup.isGlobal()) { @@ -1240,12 +1303,12 @@ public class GroupManager extends JavaPlugin { } auxGroup = dataHolder.getGroup(args[0]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[0] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); return true; } auxGroup2 = dataHolder.getGroup(args[1]); if (auxGroup2 == null) { - sender.sendMessage(ChatColor.RED + "" + args[1] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[1] + "' Group doesnt exist!"); return true; } if (auxGroup.isGlobal()) { @@ -1435,7 +1498,7 @@ public class GroupManager extends JavaPlugin { } auxGroup = dataHolder.getGroup(args[0]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[0] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); return true; } if (auxGroup.isGlobal()) { @@ -1473,7 +1536,7 @@ public class GroupManager extends JavaPlugin { } auxGroup = dataHolder.getGroup(args[0]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[0] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); return true; } if (auxGroup.isGlobal()) { @@ -1504,7 +1567,7 @@ public class GroupManager extends JavaPlugin { } auxGroup = dataHolder.getGroup(args[0]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[0] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); return true; } if (auxGroup.isGlobal()) { @@ -1547,7 +1610,7 @@ public class GroupManager extends JavaPlugin { } auxGroup = dataHolder.getGroup(args[0]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[0] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); return true; } if (auxGroup.isGlobal()) { @@ -1846,7 +1909,7 @@ public class GroupManager extends JavaPlugin { } auxGroup = dataHolder.getGroup(args[1]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[0] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); return true; } if (auxGroup.isGlobal()) { @@ -1902,7 +1965,7 @@ public class GroupManager extends JavaPlugin { } auxGroup = dataHolder.getGroup(args[1]); if (auxGroup == null) { - sender.sendMessage(ChatColor.RED + "" + args[0] + " Group doesnt exist!"); + sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); return true; } if (auxGroup.isGlobal()) { From dba47cb44c3b5209b37105198d753fb8159f6cd5 Mon Sep 17 00:00:00 2001 From: Necrodoom Date: Sat, 2 Mar 2013 09:50:31 +0200 Subject: [PATCH 02/11] fix clear commands change mandemote and manpromote dont make manpromote and mandemote act like manuadd when OP, 3 manuadd commands arent needed. --- .../anjocaido/groupmanager/GroupManager.java | 48 +++++++++++++------ 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index 647956a00..6bcf99d69 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -876,9 +876,16 @@ public class GroupManager extends JavaPlugin { return true; } for (auxString : auxUser.getPermissionList()) { - auxUser.removePermission(auxString); + permissionResult = permissionHandler.checkFullUserPermission(senderUser, auxString); + if (!isConsole && !isOpOverride && (permissionResult.resultType.equals(PermissionCheckResult.Type.NOTFOUND) || permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION))) { + sender.sendMessage(ChatColor.RED + "You can't remove a permission you don't have: '" + auxString + "'."); + } + else + { + auxUser.removePermission(auxString); + } } - sender.sendMessage(ChatColor.YELLOW + "You removed all permissions from player '" + auxUser.getName() + "' permissions."); + sender.sendMessage(ChatColor.YELLOW + "You removed all permissions from player '" + auxUser.getName() + "'."); targetPlayer = this.getServer().getPlayer(auxUser.getName()); if (targetPlayer != null) @@ -1151,10 +1158,18 @@ public class GroupManager extends JavaPlugin { sender.sendMessage(ChatColor.RED + "'" + args[0] + "' Group doesnt exist!"); return true; } + for (auxString : auxGroup.getPermissionList()) { - auxGroup.removePermission(auxString); + permissionResult = permissionHandler.checkFullUserPermission(senderUser, auxString); + if (!isConsole && (permissionResult.resultType.equals(PermissionCheckResult.Type.NOTFOUND) || permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION))) { + sender.sendMessage(ChatColor.RED + "Can't remove a permission you don't have: '" + auxString + "'."); + } + else + { + auxGroup.removePermission(auxString); + } } - sender.sendMessage(ChatColor.YELLOW + "You removed all permissions from group '" + auxGroup.getName() + "' permissions."); + sender.sendMessage(ChatColor.YELLOW + "You removed all permissions from group '" + auxGroup.getName() + "'."); BukkitPermissions.updateAllPlayers(); @@ -1875,16 +1890,21 @@ public class GroupManager extends JavaPlugin { } // WORKING auxString = ""; + String auxString2 = ""; for (Group g : dataHolder.getGroupList()) { auxString += g.getName() + ", "; } for (Group g : getGlobalGroups().getGroupList()) { - auxString += g.getName() + ", "; + auxString2 += g.getName() + ", "; } if (auxString.lastIndexOf(",") > 0) { auxString = auxString.substring(0, auxString.lastIndexOf(",")); } - sender.sendMessage(ChatColor.YELLOW + " Groups Available: " + ChatColor.WHITE + auxString); + if (auxString2.lastIndexOf(",") > 0) { + auxString2 = auxString.substring(0, auxString.lastIndexOf(",")); + } + sender.sendMessage(ChatColor.YELLOW + "Groups Available: " + ChatColor.WHITE + auxString); + sender.sendMessage(ChatColor.YELLOW + "GlobalGroups Available: " + ChatColor.WHITE + auxString2); return true; @@ -1921,19 +1941,19 @@ public class GroupManager extends JavaPlugin { sender.sendMessage(ChatColor.RED + "You can't modify a player with same permissions as you, or higher."); return true; } - if (!isConsole && !isOpOverride && (permissionHandler.hasGroupInInheritance(auxGroup, senderGroup.getName()))) { + if (permissionHandler.hasGroupInInheritance(auxGroup, senderGroup.getName())) { sender.sendMessage(ChatColor.RED + "The destination group can't be the same as yours, or higher."); return true; } - if (!isConsole && !isOpOverride && (!permissionHandler.inGroup(senderUser.getName(), auxUser.getGroupName()) || !permissionHandler.inGroup(senderUser.getName(), auxGroup.getName()))) { + if (!permissionHandler.inGroup(senderUser.getName(), auxUser.getGroupName()) || !permissionHandler.inGroup(senderUser.getName(), auxGroup.getName())) { sender.sendMessage(ChatColor.RED + "You can't modify a player involving a group that you don't inherit."); return true; } - if (!isConsole && !isOpOverride && (!permissionHandler.hasGroupInInheritance(auxUser.getGroup(), auxGroup.getName()) && !permissionHandler.hasGroupInInheritance(auxGroup, auxUser.getGroupName()))) { + if (!permissionHandler.hasGroupInInheritance(auxUser.getGroup(), auxGroup.getName()) && !permissionHandler.hasGroupInInheritance(auxGroup, auxUser.getGroupName())) { sender.sendMessage(ChatColor.RED + "You can't modify a player using groups with different heritage line."); return true; } - if (!isConsole && !isOpOverride && (!permissionHandler.hasGroupInInheritance(auxGroup, auxUser.getGroupName()))) { + if (!permissionHandler.hasGroupInInheritance(auxGroup, auxUser.getGroupName())) { sender.sendMessage(ChatColor.RED + "The new group must be a higher rank."); return true; } @@ -1977,19 +1997,19 @@ public class GroupManager extends JavaPlugin { sender.sendMessage(ChatColor.RED + "You can't modify a player with same permissions as you, or higher."); return true; } - if (!isConsole && !isOpOverride && (permissionHandler.hasGroupInInheritance(auxGroup, senderGroup.getName()))) { + if (permissionHandler.hasGroupInInheritance(auxGroup, senderGroup.getName())) { sender.sendMessage(ChatColor.RED + "The destination group can't be the same as yours, or higher."); return true; } - if (!isConsole && !isOpOverride && (!permissionHandler.inGroup(senderUser.getName(), auxUser.getGroupName()) || !permissionHandler.inGroup(senderUser.getName(), auxGroup.getName()))) { + if (!permissionHandler.inGroup(senderUser.getName(), auxUser.getGroupName()) || !permissionHandler.inGroup(senderUser.getName(), auxGroup.getName())) { sender.sendMessage(ChatColor.RED + "You can't modify a player involving a group that you don't inherit."); return true; } - if (!isConsole && !isOpOverride && (!permissionHandler.hasGroupInInheritance(auxUser.getGroup(), auxGroup.getName()) && !permissionHandler.hasGroupInInheritance(auxGroup, auxUser.getGroupName()))) { + if (!permissionHandler.hasGroupInInheritance(auxUser.getGroup(), auxGroup.getName()) && !permissionHandler.hasGroupInInheritance(auxGroup, auxUser.getGroupName())) { sender.sendMessage(ChatColor.RED + "You can't modify a player using groups with different inheritage line."); return true; } - if (!isConsole && !isOpOverride && (permissionHandler.hasGroupInInheritance(auxGroup, auxUser.getGroupName()))) { + if (permissionHandler.hasGroupInInheritance(auxGroup, auxUser.getGroupName())) { sender.sendMessage(ChatColor.RED + "The new group must be a lower rank."); return true; } From 42edd14939c3c18abbc13f817d74db5209c60548 Mon Sep 17 00:00:00 2001 From: Necrodoom Date: Sat, 2 Mar 2013 09:56:38 +0200 Subject: [PATCH 03/11] Update GroupManagerPermissions.java --- .../anjocaido/groupmanager/utils/GroupManagerPermissions.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java index 020e4c6f1..19d8d5ed0 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java @@ -19,10 +19,12 @@ public enum GroupManagerPermissions { mangdel, manuaddp, manudelp, + manuclearp, manulistp, manucheckp, mangaddp, mangdelp, + mangclearp, manglistp, mangcheckp, mangaddi, From 69c40a2f1ab7711f41475d885166c620d8ddb0d7 Mon Sep 17 00:00:00 2001 From: Necrodoom Date: Sat, 2 Mar 2013 10:03:45 +0200 Subject: [PATCH 04/11] add new commands, add alias to listgroups --- EssentialsGroupManager/src/plugin.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/EssentialsGroupManager/src/plugin.yml b/EssentialsGroupManager/src/plugin.yml index 3aec73096..25593bafc 100644 --- a/EssentialsGroupManager/src/plugin.yml +++ b/EssentialsGroupManager/src/plugin.yml @@ -33,13 +33,17 @@ commands: usage: / permissions: groupmanager.mangdel manuaddp: - description: Add permissions diretly to the player. + description: Add permissions directly to the player. usage: / permissions: groupmanager.manuaddp manudelp: - description: Removes permissions diretly from the player. + description: Removes permissions directly from the player. usage: / permissions: groupmanager.manudelp + manuclearp: + description: Removes all permissions of a player. + usage: / + permissions: groupmanager.manuclearp manulistp: description: List all permissionss from a player. usage: / @@ -56,6 +60,10 @@ commands: description: Removes permissions from a group. usage: / permissions: groupmanager.mangdelp + mangclearp: + description: Removes all permissions of a group. + usage: / + permissions: groupmanager.mangdelp manglistp: description: Lists all permissionss from a group. usage: / @@ -133,6 +141,7 @@ commands: usage: / [world] permissions: groupmanager.manload listgroups: + aliases: [manglist] description: List the groups available. usage: / permissions: groupmanager.listgroups @@ -172,4 +181,4 @@ commands: Permissions: groupmanager.op: description: User is treated as an op when using the GroupManager commands. - default: false \ No newline at end of file + default: false From 061794e86d73cb999bc06fb5a8b36c81e3ad33ff Mon Sep 17 00:00:00 2001 From: Necrodoom Date: Sun, 3 Mar 2013 18:35:05 +0200 Subject: [PATCH 05/11] add mising isopoverride check --- .../src/org/anjocaido/groupmanager/GroupManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index 6bcf99d69..965203100 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -1118,7 +1118,7 @@ public class GroupManager extends JavaPlugin { } // Validating your permissions permissionResult = permissionHandler.checkFullUserPermission(senderUser, auxString); - if (!isConsole && (permissionResult.resultType.equals(PermissionCheckResult.Type.NOTFOUND) || permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION))) { + if (!isConsole && !isOpOverride && (permissionResult.resultType.equals(PermissionCheckResult.Type.NOTFOUND) || permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION))) { sender.sendMessage(ChatColor.RED + "Can't remove a permission you don't have."); return true; } @@ -1161,7 +1161,7 @@ public class GroupManager extends JavaPlugin { for (auxString : auxGroup.getPermissionList()) { permissionResult = permissionHandler.checkFullUserPermission(senderUser, auxString); - if (!isConsole && (permissionResult.resultType.equals(PermissionCheckResult.Type.NOTFOUND) || permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION))) { + if (!isConsole && !isOpOverride && (permissionResult.resultType.equals(PermissionCheckResult.Type.NOTFOUND) || permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION))) { sender.sendMessage(ChatColor.RED + "Can't remove a permission you don't have: '" + auxString + "'."); } else From fd3cdde3546ca44fc98d427920955f27b295dd79 Mon Sep 17 00:00:00 2001 From: Necrodoom Date: Sat, 9 Mar 2013 15:12:15 +0200 Subject: [PATCH 06/11] fix alias --- EssentialsGroupManager/src/plugin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EssentialsGroupManager/src/plugin.yml b/EssentialsGroupManager/src/plugin.yml index 25593bafc..c3443f3bd 100644 --- a/EssentialsGroupManager/src/plugin.yml +++ b/EssentialsGroupManager/src/plugin.yml @@ -141,7 +141,7 @@ commands: usage: / [world] permissions: groupmanager.manload listgroups: - aliases: [manglist] + aliases: [manlistg] description: List the groups available. usage: / permissions: groupmanager.listgroups From 973e918d3adbdf04776e117ab640b3ae5abe4afd Mon Sep 17 00:00:00 2001 From: Necrodoom Date: Sun, 10 Mar 2013 14:42:03 +0200 Subject: [PATCH 07/11] readd some checks --- .../src/org/anjocaido/groupmanager/GroupManager.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index 965203100..e27389d7a 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -1941,11 +1941,11 @@ public class GroupManager extends JavaPlugin { sender.sendMessage(ChatColor.RED + "You can't modify a player with same permissions as you, or higher."); return true; } - if (permissionHandler.hasGroupInInheritance(auxGroup, senderGroup.getName())) { + if (!isConsole && !isOpOverride && (permissionHandler.hasGroupInInheritance(auxGroup, senderGroup.getName()))) { sender.sendMessage(ChatColor.RED + "The destination group can't be the same as yours, or higher."); return true; } - if (!permissionHandler.inGroup(senderUser.getName(), auxUser.getGroupName()) || !permissionHandler.inGroup(senderUser.getName(), auxGroup.getName())) { + if (!isConsole && !isOpOverride && (!permissionHandler.inGroup(senderUser.getName(), auxUser.getGroupName()) || !permissionHandler.inGroup(senderUser.getName(), auxGroup.getName()))) { sender.sendMessage(ChatColor.RED + "You can't modify a player involving a group that you don't inherit."); return true; } @@ -1997,11 +1997,11 @@ public class GroupManager extends JavaPlugin { sender.sendMessage(ChatColor.RED + "You can't modify a player with same permissions as you, or higher."); return true; } - if (permissionHandler.hasGroupInInheritance(auxGroup, senderGroup.getName())) { + if (!isConsole && !isOpOverride && (permissionHandler.hasGroupInInheritance(auxGroup, senderGroup.getName()))) { sender.sendMessage(ChatColor.RED + "The destination group can't be the same as yours, or higher."); return true; } - if (!permissionHandler.inGroup(senderUser.getName(), auxUser.getGroupName()) || !permissionHandler.inGroup(senderUser.getName(), auxGroup.getName())) { + if (!isConsole && !isOpOverride && (!permissionHandler.inGroup(senderUser.getName(), auxUser.getGroupName()) || !permissionHandler.inGroup(senderUser.getName(), auxGroup.getName()))) { sender.sendMessage(ChatColor.RED + "You can't modify a player involving a group that you don't inherit."); return true; } From 231f9d49c1326f02253a8b121e38d2d92f5e71e3 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Thu, 28 Mar 2013 13:10:17 +0000 Subject: [PATCH 08/11] Fix loops. --- .../org/anjocaido/groupmanager/GroupManager.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index e27389d7a..10e970de9 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -875,14 +875,14 @@ public class GroupManager extends JavaPlugin { sender.sendMessage(ChatColor.RED + "You can't modify a player with same group as you, or higher."); return true; } - for (auxString : auxUser.getPermissionList()) { - permissionResult = permissionHandler.checkFullUserPermission(senderUser, auxString); + for (String perm : auxUser.getPermissionList()) { + permissionResult = permissionHandler.checkFullUserPermission(senderUser, perm); if (!isConsole && !isOpOverride && (permissionResult.resultType.equals(PermissionCheckResult.Type.NOTFOUND) || permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION))) { - sender.sendMessage(ChatColor.RED + "You can't remove a permission you don't have: '" + auxString + "'."); + sender.sendMessage(ChatColor.RED + "You can't remove a permission you don't have: '" + perm + "'."); } else { - auxUser.removePermission(auxString); + auxUser.removePermission(perm); } } sender.sendMessage(ChatColor.YELLOW + "You removed all permissions from player '" + auxUser.getName() + "'."); @@ -1159,14 +1159,14 @@ public class GroupManager extends JavaPlugin { return true; } - for (auxString : auxGroup.getPermissionList()) { - permissionResult = permissionHandler.checkFullUserPermission(senderUser, auxString); + for (String perm : auxGroup.getPermissionList()) { + permissionResult = permissionHandler.checkFullUserPermission(senderUser, perm); if (!isConsole && !isOpOverride && (permissionResult.resultType.equals(PermissionCheckResult.Type.NOTFOUND) || permissionResult.resultType.equals(PermissionCheckResult.Type.NEGATION))) { - sender.sendMessage(ChatColor.RED + "Can't remove a permission you don't have: '" + auxString + "'."); + sender.sendMessage(ChatColor.RED + "Can't remove a permission you don't have: '" + perm + "'."); } else { - auxGroup.removePermission(auxString); + auxGroup.removePermission(perm); } } sender.sendMessage(ChatColor.YELLOW + "You removed all permissions from group '" + auxGroup.getName() + "'."); From 519785d09fc1102fd499780a53412e931a2737a3 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Thu, 28 Mar 2013 15:38:18 +0000 Subject: [PATCH 09/11] More Necrodoom fixes. --- .../src/org/anjocaido/groupmanager/GroupManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index 10e970de9..2ad480f0d 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -1901,7 +1901,7 @@ public class GroupManager extends JavaPlugin { auxString = auxString.substring(0, auxString.lastIndexOf(",")); } if (auxString2.lastIndexOf(",") > 0) { - auxString2 = auxString.substring(0, auxString.lastIndexOf(",")); + auxString2 = auxString.substring(0, auxString2.lastIndexOf(",")); } sender.sendMessage(ChatColor.YELLOW + "Groups Available: " + ChatColor.WHITE + auxString); sender.sendMessage(ChatColor.YELLOW + "GlobalGroups Available: " + ChatColor.WHITE + auxString2); From 411b4e2b8ff9a20e299ca850299c1fc241ddd563 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Thu, 28 Mar 2013 16:08:59 +0000 Subject: [PATCH 10/11] another string fix. --- .../src/org/anjocaido/groupmanager/GroupManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index 2ad480f0d..c43c97b01 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -1901,7 +1901,7 @@ public class GroupManager extends JavaPlugin { auxString = auxString.substring(0, auxString.lastIndexOf(",")); } if (auxString2.lastIndexOf(",") > 0) { - auxString2 = auxString.substring(0, auxString2.lastIndexOf(",")); + auxString2 = auxString2.substring(0, auxString2.lastIndexOf(",")); } sender.sendMessage(ChatColor.YELLOW + "Groups Available: " + ChatColor.WHITE + auxString); sender.sendMessage(ChatColor.YELLOW + "GlobalGroups Available: " + ChatColor.WHITE + auxString2); From 59c833aa9ec23dd60cc417c9e5d92b1288826b28 Mon Sep 17 00:00:00 2001 From: evonuts Date: Fri, 19 Apr 2013 12:13:09 +1200 Subject: [PATCH 11/11] Minor grammatical changes to config.yml --- EssentialsGroupManager/src/config.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/EssentialsGroupManager/src/config.yml b/EssentialsGroupManager/src/config.yml index b73671e18..44cfd6242 100644 --- a/EssentialsGroupManager/src/config.yml +++ b/EssentialsGroupManager/src/config.yml @@ -7,20 +7,20 @@ settings: # Default setting for 'mantogglevalidate' # true will cause GroupManager to attempt name matching by default. validate_toggle: true - # ********************************************************************************************************************************** - # *** NOTE: Having this feature enabled, improper use of commandblocks will lead to undesireable permission changes, be alarmed! *** - # ********************************************************************************************************************************** + # ************************************************************************************************************************************************************ + # *** NOTE: Having this feature enabled can allow improper use of Command Blocks which may lead to undesireable permission changes. You have been warned! *** + # ************************************************************************************************************************************************************ allow_commandblocks: false data: save: - # How often GroupManager will save it's data back to groups and users.yml + # How often GroupManager will save it's data back to groups.yml and users.yml minutes: 10 # Number of hours to retain backups (plugins/GroupManager/backup) hours: 24 logging: - # level of detail GroupManager will use when logging. + # Level of detail GroupManager will use when logging. # Acceptable entries are - ALL,CONFIG,FINE,FINER,FINEST,INFO,OFF,SEVERE,WARNING level: INFO