From 9b9ac2f97e5165e3ee3a2b2e0eb7290c2701464b Mon Sep 17 00:00:00 2001 From: RDeckard Date: Sat, 14 Sep 2013 18:52:39 +0200 Subject: [PATCH 1/5] Create About 0.0.4.md --- About 0.0.4.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 About 0.0.4.md diff --git a/About 0.0.4.md b/About 0.0.4.md new file mode 100644 index 0000000..e5a5fd8 --- /dev/null +++ b/About 0.0.4.md @@ -0,0 +1,20 @@ +About 0.0.4 + +Sorry for my English, i'm french. Also, i never used GitHub before. + +I made 2 modifications for this 0.0.4. + +- Bug fix : when one or more protect plugins handled by QuickSignReloaded (WorldGuard, Residence, Regios, LWC or ChestShop) are load on the server but NOT all of them, the selection was forbidden unless player has the quicksign.freeuse permission. + +- Also, I add a rules for allow the sign selection : it must don't contain a line with a '[]' expression ! This allow to protect a lot of sign created by some plugins that QuickSign don't handled. +A permission was created to bypass this protection : quicksign.selbracketssign. + +It was Compiled against Bukkit 1.5.2 like 0.0.3 version, but it works perfectly in 1.6.2 ! + +Gemil01, I let you, if you want, update QuickSignReloaded at http://dev.bukkit.org. + +I only update/change 4 files : +-handler/SelectionHandler.java +-permission/permission.java +-util/BlackList.java +-This ReadMe. From 622ae97cab218aa4a62b1721849a2d39277ca548 Mon Sep 17 00:00:00 2001 From: RDeckard Date: Sat, 14 Sep 2013 18:55:17 +0200 Subject: [PATCH 2/5] V 0.0.4 --- src/plugin.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugin.yml b/src/plugin.yml index 1d6d90f..a9d244f 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -1,6 +1,6 @@ name: QuickSignReloaded main: de.cubecontinuum.Quicksign.QuickSign -version: 0.0.3 +version: 0.0.4 commands: qs: description: Toggles QuickSign. @@ -62,5 +62,9 @@ permissions: description: Allows to place console command signs quicksign.usespout: description: Allows to use Spout GUI + quicksign.ignoreblacklist: + description: Bypass Black_list.yml + quicksign.selbracketssign: + description: Allows to select signs that contains square brackets quicksign.editchestshopsigns: description: Allows to edit signs that are designated ChestShop signs (dangerous) From 2d9e071f1676acdc4e7a29e6a3132b1b4bd6d79a Mon Sep 17 00:00:00 2001 From: RDeckard Date: Sat, 14 Sep 2013 18:57:13 +0200 Subject: [PATCH 3/5] Bug fix (cf. "about 0.0.4.md") --- .../Quicksign/handler/SelectionHandler.java | 39 ++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/src/de/cubecontinuum/Quicksign/handler/SelectionHandler.java b/src/de/cubecontinuum/Quicksign/handler/SelectionHandler.java index 1469950..98a5a07 100644 --- a/src/de/cubecontinuum/Quicksign/handler/SelectionHandler.java +++ b/src/de/cubecontinuum/Quicksign/handler/SelectionHandler.java @@ -275,13 +275,13 @@ public boolean checkForSelectionRights(Player player, Block block) { if (wg == null && !residence && regiosAPI == null && lwc == null && !chestShop) { - return plugin.hasPermissions(player, Permission.USE); + return plugin.hasPermissions(player, Permission.USE); } if (plugin.hasPermissions(player, Permission.FREE_USE)) { - return true; + return true; } @@ -300,10 +300,15 @@ && checkForWGOwnership(player, location, world)) { } else if (plugin.hasPermissions(player, Permission.WG_CAN_BUILD) && checkForWGBuildPermissions(player, location, world)) { - wgPerm = true; + wgPerm = true; } - } + } else { + + wgPerm = true; + + } + if (residence) { @@ -318,7 +323,11 @@ && checkForResidencePerms(world, location, player, false)) { residencePerm = true; } - } + } else { + + residencePerm = true; + + } if (regiosAPI != null) { @@ -333,7 +342,11 @@ && checkForRegiosPerms(player, false)) { regiosPerm = true; } - } + } else { + + regiosPerm = true; + + } if (lwc != null) { @@ -348,7 +361,11 @@ && checkForLWCPerms(player, block, false)) { lwcPerm = true; } - } + } else { + + lwcPerm = true; + + } if (chestShop) { @@ -361,8 +378,12 @@ && chekForChestShopPerms(player, (Sign) block.getState())) { } } - } - + } else { + + chestShopPerm = true; + + } + return wgPerm && residencePerm && regiosPerm && lwcPerm && chestShopPerm; } From 158b1a58f62bd5a6a847b4d7c3bdfe5b3491e9af Mon Sep 17 00:00:00 2001 From: RDeckard Date: Sat, 14 Sep 2013 19:00:08 +0200 Subject: [PATCH 4/5] add a rules for allow the sign selection Now a sign must don't contain a line with a '[]' expression to be selected. This allow to protect a lot of sign created by some plugins that QuickSign don't handled. A permission was created to bypass this protection : quicksign.selbracketssign. --- .../Quicksign/util/BlackList.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/de/cubecontinuum/Quicksign/util/BlackList.java b/src/de/cubecontinuum/Quicksign/util/BlackList.java index e093ec8..a6110a1 100644 --- a/src/de/cubecontinuum/Quicksign/util/BlackList.java +++ b/src/de/cubecontinuum/Quicksign/util/BlackList.java @@ -6,8 +6,10 @@ import java.util.HashSet; import java.util.List; import java.util.Set; + import de.cubecontinuum.Quicksign.QuickSign; import de.cubecontinuum.Quicksign.permission.Permission; + import org.bukkit.block.Sign; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; @@ -69,6 +71,16 @@ public boolean allows(String line, Player player) { } } + + if (!plugin.hasPermissions(player, + Permission.SEL_BRACKETS_SIGN)) { + + if (checkForBRACKETS(line)) { + + return false; + + } + } if (!plugin.hasPermissions(player, Permission.ALLOW_ICS)) { @@ -98,6 +110,19 @@ public boolean allows(String[] lines, Player player) { } } } + + if (!plugin.hasPermissions(player, + Permission.SEL_BRACKETS_SIGN)) { + + for (String line : lines) { + + if (checkForBRACKETS(line)) { + + return false; + + } + } + } if (!plugin.hasPermissions(player, Permission.ALLOW_ICS)) { @@ -138,4 +163,19 @@ private boolean checkForIC(String txt) { return false; } + + private boolean checkForBRACKETS(String txt) { + //[] + if (txt.length() >= 2) { + + if (txt.charAt(0) == '[' && txt.charAt(txt.length()-1) == ']') { + + return true; + + } + } + + return false; + + } } From fd2c7a1114736ff82e807b565a8493c05c58fbf8 Mon Sep 17 00:00:00 2001 From: RDeckard Date: Sun, 15 Sep 2013 21:29:19 +0200 Subject: [PATCH 5/5] Merge remote-tracking branch 'origin/patch-5' into patch-1 --- src/de/cubecontinuum/Quicksign/permission/Permission.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/de/cubecontinuum/Quicksign/permission/Permission.java b/src/de/cubecontinuum/Quicksign/permission/Permission.java index 234c726..5fdda4d 100644 --- a/src/de/cubecontinuum/Quicksign/permission/Permission.java +++ b/src/de/cubecontinuum/Quicksign/permission/Permission.java @@ -36,6 +36,7 @@ public enum Permission { PLACE_CONSOLE_COMMAND_SIGNS("quicksign.placeconcommandsigns"), USE_SPOUT("quicksign.usespout"), IGNORE_BLACK_LIST("quicksign.ignoreblacklist"), + SEL_BRACKETS_SIGN("quicksign.selbracketssign"), CHESTSHOP_EDIT("quicksign.editchestshopsigns"); // private final String nodeString;