Added detection for recursive server aliases (#424)

* Added detection for recursive server aliases, close #423

* Oops
This commit is contained in:
Dylan K. Taylor 2017-03-13 20:43:34 +00:00 committed by GitHub
parent 92193fd27b
commit d264a04db4
2 changed files with 13 additions and 1 deletions

View File

@ -243,20 +243,32 @@ class SimpleCommandMap implements CommandMap{
$targets = []; $targets = [];
$bad = ""; $bad = "";
$recursive = "";
foreach($commandStrings as $commandString){ foreach($commandStrings as $commandString){
$args = explode(" ", $commandString); $args = explode(" ", $commandString);
$command = $this->getCommand($args[0]); $command = $this->getCommand($args[0]);
if($command === null){ if($command === null){
if(strlen($bad) > 0){ if(strlen($bad) > 0){
$bad .= ", "; $bad .= ", ";
} }
$bad .= $commandString; $bad .= $commandString;
}elseif($args[0] === $alias){
if($recursive !== ""){
$recursive .= ", ";
}
$recursive .= $commandString;
}else{ }else{
$targets[] = $commandString; $targets[] = $commandString;
} }
} }
if($recursive !== ""){
$this->server->getLogger()->warning($this->server->getLanguage()->translateString("pocketmine.command.alias.recursive", [$alias, $recursive]));
continue;
}
if(strlen($bad) > 0){ if(strlen($bad) > 0){
$this->server->getLogger()->warning($this->server->getLanguage()->translateString("pocketmine.command.alias.notFound", [$alias, $bad])); $this->server->getLogger()->warning($this->server->getLanguage()->translateString("pocketmine.command.alias.notFound", [$alias, $bad]));
continue; continue;

@ -1 +1 @@
Subproject commit 7ac7004e2dde7d3e424aef2514f1eb8b98192ea9 Subproject commit b30ca5e3bdb65c446e22bf777d1dcb04d78b6f7d