[jetrix-cvs] SF.net SVN: jetrix:[845] jetrix/trunk/src/java/net/jetrix/commands/ ModeCommand.java
Brought to you by:
smanux
From: <sm...@us...> - 2010-05-03 15:12:32
|
Revision: 845 http://jetrix.svn.sourceforge.net/jetrix/?rev=845&view=rev Author: smanux Date: 2010-05-03 15:12:26 +0000 (Mon, 03 May 2010) Log Message: ----------- Improved the input validation and the error message of the /mode command Modified Paths: -------------- jetrix/trunk/src/java/net/jetrix/commands/ModeCommand.java Modified: jetrix/trunk/src/java/net/jetrix/commands/ModeCommand.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/commands/ModeCommand.java 2010-05-03 12:59:45 UTC (rev 844) +++ jetrix/trunk/src/java/net/jetrix/commands/ModeCommand.java 2010-05-03 15:12:26 UTC (rev 845) @@ -57,7 +57,7 @@ public String getUsage(Locale locale) { - return "/\" + getAlias() + \" <0-" + modes.length + ">"; + return "/" + getAlias() + " <0-" + (modes.length - 1) + ">"; } public void updateSetting(Settings settings, int[] mode) @@ -76,7 +76,7 @@ Client client = (Client) message.getSource(); Channel channel = client.getChannel(); - if (message.getParameterCount() < 1) + if (message.getParameterCount() == 0) { Locale locale = client.getUser().getLocale(); @@ -89,20 +89,26 @@ } else { + int param = -1; + try { - int param = Integer.parseInt(message.getParameter(0)); - + param = Integer.parseInt(message.getParameter(0)); + } + catch (NumberFormatException e) { } + + if (param >= 0 && param < modes.length) + { updateSetting(channel.getConfig().getSettings(), modes[param]); PlineMessage enabled = new PlineMessage(); enabled.setKey("command.mode.enabled", "key:command.mode.message" + param); channel.send(enabled); } - catch (NumberFormatException e) + else { PlineMessage error = new PlineMessage(); - error.setKey("command.mode.usage" + "<red>/mode</red> <darkBlue><0-9></darkBlue>."); + error.setText("<red>/" + getAlias() + "</red> <blue><0-" + (modes.length - 1) + "></blue>"); client.send(error); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |