From d264a04db45781cd3579f1b8d2f86cbe9325f999 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Mon, 13 Mar 2017 20:43:34 +0000 Subject: [PATCH] Added detection for recursive server aliases (#424) * Added detection for recursive server aliases, close #423 * Oops --- src/pocketmine/command/SimpleCommandMap.php | 12 ++++++++++++ src/pocketmine/lang/locale | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/pocketmine/command/SimpleCommandMap.php b/src/pocketmine/command/SimpleCommandMap.php index c1b54a2bd..56c133549 100644 --- a/src/pocketmine/command/SimpleCommandMap.php +++ b/src/pocketmine/command/SimpleCommandMap.php @@ -243,20 +243,32 @@ class SimpleCommandMap implements CommandMap{ $targets = []; $bad = ""; + $recursive = ""; foreach($commandStrings as $commandString){ $args = explode(" ", $commandString); $command = $this->getCommand($args[0]); + if($command === null){ if(strlen($bad) > 0){ $bad .= ", "; } $bad .= $commandString; + }elseif($args[0] === $alias){ + if($recursive !== ""){ + $recursive .= ", "; + } + $recursive .= $commandString; }else{ $targets[] = $commandString; } } + if($recursive !== ""){ + $this->server->getLogger()->warning($this->server->getLanguage()->translateString("pocketmine.command.alias.recursive", [$alias, $recursive])); + continue; + } + if(strlen($bad) > 0){ $this->server->getLogger()->warning($this->server->getLanguage()->translateString("pocketmine.command.alias.notFound", [$alias, $bad])); continue; diff --git a/src/pocketmine/lang/locale b/src/pocketmine/lang/locale index 7ac7004e2..b30ca5e3b 160000 --- a/src/pocketmine/lang/locale +++ b/src/pocketmine/lang/locale @@ -1 +1 @@ -Subproject commit 7ac7004e2dde7d3e424aef2514f1eb8b98192ea9 +Subproject commit b30ca5e3bdb65c446e22bf777d1dcb04d78b6f7d