finished and tested first version of echomanager

This commit is contained in:
kremsy
2015-06-19 18:30:44 +02:00
parent 7527561263
commit 351a0b424c
5 changed files with 64 additions and 22 deletions

View File

@ -288,9 +288,10 @@ class PlayerActions {
*
* @param string $adminLogin
* @param string $targetLogin
* @param bool $calledByAdmin
*/
public function warnPlayer($adminLogin, $targetLogin) {
if ($adminLogin != 'EchoListener') {
public function warnPlayer($adminLogin, $targetLogin, $calledByAdmin = true) {
if ($calledByAdmin) {
$admin = $this->maniaControl->getPlayerManager()->getPlayer($adminLogin);
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($admin, self::SETTING_PERMISSION_WARN_PLAYER)
) {
@ -362,11 +363,11 @@ class PlayerActions {
$this->maniaControl->getManialinkManager()->displayWidget($maniaLink, $target);
// Announce warning
if ($adminLogin != 'EchoListener') {
if ($calledByAdmin) {
$title = $this->maniaControl->getAuthenticationManager()->getAuthLevelName($admin->authLevel);
$chatMessage = $title . ' ' . $admin->getEscapedNickname() . ' warned ' . $target->getEscapedNickname() . '!';
} else {
$chatMessage = $target->getEscapedNickname() . ' got an Administrative warning!';
$chatMessage = $target->getEscapedNickname() . ' got an administrative warning!';
}
$this->maniaControl->getChat()->sendInformation($chatMessage);

View File

@ -111,7 +111,7 @@ class PlayerManager implements CallbackListener, TimerListener, EchoListener {
// Echo Warn Command (Usage: sendEcho json_encode("player" => "loginName")
$this->maniaControl->getEchoManager()->registerEchoListener(self::ECHO_WARN_PLAYER, $this, function ($params) {
$this->playerActions->warnPlayer("EchoListener", $params->player);
$this->playerActions->warnPlayer(null, $params->player, false);
});
}