Skip to content

Commit

Permalink
don't special case the console username
Browse files Browse the repository at this point in the history
  • Loading branch information
CodeCrafter47 committed Dec 5, 2015
1 parent a05a212 commit f3b24b5
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 159 deletions.
204 changes: 46 additions & 158 deletions src/main/java/net/alpenblock/bungeeperms/PermissionsChecker.java
Expand Up @@ -15,40 +15,12 @@ public class PermissionsChecker
*/
public boolean hasPerm(String sender, String permission)
{
if (!sender.equalsIgnoreCase("CONSOLE"))
User u = pm().getUser(sender);
if (u == null)
{
User u = pm().getUser(sender);
if (u == null)
{
return false;
}
return u.hasPerm(permission);
}
return false;
}

/**
* Checks if a user (or console) has a specific permission (globally). If sender is console this function return true.
*
* @param sender the command sender to check a permission for
* @param permission the permission to check
* @return the result of the permission check
*/
public boolean hasPermOrConsole(String sender, String permission)
{
if (sender.equalsIgnoreCase("CONSOLE"))
{
return true;
}
else
{
User u = pm().getUser(sender);
if (u == null)
{
return false;
}
return u.hasPerm(permission);
return false;
}
return u.hasPerm(permission);
}

/**
Expand All @@ -61,53 +33,18 @@ public boolean hasPermOrConsole(String sender, String permission)
*/
public boolean hasPermOnServer(String sender, String permission, String server)
{
if (!sender.equalsIgnoreCase("CONSOLE"))
User u = pm().getUser(sender);
if (u == null)
{
User u = pm().getUser(sender);
if (u == null)
{
return false;
}

if (server == null)
{
return hasPerm(sender, permission);
}

return u.hasPermOnServer(permission, server);
return false;
}
return false;
}

/**
* Checks if a user (or console) has a specific permission on the given server.
*
* @param sender the command sender to check a permission for
* @param permission the permission to check
* @param server the server for additional permissions
* @return the result of the permission check
*/
public boolean hasPermOrConsoleOnServer(String sender, String permission, String server)
{
if (sender.equalsIgnoreCase("CONSOLE"))
if (server == null)
{
return true;
return hasPerm(sender, permission);
}
else
{
User u = pm().getUser(sender);
if (u == null)
{
return false;
}

if (server == null)
{
return hasPerm(sender, permission);
}

return u.hasPermOnServer(permission, server);
}
return u.hasPermOnServer(permission, server);
}

/**
Expand All @@ -121,64 +58,23 @@ public boolean hasPermOrConsoleOnServer(String sender, String permission, String
*/
public boolean hasPermOnServerInWorld(String sender, String permission, String server, String world)
{
if (!sender.equalsIgnoreCase("CONSOLE"))
User u = pm().getUser(sender);
if (u == null)
{
User u = pm().getUser(sender);
if (u == null)
{
return false;
}

if (server == null)
{
return hasPerm(sender, permission);
}

if (world == null)
{
return hasPermOnServer(sender, permission, server);
}

return u.hasPermOnServerInWorld(permission, server, world);
return false;
}
return false;
}

/**
* Checks if a user (or console) has a specific permission on the given server and in the given world.
*
* @param sender the command sender to check a permission for
* @param permission the permission to check
* @param server the server for additional permissions
* @param world the world for additional permissions
* @return the result of the permission check
*/
public boolean hasPermOrConsoleOnServerInWorld(String sender, String permission, String server, String world)
{
if (sender.equalsIgnoreCase("CONSOLE"))
if (server == null)
{
return true;
return hasPerm(sender, permission);
}
else
{
User u = pm().getUser(sender);
if (u == null)
{
return false;
}

if (server == null)
{
return hasPerm(sender, permission);
}

if (world == null)
{
return hasPermOnServer(sender, permission, server);
}

return u.hasPermOnServerInWorld(permission, server, world);
if (world == null)
{
return hasPermOnServer(sender, permission, server);
}

return u.hasPermOnServerInWorld(permission, server, world);
}

//with wrapped command senders
Expand All @@ -191,7 +87,7 @@ public boolean hasPermOrConsoleOnServerInWorld(String sender, String permission,
*/
public boolean hasPerm(Sender sender, String permission)
{
if (!sender.getName().equalsIgnoreCase("CONSOLE"))
if (!sender.isConsole())
{
User u = pm().getUser(sender.getName());
if (u == null)
Expand All @@ -212,7 +108,7 @@ public boolean hasPerm(Sender sender, String permission)
*/
public boolean hasPermOrConsole(Sender sender, String permission)
{
if (sender.getName().equalsIgnoreCase("CONSOLE"))
if (sender.isConsole())
{
return true;
}
Expand All @@ -236,22 +132,18 @@ public boolean hasPermOrConsole(Sender sender, String permission)
*/
public boolean hasPermOnServer(Sender sender, String permission)
{
if (!sender.getName().equalsIgnoreCase("CONSOLE"))
User u = pm().getUser(sender.getName());
if (u == null)
{
User u = pm().getUser(sender.getName());
if (u == null)
{
return false;
}

if (sender.getServer() == null)
{
return hasPerm(sender, permission);
}
return false;
}

return u.hasPermOnServer(sender, permission, sender.getServer());
if (sender.getServer() == null)
{
return hasPerm(sender, permission);
}
return false;

return u.hasPermOnServer(sender, permission, sender.getServer());
}

/**
Expand All @@ -263,7 +155,7 @@ public boolean hasPermOnServer(Sender sender, String permission)
*/
public boolean hasPermOrConsoleOnServer(Sender sender, String permission)
{
if (sender.getName().equalsIgnoreCase("CONSOLE"))
if (sender.isConsole())
{
return true;
}
Expand Down Expand Up @@ -293,27 +185,23 @@ public boolean hasPermOrConsoleOnServer(Sender sender, String permission)
*/
public boolean hasPermOnServerInWorld(Sender sender, String permission)
{
if (!sender.getName().equalsIgnoreCase("CONSOLE"))
User u = pm().getUser(sender.getName());
if (u == null)
{
User u = pm().getUser(sender.getName());
if (u == null)
{
return false;
}

if (sender.getServer() == null)
{
return hasPerm(sender, permission);
}
return false;
}

if (sender.getWorld()== null)
{
return hasPermOnServer(sender, permission);
}
if (sender.getServer() == null)
{
return hasPerm(sender, permission);
}

return u.hasPermOnServerInWorld(sender, permission, sender.getServer(), sender.getWorld());
if (sender.getWorld() == null)
{
return hasPermOnServer(sender, permission);
}
return false;

return u.hasPermOnServerInWorld(sender, permission, sender.getServer(), sender.getWorld());
}

/**
Expand All @@ -325,7 +213,7 @@ public boolean hasPermOnServerInWorld(Sender sender, String permission)
*/
public boolean hasPermOrConsoleOnServerInWorld(Sender sender, String permission)
{
if (sender.getName().equalsIgnoreCase("CONSOLE"))
if (sender.isConsole())
{
return true;
}
Expand Down
Expand Up @@ -99,7 +99,7 @@ public boolean playerHas(String world, String player, String permission)
String server = Statics.toLower(((BukkitConfig) BungeePerms.getInstance().getConfig()).getServername());
world = Statics.toLower(world);
permission = Statics.toLower(permission);
return BungeePerms.getInstance().getPermissionsChecker().hasPermOrConsoleOnServerInWorld(player, permission, server, world);
return BungeePerms.getInstance().getPermissionsChecker().hasPermOnServerInWorld(player, permission, server, world);
}

@Override
Expand Down

0 comments on commit f3b24b5

Please sign in to comment.