summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2013-10-05 02:31:19 +0100
committerKHobbits <rob@khobbits.co.uk>2013-10-05 02:31:19 +0100
commit4951c204d2f9755cb2ccd5c320747074d1d71491 (patch)
treec2c9baafce5e34bf0b726dd1d8e11528f16247c1
parent122232a0e709475b596ab0dbaa97be1c293e11bf (diff)
downloadEssentials-4951c204d2f9755cb2ccd5c320747074d1d71491.tar
Essentials-4951c204d2f9755cb2ccd5c320747074d1d71491.tar.gz
Essentials-4951c204d2f9755cb2ccd5c320747074d1d71491.tar.lz
Essentials-4951c204d2f9755cb2ccd5c320747074d1d71491.tar.xz
Essentials-4951c204d2f9755cb2ccd5c320747074d1d71491.zip
Improve nick validation
Now matches nicks against userdata for conflicts Now checks for empty string nicknames
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandnick.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandnick.java b/Essentials/src/com/earth2me/essentials/commands/Commandnick.java
index 25c7207a0..c003dcbdd 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandnick.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandnick.java
@@ -30,14 +30,15 @@ public class Commandnick extends EssentialsLoopCommand
throw new Exception(_("nickDisplayName"));
}
- final String[] nickname = formatNickname(user, args[1]).split(" ");
if (args.length > 1 && user.isAuthorized("essentials.nick.others"))
{
+ final String[] nickname = formatNickname(user, args[1]).split(" ");
loopOfflinePlayers(server, user.getBase(), false, args[0], nickname);
user.sendMessage(_("nickChanged"));
}
else
{
+ final String[] nickname = formatNickname(user, args[0]).split(" ");
updatePlayer(server, user.getBase(), user, nickname);
}
}
@@ -94,23 +95,30 @@ public class Commandnick extends EssentialsLoopCommand
{
throw new Exception(_("nickTooLong"));
}
+ else if (FormatUtil.stripFormat(newNick).length() < 1)
+ {
+ throw new Exception(_("nickNamesAlpha"));
+ }
return newNick;
}
private boolean nickInUse(final Server server, final User target, String nick)
{
- final String lowerNick = nick.toLowerCase(Locale.ENGLISH);
+ final String lowerNick = FormatUtil.stripFormat(nick.toLowerCase(Locale.ENGLISH));
for (final Player onlinePlayer : server.getOnlinePlayers())
{
if (target.getBase() == onlinePlayer)
{
continue;
}
- if (lowerNick.equals(onlinePlayer.getDisplayName().toLowerCase(Locale.ENGLISH))
+ if (lowerNick.equals(FormatUtil.stripFormat(onlinePlayer.getDisplayName().toLowerCase(Locale.ENGLISH)))
|| lowerNick.equals(onlinePlayer.getName().toLowerCase(Locale.ENGLISH)))
{
return true;
- }
+ }
+ }
+ if (ess.getUser(lowerNick) != null) {
+ return true;
}
return false;
}