From: Hendrik B. <nh...@us...> - 2009-11-12 22:09:08
|
Update of /cvsroot/arianne/stendhal/src/games/stendhal/server/actions In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv8295/src/games/stendhal/server/actions Modified Files: SentenceAction.java Log Message: check length Index: SentenceAction.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/actions/SentenceAction.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** SentenceAction.java 24 Apr 2009 09:03:23 -0000 1.5 --- SentenceAction.java 12 Nov 2009 22:08:58 -0000 1.6 *************** *** 14,22 **** import static games.stendhal.common.constants.Actions.SENTENCE; import static games.stendhal.common.constants.Actions.VALUE; import games.stendhal.server.entity.player.Player; import marauroa.common.game.RPAction; ! public class SentenceAction implements ActionListener { public static void register() { --- 14,28 ---- import static games.stendhal.common.constants.Actions.SENTENCE; import static games.stendhal.common.constants.Actions.VALUE; + import games.stendhal.common.NotificationType; import games.stendhal.server.entity.player.Player; + + import java.io.UnsupportedEncodingException; + import marauroa.common.game.RPAction; ! import org.apache.log4j.Logger; + public class SentenceAction implements ActionListener { + private static Logger logger = Logger.getLogger(SentenceAction.class); public static void register() { *************** *** 25,32 **** public void onAction(final Player player, final RPAction action) { ! if (action.has(VALUE)) { ! player.setSentence(action.get(VALUE)); ! player.sendPrivateText("Your sentence was updated to: " + action.get(VALUE)); } } } --- 31,51 ---- public void onAction(final Player player, final RPAction action) { ! if (!action.has(VALUE)) { ! player.sendPrivateText(NotificationType.ERROR, "Please use /sentence <sentence>"); ! return; } + + String sentence = action.get(VALUE); + try { + if (sentence.getBytes("UTF-8").length > 250) { + player.sendPrivateText(NotificationType.ERROR, "Your sentence was too long"); + return; + } + } catch (UnsupportedEncodingException e) { + logger.error(e, e); + } + + player.setSentence(sentence); + player.sendPrivateText("Your sentence was updated to: " + action.get(VALUE)); } } |