diff --git a/application/ManiaControl.php b/application/ManiaControl.php index ece98b6e..f4b44eac 100644 --- a/application/ManiaControl.php +++ b/application/ManiaControl.php @@ -123,7 +123,7 @@ spl_autoload_register(function ($className) { // Plugin file $filePath = ManiaControlDir . 'plugins' . DIRECTORY_SEPARATOR . $classPath . '.php'; if (file_exists($filePath)) { - require_once $filePath; + include_once $filePath; return; } }); diff --git a/application/core/Admin/ActionsMenu.php b/application/core/Admin/ActionsMenu.php index 3c5e8158..9ee8ca51 100644 --- a/application/core/Admin/ActionsMenu.php +++ b/application/core/Admin/ActionsMenu.php @@ -113,9 +113,9 @@ class ActionsMenu implements CallbackListener, ManialinkPageAnswerListener { * @return ManiaLink */ private function buildMenuIconsManialink(Player $player) { - $posX = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MENU_POSX); - $posY = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MENU_POSY); - $itemSize = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MENU_ITEMSIZE); + $posX = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MENU_POSX); + $posY = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MENU_POSY); + $itemSize = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MENU_ITEMSIZE); $shootManiaOffset = $this->maniaControl->manialinkManager->styleManager->getDefaultIconOffsetSM(); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); diff --git a/application/core/Admin/AuthenticationManager.php b/application/core/Admin/AuthenticationManager.php index e39de66a..db697345 100644 --- a/application/core/Admin/AuthenticationManager.php +++ b/application/core/Admin/AuthenticationManager.php @@ -7,6 +7,7 @@ use ManiaControl\Callbacks\CallbackManager; use ManiaControl\ManiaControl; use ManiaControl\Players\Player; use ManiaControl\Players\PlayerManager; +use ManiaControl\Settings\Setting; /** * Class managing Authentication Levels @@ -283,18 +284,21 @@ class AuthenticationManager implements CallbackListener { * @return bool */ public function checkPermission(Player $player, $rightName) { - $right = $this->maniaControl->settingManager->getSetting($this, $rightName); + $right = $this->maniaControl->settingManager->getSettingValue($this, $rightName); return $this->checkRight($player, $right); } /** * Check if the Player has enough Rights * - * @param Player $player - * @param int $neededAuthLevel + * @param Player $player + * @param int|Setting $neededAuthLevel * @return bool */ public static function checkRight(Player $player, $neededAuthLevel) { + if ($neededAuthLevel instanceof Setting) { + $neededAuthLevel = $neededAuthLevel->value; + } return ($player->authLevel >= $neededAuthLevel); } diff --git a/application/core/Chat.php b/application/core/Chat.php index d54a9f9b..cc9a9833 100644 --- a/application/core/Chat.php +++ b/application/core/Chat.php @@ -53,7 +53,7 @@ class Chat { * @return bool */ public function sendInformation($message, $login = null, $prefix = true) { - $format = $this->maniaControl->settingManager->getSetting($this, self::SETTING_FORMAT_INFORMATION); + $format = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_FORMAT_INFORMATION); return $this->sendChat($format . $message, $login, $prefix); } @@ -82,7 +82,7 @@ class Chat { * @param bool $prefix */ public function sendErrorToAdmins($message, $minLevel = AuthenticationManager::AUTH_LEVEL_MODERATOR, $prefix = true) { - $format = $this->maniaControl->settingManager->getSetting($this, self::SETTING_FORMAT_ERROR); + $format = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_FORMAT_ERROR); $this->sendMessageToAdmins($format . $message, $prefix); } @@ -102,14 +102,14 @@ class Chat { if (!$login) { $prefix = $this->getPrefix($prefix); $chatMessage = '$<$z$ff0' . str_replace(' ', '', $prefix) . $prefix . $message . '$>'; - $this->maniaControl->client->chatSendServerMessage($chatMessage); + $this->maniaControl->client->chatSend($chatMessage, null, true); } else { $chatMessage = '$<$z$ff0' . $this->getPrefix($prefix) . $message . '$>'; if (is_object($login) && property_exists($login, 'login')) { $login = $login->login; } try { - $this->maniaControl->client->chatSendServerMessage($chatMessage, $login); + $this->maniaControl->client->chatSend($chatMessage, $login, true); } catch (LoginUnknownException $e) { } } @@ -127,7 +127,7 @@ class Chat { return $prefix; } if ($prefix === true) { - return $this->maniaControl->settingManager->getSetting($this, self::SETTING_PREFIX); + return $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_PREFIX); } return ''; } @@ -141,7 +141,7 @@ class Chat { * @return bool */ public function sendSuccess($message, $login = null, $prefix = true) { - $format = $this->maniaControl->settingManager->getSetting($this, self::SETTING_FORMAT_SUCCESS); + $format = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_FORMAT_SUCCESS); return $this->sendChat($format . $message, $login, $prefix); } @@ -167,7 +167,7 @@ class Chat { * @return bool */ public function sendError($message, $login = null, $prefix = true) { - $format = $this->maniaControl->settingManager->getSetting($this, self::SETTING_FORMAT_ERROR); + $format = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_FORMAT_ERROR); return $this->sendChat($format . $message, $login, $prefix); } @@ -180,7 +180,7 @@ class Chat { * @return bool */ public function sendUsageInfo($message, $login = null, $prefix = false) { - $format = $this->maniaControl->settingManager->getSetting($this, self::SETTING_FORMAT_USAGEINFO); + $format = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_FORMAT_USAGEINFO); return $this->sendChat($format . $message, $login, $prefix); } } diff --git a/application/core/Configurators/Configurator.php b/application/core/Configurators/Configurator.php index bdaf0de1..27b2fcfc 100644 --- a/application/core/Configurators/Configurator.php +++ b/application/core/Configurators/Configurator.php @@ -152,12 +152,12 @@ class Configurator implements CallbackListener, CommandListener, ManialinkPageAn * @return \FML\ManiaLink */ private function buildManialink($menuIdShown = 0, Player $player = null) { - $menuPosX = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MENU_POSX); - $menuPosY = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MENU_POSY); - $menuWidth = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MENU_WIDTH); - $menuHeight = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MENU_HEIGHT); - $quadStyle = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MENU_STYLE); - $quadSubstyle = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MENU_SUBSTYLE); + $menuPosX = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MENU_POSX); + $menuPosY = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MENU_POSY); + $menuWidth = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MENU_WIDTH); + $menuHeight = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MENU_HEIGHT); + $quadStyle = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MENU_STYLE); + $quadSubstyle = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MENU_SUBSTYLE); $menuListWidth = $menuWidth * 0.3; $menuItemHeight = 10.; diff --git a/application/core/Configurators/ScriptSettings.php b/application/core/Configurators/ScriptSettings.php index ed60d163..2419af5e 100644 --- a/application/core/Configurators/ScriptSettings.php +++ b/application/core/Configurators/ScriptSettings.php @@ -149,7 +149,7 @@ class ScriptSettings implements ConfiguratorMenu, CallbackListener { * @param Map $map */ public function onBeginMap(Map $map) { - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_LOAD_DEFAULT_SETTINGS_MAP_BEGIN)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_LOAD_DEFAULT_SETTINGS_MAP_BEGIN)) { $this->loadSettingsFromDatabase(); } } diff --git a/application/core/ErrorHandler.php b/application/core/ErrorHandler.php index 514d29a2..1041c15f 100644 --- a/application/core/ErrorHandler.php +++ b/application/core/ErrorHandler.php @@ -71,7 +71,7 @@ class ErrorHandler { } if ($this->maniaControl->settingManager && $this->maniaControl->updateManager) { - $error['UpdateChannel'] = $this->maniaControl->settingManager->getSetting($this->maniaControl->updateManager, UpdateManager::SETTING_UPDATECHECK_CHANNEL); + $error['UpdateChannel'] = $this->maniaControl->settingManager->getSettingValue($this->maniaControl->updateManager, UpdateManager::SETTING_UPDATECHECK_CHANNEL); $error['ManiaControlVersion'] = ManiaControl::VERSION . ' #' . $this->maniaControl->updateManager->getNightlyBuildDate(); } else { $error['ManiaControlVersion'] = ManiaControl::VERSION; @@ -107,7 +107,7 @@ class ErrorHandler { if (!$this->maniaControl || !$this->maniaControl->settingManager) { return false; } - $setting = $this->maniaControl->settingManager->getSetting($this, self::SETTING_RESTART_ON_EXCEPTION, true); + $setting = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_RESTART_ON_EXCEPTION, true); return $setting; } @@ -158,7 +158,7 @@ class ErrorHandler { } if ($this->maniaControl->settingManager && $this->maniaControl->updateManager) { - $error['UpdateChannel'] = $this->maniaControl->settingManager->getSetting($this->maniaControl->updateManager, UpdateManager::SETTING_UPDATECHECK_CHANNEL); + $error['UpdateChannel'] = $this->maniaControl->settingManager->getSettingValue($this->maniaControl->updateManager, UpdateManager::SETTING_UPDATECHECK_CHANNEL); $error['ManiaControlVersion'] = ManiaControl::VERSION . ' ' . $this->maniaControl->updateManager->getNightlyBuildDate(); } else { $error['ManiaControlVersion'] = ManiaControl::VERSION; diff --git a/application/core/Manialinks/StyleManager.php b/application/core/Manialinks/StyleManager.php index 6b5bb21e..d8a7a49a 100644 --- a/application/core/Manialinks/StyleManager.php +++ b/application/core/Manialinks/StyleManager.php @@ -67,7 +67,7 @@ class StyleManager { * @return string */ public function getDefaultIconOffsetSM() { - return $this->maniaControl->settingManager->getSetting($this, self::SETTING_ICON_DEFAULT_OFFSET_SM); + return $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_ICON_DEFAULT_OFFSET_SM); } /** @@ -76,7 +76,7 @@ class StyleManager { * @return string */ public function getDefaultLabelStyle() { - return $this->maniaControl->settingManager->getSetting($this, self::SETTING_LABEL_DEFAULT_STYLE); + return $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_LABEL_DEFAULT_STYLE); } /** @@ -85,7 +85,7 @@ class StyleManager { * @return string */ public function getDefaultQuadStyle() { - return $this->maniaControl->settingManager->getSetting($this, self::SETTING_QUAD_DEFAULT_STYLE); + return $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_QUAD_DEFAULT_STYLE); } /** @@ -94,7 +94,7 @@ class StyleManager { * @return string */ public function getDefaultQuadSubstyle() { - return $this->maniaControl->settingManager->getSetting($this, self::SETTING_QUAD_DEFAULT_SUBSTYLE); + return $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_QUAD_DEFAULT_SUBSTYLE); } /** @@ -123,7 +123,7 @@ class StyleManager { * @return string */ public function getListWidgetsWidth() { - return $this->maniaControl->settingManager->getSetting($this, self::SETTING_LIST_WIDGETS_WIDTH); + return $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_LIST_WIDGETS_WIDTH); } /** @@ -132,7 +132,7 @@ class StyleManager { * @return string */ public function getListWidgetsHeight() { - return $this->maniaControl->settingManager->getSetting($this, self::SETTING_LIST_WIDGETS_HEIGHT); + return $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_LIST_WIDGETS_HEIGHT); } /** @@ -216,7 +216,7 @@ class StyleManager { * @return string */ public function getDefaultMainWindowStyle() { - return $this->maniaControl->settingManager->getSetting($this, self::SETTING_MAIN_WIDGET_DEFAULT_STYLE); + return $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MAIN_WIDGET_DEFAULT_STYLE); } /** @@ -225,6 +225,6 @@ class StyleManager { * @return string */ public function getDefaultMainWindowSubStyle() { - return $this->maniaControl->settingManager->getSetting($this, self::SETTING_MAIN_WIDGET_DEFAULT_SUBSTYLE); + return $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MAIN_WIDGET_DEFAULT_SUBSTYLE); } } diff --git a/application/core/Maps/MapCommands.php b/application/core/Maps/MapCommands.php index 86adde2a..45aed5b3 100644 --- a/application/core/Maps/MapCommands.php +++ b/application/core/Maps/MapCommands.php @@ -399,7 +399,7 @@ class MapCommands implements CommandListener, ManialinkPageAnswerListener, Callb $mapList = array(); foreach ($maps as $map) { if ($map instanceof Map) { - if ($this->maniaControl->settingManager->getSetting($karmaPlugin, $karmaPlugin::SETTING_NEWKARMA) === true) { + if ($this->maniaControl->settingManager->getSettingValue($karmaPlugin, $karmaPlugin::SETTING_NEWKARMA) === true) { $karma = $karmaPlugin->getMapKarma($map); $map->karma = round($karma * 100.); } else { diff --git a/application/core/Maps/MapList.php b/application/core/Maps/MapList.php index 8e8ea8ba..d0b30a44 100644 --- a/application/core/Maps/MapList.php +++ b/application/core/Maps/MapList.php @@ -422,7 +422,7 @@ class MapList implements ManialinkPageAnswerListener, CallbackListener { $karma = $karmaPlugin->getMapKarma($map); $votes = $karmaPlugin->getMapVotes($map); if (is_numeric($karma)) { - if ($this->maniaControl->settingManager->getSetting($karmaPlugin, $karmaPlugin::SETTING_NEWKARMA)) { + if ($this->maniaControl->settingManager->getSettingValue($karmaPlugin, $karmaPlugin::SETTING_NEWKARMA)) { $karmaText = ' ' . round($karma * 100.) . '% (' . $votes['count'] . ')'; } else { $min = 0; diff --git a/application/core/Maps/MapManager.php b/application/core/Maps/MapManager.php index 6dfb4bf2..47801ddc 100644 --- a/application/core/Maps/MapManager.php +++ b/application/core/Maps/MapManager.php @@ -272,6 +272,7 @@ class MapManager implements CallbackListener { * @param MXMapInfo $mapInfo * @param string $login * @param bool $update + * @throws InvalidArgumentException */ private function processMapFile($file, MXMapInfo $mapInfo, $login, $update) { // Check if map is already on the server @@ -285,7 +286,7 @@ class MapManager implements CallbackListener { $fileName = $mapInfo->id . '_' . $mapInfo->name . '.Map.Gbx'; $fileName = FileUtil::getClearedFileName($fileName); - $downloadFolderName = $this->maniaControl->settingManager->getSetting($this, 'MapDownloadDirectory', 'MX'); + $downloadFolderName = $this->maniaControl->settingManager->getSettingValue($this, 'MapDownloadDirectory', 'MX'); $relativeMapFileName = $downloadFolderName . DIRECTORY_SEPARATOR . $fileName; $mapDir = $this->maniaControl->client->getMapsDirectory(); $downloadDirectory = $mapDir . DIRECTORY_SEPARATOR . $downloadFolderName . DIRECTORY_SEPARATOR; @@ -403,9 +404,10 @@ class MapManager implements CallbackListener { $this->maniaControl->callbackManager->triggerCallback(self::CB_MAPS_UPDATED); // Write MapList - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_AUTOSAVE_MAPLIST)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_AUTOSAVE_MAPLIST)) { + $matchSettingsFileName = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MAPLIST_FILE); try { - $this->maniaControl->client->saveMatchSettings($this->maniaControl->settingManager->getSetting($this, self::SETTING_MAPLIST_FILE)); + $this->maniaControl->client->saveMatchSettings($matchSettingsFileName); } catch (CouldNotWritePlaylistFileException $e) { $this->maniaControl->log("Unable to write the playlist file, please checkout your MX-Folders File permissions!"); } @@ -649,7 +651,7 @@ class MapManager implements CallbackListener { * @param bool $restart */ private function beginMap($uid, $restart = false) { - //If a restart occured, first call the endMap to set variables back + //If a restart occurred, first call the endMap to set variables back if ($restart) { $this->endMap(); } diff --git a/application/core/Maps/MapQueue.php b/application/core/Maps/MapQueue.php index 07b3e893..eee7ee06 100644 --- a/application/core/Maps/MapQueue.php +++ b/application/core/Maps/MapQueue.php @@ -235,8 +235,8 @@ class MapQueue implements CallbackListener, CommandListener { } } - $maxPlayer = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MAPLIMIT_PLAYER); - $maxAdmin = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MAPLIMIT_ADMIN); + $maxPlayer = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MAPLIMIT_PLAYER); + $maxAdmin = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MAPLIMIT_ADMIN); if ($admin && $maxAdmin != -1) { if ($mapsForPlayer == $maxAdmin) { @@ -309,7 +309,7 @@ class MapQueue implements CallbackListener, CommandListener { } $this->nextMap = null; - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_SKIP_MAP_ON_LEAVE) == true) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_SKIP_MAP_ON_LEAVE) == true) { //Skip Map if requester has left foreach ($this->queuedMaps as $queuedMap) { @@ -325,7 +325,7 @@ class MapQueue implements CallbackListener, CommandListener { break; } - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_SKIP_MAPQUEUE_ADMIN) == false) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_SKIP_MAPQUEUE_ADMIN) == false) { //Check if the queuer is a admin if ($player->authLevel > 0) { break; @@ -368,7 +368,7 @@ class MapQueue implements CallbackListener, CommandListener { return; } - if (count($this->buffer) >= $this->maniaControl->settingManager->getSetting($this, self::SETTING_BUFFERSIZE)) { + if (count($this->buffer) >= $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_BUFFERSIZE)) { array_shift($this->buffer); } diff --git a/application/core/Players/PlayerManager.php b/application/core/Players/PlayerManager.php index 6cbed38f..cf6876a8 100644 --- a/application/core/Players/PlayerManager.php +++ b/application/core/Players/PlayerManager.php @@ -246,7 +246,7 @@ class PlayerManager implements CallbackListener, TimerListener { $logMessage = "Player left: {$player->login} / {$player->nickname} Playtime: {$played}"; $this->maniaControl->log(Formatter::stripCodes($logMessage)); - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_JOIN_LEAVE_MESSAGES)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_JOIN_LEAVE_MESSAGES)) { $this->maniaControl->chat->sendChat('$0f0$<$fff' . $player->nickname . '$> has left the game'); } @@ -332,7 +332,7 @@ class PlayerManager implements CallbackListener, TimerListener { //Check if Player finished joining the game if ($player->hasJoinedGame && !$prevJoinState) { - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_JOIN_LEAVE_MESSAGES) && !$player->isFakePlayer()) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_JOIN_LEAVE_MESSAGES) && !$player->isFakePlayer()) { $string = array(0 => '$0f0Player', 1 => '$0f0Moderator', 2 => '$0f0Admin', 3 => '$0f0SuperAdmin', 4 => '$0f0MasterAdmin'); $chatMessage = '$0f0' . $string[$player->authLevel] . ' $<$fff' . $player->nickname . '$> Nation: $<$fff' . $player->getCountry() . '$> joined!'; $this->maniaControl->chat->sendChat($chatMessage); diff --git a/application/core/Server/ScriptManager.php b/application/core/Server/ScriptManager.php index 86d121e8..965f3deb 100644 --- a/application/core/Server/ScriptManager.php +++ b/application/core/Server/ScriptManager.php @@ -56,7 +56,7 @@ class ScriptManager { } catch (Exception $e) { // TODO temp added 19.04.2014 $this->maniaControl->errorHandler->handleException($e, false); - trigger_error("Couldn't set Mode Script Settings to {$actionName}able Script Sallbacks. " . $e->getMessage()); + trigger_error("Couldn't set Mode Script Settings to {$actionName}able Script Callbacks. " . $e->getMessage()); return false; } $this->maniaControl->log("Script Callbacks successfully {$actionName}abled!"); diff --git a/application/core/Server/ServerCommands.php b/application/core/Server/ServerCommands.php index a4041819..6a1d7309 100644 --- a/application/core/Server/ServerCommands.php +++ b/application/core/Server/ServerCommands.php @@ -58,11 +58,11 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage $this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_ONINIT, $this, 'handleOnInit'); // Register for commands - $this->maniaControl->commandManager->registerCommandListener('setpwd', $this, 'command_SetPwd', true, 'Sets play password.'); $this->maniaControl->commandManager->registerCommandListener('setservername', $this, 'command_SetServerName', true, 'Sets the servername.'); + $this->maniaControl->commandManager->registerCommandListener('setpwd', $this, 'command_SetPwd', true, 'Sets play password.'); + $this->maniaControl->commandManager->registerCommandListener('setspecpwd', $this, 'command_SetSpecPwd', true, 'Sets spectator password.'); $this->maniaControl->commandManager->registerCommandListener('setmaxplayers', $this, 'command_SetMaxPlayers', true, 'Sets the maximum number of players.'); $this->maniaControl->commandManager->registerCommandListener('setmaxspectators', $this, 'command_SetMaxSpectators', true, 'Sets the maximum number of spectators.'); - $this->maniaControl->commandManager->registerCommandListener('setspecpwd', $this, 'command_SetSpecPwd', true, 'Sets spectator password.'); $this->maniaControl->commandManager->registerCommandListener('shutdownserver', $this, 'command_ShutdownServer', true, 'Shuts down the ManiaPlanet server.'); $this->maniaControl->commandManager->registerCommandListener('systeminfo', $this, 'command_SystemInfo', true, 'Shows system information.'); diff --git a/application/core/Server/UsageReporter.php b/application/core/Server/UsageReporter.php index 765c1f12..bd7e4dcb 100644 --- a/application/core/Server/UsageReporter.php +++ b/application/core/Server/UsageReporter.php @@ -3,10 +3,10 @@ namespace ManiaControl\Server; use ManiaControl\Callbacks\TimerListener; -use ManiaControl\Utils\Formatter; use ManiaControl\ManiaControl; use ManiaControl\Plugins\Plugin; -use Maniaplanet\DedicatedServer\Xmlrpc\Exception; +use ManiaControl\Utils\Formatter; +use Maniaplanet\DedicatedServer\Xmlrpc\NotInScriptModeException; /** * Class reporting ManiaControl Usage for the Server @@ -46,7 +46,7 @@ class UsageReporter implements TimerListener { * @param float $time */ public function reportUsage($time) { - if (!$this->maniaControl->settingManager->getSetting($this, self::SETTING_REPORT_USAGE)) { + if (!$this->maniaControl->settingManager->getSettingValue($this, self::SETTING_REPORT_USAGE)) { return; } @@ -69,12 +69,8 @@ class UsageReporter implements TimerListener { try { $scriptName = $this->maniaControl->client->getScriptName(); $properties['ScriptName'] = $scriptName['CurrentValue']; - } catch (Exception $e) { - if ($e->getMessage() == 'Not in script mode.') { - $properties['ScriptName'] = ''; - } else { - throw $e; - } + } catch (NotInScriptModeException $e) { + $properties['ScriptName'] = ''; } $activePlugins = array(); diff --git a/application/core/Settings/SettingManager.php b/application/core/Settings/SettingManager.php index 8678aa22..88614673 100644 --- a/application/core/Settings/SettingManager.php +++ b/application/core/Settings/SettingManager.php @@ -260,6 +260,22 @@ class SettingManager implements CallbackListener { return true; } + /** + * Get the Setting Value directly + * + * @param mixed $object + * @param string $settingName + * @param mixed $default + * @return mixed + */ + public function getSettingValue($object, $settingName, $default = null) { + $setting = $this->getSetting($object, $settingName, $default); + if ($setting) { + return $setting->value; + } + return null; + } + /** * Reset a Setting to its Default Value * diff --git a/application/core/Statistics/StatisticCollector.php b/application/core/Statistics/StatisticCollector.php index a681c950..1f51facd 100644 --- a/application/core/Statistics/StatisticCollector.php +++ b/application/core/Statistics/StatisticCollector.php @@ -109,7 +109,7 @@ class StatisticCollector implements CallbackListener { */ public function onEndMap(array $callback) { //Check for Minimum PlayerCount - if (count($this->maniaControl->playerManager->getPlayers()) < $this->maniaControl->settingManager->getSetting($this, self::SETTING_COLLECT_STATS_MINPLAYERS)) { + if (count($this->maniaControl->playerManager->getPlayers()) < $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_COLLECT_STATS_MINPLAYERS)) { return; } @@ -128,7 +128,7 @@ class StatisticCollector implements CallbackListener { */ public function onPlayerDisconnect(Player $player) { // Check if Stat Collecting is enabled - if (!$this->maniaControl->settingManager->getSetting($this, self::SETTING_COLLECT_STATS_ENABLED)) { + if (!$this->maniaControl->settingManager->getSettingValue($this, self::SETTING_COLLECT_STATS_ENABLED)) { return; } @@ -146,14 +146,15 @@ class StatisticCollector implements CallbackListener { * * @param array $callback */ - public function handleCallbacks(array $callback) { //TODO survivals + public function handleCallbacks(array $callback) { + //TODO survivals //Check if Stat Collecting is enabled - if (!$this->maniaControl->settingManager->getSetting($this, self::SETTING_COLLECT_STATS_ENABLED)) { + if (!$this->maniaControl->settingManager->getSettingValue($this, self::SETTING_COLLECT_STATS_ENABLED)) { return; } //Check for Minimum PlayerCount - if (count($this->maniaControl->playerManager->getPlayers()) < $this->maniaControl->settingManager->getSetting($this, self::SETTING_COLLECT_STATS_MINPLAYERS)) { + if (count($this->maniaControl->playerManager->getPlayers()) < $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_COLLECT_STATS_MINPLAYERS)) { return; } @@ -277,7 +278,7 @@ class StatisticCollector implements CallbackListener { } //Write Shoot Data into database - if (array_sum($this->onShootArray[$login]) > $this->maniaControl->settingManager->getSetting($this, self::SETTING_ON_SHOOT_PRESTORE)) { + if (array_sum($this->onShootArray[$login]) > $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_ON_SHOOT_PRESTORE)) { $player = $this->maniaControl->playerManager->getPlayer($login); $rocketShots = $this->onShootArray[$login][self::WEAPON_ROCKET]; diff --git a/application/core/Update/PluginUpdateManager.php b/application/core/Update/PluginUpdateManager.php index d14ca2a1..0b77f976 100644 --- a/application/core/Update/PluginUpdateManager.php +++ b/application/core/Update/PluginUpdateManager.php @@ -178,7 +178,7 @@ class PluginUpdateManager implements CallbackListener, CommandListener, TimerLis } $this->maniaControl->log($message); - $performBackup = $this->maniaControl->settingManager->getSetting($this->maniaControl->updateManager, UpdateManager::SETTING_PERFORM_BACKUPS); + $performBackup = $this->maniaControl->settingManager->getSettingValue($this->maniaControl->updateManager, UpdateManager::SETTING_PERFORM_BACKUPS); if ($performBackup && !BackupUtil::performPluginsBackup()) { $message = 'Creating Backup before Plugins Update failed!'; if ($player) { diff --git a/application/core/Update/UpdateManager.php b/application/core/Update/UpdateManager.php index 3226a41d..9d6f41d9 100644 --- a/application/core/Update/UpdateManager.php +++ b/application/core/Update/UpdateManager.php @@ -60,13 +60,12 @@ class UpdateManager implements CallbackListener, CommandListener, TimerListener // Init settings $this->maniaControl->settingManager->initSetting($this, self::SETTING_ENABLEUPDATECHECK, true); $this->maniaControl->settingManager->initSetting($this, self::SETTING_AUTO_UPDATE, true); - $this->maniaControl->settingManager->initSetting($this, self::SETTING_UPDATECHECK_INTERVAL, 1); + $updateIntervalSetting = $this->maniaControl->settingManager->initSetting($this, self::SETTING_UPDATECHECK_INTERVAL, 1); $this->maniaControl->settingManager->initSetting($this, self::SETTING_UPDATECHECK_CHANNEL, self::CHANNEL_BETA); $this->maniaControl->settingManager->initSetting($this, self::SETTING_PERFORM_BACKUPS, true); // Register for callbacks - $updateInterval = $this->maniaControl->settingManager->getSetting($this, self::SETTING_UPDATECHECK_INTERVAL); - $this->maniaControl->timerManager->registerTimerListening($this, 'hourlyUpdateCheck', 1000 * 60 * 60 * $updateInterval); + $this->maniaControl->timerManager->registerTimerListening($this, 'hourlyUpdateCheck', 1000 * 60 * 60 * $updateIntervalSetting->value); $this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERCONNECT, $this, 'handlePlayerJoined'); $this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERDISCONNECT, $this, 'handlePlayerDisconnect'); @@ -88,7 +87,7 @@ class UpdateManager implements CallbackListener, CommandListener, TimerListener * @param float $time */ public function hourlyUpdateCheck($time) { - $updateCheckEnabled = $this->maniaControl->settingManager->getSetting($this, self::SETTING_ENABLEUPDATECHECK); + $updateCheckEnabled = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_ENABLEUPDATECHECK); if (!$updateCheckEnabled) { $this->setCoreUpdateData(); return; @@ -138,7 +137,7 @@ class UpdateManager implements CallbackListener, CommandListener, TimerListener * @return string */ public function getCurrentUpdateChannelSetting() { - $updateChannel = $this->maniaControl->settingManager->getSetting($this, self::SETTING_UPDATECHECK_CHANNEL); + $updateChannel = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_UPDATECHECK_CHANNEL); $updateChannel = strtolower($updateChannel); if (!in_array($updateChannel, array(self::CHANNEL_RELEASE, self::CHANNEL_BETA, self::CHANNEL_NIGHTLY))) { $updateChannel = self::CHANNEL_RELEASE; @@ -249,7 +248,7 @@ class UpdateManager implements CallbackListener, CommandListener, TimerListener * Check if an automatic Update should be performed */ public function checkAutoUpdate() { - $autoUpdate = $this->maniaControl->settingManager->getSetting($this, self::SETTING_AUTO_UPDATE); + $autoUpdate = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_AUTO_UPDATE); if (!$autoUpdate) { // Auto update turned off return; @@ -294,7 +293,7 @@ class UpdateManager implements CallbackListener, CommandListener, TimerListener return false; } - $performBackup = $this->maniaControl->settingManager->getSetting($this, self::SETTING_PERFORM_BACKUPS); + $performBackup = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_PERFORM_BACKUPS); if ($performBackup && !BackupUtil::performFullBackup()) { $message = 'Creating Backup before Update failed!'; if ($player) { diff --git a/application/plugins/MCTeam/ChatMessagePlugin.php b/application/plugins/MCTeam/ChatMessagePlugin.php index 411da13a..2f7b7a9d 100644 --- a/application/plugins/MCTeam/ChatMessagePlugin.php +++ b/application/plugins/MCTeam/ChatMessagePlugin.php @@ -399,7 +399,7 @@ class ChatMessagePlugin implements CommandListener, Plugin { $msg = '$ff0[$<' . $player->nickname . '$>] $ff0$iAway From Keyboard!'; $this->maniaControl->chat->sendChat($msg, null, false); - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_AFK_FORCE_SPEC)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_AFK_FORCE_SPEC)) { if ($player->isSpectator) { return; } diff --git a/application/plugins/MCTeam/ChatlogPlugin.php b/application/plugins/MCTeam/ChatlogPlugin.php index 0177bcbd..43473fca 100644 --- a/application/plugins/MCTeam/ChatlogPlugin.php +++ b/application/plugins/MCTeam/ChatlogPlugin.php @@ -103,7 +103,7 @@ class ChatlogPlugin implements CallbackListener, Plugin { * Build the Log File Name and Folder */ private function buildLogFileName() { - $folderName = $this->maniaControl->settingManager->getSetting($this, self::SETTING_FOLDERNAME); + $folderName = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_FOLDERNAME); $folderName = FileUtil::getClearedFileName($folderName); $folderDir = ManiaControlDir . $folderName; if (!is_dir($folderDir)) { @@ -112,9 +112,9 @@ class ChatlogPlugin implements CallbackListener, Plugin { trigger_error("Couldn't create ChatlogPlugin Log-Folder '{$folderName}'!"); } } - $fileName = $this->maniaControl->settingManager->getSetting($this, self::SETTING_FILENAME); + $fileName = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_FILENAME); $fileName = FileUtil::getClearedFileName($fileName); - $usePId = $this->maniaControl->settingManager->getSetting($this, self::SETTING_USEPID); + $usePId = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_USEPID); if ($usePId) { $dotIndex = strripos($fileName, '.'); $pIdPart = '_' . getmypid(); @@ -142,7 +142,7 @@ class ChatlogPlugin implements CallbackListener, Plugin { $data = $chatCallback[1]; if ($data[0] <= 0) { // Server message - $logServerMessages = $this->maniaControl->settingManager->getSetting($this, self::SETTING_LOGSERVERMESSAGES); + $logServerMessages = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_LOGSERVERMESSAGES); if (!$logServerMessages) { // Skip it return; diff --git a/application/plugins/MCTeam/CustomVotesPlugin.php b/application/plugins/MCTeam/CustomVotesPlugin.php index d8654261..6f6af8a4 100644 --- a/application/plugins/MCTeam/CustomVotesPlugin.php +++ b/application/plugins/MCTeam/CustomVotesPlugin.php @@ -18,7 +18,6 @@ use FML\Script\Features\KeyAction; use ManiaControl\Callbacks\CallbackListener; use ManiaControl\Callbacks\CallbackManager; use ManiaControl\Callbacks\TimerListener; -use ManiaControl\Utils\ColorUtil; use ManiaControl\Commands\CommandListener; use ManiaControl\ManiaControl; use ManiaControl\Manialinks\ManialinkPageAnswerListener; @@ -27,6 +26,7 @@ use ManiaControl\Players\PlayerManager; use ManiaControl\Plugins\Plugin; use ManiaControl\Server\Server; use ManiaControl\Server\ServerCommands; +use ManiaControl\Utils\ColorUtil; use Maniaplanet\DedicatedServer\Structures\VoteRatio; use Maniaplanet\DedicatedServer\Xmlrpc\NotInScriptModeException; @@ -38,6 +38,7 @@ use Maniaplanet\DedicatedServer\Xmlrpc\NotInScriptModeException; * @copyright 2014 ManiaControl Team * @license http://www.gnu.org/licenses/ GNU General Public License, Version 3 */ +// TODO: create dedicated files for used classes class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkPageAnswerListener, TimerListener, Plugin { /* * Constants @@ -196,7 +197,7 @@ class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkP */ public function defineVote($voteIndex, $voteName, $idBased = false, $startText = '', $neededRatio = -1) { if ($neededRatio == -1) { - $neededRatio = $this->maniaControl->settingManager->getSetting($this, self::SETTING_DEFAULT_RATIO); + $neededRatio = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_DEFAULT_RATIO); } $voteCommand = new VoteCommand($voteIndex, $voteName, $idBased, $neededRatio); $voteCommand->startText = $startText; @@ -275,10 +276,10 @@ class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkP * @param bool $login */ private function showIcon($login = false) { - $posX = $this->maniaControl->settingManager->getSetting($this, self::SETTING_VOTE_ICON_POSX); - $posY = $this->maniaControl->settingManager->getSetting($this, self::SETTING_VOTE_ICON_POSY); - $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_VOTE_ICON_WIDTH); - $height = $this->maniaControl->settingManager->getSetting($this, self::SETTING_VOTE_ICON_HEIGHT); + $posX = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_VOTE_ICON_POSX); + $posY = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_VOTE_ICON_POSY); + $width = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_VOTE_ICON_WIDTH); + $height = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_VOTE_ICON_HEIGHT); $shootManiaOffset = $this->maniaControl->manialinkManager->styleManager->getDefaultIconOffsetSM(); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); @@ -437,7 +438,7 @@ class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkP } // Spectators are not allowed to start a vote - if ($player->isSpectator && !$this->maniaControl->settingManager->getSetting($this, self::SETTING_SPECTATOR_ALLOW_START_VOTE)) { + if ($player->isSpectator && !$this->maniaControl->settingManager->getSettingValue($this, self::SETTING_SPECTATOR_ALLOW_START_VOTE)) { $this->maniaControl->chat->sendError('Spectators are not allowed to start a vote.', $player->login); return; } @@ -454,13 +455,13 @@ class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkP return; } - $maxTime = $this->maniaControl->settingManager->getSetting($this, self::SETTING_VOTE_TIME); + $maxTime = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_VOTE_TIME); $this->currentVote = $this->voteCommands[$voteIndex]; $this->currentVote = new CurrentVote($this->voteCommands[$voteIndex], $player, time() + $maxTime); - $this->currentVote->neededRatio = floatval($this->maniaControl->settingManager->getSetting($this, self::SETTING_DEFAULT_RATIO)); - $this->currentVote->neededPlayerRatio = floatval($this->maniaControl->settingManager->getSetting($this, self::SETTING_DEFAULT_PLAYER_RATIO)); + $this->currentVote->neededRatio = floatval($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_DEFAULT_RATIO)); + $this->currentVote->neededPlayerRatio = floatval($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_DEFAULT_PLAYER_RATIO)); $this->currentVote->function = $function; if ($this->currentVote->voteCommand->startText != '') { @@ -499,25 +500,25 @@ class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkP switch ($voteName) { case 'teambalance': $this->maniaControl->client->autoTeamBalance(); - $this->maniaControl->chat->sendInformation('$f8fVote to $fffbalance the teams$f8f has been successfull!'); + $this->maniaControl->chat->sendInformation('$f8fVote to $fffbalance the Teams$f8f has been successful!'); break; case 'skipmap': case 'skip': case 'nextmap': $this->maniaControl->mapManager->mapActions->skipMap(); - $this->maniaControl->chat->sendInformation('$f8fVote to $fffskip the map$f8f has been successfull!'); + $this->maniaControl->chat->sendInformation('$f8fVote to $fffskip the Map$f8f has been successful!'); break; case 'restartmap': $this->maniaControl->client->restartMap(); - $this->maniaControl->chat->sendInformation('$f8fVote to $fffrestart the map$f8f has been successfull!'); + $this->maniaControl->chat->sendInformation('$f8fVote to $fffrestart the Map$f8f has been successful!'); break; case 'pausegame': $this->maniaControl->client->sendModeScriptCommands(array('Command_ForceWarmUp' => true)); - $this->maniaControl->chat->sendInformation('$f8fVote to $fffpause the current game$f8f has been successfull!'); + $this->maniaControl->chat->sendInformation('$f8fVote to $fffpause the current Game$f8f has been successful!'); break; case 'replay': $this->maniaControl->mapManager->mapQueue->addFirstMapToMapQueue($this->currentVote->voter, $this->maniaControl->mapManager->getCurrentMap()); - $this->maniaControl->chat->sendInformation('$f8fVote to $fffreplay the map$f8f has been successfull!'); + $this->maniaControl->chat->sendInformation('$f8fVote to $fffreplay the Map$f8f has been successful!'); break; } } else { @@ -545,6 +546,12 @@ class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkP } } + /** + * Handle a Player Chat Vote + * + * @param array $chat + * @param Player $player + */ public function handleChatVote(array $chat, Player $player) { $chatCommand = explode(' ', $chat[1][2]); $chatCommand = $chatCommand[0]; @@ -571,7 +578,7 @@ class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkP * @param Player $player */ public function handlePositiveVote(array $callback, Player $player) { - if (!isset($this->currentVote) || $player->isSpectator && !$this->maniaControl->settingManager->getSetting($this, self::SETTING_SPECTATOR_ALLOW_VOTE)) { + if (!isset($this->currentVote) || $player->isSpectator && !$this->maniaControl->settingManager->getSettingValue($this, self::SETTING_SPECTATOR_ALLOW_VOTE)) { return; } @@ -585,7 +592,7 @@ class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkP * @param Player $player */ public function handleNegativeVote(array $callback, Player $player) { - if (!isset($this->currentVote) || $player->isSpectator && !$this->maniaControl->settingManager->getSetting($this, self::SETTING_SPECTATOR_ALLOW_VOTE)) { + if (!isset($this->currentVote) || $player->isSpectator && !$this->maniaControl->settingManager->getSettingValue($this, self::SETTING_SPECTATOR_ALLOW_VOTE)) { return; } @@ -621,17 +628,17 @@ class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkP } /** - * Shows the vote widget + * Show the vote widget * - * @param $timeUntilExpire - * @param $votePercentage + * @param int $timeUntilExpire + * @param float $votePercentage */ private function showVoteWidget($timeUntilExpire, $votePercentage) { - $pos_x = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_POSX); - $pos_y = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_POSY); - $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_WIDTH); - $height = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_HEIGHT); - $maxTime = $this->maniaControl->settingManager->getSetting($this, self::SETTING_VOTE_TIME); + $pos_x = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_POSX); + $pos_y = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_POSY); + $width = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_WIDTH); + $height = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_HEIGHT); + $maxTime = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_VOTE_TIME); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); @@ -755,7 +762,7 @@ class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkP } /** - * Vote Command Structure + * Vote Command Model Class */ class VoteCommand { public $index = ''; @@ -764,6 +771,14 @@ class VoteCommand { public $idBased = false; public $startText = ''; + /** + * Construct a new Vote Command + * + * @param $index + * @param $name + * @param $idBased + * @param $neededRatio + */ public function __construct($index, $name, $idBased, $neededRatio) { $this->index = $index; $this->name = $name; @@ -773,7 +788,7 @@ class VoteCommand { } /** - * Current Vote Structure + * Current Vote Model Class */ class CurrentVote { const VOTE_FOR_ACTION = '1'; @@ -791,6 +806,13 @@ class CurrentVote { private $playersVoted = array(); + /** + * Construct a Current Vote + * + * @param VoteCommand $voteCommand + * @param Player $voter + * @param $expireTime + */ public function __construct(VoteCommand $voteCommand, Player $voter, $expireTime) { $this->expireTime = $expireTime; $this->voteCommand = $voteCommand; @@ -798,6 +820,11 @@ class CurrentVote { $this->votePositive($voter->login); } + /** + * Handle a positive Vote + * + * @param string $login + */ public function votePositive($login) { if (isset($this->playersVoted[$login])) { if ($this->playersVoted[$login] == self::VOTE_AGAINST_ACTION) { @@ -810,6 +837,11 @@ class CurrentVote { } } + /** + * Handle a negative Vote + * + * @param string $login + */ public function voteNegative($login) { if (isset($this->playersVoted[$login])) { if ($this->playersVoted[$login] == self::VOTE_FOR_ACTION) { @@ -821,6 +853,11 @@ class CurrentVote { } } + /** + * Get the Number of Votes + * + * @return int + */ public function getVoteCount() { return count($this->playersVoted); } diff --git a/application/plugins/MCTeam/Dedimania/DedimaniaPlugin.php b/application/plugins/MCTeam/Dedimania/DedimaniaPlugin.php index 9b0a4587..798ab982 100644 --- a/application/plugins/MCTeam/Dedimania/DedimaniaPlugin.php +++ b/application/plugins/MCTeam/Dedimania/DedimaniaPlugin.php @@ -156,7 +156,7 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene $packMask = substr($this->maniaControl->server->titleId, 2); } - $dedimaniaCode = $this->maniaControl->settingManager->getSetting($this, self::SETTING_DEDIMANIA_CODE . $serverInfo->login . '$l'); + $dedimaniaCode = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_DEDIMANIA_CODE . $serverInfo->login . '$l'); if ($dedimaniaCode == '') { throw new \Exception("No Dedimania Code Specified, check the settings!"); } @@ -403,7 +403,7 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene $this->updateManialink = false; - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_ENABLE)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_ENABLE)) { $manialink = $this->buildManialink(); $this->maniaControl->manialinkManager->sendManialink($manialink); } @@ -420,12 +420,12 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene } $records = $this->dedimaniaData->records; - $title = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_TITLE); - $pos_x = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_POSX); - $pos_y = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_POSY); - $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_WIDTH); - $lines = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_LINESCOUNT); - $lineHeight = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_LINEHEIGHT); + $title = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_TITLE); + $pos_x = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_POSX); + $pos_y = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_POSY); + $width = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_WIDTH); + $lines = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_LINESCOUNT); + $lineHeight = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_LINEHEIGHT); $labelStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultLabelStyle(); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); @@ -582,7 +582,7 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene $self->fetchDedimaniaRecords(true); } } - if ($self->maniaControl->settingManager->getSetting($self, self::SETTING_WIDGET_ENABLE)) { + if ($self->maniaControl->settingManager->getSettingValue($self, self::SETTING_WIDGET_ENABLE)) { $manialink = $self->buildManialink(); $self->maniaControl->manialinkManager->sendManialink($manialink, $player->login); } @@ -754,7 +754,7 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene } /** - * Build votes info struct for callbacks + * Build Votes Info Array for Callbacks */ private function getVotesInfo() { $map = $this->maniaControl->mapManager->getCurrentMap(); @@ -786,7 +786,7 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene } /** - * Plyer finished callback + * Player finished callback * * @param $callback */ diff --git a/application/plugins/MCTeam/DonationPlugin.php b/application/plugins/MCTeam/DonationPlugin.php index 2c60ceb0..d140cd05 100644 --- a/application/plugins/MCTeam/DonationPlugin.php +++ b/application/plugins/MCTeam/DonationPlugin.php @@ -109,7 +109,7 @@ class DonationPlugin implements CallbackListener, CommandListener, Plugin { $this->maniaControl->commandManager->registerCommandListener('donate', $this, 'command_Donate', false, 'Donate some planets to the server.'); $this->maniaControl->commandManager->registerCommandListener('pay', $this, 'command_Pay', true, 'Pays planets from the server to a player.'); $this->maniaControl->commandManager->registerCommandListener('planets', $this, 'command_GetPlanets', true, 'Checks the planets-balance of the server.'); - $this->maniaControl->commandManager->registerCommandListener('topdons', $this, 'command_TopDons', false, 'Provides an overview of who dontated the most planets.'); + $this->maniaControl->commandManager->registerCommandListener('topdons', $this, 'command_TopDons', false, 'Provides an overview of who donated the most planets.'); // Register for callbacks $this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERCONNECT, $this, 'handlePlayerConnect'); @@ -137,7 +137,7 @@ class DonationPlugin implements CallbackListener, CommandListener, Plugin { * Display the widget */ public function displayWidget() { - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_DONATE_WIDGET_ACTIVATED)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_DONATE_WIDGET_ACTIVATED)) { $this->displayDonateWidget(); } } @@ -148,11 +148,11 @@ class DonationPlugin implements CallbackListener, CommandListener, Plugin { * @param string $login */ public function displayDonateWidget($login = null) { - $posX = $this->maniaControl->settingManager->getSetting($this, self::SETTING_DONATE_WIDGET_POSX); - $posY = $this->maniaControl->settingManager->getSetting($this, self::SETTING_DONATE_WIDGET_POSY); - $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_DONATE_WIDGET_WIDTH); - $height = $this->maniaControl->settingManager->getSetting($this, self::SETTING_DONATE_WIDGET_HEIGHT); - $values = $this->maniaControl->settingManager->getSetting($this, self::SETTING_DONATION_VALUES); + $posX = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_DONATE_WIDGET_POSX); + $posY = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_DONATE_WIDGET_POSY); + $width = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_DONATE_WIDGET_WIDTH); + $height = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_DONATE_WIDGET_HEIGHT); + $values = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_DONATION_VALUES); $shootManiaOffset = $this->maniaControl->manialinkManager->styleManager->getDefaultIconOffsetSM(); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); @@ -286,7 +286,7 @@ class DonationPlugin implements CallbackListener, CommandListener, Plugin { $this->maniaControl->billManager->sendBill(function ($data, $status) use (&$self, &$player, $amount, $receiver) { switch ($status) { case BillManager::DONATED_TO_SERVER: - if ($self->maniaControl->settingManager->getSetting($self, DonationPlugin::SETTING_ANNOUNCE_SERVERDONATION, true) && $amount >= $self->maniaControl->settingManager->getSetting($self, DonationPlugin::SETTING_MIN_AMOUNT_SHOWN, true)) { + if ($self->maniaControl->settingManager->getSettingValue($self, DonationPlugin::SETTING_ANNOUNCE_SERVERDONATION, true) && $amount >= $self->maniaControl->settingManager->getSettingValue($self, DonationPlugin::SETTING_MIN_AMOUNT_SHOWN, true)) { $login = null; $message = '$<' . $player->nickname . '$> donated ' . $amount . ' Planets! Thanks.'; } else { @@ -319,7 +319,7 @@ class DonationPlugin implements CallbackListener, CommandListener, Plugin { */ public function handlePlayerConnect(Player $player) { // Display Map Widget - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_DONATE_WIDGET_ACTIVATED)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_DONATE_WIDGET_ACTIVATED)) { $this->displayDonateWidget($player->login); } } diff --git a/application/plugins/MCTeam/KarmaPlugin.php b/application/plugins/MCTeam/KarmaPlugin.php index 57e89d1d..5dfc69fe 100644 --- a/application/plugins/MCTeam/KarmaPlugin.php +++ b/application/plugins/MCTeam/KarmaPlugin.php @@ -176,10 +176,10 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { //Check if Karma Code got specified, and inform admin that it would be good to specifiy one $serverLogin = $this->maniaControl->server->login; $karmaSettingName = self::buildKarmaSettingName($serverLogin); - $mxKarmaCode = $this->maniaControl->settingManager->getSetting($this, $karmaSettingName); + $mxKarmaCode = $this->maniaControl->settingManager->getSettingValue($this, $karmaSettingName); - if ($mxKarmaCode == '') { - $permission = $this->maniaControl->settingManager->getSetting($this->maniaControl->authenticationManager, PluginMenu::SETTING_PERMISSION_CHANGE_PLUGIN_SETTINGS); + if (!$mxKarmaCode) { + $permission = $this->maniaControl->settingManager->getSettingValue($this->maniaControl->authenticationManager, PluginMenu::SETTING_PERMISSION_CHANGE_PLUGIN_SETTINGS); $this->maniaControl->chat->sendErrorToAdmins("Please specify a Mania-Exchange Karma Key in the Karma-Plugin settings!", $permission); } @@ -210,7 +210,7 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { // Migrate settings $this->maniaControl->database->migrationHelper->transferSettings('KarmaPlugin', $this); - if (!$this->maniaControl->settingManager->getSetting($this, self::SETTING_MX_KARMA_ACTIVATED)) { + if (!$this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MX_KARMA_ACTIVATED)) { return; } @@ -233,13 +233,13 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { * Open a Mx Karma Session */ private function mxKarmaOpenSession() { - if (!$this->maniaControl->settingManager->getSetting($this, self::SETTING_MX_KARMA_ACTIVATED)) { + if (!$this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MX_KARMA_ACTIVATED)) { return; } $serverLogin = $this->maniaControl->server->login; $karmaSettingName = self::buildKarmaSettingName($serverLogin); - $mxKarmaCode = $this->maniaControl->settingManager->getSetting($this, $karmaSettingName); + $mxKarmaCode = $this->maniaControl->settingManager->getSettingValue($this, $karmaSettingName); if ($mxKarmaCode == '') { return; @@ -301,7 +301,7 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { $self->getMxKarmaVotes(); } else { if ($data->data->message == "invalid hash") { - $permission = $self->maniaControl->settingManager->getSetting($this->maniaControl->authenticationManager, PluginMenu::SETTING_PERMISSION_CHANGE_PLUGIN_SETTINGS); + $permission = $self->maniaControl->settingManager->getSettingValue($this->maniaControl->authenticationManager, PluginMenu::SETTING_PERMISSION_CHANGE_PLUGIN_SETTINGS); $self->maniaControl->chat->sendErrorToAdmins("Invalid Mania-Exchange Karma code in Karma Plugin specified!", $permission); } else { // TODO remove temp trigger @@ -335,7 +335,7 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { * Fetch the mxKarmaVotes for the current map */ public function getMxKarmaVotes(Player $player = null) { - if (!$this->maniaControl->settingManager->getSetting($this, self::SETTING_MX_KARMA_ACTIVATED)) { + if (!$this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MX_KARMA_ACTIVATED)) { return; } @@ -580,7 +580,7 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { */ private function handleVote(Player $player, $vote) { // Check vote - $votesSetting = $this->maniaControl->settingManager->getSetting($this, self::SETTING_AVAILABLE_VOTES); + $votesSetting = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_AVAILABLE_VOTES); $votes = explode(',', $votesSetting); $voteLow = intval($votes[0]); $voteHigh = $voteLow + 2; @@ -600,7 +600,7 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { $map = $this->maniaControl->mapManager->getCurrentMap(); // Update vote in MX karma array - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_MX_KARMA_ACTIVATED) && isset($this->mxKarma["session"])) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MX_KARMA_ACTIVATED) && isset($this->mxKarma["session"])) { if (!isset($this->mxKarma["votes"][$player->login])) { $sum = $this->mxKarma["voteCount"] * $this->mxKarma["voteAverage"] + $vote * 100; $this->mxKarma["voteCount"]++; @@ -765,7 +765,7 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { return; } - $displayMxKarma = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_DISPLAY_MX); + $displayMxKarma = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_DISPLAY_MX); // Get players $players = $this->updateManialink; @@ -777,7 +777,7 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { // Get map karma $map = $this->maniaControl->mapManager->getCurrentMap(); - // Display the mx Karma if the setting is choosen and the MX session is available + // Display the mx Karma if the setting is chosen and the MX session is available if ($displayMxKarma && isset($this->mxKarma['session']) && isset($this->mxKarma['voteCount'])) { $karma = $this->mxKarma['modeVoteAverage'] / 100; $voteCount = $this->mxKarma['modeVoteCount']; @@ -787,7 +787,7 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { $voteCount = $votes['count']; } - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_ENABLE)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_ENABLE)) { // Build karma manialink $this->buildManialink(); @@ -893,11 +893,11 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { return; } - $title = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_TITLE); - $pos_x = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_POSX); - $pos_y = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_POSY); - $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_WIDTH); - $height = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_HEIGHT); + $title = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_TITLE); + $pos_x = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_POSX); + $pos_y = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_POSY); + $width = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_WIDTH)->value; + $height = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_HEIGHT)->value; $labelStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultLabelStyle(); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); @@ -951,11 +951,11 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { * @param Map $map */ public function importMxKarmaVotes(Map $map) { - if (!$this->maniaControl->settingManager->getSetting($this, self::SETTING_MX_KARMA_ACTIVATED)) { + if (!$this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MX_KARMA_ACTIVATED)) { return; } - if (!$this->maniaControl->settingManager->getSetting($this, self::SETTING_MX_KARMA_IMPORTING)) { + if (!$this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MX_KARMA_IMPORTING)) { return; } @@ -1008,7 +1008,7 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { * Save Mx Karma Votes at Mapend */ public function sendMxKarmaVotes(Map $map) { - if (!$this->maniaControl->settingManager->getSetting($this, self::SETTING_MX_KARMA_ACTIVATED)) { + if (!$this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MX_KARMA_ACTIVATED)) { return; } diff --git a/application/plugins/MCTeam/LocalRecordsPlugin.php b/application/plugins/MCTeam/LocalRecordsPlugin.php index b8dd653e..60894a68 100644 --- a/application/plugins/MCTeam/LocalRecordsPlugin.php +++ b/application/plugins/MCTeam/LocalRecordsPlugin.php @@ -192,7 +192,7 @@ class LocalRecordsPlugin implements CallbackListener, CommandListener, TimerList } $this->updateManialink = false; - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_ENABLE)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_ENABLE)) { $manialink = $this->buildManialink(); $this->maniaControl->manialinkManager->sendManialink($manialink); } @@ -209,12 +209,12 @@ class LocalRecordsPlugin implements CallbackListener, CommandListener, TimerList return null; } - $title = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_TITLE); - $pos_x = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_POSX); - $pos_y = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_POSY); - $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_WIDTH); - $lines = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_LINESCOUNT); - $lineHeight = $this->maniaControl->settingManager->getSetting($this, self::SETTING_WIDGET_LINEHEIGHT); + $title = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_TITLE); + $pos_x = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_POSX); + $pos_y = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_POSY); + $width = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_WIDTH); + $lines = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_LINESCOUNT); + $lineHeight = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_WIDGET_LINEHEIGHT); $labelStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultLabelStyle(); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); @@ -233,7 +233,7 @@ class LocalRecordsPlugin implements CallbackListener, CommandListener, TimerList $backgroundQuad = new Quad(); $frame->add($backgroundQuad); $backgroundQuad->setVAlign(Control::TOP); - $adjustOuterBorder = $this->maniaControl->settingManager->getSetting($this, self::SETTING_ADJUST_OUTER_BORDER); + $adjustOuterBorder = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_ADJUST_OUTER_BORDER); $height = 7. + ($adjustOuterBorder ? count($records) : $lines) * $lineHeight; $backgroundQuad->setSize($width * 1.05, $height); $backgroundQuad->setStyles($quadStyle, $quadSubstyle); @@ -448,8 +448,8 @@ class LocalRecordsPlugin implements CallbackListener, CommandListener, TimerList // Announce record $newRecord = $this->getLocalRecord($map, $player); - $notifyOnlyDriver = $this->maniaControl->settingManager->getSetting($this, self::SETTING_NOTIFY_ONLY_DRIVER); - $notifyOnlyBestRecords = $this->maniaControl->settingManager->getSetting($this, self::SETTING_NOTIFY_BEST_RECORDS); + $notifyOnlyDriver = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_NOTIFY_ONLY_DRIVER); + $notifyOnlyBestRecords = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_NOTIFY_BEST_RECORDS); if ($notifyOnlyDriver || $notifyOnlyBestRecords > 0 && $newRecord->rank > $notifyOnlyBestRecords) { $improvement = ((!$oldRecord || $newRecord->rank < $oldRecord->rank) ? 'gained the' : 'improved your'); $message = 'You ' . $improvement . ' $<$ff0' . $newRecord->rank . '.$> Local Record: $<$fff' . Formatter::formatTime($newRecord->time) . '$>'; diff --git a/application/plugins/MCTeam/ServerRankingPlugin.php b/application/plugins/MCTeam/ServerRankingPlugin.php index 69a2a5ce..530e9b55 100644 --- a/application/plugins/MCTeam/ServerRankingPlugin.php +++ b/application/plugins/MCTeam/ServerRankingPlugin.php @@ -119,7 +119,7 @@ class ServerRankingPlugin implements Plugin, CallbackListener, CommandListener { } //Check if the type is Correct - $type = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MIN_RANKING_TYPE); + $type = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MIN_RANKING_TYPE); if ($type != self::RANKING_TYPE_RECORDS && $type != self::RANKING_TYPE_POINTS && $type != self::RANKING_TYPE_RATIOS) { $error = 'Ranking Type is not correct, possible values(' . self::RANKING_TYPE_RATIOS . ', ' . self::RANKING_TYPE_POINTS . ', ' . self::RANKING_TYPE_POINTS . ')'; throw new \Exception($error); @@ -163,11 +163,11 @@ class ServerRankingPlugin implements Plugin, CallbackListener, CommandListener { // Erase old Average Data $mysqli->query('TRUNCATE TABLE ' . self::TABLE_RANK); - $type = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MIN_RANKING_TYPE); + $type = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MIN_RANKING_TYPE); switch ($type) { case self::RANKING_TYPE_RATIOS: - $minHits = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MIN_HITS_RATIO_RANKING); + $minHits = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MIN_HITS_RATIO_RANKING); $hits = $this->maniaControl->statisticManager->getStatsRanking(StatisticCollector::STAT_ON_HIT, -1, $minHits); $killDeathRatios = $this->maniaControl->statisticManager->getStatsRanking(StatisticManager::SPECIAL_STAT_KD_RATIO); @@ -187,7 +187,7 @@ class ServerRankingPlugin implements Plugin, CallbackListener, CommandListener { break; case self::RANKING_TYPE_POINTS: - $minHits = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MIN_HITS_POINTS_RANKING); + $minHits = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MIN_HITS_POINTS_RANKING); $ranks = $this->maniaControl->statisticManager->getStatsRanking(StatisticCollector::STAT_ON_HIT, -1, $minHits); @@ -197,8 +197,8 @@ class ServerRankingPlugin implements Plugin, CallbackListener, CommandListener { return; } - $requiredRecords = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MIN_REQUIRED_RECORDS); - $maxRecords = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MAX_STORED_RECORDS); + $requiredRecords = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MIN_REQUIRED_RECORDS); + $maxRecords = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MAX_STORED_RECORDS); $query = 'SELECT playerIndex, COUNT(*) AS Cnt FROM ' . \MCTeam\LocalRecordsPlugin::TABLE_RECORDS . ' @@ -286,7 +286,7 @@ class ServerRankingPlugin implements Plugin, CallbackListener, CommandListener { public function showRank(Player $player) { $rankObj = $this->getRank($player); - $type = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MIN_RANKING_TYPE); + $type = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MIN_RANKING_TYPE); $message = ''; if ($rankObj) { @@ -305,16 +305,16 @@ class ServerRankingPlugin implements Plugin, CallbackListener, CommandListener { } else { switch ($type) { case self::RANKING_TYPE_RATIOS: - $minHits = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MIN_HITS_RATIO_RANKING); + $minHits = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MIN_HITS_RATIO_RANKING); $message = '$0f3 You must make $<$fff' . $minHits . '$> Hits on this server before receiving a rank...'; break; case self::RANKING_TYPE_POINTS: - $minHits = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MIN_HITS_POINTS_RANKING); - $message = '$0f3 You must make $<$fff' . $minHits . '$> Hits on this server before receiving a rank...'; + $minPoints = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MIN_HITS_POINTS_RANKING); + $message = '$0f3 You must make $<$fff' . $minPoints . '$> Hits on this server before receiving a rank...'; break; case self::RANKING_TYPE_RECORDS: - $minHits = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MIN_REQUIRED_RECORDS); - $message = '$0f3 You need $<$fff' . $minHits . '$> Records on this server before receiving a rank...'; + $minRecords = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MIN_REQUIRED_RECORDS); + $message = '$0f3 You need $<$fff' . $minRecords . '$> Records on this server before receiving a rank...'; } } $this->maniaControl->chat->sendChat($message, $player->login); diff --git a/application/plugins/MCTeam/WidgetPlugin.php b/application/plugins/MCTeam/WidgetPlugin.php index 804f11c8..e93b5ab1 100644 --- a/application/plugins/MCTeam/WidgetPlugin.php +++ b/application/plugins/MCTeam/WidgetPlugin.php @@ -165,14 +165,14 @@ class WidgetPlugin implements CallbackListener, TimerListener, Plugin { */ private function displayWidgets() { // Display Map Widget - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_ACTIVATED)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MAP_WIDGET_ACTIVATED)) { $this->maniaControl->client->triggerModeScriptEventArray("Siege_SetProgressionLayerPosition", array("160.", "-67.", "0.")); $this->displayMapWidget(); } - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_CLOCK_WIDGET_ACTIVATED)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_CLOCK_WIDGET_ACTIVATED)) { $this->displayClockWidget(); } - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_SERVERINFO_WIDGET_ACTIVATED)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_SERVERINFO_WIDGET_ACTIVATED)) { $this->displayServerInfoWidget(); } } @@ -183,10 +183,10 @@ class WidgetPlugin implements CallbackListener, TimerListener, Plugin { * @param string $login */ public function displayMapWidget($login = null) { - $pos_x = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_POSX); - $pos_y = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_POSY); - $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_WIDTH); - $height = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_HEIGHT); + $pos_x = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MAP_WIDGET_POSX); + $pos_y = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MAP_WIDGET_POSY); + $width = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MAP_WIDGET_WIDTH); + $height = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MAP_WIDGET_HEIGHT); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); @@ -254,10 +254,10 @@ class WidgetPlugin implements CallbackListener, TimerListener, Plugin { * @param bool $login */ public function displayClockWidget($login = false) { - $pos_x = $this->maniaControl->settingManager->getSetting($this, self::SETTING_CLOCK_WIDGET_POSX); - $pos_y = $this->maniaControl->settingManager->getSetting($this, self::SETTING_CLOCK_WIDGET_POSY); - $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_CLOCK_WIDGET_WIDTH); - $height = $this->maniaControl->settingManager->getSetting($this, self::SETTING_CLOCK_WIDGET_HEIGHT); + $pos_x = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_CLOCK_WIDGET_POSX); + $pos_y = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_CLOCK_WIDGET_POSY); + $width = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_CLOCK_WIDGET_WIDTH); + $height = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_CLOCK_WIDGET_HEIGHT); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); @@ -295,10 +295,10 @@ class WidgetPlugin implements CallbackListener, TimerListener, Plugin { * @param string $login */ public function displayServerInfoWidget($login = null) { - $pos_x = $this->maniaControl->settingManager->getSetting($this, self::SETTING_SERVERINFO_WIDGET_POSX); - $pos_y = $this->maniaControl->settingManager->getSetting($this, self::SETTING_SERVERINFO_WIDGET_POSY); - $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_SERVERINFO_WIDGET_WIDTH); - $height = $this->maniaControl->settingManager->getSetting($this, self::SETTING_SERVERINFO_WIDGET_HEIGHT); + $pos_x = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_SERVERINFO_WIDGET_POSX); + $pos_y = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_SERVERINFO_WIDGET_POSY); + $width = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_SERVERINFO_WIDGET_WIDTH); + $height = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_SERVERINFO_WIDGET_HEIGHT); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); @@ -422,7 +422,7 @@ class WidgetPlugin implements CallbackListener, TimerListener, Plugin { */ public function handleOnBeginMap(Map $map) { // Display Map Widget - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_ACTIVATED)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MAP_WIDGET_ACTIVATED)) { $this->displayMapWidget(); } $this->closeWidget(self::MLID_NEXTMAPWIDGET); @@ -435,21 +435,21 @@ class WidgetPlugin implements CallbackListener, TimerListener, Plugin { */ public function handleOnEndMap(Map $map) { // Display Map Widget - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_NEXTMAP_WIDGET_ACTIVATED)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_NEXTMAP_WIDGET_ACTIVATED)) { $this->displayNextMapWidget(); } } /** - * Displays the Next Map (Only at the end of the Map) + * Display the Next Map (Only at the end of the Map) * - * @param bool $login + * @param string $login */ - public function displayNextMapWidget($login = false) { - $pos_x = $this->maniaControl->settingManager->getSetting($this, self::SETTING_NEXTMAP_WIDGET_POSX); - $pos_y = $this->maniaControl->settingManager->getSetting($this, self::SETTING_NEXTMAP_WIDGET_POSY); - $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_NEXTMAP_WIDGET_WIDTH); - $height = $this->maniaControl->settingManager->getSetting($this, self::SETTING_NEXTMAP_WIDGET_HEIGHT); + public function displayNextMapWidget($login = null) { + $pos_x = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_NEXTMAP_WIDGET_POSX); + $pos_y = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_NEXTMAP_WIDGET_POSY); + $width = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_NEXTMAP_WIDGET_WIDTH); + $height = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_NEXTMAP_WIDGET_HEIGHT); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); $labelStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultLabelStyle(); @@ -545,13 +545,13 @@ class WidgetPlugin implements CallbackListener, TimerListener, Plugin { */ public function handlePlayerConnect(Player $player) { // Display Map Widget - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_ACTIVATED)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_MAP_WIDGET_ACTIVATED)) { $this->displayMapWidget($player->login); } - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_CLOCK_WIDGET_ACTIVATED)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_CLOCK_WIDGET_ACTIVATED)) { $this->displayClockWidget($player->login); } - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_SERVERINFO_WIDGET_ACTIVATED)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_SERVERINFO_WIDGET_ACTIVATED)) { $this->displayServerInfoWidget(); } } @@ -562,7 +562,7 @@ class WidgetPlugin implements CallbackListener, TimerListener, Plugin { * @param Player $player */ public function handlePlayerDisconnect(Player $player) { - if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_SERVERINFO_WIDGET_ACTIVATED)) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::SETTING_SERVERINFO_WIDGET_ACTIVATED)) { $this->displayServerInfoWidget(); } } diff --git a/application/plugins/TheM/DynamicPointlimitPlugin.php b/application/plugins/TheM/DynamicPointlimitPlugin.php index 3156412e..13f8b100 100644 --- a/application/plugins/TheM/DynamicPointlimitPlugin.php +++ b/application/plugins/TheM/DynamicPointlimitPlugin.php @@ -59,7 +59,7 @@ class DynamicPointlimitPlugin implements CallbackListener, CommandListener, Plug public function load(ManiaControl $maniaControl) { $this->maniaControl = $maniaControl; - $allowOthers = $this->maniaControl->settingManager->getSetting($this, self::ACCEPT_OTHER_MODES); + $allowOthers = $this->maniaControl->settingManager->getSettingValue($this, self::ACCEPT_OTHER_MODES); if (!$allowOthers && $this->maniaControl->server->titleId != 'SMStormRoyal@nadeolabs') { $error = 'This plugin only supports Royal (check Settings)!'; throw new \Exception($error); @@ -138,10 +138,10 @@ class DynamicPointlimitPlugin implements CallbackListener, CommandListener, Plug } } - $pointlimit = ($numberOfPlayers * $this->maniaControl->settingManager->getSetting($this, self::DYNPNT_MULTIPLIER)) + $this->maniaControl->settingManager->getSetting($this, self::DYNPNT_OFFSET); + $pointlimit = ($numberOfPlayers * $this->maniaControl->settingManager->getSettingValue($this, self::DYNPNT_MULTIPLIER)) + $this->maniaControl->settingManager->getSettingValue($this, self::DYNPNT_OFFSET); - $min_value = $this->maniaControl->settingManager->getSetting($this, self::DYNPNT_MIN); - $max_value = $this->maniaControl->settingManager->getSetting($this, self::DYNPNT_MAX); + $min_value = $this->maniaControl->settingManager->getSettingValue($this, self::DYNPNT_MIN); + $max_value = $this->maniaControl->settingManager->getSettingValue($this, self::DYNPNT_MAX); if ($pointlimit < $min_value) { $pointlimit = $min_value; } diff --git a/application/plugins/TheM/QueuePlugin.php b/application/plugins/TheM/QueuePlugin.php index 82f7653f..a8b3d009 100644 --- a/application/plugins/TheM/QueuePlugin.php +++ b/application/plugins/TheM/QueuePlugin.php @@ -64,59 +64,6 @@ class QueuePlugin implements CallbackListener, ManialinkPageAnswerListener, Time // TODO: Implement prepare() method. } - /** - * Load the plugin - * - * @param ManiaControl $maniaControl - * @return bool - */ - public function load(ManiaControl $maniaControl) { - $this->maniaControl = $maniaControl; - - $this->maniaControl->timerManager->registerTimerListening($this, 'handleEverySecond', 1000); - $this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERCONNECT, $this, 'handlePlayerConnect'); - $this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERDISCONNECT, $this, 'handlePlayerDisconnect'); - $this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MP_PLAYERINFOCHANGED, $this, 'handlePlayerInfoChanged'); - $this->maniaControl->callbackManager->registerCallbackListener(Callbacks::BEGINMAP, $this, 'handleBeginMap'); - $this->maniaControl->manialinkManager->registerManialinkPageAnswerListener(self::ML_ADDTOQUEUE, $this, 'handleManiaLinkAnswerAdd'); - $this->maniaControl->manialinkManager->registerManialinkPageAnswerListener(self::ML_REMOVEFROMQUEUE, $this, 'handleManiaLinkAnswerRemove'); - - $this->maniaControl->settingManager->initSetting($this, self::QUEUE_MAX, 8); - $this->maniaControl->settingManager->initSetting($this, self::QUEUE_WIDGET_POS_X, 0); - $this->maniaControl->settingManager->initSetting($this, self::QUEUE_WIDGET_POS_Y, -46); - $this->maniaControl->settingManager->initSetting($this, self::QUEUE_ACTIVE_ON_PASS, false); - $this->maniaControl->settingManager->initSetting($this, self::QUEUE_CHATMESSAGES, true); - - $maxPlayers = $this->maniaControl->client->getMaxPlayers(); - $this->maxPlayers = $maxPlayers['CurrentValue']; - - if (!($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSetting($this, self::QUEUE_ACTIVE_ON_PASS) == false)) { - foreach($this->maniaControl->playerManager->getPlayers() as $player) { - if ($player->isSpectator) { - $this->spectators[$player->login] = $player->login; - $this->maniaControl->client->forceSpectator($player->login, 1); - $this->showJoinQueueWidget($player); - } - } - } - } - - /** - * Unload the plugin and its resources - */ - public function unload() { - foreach($this->spectators as $spectator) { - $this->maniaControl->client->forceSpectator($spectator, 3); - $this->maniaControl->client->forceSpectator($spectator, 0); - } - - $this->maniaControl->manialinkManager->hideManialink(self::ML_ID); - - $this->queue = array(); - $this->spectators = array(); - $this->showPlay = array(); - } - /** * Get plugin id * @@ -163,285 +110,40 @@ class QueuePlugin implements CallbackListener, ManialinkPageAnswerListener, Time } /** - * Function handling on the connection of a player. + * Load the plugin * - * @param Player $player - */ - public function handlePlayerConnect(Player $player) { - if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSetting($this, self::QUEUE_ACTIVE_ON_PASS) == false) { - return; - } - - $maxPlayers = $this->maniaControl->client->getMaxPlayers(); - $this->maxPlayers = $maxPlayers['CurrentValue']; - - if ($player->isSpectator) { - $this->spectators[$player->login] = $player->login; - $this->maniaControl->client->forceSpectator($player->login, 1); - $this->showJoinQueueWidget($player); - } else { - if (count($this->queue) != 0) { - $this->maniaControl->client->forceSpectator($player->login, 1); - $this->spectators[$player->login] = $player->login; - $this->showJoinQueueWidget($player); - } - } - } - - /** - * Function handling on the disconnection of a player. - * - * @param Player $player - */ - public function handlePlayerDisconnect(Player $player) { - if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSetting($this, self::QUEUE_ACTIVE_ON_PASS) == false) { - return; - } - - $maxPlayers = $this->maniaControl->client->getMaxPlayers(); - $this->maxPlayers = $maxPlayers['CurrentValue']; - - if (isset($this->spectators[$player->login])) { - unset($this->spectators[$player->login]); - } - $this->removePlayerFromQueue($player->login); - $this->moveFirstPlayerToPlay(); - } - - /** - * Function handling the change of player information. - * - * @param array $callback - */ - public function handlePlayerInfoChanged(array $callback) { - if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSetting($this, self::QUEUE_ACTIVE_ON_PASS) == false) { - return; - } - - $login = $callback[1][0]['Login']; - $player = $this->maniaControl->playerManager->getPlayer($login); - - if (!is_null($player)) { - if ($player->isSpectator) { - if (!isset($this->spectators[$player->login])) { - $this->maniaControl->client->forceSpectator($player->login, 1); - $this->spectators[$player->login] = $player->login; - $this->showJoinQueueWidget($player); - $this->showQueueWidgetSpectators(); - } - } else { - $this->removePlayerFromQueue($player->login); - if (isset($this->spectators[$player->login])) { - unset($this->spectators[$player->login]); - } - - $found = false; - foreach($this->showPlay as $showPlay) { - if ($showPlay['player']->login == $player->login) { - $found = true; - } - } - - if (!$found) { - $this->hideQueueWidget($player); - } - } - } - } - - public function showQueueWidgetSpectators() { - foreach($this->spectators as $login) { - $player = $this->maniaControl->playerManager->getPlayer($login); - $this->showJoinQueueWidget($player); - } - } - - /** - * Function called on every second. - */ - public function handleEverySecond() { - if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSetting($this, self::QUEUE_ACTIVE_ON_PASS) == false) { - return; - } - - if ($this->maxPlayers > (count($this->maniaControl->playerManager->players) - count($this->spectators))) { - $this->moveFirstPlayerToPlay(); - $this->showQueueWidgetSpectators(); - } - - foreach($this->showPlay as $showPlay) { - if (($showPlay['time'] + 5) < time()) { - $this->hideQueueWidget($showPlay['player']); - unset($this->showPlay[$showPlay['player']->login]); - } - } - } - - /** - * Checks for being of new map to retrieve maximum number of players. - * - * @param $currentMap - */ - public function handleBeginMap($currentMap) { - if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSetting($this, self::QUEUE_ACTIVE_ON_PASS) == false) { - return; - } - - $maxPlayers = $this->maniaControl->client->getMaxPlayers(); - $this->maxPlayers = $maxPlayers['CurrentValue']; - } - - /** - * Function handling the click of the widget to add them to the queue. - * - * @param array $chatCallback - * @param Player $player - */ - public function handleManiaLinkAnswerAdd(array $chatCallback, Player $player) { - $this->addPlayerToQueue($player); - } - - /** - * Function handling the click of the widget to remove them from the queue. - * - * @param array $chatCallback - * @param Player $player - */ - public function handleManiaLinkAnswerRemove(array $chatCallback, Player $player) { - $this->removePlayerFromQueue($player->login); - $this->showJoinQueueWidget($player); - $this->sendChatMessage('$<$fff' . $player->nickname . '$> has left the queue!'); - } - - /** - * Function used to move the first queued player to the - */ - private function moveFirstPlayerToPlay() { - if (count($this->queue) > 0) { - $firstPlayer = $this->maniaControl->playerManager->getPlayer($this->queue[0]->login); - $this->forcePlayerToPlay($firstPlayer); - $this->showQueueWidgetSpectators(); - } - } - - /** - * Function to force a player to play status. - * - * @param Player $player - */ - private function forcePlayerToPlay(Player $player) { - if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSetting($this, self::QUEUE_ACTIVE_ON_PASS) == false) { - return; - } - - if ($this->maxPlayers > (count($this->maniaControl->playerManager->players) - count($this->spectators))) { - try { - $this->maniaControl->client->forceSpectator($player->login, 2); - } catch(Exception $e) { - // TODO: only possible valid exception should be "wrong login" - throw others (like connection error) - $this->maniaControl->chat->sendError("Error while leaving the Queue", $player->login); - return; - } - - try { - $this->maniaControl->client->forceSpectator($player->login, 0); - } catch(Exception $e) { - // TODO: only possible valid exception should be "wrong login" - throw others (like connection error) - } - - $teams = array(); - /** @var Player $playerObj */ - foreach($this->maniaControl->playerManager->players as $playerObj) { - if (!isset($teams[$playerObj->teamId])) { - $teams[$playerObj->teamId] = 1; - } else { - $teams[$playerObj->teamId]++; - } - } - - $smallestTeam = null; - $smallestSize = 999; - foreach($teams as $team => $size) { - if ($size < $smallestSize) { - $smallestTeam = $team; - $smallestSize = $size; - } - } - - try { - if ($smallestTeam != -1) { - $this->maniaControl->client->forcePlayerTeam($player->login, $smallestTeam); - } - } catch(Exception $e) { - // TODO: only possible valid exceptions should be "wrong login" or "not in team mode" - throw others (like connection error) - } - - if (isset($this->spectators[$player->login])) { - unset($this->spectators[$player->login]); - } - $this->removePlayerFromQueue($player->login); - $this->showPlayWidget($player); - $this->sendChatMessage('$<$fff' . $player->nickname . '$> has a free spot and is now playing!'); - } - - } - - /** - * Function adds a player to the queue. - * - * @param Player $player + * @param ManiaControl $maniaControl * @return bool */ - private function addPlayerToQueue(Player $player) { - if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSetting($this, self::QUEUE_ACTIVE_ON_PASS) == false) { - return false; - } + public function load(ManiaControl $maniaControl) { + $this->maniaControl = $maniaControl; - foreach($this->queue as $queuedPlayer) { - if ($queuedPlayer->login == $player->login) { - $this->maniaControl->chat->sendError('You\'re already in the queue!', $player->login); - return false; + $this->maniaControl->timerManager->registerTimerListening($this, 'handleEverySecond', 1000); + $this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERCONNECT, $this, 'handlePlayerConnect'); + $this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERDISCONNECT, $this, 'handlePlayerDisconnect'); + $this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MP_PLAYERINFOCHANGED, $this, 'handlePlayerInfoChanged'); + $this->maniaControl->callbackManager->registerCallbackListener(Callbacks::BEGINMAP, $this, 'handleBeginMap'); + $this->maniaControl->manialinkManager->registerManialinkPageAnswerListener(self::ML_ADDTOQUEUE, $this, 'handleManiaLinkAnswerAdd'); + $this->maniaControl->manialinkManager->registerManialinkPageAnswerListener(self::ML_REMOVEFROMQUEUE, $this, 'handleManiaLinkAnswerRemove'); + + $this->maniaControl->settingManager->initSetting($this, self::QUEUE_MAX, 8); + $this->maniaControl->settingManager->initSetting($this, self::QUEUE_WIDGET_POS_X, 0); + $this->maniaControl->settingManager->initSetting($this, self::QUEUE_WIDGET_POS_Y, -46); + $this->maniaControl->settingManager->initSetting($this, self::QUEUE_ACTIVE_ON_PASS, false); + $this->maniaControl->settingManager->initSetting($this, self::QUEUE_CHATMESSAGES, true); + + $maxPlayers = $this->maniaControl->client->getMaxPlayers(); + $this->maxPlayers = $maxPlayers['CurrentValue']; + + if (!($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_ACTIVE_ON_PASS) == false)) { + foreach ($this->maniaControl->playerManager->getPlayers() as $player) { + if ($player->isSpectator) { + $this->spectators[$player->login] = $player->login; + $this->maniaControl->client->forceSpectator($player->login, 1); + $this->showJoinQueueWidget($player); + } } } - - if ($this->maniaControl->settingManager->getSetting($this, self::QUEUE_MAX) > count($this->queue)) { - $this->queue[count($this->queue)] = $player; - $this->sendChatMessage('$<$fff' . $player->nickname . '$> just joined the queue!'); - } - - $this->showQueueWidgetSpectators(); - - return true; - } - - /** - * Function removes a player from the queue. - * - * @param $login - */ - private function removePlayerFromQueue($login) { - $count = 0; - $newQueue = array(); - foreach($this->queue as $queuePlayer) { - if ($queuePlayer->login != $login) { - $newQueue[$count] = $queuePlayer; - $count++; - } - } - - $this->queue = $newQueue; - $this->showQueueWidgetSpectators(); - } - - /** - * Function sends (or not depending on setting) chatmessages for the queue. - * - * @param $message - */ - private function sendChatMessage($message) { - if ($this->maniaControl->settingManager->getSetting($this, self::QUEUE_CHATMESSAGES)) { - $this->maniaControl->chat->sendChat('$090[Queue] ' . $message); - } } /** @@ -454,13 +156,15 @@ class QueuePlugin implements CallbackListener, ManialinkPageAnswerListener, Time $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultMainWindowStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultMainWindowSubStyle(); - $max_queue = $this->maniaControl->settingManager->getSetting($this, self::QUEUE_MAX); + $maxQueue = $this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_MAX); // Main frame $frame = new Frame(); $maniaLink->add($frame); $frame->setSize(60, 6); - $frame->setPosition($this->maniaControl->settingManager->getSetting($this, self::QUEUE_WIDGET_POS_X), $this->maniaControl->settingManager->getSetting($this, self::QUEUE_WIDGET_POS_Y), 0); + $xPos = $this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_WIDGET_POS_X); + $yPos = $this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_WIDGET_POS_Y); + $frame->setPosition($xPos, $yPos, 0); // Background $backgroundQuad = new Quad(); @@ -491,7 +195,7 @@ class QueuePlugin implements CallbackListener, ManialinkPageAnswerListener, Time $messageLabel->setScale(1.0); $inQueue = false; - foreach($this->queue as $queuedPlayer) { + foreach ($this->queue as $queuedPlayer) { if ($queuedPlayer->login == $player->login) { $inQueue = true; } @@ -501,19 +205,19 @@ class QueuePlugin implements CallbackListener, ManialinkPageAnswerListener, Time $message = '$fff$sYou\'re in the queue (click to unqueue).'; $position = 0; - foreach(array_values($this->queue) as $i => $queuePlayer) { + foreach (array_values($this->queue) as $i => $queuePlayer) { if ($player->login == $queuePlayer->login) { $position = ($i + 1); } } - $statusLabel->setText('$aaaStatus: In queue (' . $position . '/' . count($this->queue) . ') Waiting: ' . count($this->queue) . '/' . $max_queue . ''); + $statusLabel->setText('$aaaStatus: In queue (' . $position . '/' . count($this->queue) . ') Waiting: ' . count($this->queue) . '/' . $maxQueue . ''); $messageLabel->setAction(self::ML_REMOVEFROMQUEUE); $backgroundQuad->setAction(self::ML_REMOVEFROMQUEUE); $statusLabel->setAction(self::ML_REMOVEFROMQUEUE); $cameraQuad->setAction(self::ML_REMOVEFROMQUEUE); } else { - if (count($this->queue) < $max_queue) { + if (count($this->queue) < $maxQueue) { $message = '$0ff$sClick to join spectator waiting list.'; $messageLabel->setAction(self::ML_ADDTOQUEUE); $backgroundQuad->setAction(self::ML_ADDTOQUEUE); @@ -523,7 +227,7 @@ class QueuePlugin implements CallbackListener, ManialinkPageAnswerListener, Time $message = '$f00The waiting list is full!'; } - $statusLabel->setText('$aaaStatus: Not queued spectator Waiting: ' . count($this->queue) . '/' . $max_queue . ''); + $statusLabel->setText('$aaaStatus: Not queued spectator Waiting: ' . count($this->queue) . '/' . $maxQueue . ''); } $messageLabel->setText($message); @@ -532,6 +236,167 @@ class QueuePlugin implements CallbackListener, ManialinkPageAnswerListener, Time $this->maniaControl->manialinkManager->sendManialink($maniaLink, $player->login); } + /** + * Unload the plugin and its resources + */ + public function unload() { + foreach ($this->spectators as $spectator) { + $this->maniaControl->client->forceSpectator($spectator, 3); + $this->maniaControl->client->forceSpectator($spectator, 0); + } + + $this->maniaControl->manialinkManager->hideManialink(self::ML_ID); + + $this->queue = array(); + $this->spectators = array(); + $this->showPlay = array(); + } + + /** + * Function handling on the connection of a player. + * + * @param Player $player + */ + public function handlePlayerConnect(Player $player) { + if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_ACTIVE_ON_PASS) == false) { + return; + } + + $maxPlayers = $this->maniaControl->client->getMaxPlayers(); + $this->maxPlayers = $maxPlayers['CurrentValue']; + + if ($player->isSpectator) { + $this->spectators[$player->login] = $player->login; + $this->maniaControl->client->forceSpectator($player->login, 1); + $this->showJoinQueueWidget($player); + } else { + if (count($this->queue) != 0) { + $this->maniaControl->client->forceSpectator($player->login, 1); + $this->spectators[$player->login] = $player->login; + $this->showJoinQueueWidget($player); + } + } + } + + /** + * Function handling on the disconnection of a player. + * + * @param Player $player + */ + public function handlePlayerDisconnect(Player $player) { + if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_ACTIVE_ON_PASS) == false) { + return; + } + + $maxPlayers = $this->maniaControl->client->getMaxPlayers(); + $this->maxPlayers = $maxPlayers['CurrentValue']; + + if (isset($this->spectators[$player->login])) { + unset($this->spectators[$player->login]); + } + $this->removePlayerFromQueue($player->login); + $this->moveFirstPlayerToPlay(); + } + + /** + * Function removes a player from the queue. + * + * @param $login + */ + private function removePlayerFromQueue($login) { + $count = 0; + $newQueue = array(); + foreach ($this->queue as $queuePlayer) { + if ($queuePlayer->login != $login) { + $newQueue[$count] = $queuePlayer; + $count++; + } + } + + $this->queue = $newQueue; + $this->showQueueWidgetSpectators(); + } + + public function showQueueWidgetSpectators() { + foreach ($this->spectators as $login) { + $player = $this->maniaControl->playerManager->getPlayer($login); + $this->showJoinQueueWidget($player); + } + } + + /** + * Function used to move the first queued player to the + */ + private function moveFirstPlayerToPlay() { + if (count($this->queue) > 0) { + $firstPlayer = $this->maniaControl->playerManager->getPlayer($this->queue[0]->login); + $this->forcePlayerToPlay($firstPlayer); + $this->showQueueWidgetSpectators(); + } + } + + /** + * Function to force a player to play status. + * + * @param Player $player + */ + private function forcePlayerToPlay(Player $player) { + if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_ACTIVE_ON_PASS) == false) { + return; + } + + if ($this->maxPlayers > (count($this->maniaControl->playerManager->players) - count($this->spectators))) { + try { + $this->maniaControl->client->forceSpectator($player->login, 2); + } catch (Exception $e) { + // TODO: only possible valid exception should be "wrong login" - throw others (like connection error) + $this->maniaControl->chat->sendError("Error while leaving the Queue", $player->login); + return; + } + + try { + $this->maniaControl->client->forceSpectator($player->login, 0); + } catch (Exception $e) { + // TODO: only possible valid exception should be "wrong login" - throw others (like connection error) + } + + $teams = array(); + /** @var Player $playerObj */ + foreach ($this->maniaControl->playerManager->players as $playerObj) { + if (!isset($teams[$playerObj->teamId])) { + $teams[$playerObj->teamId] = 1; + } else { + $teams[$playerObj->teamId]++; + } + } + + $smallestTeam = null; + $smallestSize = 999; + foreach ($teams as $team => $size) { + if ($size < $smallestSize) { + $smallestTeam = $team; + $smallestSize = $size; + } + } + + try { + if ($smallestTeam != -1) { + $this->maniaControl->client->forcePlayerTeam($player->login, $smallestTeam); + } + } catch (Exception $e) { + // TODO: only possible valid exceptions should be "wrong login" or "not in team mode" - throw others (like connection error) + } + + if (isset($this->spectators[$player->login])) { + unset($this->spectators[$player->login]); + } + $this->removePlayerFromQueue($player->login); + $this->showPlayWidget($player); + $this->sendChatMessage('$<$fff' . $player->nickname . '$> has a free spot and is now playing!'); + } + + } + /** * Function shows the "You got a free spot, enjoy playing!" widget. * @@ -547,7 +412,9 @@ class QueuePlugin implements CallbackListener, ManialinkPageAnswerListener, Time $frame = new Frame(); $maniaLink->add($frame); $frame->setSize(60, 6); - $frame->setPosition($this->maniaControl->settingManager->getSetting($this, self::QUEUE_WIDGET_POS_X), $this->maniaControl->settingManager->getSetting($this, self::QUEUE_WIDGET_POS_Y), 0); + $xPosSetting = $this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_WIDGET_POS_X); + $yPosSetting = $this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_WIDGET_POS_Y); + $frame->setPosition($xPosSetting->value, $yPosSetting->value, 0); // Background $backgroundQuad = new Quad(); @@ -575,6 +442,58 @@ class QueuePlugin implements CallbackListener, ManialinkPageAnswerListener, Time $this->showPlay[$player->login] = array('time' => time(), 'player' => $player); } + /** + * Function sends (or not depending on setting) chatmessages for the queue. + * + * @param $message + */ + private function sendChatMessage($message) { + if ($this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_CHATMESSAGES)) { + $this->maniaControl->chat->sendChat('$090[Queue] ' . $message); + } + } + + /** + * Function handling the change of player information. + * + * @param array $callback + */ + public function handlePlayerInfoChanged(array $callback) { + if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_ACTIVE_ON_PASS) == false) { + return; + } + + $login = $callback[1][0]['Login']; + $player = $this->maniaControl->playerManager->getPlayer($login); + + if (!is_null($player)) { + if ($player->isSpectator) { + if (!isset($this->spectators[$player->login])) { + $this->maniaControl->client->forceSpectator($player->login, 1); + $this->spectators[$player->login] = $player->login; + $this->showJoinQueueWidget($player); + $this->showQueueWidgetSpectators(); + } + } else { + $this->removePlayerFromQueue($player->login); + if (isset($this->spectators[$player->login])) { + unset($this->spectators[$player->login]); + } + + $found = false; + foreach ($this->showPlay as $showPlay) { + if ($showPlay['player']->login == $player->login) { + $found = true; + } + } + + if (!$found) { + $this->hideQueueWidget($player); + } + } + } + } + /** * Function hides the queue widget from the player. * @@ -583,4 +502,89 @@ class QueuePlugin implements CallbackListener, ManialinkPageAnswerListener, Time private function hideQueueWidget(Player $player) { $this->maniaControl->manialinkManager->hideManialink(self::ML_ID, $player); } + + /** + * Function called on every second. + */ + public function handleEverySecond() { + if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_ACTIVE_ON_PASS) == false) { + return; + } + + if ($this->maxPlayers > (count($this->maniaControl->playerManager->players) - count($this->spectators))) { + $this->moveFirstPlayerToPlay(); + $this->showQueueWidgetSpectators(); + } + + foreach ($this->showPlay as $showPlay) { + if (($showPlay['time'] + 5) < time()) { + $this->hideQueueWidget($showPlay['player']); + unset($this->showPlay[$showPlay['player']->login]); + } + } + } + + /** + * Checks for being of new map to retrieve maximum number of players. + * + * @param $currentMap + */ + public function handleBeginMap($currentMap) { + if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_ACTIVE_ON_PASS) == false) { + return; + } + + $maxPlayers = $this->maniaControl->client->getMaxPlayers(); + $this->maxPlayers = $maxPlayers['CurrentValue']; + } + + /** + * Function handling the click of the widget to add them to the queue. + * + * @param array $chatCallback + * @param Player $player + */ + public function handleManiaLinkAnswerAdd(array $chatCallback, Player $player) { + $this->addPlayerToQueue($player); + } + + /** + * Function adds a player to the queue. + * + * @param Player $player + * @return bool + */ + private function addPlayerToQueue(Player $player) { + if ($this->maniaControl->client->getServerPassword() != false && $this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_ACTIVE_ON_PASS) == false) { + return false; + } + + foreach ($this->queue as $queuedPlayer) { + if ($queuedPlayer->login == $player->login) { + $this->maniaControl->chat->sendError('You\'re already in the queue!', $player->login); + return false; + } + } + + if ($this->maniaControl->settingManager->getSettingValue($this, self::QUEUE_MAX) > count($this->queue)) { + $this->queue[count($this->queue)] = $player; + $this->sendChatMessage('$<$fff' . $player->nickname . '$> just joined the queue!'); + } + + $this->showQueueWidgetSpectators(); + + return true; + } + + /** + * Function handling the click of the widget to remove them from the queue. + * + * @param array $chatCallback + * @param Player $player + */ + public function handleManiaLinkAnswerRemove(array $chatCallback, Player $player) { + $this->removePlayerFromQueue($player->login); + $this->showJoinQueueWidget($player); + $this->sendChatMessage('$<$fff' . $player->nickname . '$> has left the queue!'); + } } diff --git a/application/plugins/TheM/TeamSpeakPlugin.php b/application/plugins/TheM/TeamSpeakPlugin.php index f1dcad43..9f0e9974 100644 --- a/application/plugins/TheM/TeamSpeakPlugin.php +++ b/application/plugins/TheM/TeamSpeakPlugin.php @@ -97,7 +97,7 @@ class TeamSpeakPlugin implements CallbackListener, CommandListener, ManialinkPag * @throws \Exception */ private function checkConfig() { - if ($this->maniaControl->settingManager->getSetting($this, self::TEAMSPEAK_SERVERHOST) == 'ts3.somehoster.com') { + if ($this->maniaControl->settingManager->getSettingValue($this, self::TEAMSPEAK_SERVERHOST) == 'ts3.somehoster.com') { $error = 'Missing the required serverhost, please set it up before enabling the TeamSpeak plugin!'; throw new \Exception($error); } @@ -271,9 +271,9 @@ class TeamSpeakPlugin implements CallbackListener, CommandListener, ManialinkPag $joinbutton->setWidth(150); $joinbutton->setY($height / 2 - 11.5); $joinbutton->setStyle($joinbutton::STYLE_CardButtonSmallWide); - $joinbutton->setText('Join TeamSpeak: ' . $this->maniaControl->settingManager->getSetting($this, self::TEAMSPEAK_SERVERHOST) . ':' . $this->maniaControl->settingManager->getSetting($this, self::TEAMSPEAK_SERVERPORT)); + $joinbutton->setText('Join TeamSpeak: ' . $this->maniaControl->settingManager->getSettingValue($this, self::TEAMSPEAK_SERVERHOST) . ':' . $this->maniaControl->settingManager->getSettingValue($this, self::TEAMSPEAK_SERVERPORT)); $joinbutton->setTextColor('fff'); - $url = 'ts3server://' . $this->maniaControl->settingManager->getSetting($this, self::TEAMSPEAK_SERVERHOST) . '/?port=' . $this->maniaControl->settingManager->getSetting($this, self::TEAMSPEAK_SERVERPORT) . '&nickname=' . rawurlencode(Formatter::stripCodes($player->nickname)); + $url = 'ts3server://' . $this->maniaControl->settingManager->getSettingValue($this, self::TEAMSPEAK_SERVERHOST) . '/?port=' . $this->maniaControl->settingManager->getSettingValue($this, self::TEAMSPEAK_SERVERPORT) . '&nickname=' . rawurlencode(Formatter::stripCodes($player->nickname)); $joinbutton->setUrl($url); $leftlistQuad = new Quad(); @@ -371,12 +371,13 @@ class TeamSpeakPlugin implements CallbackListener, CommandListener, ManialinkPag if (time() >= $this->refreshTime) { $this->refreshTime = (time() + $this->refreshInterval); - $queryhost = $this->maniaControl->settingManager->getSetting($this, self::TEAMSPEAK_QUERYHOST); - $host = $this->maniaControl->settingManager->getSetting($this, self::TEAMSPEAK_SERVERHOST); + $queryHost = $this->maniaControl->settingManager->getSettingValue($this, self::TEAMSPEAK_QUERYHOST); + $host = $this->maniaControl->settingManager->getSettingValue($this, self::TEAMSPEAK_SERVERHOST); - $host = ($queryhost != '') ? $queryhost : $host; + $host = ($queryHost != '') ? $queryHost : $host; + $queryPort = $this->maniaControl->settingManager->getSettingValue($this, self::TEAMSPEAK_QUERYPORT); - $socket = fsockopen(@$host, $this->maniaControl->settingManager->getSetting($this, self::TEAMSPEAK_QUERYPORT), $errno, $errstr, 2); + $socket = fsockopen(@$host, $queryPort, $errno, $errstr, 2); if ($socket) { socket_set_timeout($socket, 2); $is_ts3 = trim(fgets($socket)) == 'TS3'; @@ -384,8 +385,8 @@ class TeamSpeakPlugin implements CallbackListener, CommandListener, ManialinkPag trigger_error('[TeamSpeakPlugin] Server at "' . $host . '" is not a Teamspeak3-Server or you have setup a bad query-port!', E_USER_WARNING); } - $queryuser = $this->maniaControl->settingManager->getSetting($this, self::TEAMSPEAK_QUERYUSER); - $querypass = $this->maniaControl->settingManager->getSetting($this, self::TEAMSPEAK_QUERYPASS); + $queryuser = $this->maniaControl->settingManager->getSettingValue($this, self::TEAMSPEAK_QUERYUSER); + $querypass = $this->maniaControl->settingManager->getSettingValue($this, self::TEAMSPEAK_QUERYPASS); if (($queryuser != '') && !is_numeric($queryuser) && $queryuser != false && ($querypass != '') && !is_numeric($querypass) && $querypass != false) { $ret = $this->ts3_sendCommand($socket, 'login client_login_name=' . $this->ts3_escape($queryuser) . ' client_login_password=' . $this->ts3_escape($querypass)); if (stripos($ret, "error id=0") === false) { @@ -395,7 +396,7 @@ class TeamSpeakPlugin implements CallbackListener, CommandListener, ManialinkPag } $response = ''; - $response .= $this->ts3_sendCommand($socket, 'use sid=' . $this->maniaControl->settingManager->getSetting($this, self::TEAMSPEAK_SID)); + $response .= $this->ts3_sendCommand($socket, 'use sid=' . $this->maniaControl->settingManager->getSettingValue($this, self::TEAMSPEAK_SID)); $this->ts3_sendCommand($socket, 'clientupdate client_nickname=' . $this->ts3_escape('ManiaControl Viewer')); $response .= $this->ts3_sendCommand($socket, 'serverinfo'); $response .= $this->ts3_sendCommand($socket, 'channellist -topic -flags -voice -limits'); diff --git a/application/plugins/steeffeen/ObstaclePlugin.php b/application/plugins/steeffeen/ObstaclePlugin.php index 623ab9f5..ff50b678 100644 --- a/application/plugins/steeffeen/ObstaclePlugin.php +++ b/application/plugins/steeffeen/ObstaclePlugin.php @@ -9,7 +9,7 @@ use ManiaControl\Commands\CommandListener; use ManiaControl\ManiaControl; use ManiaControl\Players\Player; use ManiaControl\Plugins\Plugin; -use Maniaplanet\DedicatedServer\Xmlrpc\Exception; +use Maniaplanet\DedicatedServer\Xmlrpc\NotInScriptModeException; /** * ManiaControl Obstacle Plugin @@ -110,7 +110,7 @@ class ObstaclePlugin implements CallbackListener, CommandListener, Plugin { * @return bool */ public function command_JumpTo(array $chatCallback, Player $player) { - $authLevel = $this->maniaControl->settingManager->getSetting($this, self::SETTING_JUMPTOAUTHLEVEL); + $authLevel = $this->maniaControl->settingManager->getSettingValue($this, self::SETTING_JUMPTOAUTHLEVEL); if (!$this->maniaControl->authenticationManager->checkRight($player, $authLevel)) { $this->maniaControl->authenticationManager->sendNotAllowed($player); return; @@ -120,12 +120,7 @@ class ObstaclePlugin implements CallbackListener, CommandListener, Plugin { $param = $player->login . ";" . $params[1] . ";"; try { $this->maniaControl->client->triggerModeScriptEvent(self::CB_JUMPTO, $param); - } catch (Exception $e) { - if ($e->getMessage() == 'Not in script mode.') { - trigger_error("Couldn't send jump callback for '{$player->login}'. " . $e->getMessage()); - return; - } - throw $e; + } catch (NotInScriptModeException $e) { } }