diff options
author | KHobbits <rob@khobbits.co.uk> | 2014-06-14 16:21:05 +0100 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2014-06-14 16:21:05 +0100 |
commit | e4fa340c486d3d54d435f53cd7a1a7d39f55b52a (patch) | |
tree | f4c125a295d262e71969dc750474b2569a194cc4 | |
parent | 7a02e07598fa8b454e806a98d45b8c1390d81b58 (diff) | |
download | Essentials-e4fa340c486d3d54d435f53cd7a1a7d39f55b52a.tar Essentials-e4fa340c486d3d54d435f53cd7a1a7d39f55b52a.tar.gz Essentials-e4fa340c486d3d54d435f53cd7a1a7d39f55b52a.tar.lz Essentials-e4fa340c486d3d54d435f53cd7a1a7d39f55b52a.tar.xz Essentials-e4fa340c486d3d54d435f53cd7a1a7d39f55b52a.zip |
Add optional {2} in 'tempBanned' TL key, for reason.
-rw-r--r-- | Essentials/src/com/earth2me/essentials/commands/Commandtempban.java | 4 | ||||
-rw-r--r-- | Essentials/src/com/earth2me/essentials/utils/DateUtil.java | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtempban.java b/Essentials/src/com/earth2me/essentials/commands/Commandtempban.java index 5310e0c55..2ec7d9962 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandtempban.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandtempban.java @@ -44,7 +44,7 @@ public class Commandtempban extends EssentialsCommand } final String time = getFinalArg(args, 1); final long banTimestamp = DateUtil.parseDateDiff(time, true); - + final String stringDregs = DateUtil.removeTimePattern(time); final long maxBanLength = ess.getSettings().getMaxTempban() * 1000; if (maxBanLength > 0 && ((banTimestamp - GregorianCalendar.getInstance().getTimeInMillis()) > maxBanLength) && sender.isPlayer() && !(ess.getUser(sender.getPlayer()).isAuthorized("essentials.tempban.unlimited"))) @@ -54,7 +54,7 @@ public class Commandtempban extends EssentialsCommand } final String senderName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.NAME; - final String banReason = tl("tempBanned", DateUtil.formatDateDiff(banTimestamp), senderName); + final String banReason = tl("tempBanned", DateUtil.formatDateDiff(banTimestamp), senderName, stringDregs); user.setBanReason(banReason); user.setBanTimeout(banTimestamp); user.getBase().setBanned(true); diff --git a/Essentials/src/com/earth2me/essentials/utils/DateUtil.java b/Essentials/src/com/earth2me/essentials/utils/DateUtil.java index 911e81705..804a1cda6 100644 --- a/Essentials/src/com/earth2me/essentials/utils/DateUtil.java +++ b/Essentials/src/com/earth2me/essentials/utils/DateUtil.java @@ -9,9 +9,15 @@ import java.util.regex.Pattern; public class DateUtil { + private static Pattern timePattern = Pattern.compile("(?:([0-9]+)\\s*y[a-z]*[,\\s]*)?" + "(?:([0-9]+)\\s*mo[a-z]*[,\\s]*)?" + "(?:([0-9]+)\\s*w[a-z]*[,\\s]*)?" + "(?:([0-9]+)\\s*d[a-z]*[,\\s]*)?" + "(?:([0-9]+)\\s*h[a-z]*[,\\s]*)?" + "(?:([0-9]+)\\s*m[a-z]*[,\\s]*)?" + "(?:([0-9]+)\\s*(?:s[a-z]*)?)?", Pattern.CASE_INSENSITIVE); + + public static String removeTimePattern(String input) + { + return timePattern.matcher(input).replaceAll("").trim(); + } + public static long parseDateDiff(String time, boolean future) throws Exception { - Pattern timePattern = Pattern.compile("(?:([0-9]+)\\s*y[a-z]*[,\\s]*)?" + "(?:([0-9]+)\\s*mo[a-z]*[,\\s]*)?" + "(?:([0-9]+)\\s*w[a-z]*[,\\s]*)?" + "(?:([0-9]+)\\s*d[a-z]*[,\\s]*)?" + "(?:([0-9]+)\\s*h[a-z]*[,\\s]*)?" + "(?:([0-9]+)\\s*m[a-z]*[,\\s]*)?" + "(?:([0-9]+)\\s*(?:s[a-z]*)?)?", Pattern.CASE_INSENSITIVE); Matcher m = timePattern.matcher(time); int years = 0; int months = 0; |