Compare commits

...

2 Commits

Author SHA1 Message Date
Beu afe617b642 add callbacks for PlayerActions 2023-11-01 17:20:05 +01:00
Beu 4b9ea37217 convert value from database to int 2023-11-01 11:17:40 +01:00
2 changed files with 30 additions and 5 deletions

View File

@ -47,6 +47,17 @@ class PlayerActions implements EchoListener, CommunicationListener, UsageInforma
const SPECTATOR_BUT_KEEP_SELECTABLE = 3;
const ECHO_WARN_PLAYER = 'ManiaControl.PlayerManager.WarnPlayer';
/*
* Callback Constants
*/
const CB_PLAYER_FORCED_TO_PLAY = 'PlayerActions.PlayerForcedToPlay';
const CB_PLAYER_FORCED_TO_TEAM = 'PlayerActions.PlayerForcedToTeam';
const CB_PLAYER_FORCED_TO_SPEC = 'PlayerActions.PlayerForcedToSpec';
const CB_PLAYER_MUTED = 'PlayerActions.PlayerMuted';
const CB_PLAYER_WARNED = 'PlayerActions.PlayerWarned';
const CB_PLAYER_KICKED = 'PlayerActions.PlayerKicked';
const CB_PLAYER_BANNED = 'PlayerActions.PlayerBanned';
/*
* Permission Setting Constants
*/
@ -201,6 +212,8 @@ class PlayerActions implements EchoListener, CommunicationListener, UsageInforma
return false;
}
$this->maniaControl->getCallbackManager()->triggerCallback(self::CB_PLAYER_FORCED_TO_TEAM, $target, $teamId);
$message = false;
$teamName = '';
if ($teamId === self::TEAM_BLUE) {
@ -229,7 +242,7 @@ class PlayerActions implements EchoListener, CommunicationListener, UsageInforma
if ($message) {
$this->maniaControl->getChat()->sendInformation($message);
Logger::logInfo($chatMessage, true);
Logger::logInfo($message, true);
}
return true;
@ -281,6 +294,8 @@ class PlayerActions implements EchoListener, CommunicationListener, UsageInforma
}
}
$this->maniaControl->getCallbackManager()->triggerCallback(self::CB_PLAYER_FORCED_TO_PLAY, $target);
// Announce force
if ($displayAnnouncement) {
if ($calledByAdmin) {
@ -340,6 +355,8 @@ class PlayerActions implements EchoListener, CommunicationListener, UsageInforma
return false;
}
$this->maniaControl->getCallbackManager()->triggerCallback(self::CB_PLAYER_FORCED_TO_SPEC, $target);
if ($calledByAdmin) {
$title = $admin->getAuthLevelName();
$message = $this->maniaControl->getChat()->formatMessage(
@ -460,6 +477,8 @@ class PlayerActions implements EchoListener, CommunicationListener, UsageInforma
return false;
}
$this->maniaControl->getCallbackManager()->triggerCallback(self::CB_PLAYER_MUTED, $target);
if ($calledByAdmin) {
$title = $admin->getAuthLevelName();
$message = $this->maniaControl->getChat()->formatMessage(
@ -561,6 +580,8 @@ class PlayerActions implements EchoListener, CommunicationListener, UsageInforma
// Display manialink
$this->maniaControl->getManialinkManager()->displayWidget($maniaLink, $target);
$this->maniaControl->getCallbackManager()->triggerCallback(self::CB_PLAYER_WARNED, $target);
if ($calledByAdmin) {
$title = $admin->getAuthLevelName();
$message = $this->maniaControl->getChat()->formatMessage(
@ -625,6 +646,8 @@ class PlayerActions implements EchoListener, CommunicationListener, UsageInforma
}
}
$this->maniaControl->getCallbackManager()->triggerCallback(self::CB_PLAYER_KICKED, $target);
if ($calledByAdmin) {
$title = $admin->getAuthLevelName();
$message = $this->maniaControl->getChat()->formatMessage(
@ -679,6 +702,8 @@ class PlayerActions implements EchoListener, CommunicationListener, UsageInforma
return;
}
$this->maniaControl->getCallbackManager()->triggerCallback(self::CB_PLAYER_BANNED, $target);
$title = $admin->getAuthLevelName();
$message = $this->maniaControl->getChat()->formatMessage(
"{$title} %s banned %s!",

View File

@ -600,12 +600,12 @@ class PlayerManager implements CallbackListener, TimerListener, CommunicationLis
}
$player = new Player($this->maniaControl, false);
$player->index = $row->index;
$player->index = intval($row->index);
$player->login = $row->login;
$player->rawNickname = $row->nickname;
$player->nickname = Formatter::stripDirtyCodes($player->rawNickname);
$player->path = $row->path;
$player->authLevel = $row->authLevel;
$player->authLevel = intval($row->authLevel);
return $player;
}
@ -715,12 +715,12 @@ class PlayerManager implements CallbackListener, TimerListener, CommunicationLis
}
$player = new Player($this->maniaControl, false);
$player->index = $playerIndex;
$player->index = intval($playerIndex);
$player->login = $row->login;
$player->rawNickname = $row->nickname;
$player->nickname = Formatter::stripDirtyCodes($player->rawNickname);
$player->path = $row->path;
$player->authLevel = $row->authLevel;
$player->authLevel = intval($row->authLevel);
return $player;
}