performed code formatting
This commit is contained in:
@ -58,25 +58,40 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
$this->maniaControl = $maniaControl;
|
||||
|
||||
// Callbacks
|
||||
$this->maniaControl->getTimerManager()->registerTimerListening($this, 'each5Seconds', 5000);
|
||||
$this->maniaControl->getCallbackManager()->registerCallbackListener(Callbacks::ONINIT, $this, 'handleOnInit');
|
||||
$this->maniaControl->getCallbackManager()->registerCallbackListener(Callbacks::WARMUPSTATUS, $this, 'handleWarmUpStatus');
|
||||
$this->maniaControl->getTimerManager()
|
||||
->registerTimerListening($this, 'each5Seconds', 5000);
|
||||
$this->maniaControl->getCallbackManager()
|
||||
->registerCallbackListener(Callbacks::ONINIT, $this, 'handleOnInit');
|
||||
$this->maniaControl->getCallbackManager()
|
||||
->registerCallbackListener(Callbacks::WARMUPSTATUS, $this, 'handleWarmUpStatus');
|
||||
|
||||
// Chat commands
|
||||
$this->maniaControl->getCommandManager()->registerCommandListener('setservername', $this, 'commandSetServerName', true, 'Sets the ServerName.');
|
||||
$this->maniaControl->getCommandManager()->registerCommandListener('setpwd', $this, 'commandSetPwd', true, 'Sets play password.');
|
||||
$this->maniaControl->getCommandManager()->registerCommandListener('setspecpwd', $this, 'commandSetSpecPwd', true, 'Sets spectator password.');
|
||||
$this->maniaControl->getCommandManager()->registerCommandListener('setmaxplayers', $this, 'commandSetMaxPlayers', true, 'Sets the maximum number of players.');
|
||||
$this->maniaControl->getCommandManager()->registerCommandListener('setmaxspectators', $this, 'commandSetMaxSpectators', true, 'Sets the maximum number of spectators.');
|
||||
$this->maniaControl->getCommandManager()->registerCommandListener('shutdownserver', $this, 'commandShutdownServer', true, 'Shuts down the ManiaPlanet server.');
|
||||
$this->maniaControl->getCommandManager()->registerCommandListener('systeminfo', $this, 'commandSystemInfo', true, 'Shows system information.');
|
||||
$this->maniaControl->getCommandManager()->registerCommandListener('cancel', $this, 'commandCancelVote', true, 'Cancels the current vote.');
|
||||
$this->maniaControl->getCommandManager()
|
||||
->registerCommandListener('setservername', $this, 'commandSetServerName', true, 'Sets the ServerName.');
|
||||
$this->maniaControl->getCommandManager()
|
||||
->registerCommandListener('setpwd', $this, 'commandSetPwd', true, 'Sets play password.');
|
||||
$this->maniaControl->getCommandManager()
|
||||
->registerCommandListener('setspecpwd', $this, 'commandSetSpecPwd', true, 'Sets spectator password.');
|
||||
$this->maniaControl->getCommandManager()
|
||||
->registerCommandListener('setmaxplayers', $this, 'commandSetMaxPlayers', true, 'Sets the maximum number of players.');
|
||||
$this->maniaControl->getCommandManager()
|
||||
->registerCommandListener('setmaxspectators', $this, 'commandSetMaxSpectators', true, 'Sets the maximum number of spectators.');
|
||||
$this->maniaControl->getCommandManager()
|
||||
->registerCommandListener('shutdownserver', $this, 'commandShutdownServer', true, 'Shuts down the ManiaPlanet server.');
|
||||
$this->maniaControl->getCommandManager()
|
||||
->registerCommandListener('systeminfo', $this, 'commandSystemInfo', true, 'Shows system information.');
|
||||
$this->maniaControl->getCommandManager()
|
||||
->registerCommandListener('cancel', $this, 'commandCancelVote', true, 'Cancels the current vote.');
|
||||
|
||||
// Page actions
|
||||
$this->maniaControl->getManialinkManager()->registerManialinkPageAnswerListener(self::ACTION_SET_PAUSE, $this, 'setPause');
|
||||
$this->maniaControl->getManialinkManager()->registerManialinkPageAnswerListener(self::ACTION_EXTEND_WARMUP, $this, 'commandExtendWarmup');
|
||||
$this->maniaControl->getManialinkManager()->registerManialinkPageAnswerListener(self::ACTION_END_WARMUP, $this, 'commandEndWarmup');
|
||||
$this->maniaControl->getManialinkManager()->registerManialinkPageAnswerListener(self::ACTION_CANCEL_VOTE, $this, 'commandCancelVote');
|
||||
$this->maniaControl->getManialinkManager()
|
||||
->registerManialinkPageAnswerListener(self::ACTION_SET_PAUSE, $this, 'setPause');
|
||||
$this->maniaControl->getManialinkManager()
|
||||
->registerManialinkPageAnswerListener(self::ACTION_EXTEND_WARMUP, $this, 'commandExtendWarmup');
|
||||
$this->maniaControl->getManialinkManager()
|
||||
->registerManialinkPageAnswerListener(self::ACTION_END_WARMUP, $this, 'commandEndWarmup');
|
||||
$this->maniaControl->getManialinkManager()
|
||||
->registerManialinkPageAnswerListener(self::ACTION_CANCEL_VOTE, $this, 'commandCancelVote');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -84,12 +99,18 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
*/
|
||||
public function handleOnInit() {
|
||||
// Permissions
|
||||
$this->maniaControl->getAuthenticationManager()->definePermissionLevel(self::SETTING_PERMISSION_SHUTDOWN_SERVER, AuthenticationManager::AUTH_LEVEL_SUPERADMIN);
|
||||
$this->maniaControl->getAuthenticationManager()->definePermissionLevel(self::SETTING_PERMISSION_SHOW_SYSTEMINFO, AuthenticationManager::AUTH_LEVEL_SUPERADMIN);
|
||||
$this->maniaControl->getAuthenticationManager()->definePermissionLevel(self::SETTING_PERMISSION_CHANGE_SERVERSETTINGS, AuthenticationManager::AUTH_LEVEL_ADMIN);
|
||||
$this->maniaControl->getAuthenticationManager()->definePermissionLevel(self::SETTING_PERMISSION_SET_PAUSE, AuthenticationManager::AUTH_LEVEL_MODERATOR);
|
||||
$this->maniaControl->getAuthenticationManager()->definePermissionLevel(self::SETTING_PERMISSION_CANCEL_VOTE, AuthenticationManager::AUTH_LEVEL_MODERATOR);
|
||||
$this->maniaControl->getAuthenticationManager()->definePermissionLevel(self::SETTING_PERMISSION_HANDLE_WARMUP, AuthenticationManager::AUTH_LEVEL_MODERATOR);
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->definePermissionLevel(self::SETTING_PERMISSION_SHUTDOWN_SERVER, AuthenticationManager::AUTH_LEVEL_SUPERADMIN);
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->definePermissionLevel(self::SETTING_PERMISSION_SHOW_SYSTEMINFO, AuthenticationManager::AUTH_LEVEL_SUPERADMIN);
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->definePermissionLevel(self::SETTING_PERMISSION_CHANGE_SERVERSETTINGS, AuthenticationManager::AUTH_LEVEL_ADMIN);
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->definePermissionLevel(self::SETTING_PERMISSION_SET_PAUSE, AuthenticationManager::AUTH_LEVEL_MODERATOR);
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->definePermissionLevel(self::SETTING_PERMISSION_CANCEL_VOTE, AuthenticationManager::AUTH_LEVEL_MODERATOR);
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->definePermissionLevel(self::SETTING_PERMISSION_HANDLE_WARMUP, AuthenticationManager::AUTH_LEVEL_MODERATOR);
|
||||
|
||||
$this->updateCancelVoteMenuItem();
|
||||
$this->updateWarmUpMenuItems();
|
||||
@ -102,7 +123,8 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
$itemQuad = new Quad_Icons64x64_1();
|
||||
$itemQuad->setSubStyle($itemQuad::SUBSTYLE_ArrowRed);
|
||||
$itemQuad->setAction(self::ACTION_CANCEL_VOTE);
|
||||
$this->maniaControl->getActionsMenu()->addMenuItem($itemQuad, false, 30, 'Cancel Vote');
|
||||
$this->maniaControl->getActionsMenu()
|
||||
->addMenuItem($itemQuad, false, 30, 'Cancel Vote');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -111,14 +133,16 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
private function updateWarmUpMenuItems() {
|
||||
$pauseExists = false;
|
||||
try {
|
||||
$scriptInfos = $this->maniaControl->getClient()->getModeScriptInfo();
|
||||
$scriptInfos = $this->maniaControl->getClient()
|
||||
->getModeScriptInfo();
|
||||
foreach ($scriptInfos->commandDescs as $param) {
|
||||
if ($param->name === self::COMMAND_FORCE_WARMUP) {
|
||||
$pauseExists = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
$this->maniaControl->getClient()->triggerModeScriptEvent("WarmUp_GetStatus");
|
||||
$this->maniaControl->getClient()
|
||||
->triggerModeScriptEvent("WarmUp_GetStatus");
|
||||
} catch (GameModeException $e) {
|
||||
}
|
||||
|
||||
@ -127,7 +151,8 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
$itemQuad = new Quad_Icons128x32_1();
|
||||
$itemQuad->setSubStyle($itemQuad::SUBSTYLE_ManiaLinkSwitch);
|
||||
$itemQuad->setAction(self::ACTION_SET_PAUSE);
|
||||
$this->maniaControl->getActionsMenu()->addAdminMenuItem($itemQuad, 13, 'Pause the current game');
|
||||
$this->maniaControl->getActionsMenu()
|
||||
->addAdminMenuItem($itemQuad, 13, 'Pause the current game');
|
||||
}
|
||||
|
||||
}
|
||||
@ -143,16 +168,20 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
$itemQuad = new Quad_BgRaceScore2();
|
||||
$itemQuad->setSubStyle($itemQuad::SUBSTYLE_SendScore);
|
||||
$itemQuad->setAction(self::ACTION_EXTEND_WARMUP);
|
||||
$this->maniaControl->getActionsMenu()->addMenuItem($itemQuad, false, 14, 'Extend Warmup');
|
||||
$this->maniaControl->getActionsMenu()
|
||||
->addMenuItem($itemQuad, false, 14, 'Extend Warmup');
|
||||
|
||||
// Stop WarmUp menu item
|
||||
$itemQuad = new Quad_Icons64x64_1();
|
||||
$itemQuad->setSubStyle($itemQuad::SUBSTYLE_ArrowGreen);
|
||||
$itemQuad->setAction(self::ACTION_END_WARMUP);
|
||||
$this->maniaControl->getActionsMenu()->addMenuItem($itemQuad, false, 15, 'End Warmup');
|
||||
$this->maniaControl->getActionsMenu()
|
||||
->addMenuItem($itemQuad, false, 15, 'End Warmup');
|
||||
} else {
|
||||
$this->maniaControl->getActionsMenu()->removeMenuItem(14, false);
|
||||
$this->maniaControl->getActionsMenu()->removeMenuItem(15, false);
|
||||
$this->maniaControl->getActionsMenu()
|
||||
->removeMenuItem(14, false);
|
||||
$this->maniaControl->getActionsMenu()
|
||||
->removeMenuItem(15, false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -163,18 +192,26 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
* @param Player $player
|
||||
*/
|
||||
public function commandCancelVote(array $chatCallback, Player $player) {
|
||||
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($player, self::SETTING_PERMISSION_CANCEL_VOTE)) {
|
||||
$this->maniaControl->getAuthenticationManager()->sendNotAllowed($player);
|
||||
if (!$this->maniaControl->getAuthenticationManager()
|
||||
->checkPermission($player, self::SETTING_PERMISSION_CANCEL_VOTE)
|
||||
) {
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->sendNotAllowed($player);
|
||||
return;
|
||||
}
|
||||
|
||||
if ($this->maniaControl->getClient()->cancelVote()) {
|
||||
$this->maniaControl->getChat()->sendInformation($player->getEscapedNickname() . ' cancelled the Vote!');
|
||||
if ($this->maniaControl->getClient()
|
||||
->cancelVote()
|
||||
) {
|
||||
$this->maniaControl->getChat()
|
||||
->sendInformation($player->getEscapedNickname() . ' cancelled the Vote!');
|
||||
} else {
|
||||
$this->maniaControl->getChat()->sendInformation("There's no vote running currently!", $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendInformation("There's no vote running currently!", $player);
|
||||
}
|
||||
|
||||
$this->maniaControl->getCallbackManager()->triggerCallback(self::CB_VOTE_CANCELLED, $player);
|
||||
$this->maniaControl->getCallbackManager()
|
||||
->triggerCallback(self::CB_VOTE_CANCELLED, $player);
|
||||
}
|
||||
|
||||
|
||||
@ -185,14 +222,19 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
* @param Player $player
|
||||
*/
|
||||
public function commandExtendWarmup(array $callback, Player $player) {
|
||||
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($player, self::SETTING_PERMISSION_HANDLE_WARMUP)) {
|
||||
$this->maniaControl->getAuthenticationManager()->sendNotAllowed($player);
|
||||
if (!$this->maniaControl->getAuthenticationManager()
|
||||
->checkPermission($player, self::SETTING_PERMISSION_HANDLE_WARMUP)
|
||||
) {
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->sendNotAllowed($player);
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
$this->maniaControl->getClient()->triggerModeScriptEvent('WarmUp_Extend', '10');
|
||||
$this->maniaControl->getChat()->sendInformation($player->getEscapedNickname() . ' extended the WarmUp by 10 seconds!');
|
||||
$this->maniaControl->getClient()
|
||||
->triggerModeScriptEvent('WarmUp_Extend', '10');
|
||||
$this->maniaControl->getChat()
|
||||
->sendInformation($player->getEscapedNickname() . ' extended the WarmUp by 10 seconds!');
|
||||
} catch (GameModeException $e) {
|
||||
}
|
||||
}
|
||||
@ -204,14 +246,19 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
* @param Player $player
|
||||
*/
|
||||
public function commandEndWarmup(array $callback, Player $player) {
|
||||
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($player, self::SETTING_PERMISSION_HANDLE_WARMUP)) {
|
||||
$this->maniaControl->getAuthenticationManager()->sendNotAllowed($player);
|
||||
if (!$this->maniaControl->getAuthenticationManager()
|
||||
->checkPermission($player, self::SETTING_PERMISSION_HANDLE_WARMUP)
|
||||
) {
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->sendNotAllowed($player);
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
$this->maniaControl->getClient()->triggerModeScriptEvent('WarmUp_Stop', '');
|
||||
$this->maniaControl->getChat()->sendInformation($player->getEscapedNickname() . ' stopped the WarmUp!');
|
||||
$this->maniaControl->getClient()
|
||||
->triggerModeScriptEvent('WarmUp_Stop', '');
|
||||
$this->maniaControl->getChat()
|
||||
->sendInformation($player->getEscapedNickname() . ' stopped the WarmUp!');
|
||||
} catch (GameModeException $e) {
|
||||
}
|
||||
}
|
||||
@ -223,13 +270,18 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
* @param Player $player
|
||||
*/
|
||||
public function setPause(array $callback, Player $player) {
|
||||
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($player, self::SETTING_PERMISSION_SET_PAUSE)) {
|
||||
$this->maniaControl->getAuthenticationManager()->sendNotAllowed($player);
|
||||
if (!$this->maniaControl->getAuthenticationManager()
|
||||
->checkPermission($player, self::SETTING_PERMISSION_SET_PAUSE)
|
||||
) {
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->sendNotAllowed($player);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
$this->maniaControl->getClient()->sendModeScriptCommands(array('Command_ForceWarmUp' => true));
|
||||
$this->maniaControl->getChat()->sendInformation($player->getEscapedNickname() . ' paused the Game!');
|
||||
$this->maniaControl->getClient()
|
||||
->sendModeScriptCommands(array('Command_ForceWarmUp' => true));
|
||||
$this->maniaControl->getChat()
|
||||
->sendInformation($player->getEscapedNickname() . ' paused the Game!');
|
||||
} catch (GameModeException $e) {
|
||||
}
|
||||
}
|
||||
@ -241,7 +293,9 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
// TODO: move empty & delayed shutdown code into server class
|
||||
// Empty shutdown
|
||||
if ($this->serverShutdownEmpty) {
|
||||
if ($this->maniaControl->getPlayerManager()->getPlayerCount(false) <= 0) {
|
||||
if ($this->maniaControl->getPlayerManager()
|
||||
->getPlayerCount(false) <= 0
|
||||
) {
|
||||
$this->shutdownServer('empty');
|
||||
}
|
||||
}
|
||||
@ -261,7 +315,8 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
*/
|
||||
private function shutdownServer($login = '-') {
|
||||
Logger::logInfo("Server shutdown requested by '{$login}'!");
|
||||
$this->maniaControl->getClient()->stopServer();
|
||||
$this->maniaControl->getClient()
|
||||
->stopServer();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -271,13 +326,18 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
* @param Player $player
|
||||
*/
|
||||
public function commandSystemInfo(array $chat, Player $player) {
|
||||
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($player, self::SETTING_PERMISSION_SHOW_SYSTEMINFO)) {
|
||||
$this->maniaControl->getAuthenticationManager()->sendNotAllowed($player);
|
||||
if (!$this->maniaControl->getAuthenticationManager()
|
||||
->checkPermission($player, self::SETTING_PERMISSION_SHOW_SYSTEMINFO)
|
||||
) {
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->sendNotAllowed($player);
|
||||
return;
|
||||
}
|
||||
$systemInfo = $this->maniaControl->getClient()->getSystemInfo();
|
||||
$systemInfo = $this->maniaControl->getClient()
|
||||
->getSystemInfo();
|
||||
$message = 'SystemInfo: ip=' . $systemInfo->publishedIp . ', port=' . $systemInfo->port . ', p2pPort=' . $systemInfo->p2PPort . ', title=' . $systemInfo->titleId . ', login=' . $systemInfo->serverLogin . '.';
|
||||
$this->maniaControl->getChat()->sendInformation($message, $player->login);
|
||||
$this->maniaControl->getChat()
|
||||
->sendInformation($message, $player->login);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -287,8 +347,11 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
* @param Player $player
|
||||
*/
|
||||
public function commandShutdownServer(array $chat, Player $player) {
|
||||
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($player, self::SETTING_PERMISSION_SHUTDOWN_SERVER)) {
|
||||
$this->maniaControl->getAuthenticationManager()->sendNotAllowed($player);
|
||||
if (!$this->maniaControl->getAuthenticationManager()
|
||||
->checkPermission($player, self::SETTING_PERMISSION_SHUTDOWN_SERVER)
|
||||
) {
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->sendNotAllowed($player);
|
||||
return;
|
||||
}
|
||||
// Check for delayed shutdown
|
||||
@ -298,22 +361,26 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
if (strtolower($param) === 'empty') {
|
||||
$this->serverShutdownEmpty = !$this->serverShutdownEmpty;
|
||||
if ($this->serverShutdownEmpty) {
|
||||
$this->maniaControl->getChat()->sendInformation("The server will shutdown as soon as it's empty!", $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendInformation("The server will shutdown as soon as it's empty!", $player);
|
||||
return;
|
||||
}
|
||||
$this->maniaControl->getChat()->sendInformation("Empty-shutdown cancelled!", $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendInformation("Empty-shutdown cancelled!", $player);
|
||||
return;
|
||||
}
|
||||
$delay = (int)$param;
|
||||
if ($delay <= 0) {
|
||||
// Cancel shutdown
|
||||
$this->serverShutdownTime = -1;
|
||||
$this->maniaControl->getChat()->sendInformation("Delayed shutdown cancelled!", $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendInformation("Delayed shutdown cancelled!", $player);
|
||||
return;
|
||||
}
|
||||
// Trigger delayed shutdown
|
||||
$this->serverShutdownTime = time() + $delay * 60.;
|
||||
$this->maniaControl->getChat()->sendInformation("The server will shut down in {$delay} minutes!", $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendInformation("The server will shut down in {$delay} minutes!", $player);
|
||||
return;
|
||||
}
|
||||
$this->shutdownServer($player->login);
|
||||
@ -326,18 +393,24 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
* @param Player $player
|
||||
*/
|
||||
public function commandSetServerName(array $chat, Player $player) {
|
||||
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($player, self::SETTING_PERMISSION_CHANGE_SERVERSETTINGS)) {
|
||||
$this->maniaControl->getAuthenticationManager()->sendNotAllowed($player);
|
||||
if (!$this->maniaControl->getAuthenticationManager()
|
||||
->checkPermission($player, self::SETTING_PERMISSION_CHANGE_SERVERSETTINGS)
|
||||
) {
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->sendNotAllowed($player);
|
||||
return;
|
||||
}
|
||||
$params = explode(' ', $chat[1][2], 2);
|
||||
if (count($params) < 2) {
|
||||
$this->maniaControl->getChat()->sendUsageInfo('Usage example: //setservername ManiaPlanet Server', $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendUsageInfo('Usage example: //setservername ManiaPlanet Server', $player);
|
||||
return;
|
||||
}
|
||||
$serverName = $params[1];
|
||||
$this->maniaControl->getClient()->setServerName($serverName);
|
||||
$this->maniaControl->getChat()->sendSuccess("Server name changed to: '{$serverName}'!", $player);
|
||||
$this->maniaControl->getClient()
|
||||
->setServerName($serverName);
|
||||
$this->maniaControl->getChat()
|
||||
->sendSuccess("Server name changed to: '{$serverName}'!", $player);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -347,8 +420,11 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
* @param Player $player
|
||||
*/
|
||||
public function commandSetPwd(array $chatCallback, Player $player) {
|
||||
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($player, self::SETTING_PERMISSION_CHANGE_SERVERSETTINGS)) {
|
||||
$this->maniaControl->getAuthenticationManager()->sendNotAllowed($player);
|
||||
if (!$this->maniaControl->getAuthenticationManager()
|
||||
->checkPermission($player, self::SETTING_PERMISSION_CHANGE_SERVERSETTINGS)
|
||||
) {
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->sendNotAllowed($player);
|
||||
return;
|
||||
}
|
||||
$messageParts = explode(' ', $chatCallback[1][2], 2);
|
||||
@ -358,8 +434,10 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
$password = $messageParts[1];
|
||||
$successMessage = "Password changed to: '{$password}'!";
|
||||
}
|
||||
$this->maniaControl->getClient()->setServerPassword($password);
|
||||
$this->maniaControl->getChat()->sendSuccess($successMessage, $player);
|
||||
$this->maniaControl->getClient()
|
||||
->setServerPassword($password);
|
||||
$this->maniaControl->getChat()
|
||||
->sendSuccess($successMessage, $player);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -369,8 +447,11 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
* @param Player $player
|
||||
*/
|
||||
public function commandSetSpecPwd(array $chatCallback, Player $player) {
|
||||
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($player, self::SETTING_PERMISSION_CHANGE_SERVERSETTINGS)) {
|
||||
$this->maniaControl->getAuthenticationManager()->sendNotAllowed($player);
|
||||
if (!$this->maniaControl->getAuthenticationManager()
|
||||
->checkPermission($player, self::SETTING_PERMISSION_CHANGE_SERVERSETTINGS)
|
||||
) {
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->sendNotAllowed($player);
|
||||
return;
|
||||
}
|
||||
$messageParts = explode(' ', $chatCallback[1][2], 2);
|
||||
@ -380,8 +461,10 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
$password = $messageParts[1];
|
||||
$successMessage = "Spectator password changed to: '{$password}'!";
|
||||
}
|
||||
$this->maniaControl->getClient()->setServerPasswordForSpectator($password);
|
||||
$this->maniaControl->getChat()->sendSuccess($successMessage, $player);
|
||||
$this->maniaControl->getClient()
|
||||
->setServerPasswordForSpectator($password);
|
||||
$this->maniaControl->getChat()
|
||||
->sendSuccess($successMessage, $player);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -391,18 +474,23 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
* @param Player $player
|
||||
*/
|
||||
public function commandSetMaxPlayers(array $chatCallback, Player $player) {
|
||||
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($player, self::SETTING_PERMISSION_CHANGE_SERVERSETTINGS)) {
|
||||
$this->maniaControl->getAuthenticationManager()->sendNotAllowed($player);
|
||||
if (!$this->maniaControl->getAuthenticationManager()
|
||||
->checkPermission($player, self::SETTING_PERMISSION_CHANGE_SERVERSETTINGS)
|
||||
) {
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->sendNotAllowed($player);
|
||||
return;
|
||||
}
|
||||
$messageParts = explode(' ', $chatCallback[1][2], 2);
|
||||
if (!isset($messageParts[1])) {
|
||||
$this->maniaControl->getChat()->sendUsageInfo('Usage example: //setmaxplayers 16', $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendUsageInfo('Usage example: //setmaxplayers 16', $player);
|
||||
return;
|
||||
}
|
||||
$amount = $messageParts[1];
|
||||
if (!is_numeric($amount)) {
|
||||
$this->maniaControl->getChat()->sendUsageInfo('Usage example: //setmaxplayers 16', $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendUsageInfo('Usage example: //setmaxplayers 16', $player);
|
||||
return;
|
||||
}
|
||||
$amount = (int)$amount;
|
||||
@ -410,8 +498,10 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
$amount = 0;
|
||||
}
|
||||
|
||||
$this->maniaControl->getClient()->setMaxPlayers($amount);
|
||||
$this->maniaControl->getChat()->sendSuccess("Changed max players to: {$amount}", $player);
|
||||
$this->maniaControl->getClient()
|
||||
->setMaxPlayers($amount);
|
||||
$this->maniaControl->getChat()
|
||||
->sendSuccess("Changed max players to: {$amount}", $player);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -421,18 +511,23 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
* @param Player $player
|
||||
*/
|
||||
public function commandSetMaxSpectators(array $chatCallback, Player $player) {
|
||||
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($player, self::SETTING_PERMISSION_CHANGE_SERVERSETTINGS)) {
|
||||
$this->maniaControl->getAuthenticationManager()->sendNotAllowed($player);
|
||||
if (!$this->maniaControl->getAuthenticationManager()
|
||||
->checkPermission($player, self::SETTING_PERMISSION_CHANGE_SERVERSETTINGS)
|
||||
) {
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->sendNotAllowed($player);
|
||||
return;
|
||||
}
|
||||
$messageParts = explode(' ', $chatCallback[1][2], 2);
|
||||
if (!isset($messageParts[1])) {
|
||||
$this->maniaControl->getChat()->sendUsageInfo('Usage example: //setmaxspectators 16', $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendUsageInfo('Usage example: //setmaxspectators 16', $player);
|
||||
return;
|
||||
}
|
||||
$amount = $messageParts[1];
|
||||
if (!is_numeric($amount)) {
|
||||
$this->maniaControl->getChat()->sendUsageInfo('Usage example: //setmaxspectators 16', $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendUsageInfo('Usage example: //setmaxspectators 16', $player);
|
||||
return;
|
||||
}
|
||||
$amount = (int)$amount;
|
||||
@ -440,7 +535,9 @@ class Commands implements CallbackListener, CommandListener, ManialinkPageAnswer
|
||||
$amount = 0;
|
||||
}
|
||||
|
||||
$this->maniaControl->getClient()->setMaxSpectators($amount);
|
||||
$this->maniaControl->getChat()->sendSuccess("Changed max spectators to: {$amount}", $player);
|
||||
$this->maniaControl->getClient()
|
||||
->setMaxSpectators($amount);
|
||||
$this->maniaControl->getChat()
|
||||
->sendSuccess("Changed max spectators to: {$amount}", $player);
|
||||
}
|
||||
}
|
||||
|
@ -30,7 +30,8 @@ class Directory implements CallbackListener {
|
||||
$this->maniaControl = $maniaControl;
|
||||
|
||||
// Callbacks
|
||||
$this->maniaControl->getCallbackManager()->registerCallbackListener(CallbackManager::CB_MP_SERVERSTOP, $this, 'handleServerStopCallback');
|
||||
$this->maniaControl->getCallbackManager()
|
||||
->registerCallbackListener(CallbackManager::CB_MP_SERVERSTOP, $this, 'handleServerStopCallback');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -39,7 +40,8 @@ class Directory implements CallbackListener {
|
||||
* @return string
|
||||
*/
|
||||
public function getMapsFolder() {
|
||||
return $this->maniaControl->getClient()->getMapsDirectory();
|
||||
return $this->maniaControl->getClient()
|
||||
->getMapsDirectory();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -48,7 +50,8 @@ class Directory implements CallbackListener {
|
||||
* @return string
|
||||
*/
|
||||
public function getSkinsFolder() {
|
||||
return $this->maniaControl->getClient()->getSkinsDirectory();
|
||||
return $this->maniaControl->getClient()
|
||||
->getSkinsDirectory();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -83,7 +86,8 @@ class Directory implements CallbackListener {
|
||||
* @return string
|
||||
*/
|
||||
public function getGameDataFolder() {
|
||||
return $this->maniaControl->getClient()->gameDataDirectory();
|
||||
return $this->maniaControl->getClient()
|
||||
->gameDataDirectory();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -30,9 +30,12 @@ class RankingManager implements CallbackListener {
|
||||
$this->maniaControl = $maniaControl;
|
||||
|
||||
// Callbacks
|
||||
$this->maniaControl->getCallbackManager()->registerCallbackListener(CallbackManager::CB_MP_MODESCRIPTCALLBACK, $this, 'handleCallbacks');
|
||||
$this->maniaControl->getCallbackManager()->registerCallbackListener(CallbackManager::CB_MP_MODESCRIPTCALLBACKARRAY, $this, 'handleCallbacks');
|
||||
$this->maniaControl->getCallbackManager()->registerCallbackListener(Callbacks::ONINIT, $this, 'onInit');
|
||||
$this->maniaControl->getCallbackManager()
|
||||
->registerCallbackListener(CallbackManager::CB_MP_MODESCRIPTCALLBACK, $this, 'handleCallbacks');
|
||||
$this->maniaControl->getCallbackManager()
|
||||
->registerCallbackListener(CallbackManager::CB_MP_MODESCRIPTCALLBACKARRAY, $this, 'handleCallbacks');
|
||||
$this->maniaControl->getCallbackManager()
|
||||
->registerCallbackListener(Callbacks::ONINIT, $this, 'onInit');
|
||||
//TODO won message at end of the map (disable as setting) (and public announce only all %50 (setting) players)
|
||||
}
|
||||
|
||||
@ -41,7 +44,8 @@ class RankingManager implements CallbackListener {
|
||||
*/
|
||||
public function onInit() {
|
||||
try {
|
||||
$this->maniaControl->getClient()->triggerModeScriptEvent('LibXmlRpc_GetRankings', '');
|
||||
$this->maniaControl->getClient()
|
||||
->triggerModeScriptEvent('LibXmlRpc_GetRankings', '');
|
||||
} catch (GameModeException $e) {
|
||||
}
|
||||
}
|
||||
@ -90,7 +94,8 @@ class RankingManager implements CallbackListener {
|
||||
array_multisort($this->rankings, SORT_DESC, SORT_NUMERIC);
|
||||
|
||||
//TODO if Local Records activated-> sort asc
|
||||
$this->maniaControl->getCallbackManager()->triggerCallback(Callbacks::RANKINGSUPDATED, $this->getRankings());
|
||||
$this->maniaControl->getCallbackManager()
|
||||
->triggerCallback(Callbacks::RANKINGSUPDATED, $this->getRankings());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -39,7 +39,8 @@ class ScriptManager {
|
||||
if (!$this->isScriptMode()) {
|
||||
return false;
|
||||
}
|
||||
$scriptSettings = $this->maniaControl->getClient()->getModeScriptSettings();
|
||||
$scriptSettings = $this->maniaControl->getClient()
|
||||
->getModeScriptSettings();
|
||||
|
||||
if (!array_key_exists('S_UseScriptCallbacks', $scriptSettings)) {
|
||||
return false;
|
||||
@ -48,7 +49,8 @@ class ScriptManager {
|
||||
$scriptSettings['S_UseScriptCallbacks'] = (bool)$enable;
|
||||
$actionName = ($enable ? 'en' : 'dis');
|
||||
|
||||
$this->maniaControl->getClient()->setModeScriptSettings($scriptSettings);
|
||||
$this->maniaControl->getClient()
|
||||
->setModeScriptSettings($scriptSettings);
|
||||
Logger::logInfo("Script Callbacks successfully {$actionName}abled!");
|
||||
return true;
|
||||
}
|
||||
@ -60,7 +62,8 @@ class ScriptManager {
|
||||
*/
|
||||
public function isScriptMode() {
|
||||
if (is_null($this->isScriptMode)) {
|
||||
$gameMode = $this->maniaControl->getClient()->getGameMode();
|
||||
$gameMode = $this->maniaControl->getClient()
|
||||
->getGameMode();
|
||||
$this->isScriptMode = ($gameMode === 0);
|
||||
}
|
||||
return $this->isScriptMode;
|
||||
|
@ -74,7 +74,8 @@ class Server implements CallbackListener {
|
||||
$this->scriptManager = new ScriptManager($maniaControl);
|
||||
|
||||
// Callbacks
|
||||
$this->maniaControl->getCallbackManager()->registerCallbackListener(Callbacks::ONINIT, $this, 'onInit');
|
||||
$this->maniaControl->getCallbackManager()
|
||||
->registerCallbackListener(Callbacks::ONINIT, $this, 'onInit');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -83,7 +84,8 @@ class Server implements CallbackListener {
|
||||
* @return bool
|
||||
*/
|
||||
private function initTables() {
|
||||
$mysqli = $this->maniaControl->getDatabase()->getMysqli();
|
||||
$mysqli = $this->maniaControl->getDatabase()
|
||||
->getMysqli();
|
||||
$query = "CREATE TABLE IF NOT EXISTS `" . self::TABLE_SERVERS . "` (
|
||||
`index` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`login` varchar(100) NOT NULL,
|
||||
@ -170,13 +172,15 @@ class Server implements CallbackListener {
|
||||
// Server xml element with given id
|
||||
$serverElement = null;
|
||||
if ($serverId) {
|
||||
$serverElements = $this->maniaControl->getConfig()->xpath("server[@id='{$serverId}']");
|
||||
$serverElements = $this->maniaControl->getConfig()
|
||||
->xpath("server[@id='{$serverId}']");
|
||||
if (!$serverElements) {
|
||||
$this->maniaControl->quit("No Server configured with the ID '{$serverId}'!", true);
|
||||
}
|
||||
$serverElement = $serverElements[0];
|
||||
} else {
|
||||
$serverElements = $this->maniaControl->getConfig()->xpath('server');
|
||||
$serverElements = $this->maniaControl->getConfig()
|
||||
->xpath('server');
|
||||
if (!$serverElements) {
|
||||
$this->maniaControl->quit('Invalid server configuration (No Server configured).', true);
|
||||
}
|
||||
@ -208,7 +212,8 @@ class Server implements CallbackListener {
|
||||
* @return \stdClass[]
|
||||
*/
|
||||
public function getAllServers() {
|
||||
$mysqli = $this->maniaControl->getDatabase()->getMysqli();
|
||||
$mysqli = $this->maniaControl->getDatabase()
|
||||
->getMysqli();
|
||||
$query = "SELECT * FROM `" . self::TABLE_SERVERS . "`;";
|
||||
$result = $mysqli->query($query);
|
||||
if (!$result) {
|
||||
@ -237,7 +242,8 @@ class Server implements CallbackListener {
|
||||
*/
|
||||
private function updateProperties() {
|
||||
// System info
|
||||
$systemInfo = $this->maniaControl->getClient()->getSystemInfo();
|
||||
$systemInfo = $this->maniaControl->getClient()
|
||||
->getSystemInfo();
|
||||
$this->ip = $systemInfo->publishedIp;
|
||||
$this->port = $systemInfo->port;
|
||||
$this->p2pPort = $systemInfo->p2PPort;
|
||||
@ -245,7 +251,8 @@ class Server implements CallbackListener {
|
||||
$this->titleId = $systemInfo->titleId;
|
||||
|
||||
// Database index
|
||||
$mysqli = $this->maniaControl->getDatabase()->getMysqli();
|
||||
$mysqli = $this->maniaControl->getDatabase()
|
||||
->getMysqli();
|
||||
$query = "INSERT INTO `" . self::TABLE_SERVERS . "` (
|
||||
`login`
|
||||
) VALUES (
|
||||
@ -274,7 +281,8 @@ class Server implements CallbackListener {
|
||||
* @return \Maniaplanet\DedicatedServer\Structures\PlayerDetailedInfo
|
||||
*/
|
||||
public function getInfo() {
|
||||
return $this->maniaControl->getClient()->getDetailedPlayerInfo($this->login);
|
||||
return $this->maniaControl->getClient()
|
||||
->getDetailedPlayerInfo($this->login);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -286,10 +294,12 @@ class Server implements CallbackListener {
|
||||
public function getValidationReplay($login) {
|
||||
$login = Player::parseLogin($login);
|
||||
try {
|
||||
$replay = $this->maniaControl->getClient()->getValidationReplay($login);
|
||||
$replay = $this->maniaControl->getClient()
|
||||
->getValidationReplay($login);
|
||||
} catch (Exception $e) {
|
||||
// TODO temp added 19.04.2014
|
||||
$this->maniaControl->getErrorHandler()->triggerDebugNotice("Exception line 330 Server.php" . $e->getMessage());
|
||||
$this->maniaControl->getErrorHandler()
|
||||
->triggerDebugNotice("Exception line 330 Server.php" . $e->getMessage());
|
||||
trigger_error("Couldn't get validation replay of '{$login}'. " . $e->getMessage());
|
||||
return null;
|
||||
}
|
||||
@ -303,24 +313,28 @@ class Server implements CallbackListener {
|
||||
* @return string
|
||||
*/
|
||||
public function getGhostReplay($login) {
|
||||
$dataDir = $this->getDirectory()->getGameDataFolder();
|
||||
$dataDir = $this->getDirectory()
|
||||
->getGameDataFolder();
|
||||
if (!$this->checkAccess($dataDir)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Build file name
|
||||
$login = Player::parseLogin($login);
|
||||
$map = $this->maniaControl->getMapManager()->getCurrentMap();
|
||||
$map = $this->maniaControl->getMapManager()
|
||||
->getCurrentMap();
|
||||
$gameMode = $this->getGameMode();
|
||||
$time = time();
|
||||
$fileName = "GhostReplays/Ghost.{$login}.{$gameMode}.{$time}.{$map->uid}.Replay.Gbx";
|
||||
|
||||
// Save ghost replay
|
||||
try {
|
||||
$this->maniaControl->getClient()->saveBestGhostsReplay($login, $fileName);
|
||||
$this->maniaControl->getClient()
|
||||
->saveBestGhostsReplay($login, $fileName);
|
||||
} catch (Exception $e) {
|
||||
// TODO temp added 19.04.2014
|
||||
$this->maniaControl->getErrorHandler()->triggerDebugNotice("Exception line 360 Server.php" . $e->getMessage());
|
||||
$this->maniaControl->getErrorHandler()
|
||||
->triggerDebugNotice("Exception line 360 Server.php" . $e->getMessage());
|
||||
|
||||
trigger_error("Couldn't save ghost replay. " . $e->getMessage());
|
||||
return null;
|
||||
@ -359,7 +373,8 @@ class Server implements CallbackListener {
|
||||
if (is_int($parseValue)) {
|
||||
$gameMode = $parseValue;
|
||||
} else {
|
||||
$gameMode = $this->maniaControl->getClient()->getGameMode();
|
||||
$gameMode = $this->maniaControl->getClient()
|
||||
->getGameMode();
|
||||
}
|
||||
if ($stringValue) {
|
||||
switch ($gameMode) {
|
||||
@ -391,7 +406,8 @@ class Server implements CallbackListener {
|
||||
* @return bool
|
||||
*/
|
||||
public function waitForStatus($statusCode = 4) {
|
||||
$response = $this->maniaControl->getClient()->getStatus();
|
||||
$response = $this->maniaControl->getClient()
|
||||
->getStatus();
|
||||
// Check if server has the given status
|
||||
if ($response->code === 4) {
|
||||
return true;
|
||||
@ -404,7 +420,8 @@ class Server implements CallbackListener {
|
||||
Logger::log("Current Status: {$lastStatus}");
|
||||
while ($response->code !== 4) {
|
||||
sleep(1);
|
||||
$response = $this->maniaControl->getClient()->getStatus();
|
||||
$response = $this->maniaControl->getClient()
|
||||
->getStatus();
|
||||
if ($lastStatus !== $response->name) {
|
||||
Logger::log("New Status: {$response->name}");
|
||||
$lastStatus = $response->name;
|
||||
@ -429,7 +446,8 @@ class Server implements CallbackListener {
|
||||
|
||||
// Trigger callback
|
||||
if ($oldStatus !== $this->teamMode | $oldStatus === null) {
|
||||
$this->maniaControl->getCallbackManager()->triggerCallback(self::CB_TEAM_MODE_CHANGED, $teamMode);
|
||||
$this->maniaControl->getCallbackManager()
|
||||
->triggerCallback(self::CB_TEAM_MODE_CHANGED, $teamMode);
|
||||
}
|
||||
}
|
||||
|
||||
@ -457,6 +475,7 @@ class Server implements CallbackListener {
|
||||
* @return bool
|
||||
*/
|
||||
public function isEmpty() {
|
||||
return ($this->maniaControl->getPlayerManager()->getPlayerCount(false) === 0);
|
||||
return ($this->maniaControl->getPlayerManager()
|
||||
->getPlayerCount(false) === 0);
|
||||
}
|
||||
}
|
||||
|
@ -59,11 +59,14 @@ class ServerOptionsMenu implements CallbackListener, ConfiguratorMenu, TimerList
|
||||
$this->initTables();
|
||||
|
||||
// Callbacks
|
||||
$this->maniaControl->getCallbackManager()->registerCallbackListener(Callbacks::ONINIT, $this, 'onInit');
|
||||
$this->maniaControl->getTimerManager()->registerTimerListening($this, 'saveCurrentServerOptions', 6 * 3600 * 1000);
|
||||
$this->maniaControl->getCallbackManager()
|
||||
->registerCallbackListener(Callbacks::ONINIT, $this, 'onInit');
|
||||
$this->maniaControl->getTimerManager()
|
||||
->registerTimerListening($this, 'saveCurrentServerOptions', 6 * 3600 * 1000);
|
||||
|
||||
// Permissions
|
||||
$this->maniaControl->getAuthenticationManager()->definePermissionLevel(self::SETTING_PERMISSION_CHANGE_SERVER_OPTIONS, AuthenticationManager::AUTH_LEVEL_SUPERADMIN);
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->definePermissionLevel(self::SETTING_PERMISSION_CHANGE_SERVER_OPTIONS, AuthenticationManager::AUTH_LEVEL_SUPERADMIN);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -72,7 +75,8 @@ class ServerOptionsMenu implements CallbackListener, ConfiguratorMenu, TimerList
|
||||
* @return bool
|
||||
*/
|
||||
private function initTables() {
|
||||
$mysqli = $this->maniaControl->getDatabase()->getMysqli();
|
||||
$mysqli = $this->maniaControl->getDatabase()
|
||||
->getMysqli();
|
||||
$query = "CREATE TABLE IF NOT EXISTS `" . self::TABLE_SERVER_OPTIONS . "` (
|
||||
`index` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`serverIndex` int(11) NOT NULL,
|
||||
@ -109,7 +113,8 @@ class ServerOptionsMenu implements CallbackListener, ConfiguratorMenu, TimerList
|
||||
* @return bool
|
||||
*/
|
||||
public function saveCurrentServerOptions() {
|
||||
$serverOptions = $this->maniaControl->getClient()->getServerOptions();
|
||||
$serverOptions = $this->maniaControl->getClient()
|
||||
->getServerOptions();
|
||||
return $this->saveServerOptions($serverOptions);
|
||||
}
|
||||
|
||||
@ -121,7 +126,8 @@ class ServerOptionsMenu implements CallbackListener, ConfiguratorMenu, TimerList
|
||||
* @return bool
|
||||
*/
|
||||
private function saveServerOptions(ServerOptions $serverOptions, $triggerCallbacks = false) {
|
||||
$mysqli = $this->maniaControl->getDatabase()->getMysqli();
|
||||
$mysqli = $this->maniaControl->getDatabase()
|
||||
->getMysqli();
|
||||
$query = "INSERT INTO `" . self::TABLE_SERVER_OPTIONS . "` (
|
||||
`serverIndex`,
|
||||
`optionName`,
|
||||
@ -154,7 +160,8 @@ class ServerOptionsMenu implements CallbackListener, ConfiguratorMenu, TimerList
|
||||
}
|
||||
|
||||
if ($triggerCallbacks) {
|
||||
$this->maniaControl->getCallbackManager()->triggerCallback(self::CB_SERVER_OPTION_CHANGED, array(self::CB_SERVER_OPTION_CHANGED, $optionName, $optionValue));
|
||||
$this->maniaControl->getCallbackManager()
|
||||
->triggerCallback(self::CB_SERVER_OPTION_CHANGED, array(self::CB_SERVER_OPTION_CHANGED, $optionName, $optionValue));
|
||||
}
|
||||
}
|
||||
|
||||
@ -175,17 +182,19 @@ class ServerOptionsMenu implements CallbackListener, ConfiguratorMenu, TimerList
|
||||
* @return bool
|
||||
*/
|
||||
public function loadOptionsFromDatabase() {
|
||||
$mysqli = $this->maniaControl->getDatabase()->getMysqli();
|
||||
$mysqli = $this->maniaControl->getDatabase()
|
||||
->getMysqli();
|
||||
$serverIndex = $this->maniaControl->getServer()->index;
|
||||
$query = "SELECT * FROM `" . self::TABLE_SERVER_OPTIONS . "`
|
||||
$query = "SELECT * FROM `" . self::TABLE_SERVER_OPTIONS . "`
|
||||
WHERE `serverIndex` = {$serverIndex};";
|
||||
$result = $mysqli->query($query);
|
||||
$result = $mysqli->query($query);
|
||||
if ($mysqli->error) {
|
||||
trigger_error($mysqli->error);
|
||||
return false;
|
||||
}
|
||||
|
||||
$oldServerOptions = $this->maniaControl->getClient()->getServerOptions();
|
||||
$oldServerOptions = $this->maniaControl->getClient()
|
||||
->getServerOptions();
|
||||
$newServerOptions = new ServerOptions();
|
||||
|
||||
while ($row = $result->fetch_object()) {
|
||||
@ -202,9 +211,11 @@ class ServerOptionsMenu implements CallbackListener, ConfiguratorMenu, TimerList
|
||||
|
||||
$loaded = false;
|
||||
try {
|
||||
$loaded = $this->maniaControl->getClient()->setServerOptions($newServerOptions);
|
||||
$loaded = $this->maniaControl->getClient()
|
||||
->setServerOptions($newServerOptions);
|
||||
} catch (ServerOptionsException $exception) {
|
||||
$this->maniaControl->getChat()->sendExceptionToAdmins($exception);
|
||||
$this->maniaControl->getChat()
|
||||
->sendExceptionToAdmins($exception);
|
||||
}
|
||||
|
||||
if ($loaded) {
|
||||
@ -241,7 +252,8 @@ class ServerOptionsMenu implements CallbackListener, ConfiguratorMenu, TimerList
|
||||
$script->addFeature($paging);
|
||||
$frame = new Frame();
|
||||
|
||||
$serverOptions = $this->maniaControl->getClient()->getServerOptions();
|
||||
$serverOptions = $this->maniaControl->getClient()
|
||||
->getServerOptions();
|
||||
$serverOptionsArray = $serverOptions->toArray();
|
||||
|
||||
// Config
|
||||
@ -344,8 +356,11 @@ class ServerOptionsMenu implements CallbackListener, ConfiguratorMenu, TimerList
|
||||
* @see \ManiaControl\Configurators\ConfiguratorMenu::saveConfigData()
|
||||
*/
|
||||
public function saveConfigData(array $configData, Player $player) {
|
||||
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($player, self::SETTING_PERMISSION_CHANGE_SERVER_OPTIONS)) {
|
||||
$this->maniaControl->getAuthenticationManager()->sendNotAllowed($player);
|
||||
if (!$this->maniaControl->getAuthenticationManager()
|
||||
->checkPermission($player, self::SETTING_PERMISSION_CHANGE_SERVER_OPTIONS)
|
||||
) {
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->sendNotAllowed($player);
|
||||
return;
|
||||
}
|
||||
if (!$configData[3] || strpos($configData[3][0]['Name'], self::ACTION_PREFIX_OPTION) !== 0) {
|
||||
@ -354,7 +369,8 @@ class ServerOptionsMenu implements CallbackListener, ConfiguratorMenu, TimerList
|
||||
|
||||
$prefixLength = strlen(self::ACTION_PREFIX_OPTION);
|
||||
|
||||
$oldServerOptions = $this->maniaControl->getClient()->getServerOptions();
|
||||
$oldServerOptions = $this->maniaControl->getClient()
|
||||
->getServerOptions();
|
||||
$newServerOptions = new ServerOptions();
|
||||
|
||||
foreach ($configData[3] as $option) {
|
||||
@ -367,13 +383,16 @@ class ServerOptionsMenu implements CallbackListener, ConfiguratorMenu, TimerList
|
||||
|
||||
$success = $this->applyNewServerOptions($newServerOptions, $player);
|
||||
if ($success) {
|
||||
$this->maniaControl->getChat()->sendSuccess('Server Options saved!', $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendSuccess('Server Options saved!', $player);
|
||||
} else {
|
||||
$this->maniaControl->getChat()->sendError('Server Options saving failed!', $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendError('Server Options saving failed!', $player);
|
||||
}
|
||||
|
||||
// Reopen the Menu
|
||||
$this->maniaControl->getConfigurator()->showMenu($player, $this);
|
||||
$this->maniaControl->getConfigurator()
|
||||
->showMenu($player, $this);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -385,15 +404,18 @@ class ServerOptionsMenu implements CallbackListener, ConfiguratorMenu, TimerList
|
||||
*/
|
||||
private function applyNewServerOptions(ServerOptions $newServerOptions, Player $player) {
|
||||
try {
|
||||
$this->maniaControl->getClient()->setServerOptions($newServerOptions);
|
||||
$this->maniaControl->getClient()
|
||||
->setServerOptions($newServerOptions);
|
||||
} catch (ServerOptionsException $exception) {
|
||||
$this->maniaControl->getChat()->sendException($exception, $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendException($exception, $player);
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->saveServerOptions($newServerOptions, true);
|
||||
|
||||
$this->maniaControl->getCallbackManager()->triggerCallback(self::CB_SERVER_OPTIONS_CHANGED, array(self::CB_SERVER_OPTIONS_CHANGED));
|
||||
$this->maniaControl->getCallbackManager()
|
||||
->triggerCallback(self::CB_SERVER_OPTIONS_CHANGED, array(self::CB_SERVER_OPTIONS_CHANGED));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -36,16 +36,21 @@ class UsageReporter implements TimerListener {
|
||||
public function __construct(ManiaControl $maniaControl) {
|
||||
$this->maniaControl = $maniaControl;
|
||||
|
||||
$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_REPORT_USAGE, true);
|
||||
$this->maniaControl->getSettingManager()
|
||||
->initSetting($this, self::SETTING_REPORT_USAGE, true);
|
||||
|
||||
$this->maniaControl->getTimerManager()->registerTimerListening($this, 'reportUsage', 1000 * 60 * self::UPDATE_MINUTE_COUNT);
|
||||
$this->maniaControl->getTimerManager()
|
||||
->registerTimerListening($this, 'reportUsage', 1000 * 60 * self::UPDATE_MINUTE_COUNT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Report Usage of ManiaControl on the current Server
|
||||
*/
|
||||
public function reportUsage() {
|
||||
if (DEV_MODE || !$this->maniaControl->getSettingManager()->getSettingValue($this, self::SETTING_REPORT_USAGE)) {
|
||||
if (DEV_MODE
|
||||
|| !$this->maniaControl->getSettingManager()
|
||||
->getSettingValue($this, self::SETTING_REPORT_USAGE)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -55,30 +60,37 @@ class UsageReporter implements TimerListener {
|
||||
$properties['PHPVersion'] = phpversion();
|
||||
$properties['ServerLogin'] = $this->maniaControl->getServer()->login;
|
||||
$properties['TitleId'] = $this->maniaControl->getServer()->titleId;
|
||||
$properties['ServerName'] = Formatter::stripDirtyCodes($this->maniaControl->getClient()->getServerName());
|
||||
$properties['UpdateChannel'] = $this->maniaControl->getUpdateManager()->getCurrentUpdateChannelSetting();
|
||||
$properties['ServerName'] = Formatter::stripDirtyCodes($this->maniaControl->getClient()
|
||||
->getServerName());
|
||||
$properties['UpdateChannel'] = $this->maniaControl->getUpdateManager()
|
||||
->getCurrentUpdateChannelSetting();
|
||||
|
||||
$properties['PlayerCount'] = $this->maniaControl->getPlayerManager()->getPlayerCount();
|
||||
$properties['PlayerCount'] = $this->maniaControl->getPlayerManager()
|
||||
->getPlayerCount();
|
||||
$properties['MemoryUsage'] = memory_get_usage();
|
||||
$properties['MemoryPeakUsage'] = memory_get_peak_usage();
|
||||
|
||||
$maxPlayers = $this->maniaControl->getClient()->getMaxPlayers();
|
||||
$maxPlayers = $this->maniaControl->getClient()
|
||||
->getMaxPlayers();
|
||||
$properties['MaxPlayers'] = $maxPlayers['CurrentValue'];
|
||||
|
||||
try {
|
||||
$scriptName = $this->maniaControl->getClient()->getScriptName();
|
||||
$scriptName = $this->maniaControl->getClient()
|
||||
->getScriptName();
|
||||
$properties['ScriptName'] = $scriptName['CurrentValue'];
|
||||
} catch (GameModeException $e) {
|
||||
$properties['ScriptName'] = '';
|
||||
}
|
||||
|
||||
$properties['ActivePlugins'] = $this->maniaControl->getPluginManager()->getActivePluginsIds();
|
||||
$properties['ActivePlugins'] = $this->maniaControl->getPluginManager()
|
||||
->getActivePluginsIds();
|
||||
|
||||
$json = json_encode($properties);
|
||||
$info = base64_encode($json);
|
||||
|
||||
$url = ManiaControl::URL_WEBSERVICE . '/usagereport?info=' . urlencode($info);
|
||||
$this->maniaControl->getFileReader()->loadFile($url, function ($response, $error) {
|
||||
$this->maniaControl->getFileReader()
|
||||
->loadFile($url, function ($response, $error) {
|
||||
$response = json_decode($response);
|
||||
if ($error || !$response) {
|
||||
Logger::logError('Error while Sending data: ' . print_r($error, true));
|
||||
|
@ -43,7 +43,8 @@ class VoteRatiosMenu implements CallbackListener, ConfiguratorMenu, TimerListene
|
||||
$this->maniaControl = $maniaControl;
|
||||
|
||||
// Permissions
|
||||
$this->maniaControl->getAuthenticationManager()->definePermissionLevel(self::SETTING_PERMISSION_CHANGE_VOTE_RATIOS, AuthenticationManager::AUTH_LEVEL_ADMIN);
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->definePermissionLevel(self::SETTING_PERMISSION_CHANGE_VOTE_RATIOS, AuthenticationManager::AUTH_LEVEL_ADMIN);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -63,7 +64,8 @@ class VoteRatiosMenu implements CallbackListener, ConfiguratorMenu, TimerListene
|
||||
$index = 0;
|
||||
|
||||
$voteRatioCommands = $this->getVoteCommands();
|
||||
$voteRatios = $this->maniaControl->getClient()->getCallVoteRatios();
|
||||
$voteRatios = $this->maniaControl->getClient()
|
||||
->getCallVoteRatios();
|
||||
foreach ($voteRatioCommands as $voteRatioCommand => $voteRatioDescription) {
|
||||
$voteRatioFrame = new Frame();
|
||||
$frame->add($voteRatioFrame);
|
||||
@ -130,8 +132,11 @@ class VoteRatiosMenu implements CallbackListener, ConfiguratorMenu, TimerListene
|
||||
* @see \ManiaControl\Configurators\ConfiguratorMenu::saveConfigData()
|
||||
*/
|
||||
public function saveConfigData(array $configData, Player $player) {
|
||||
if (!$this->maniaControl->getAuthenticationManager()->checkPermission($player, self::SETTING_PERMISSION_CHANGE_VOTE_RATIOS)) {
|
||||
$this->maniaControl->getAuthenticationManager()->sendNotAllowed($player);
|
||||
if (!$this->maniaControl->getAuthenticationManager()
|
||||
->checkPermission($player, self::SETTING_PERMISSION_CHANGE_VOTE_RATIOS)
|
||||
) {
|
||||
$this->maniaControl->getAuthenticationManager()
|
||||
->sendNotAllowed($player);
|
||||
return;
|
||||
}
|
||||
if (!$configData[3] || strpos($configData[3][0]['Name'], self::ACTION_PREFIX_VOTE_RATIO) !== 0) {
|
||||
@ -162,15 +167,19 @@ class VoteRatiosMenu implements CallbackListener, ConfiguratorMenu, TimerListene
|
||||
array_push($newVoteRatios, $voteRatio);
|
||||
}
|
||||
|
||||
$success = $this->maniaControl->getClient()->setCallVoteRatios($newVoteRatios);
|
||||
$success = $this->maniaControl->getClient()
|
||||
->setCallVoteRatios($newVoteRatios);
|
||||
if ($success) {
|
||||
$this->maniaControl->getChat()->sendSuccess('Vote Ratios saved!', $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendSuccess('Vote Ratios saved!', $player);
|
||||
} else {
|
||||
$this->maniaControl->getChat()->sendError('Vote Ratios saving failed!', $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendError('Vote Ratios saving failed!', $player);
|
||||
}
|
||||
|
||||
// Reopen the Menu
|
||||
$this->maniaControl->getConfigurator()->showMenu($player, $this);
|
||||
$this->maniaControl->getConfigurator()
|
||||
->showMenu($player, $this);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -180,6 +189,7 @@ class VoteRatiosMenu implements CallbackListener, ConfiguratorMenu, TimerListene
|
||||
* @param string $commandName
|
||||
*/
|
||||
private function sendInvalidValueError(Player $player, $commandName) {
|
||||
$this->maniaControl->getChat()->sendError("Invalid Value given for '{$commandName}'!", $player);
|
||||
$this->maniaControl->getChat()
|
||||
->sendError("Invalid Value given for '{$commandName}'!", $player);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user