diff --git a/application/core/Admin/ActionsMenu.php b/application/core/Admin/ActionsMenu.php index d9ca50f6..a86b9ddc 100644 --- a/application/core/Admin/ActionsMenu.php +++ b/application/core/Admin/ActionsMenu.php @@ -123,10 +123,8 @@ class ActionsMenu implements CallbackListener, ManialinkPageAnswerListener { /** * Handle ManiaControl OnInit callback - * - * @param array $callback */ - public function handleOnInit(array $callback) { + public function handleOnInit() { $this->initCompleted = true; $this->rebuildAndShowMenu(); } @@ -149,10 +147,9 @@ class ActionsMenu implements CallbackListener, ManialinkPageAnswerListener { /** * Handle PlayerJoined callback * - * @param array $callback + * @param Player $player */ - public function handlePlayerJoined(array $callback) { - $player = $callback[1]; + public function handlePlayerJoined(Player $player) { $manialinkText = $this->buildMenuIconsManialink($player)->render()->saveXML(); $this->maniaControl->manialinkManager->sendManialink($manialinkText, $player->login); } diff --git a/application/core/Admin/AuthenticationManager.php b/application/core/Admin/AuthenticationManager.php index 819cf680..3d0ba8da 100644 --- a/application/core/Admin/AuthenticationManager.php +++ b/application/core/Admin/AuthenticationManager.php @@ -46,7 +46,10 @@ class AuthenticationManager implements CallbackListener { $this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_ONINIT, $this, 'handleOnInit'); } - public function handleOnInit(array $callback) { + /** + * Handle ManiaControl OnInit Callback + */ + public function handleOnInit() { $this->updateMasterAdmins(); } @@ -171,7 +174,7 @@ class AuthenticationManager implements CallbackListener { $authStatement->close(); $player->authLevel = $authLevel; - $this->maniaControl->callbackManager->triggerCallback(self::CB_AUTH_LEVEL_CHANGED, array(self::CB_AUTH_LEVEL_CHANGED, $player)); + $this->maniaControl->callbackManager->triggerCallback($player); return true; } diff --git a/application/core/Callbacks/CallbackManager.php b/application/core/Callbacks/CallbackManager.php index f097e385..39b560da 100644 --- a/application/core/Callbacks/CallbackManager.php +++ b/application/core/Callbacks/CallbackManager.php @@ -155,14 +155,15 @@ class CallbackManager { * Trigger a specific Callback * * @param string $callbackName - * @param array $callback */ - public function triggerCallback($callbackName, array $callback) { + public function triggerCallback($callbackName) { if (!array_key_exists($callbackName, $this->callbackListeners)) { return; } - foreach($this->callbackListeners[$callbackName] as $listener) { - call_user_func(array($listener[0], $listener[1]), $callback); + $params = func_get_args(); + $params = array_slice($params, 1, count($params), true); + foreach ($this->callbackListeners[$callbackName] as $listener) { + call_user_func_array(array($listener[0], $listener[1]), $params); } } @@ -170,17 +171,18 @@ class CallbackManager { * Trigger a specific Script Callback * * @param string $callbackName - * @param array $callback */ - public function triggerScriptCallback($callbackName, array $callback) { + public function triggerScriptCallback($callbackName) { if (!array_key_exists($callbackName, $this->scriptCallbackListener)) { return; } + $params = func_get_args(); + $params = array_slice($params, 1, count($params), true); foreach($this->scriptCallbackListener[$callbackName] as $listener) { - call_user_func(array($listener[0], $listener[1]), $callback); + call_user_func_array(array($listener[0], $listener[1]), $params); } } - + /** * Trigger internal Callbacks and manage Server Callbacks */ diff --git a/application/core/Commands/HelpManager.php b/application/core/Commands/HelpManager.php index 41d28262..408d9691 100644 --- a/application/core/Commands/HelpManager.php +++ b/application/core/Commands/HelpManager.php @@ -32,7 +32,10 @@ class HelpManager implements CommandListener, CallbackListener { $this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_ONINIT, $this, 'handleOnInit'); } - public function handleOnInit(array $callback) { + /** + * Handle ManiaControl OnInit Callback + */ + public function handleOnInit() { //Register the help command $this->maniaControl->commandManager->registerCommandListener('help', $this, 'command_playerHelp', false); $this->maniaControl->commandManager->registerCommandListener('help', $this, 'command_adminHelp', true); diff --git a/application/core/Configurators/ScriptSettings.php b/application/core/Configurators/ScriptSettings.php index 8a91d707..07700848 100644 --- a/application/core/Configurators/ScriptSettings.php +++ b/application/core/Configurators/ScriptSettings.php @@ -15,6 +15,7 @@ use ManiaControl\ManiaControl; use ManiaControl\Maps\MapManager; use ManiaControl\Players\Player; use Maniaplanet\DedicatedServer\Xmlrpc\Exception; +use ManiaControl\Maps\Map; /** * Class offering a Configurator for Script Settings @@ -85,20 +86,17 @@ class ScriptSettings implements ConfiguratorMenu, CallbackListener { /** * Handle OnInit callback - * - * @param array $callback */ - public function onInit(array $callback) { + public function onInit() { $this->loadSettingsFromDatabase(); - } /** * Handle OnBegin Map Callback * - * @param array $callback + * @param Map $map */ - public function onBeginMap(array $callback) { + public function onBeginMap(Map $map) { if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_LOAD_DEFAULT_SETTINGS_MAP_BEGIN)) { $this->loadSettingsFromDatabase(); } @@ -456,13 +454,13 @@ class ScriptSettings implements ConfiguratorMenu, CallbackListener { } // Trigger own callback - $this->maniaControl->callbackManager->triggerCallback(self::CB_SCRIPTSETTING_CHANGED, array(self::CB_SCRIPTSETTING_CHANGED, $setting, $value)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_SCRIPTSETTING_CHANGED, $setting, $value); $settingIndex++; } $statement->close(); - $this->maniaControl->callbackManager->triggerCallback(self::CB_SCRIPTSETTINGS_CHANGED, array(self::CB_SCRIPTSETTINGS_CHANGED)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_SCRIPTSETTINGS_CHANGED); $chatMessage .= '!'; $this->maniaControl->chat->sendInformation($chatMessage); diff --git a/application/core/Configurators/ServerSettings.php b/application/core/Configurators/ServerSettings.php index 60feb9a5..bce7efe8 100644 --- a/application/core/Configurators/ServerSettings.php +++ b/application/core/Configurators/ServerSettings.php @@ -80,10 +80,8 @@ class ServerSettings implements ConfiguratorMenu, CallbackListener { /** * Handle OnInit callback - * - * @param array $callback */ - public function onInit(array $callback) { + public function onInit() { $this->loadSettingsFromDatabase(); } diff --git a/application/core/ErrorHandler.php b/application/core/ErrorHandler.php index 9449eed8..8efed7d0 100644 --- a/application/core/ErrorHandler.php +++ b/application/core/ErrorHandler.php @@ -15,11 +15,12 @@ class ErrorHandler { * Constants */ const MC_DEBUG_NOTICE = "ManiaControl.DebugNotice"; - + /** * Private Properties */ private $maniaControl = null; + private $reportErrors = true; /** * Construct Error Handler @@ -41,39 +42,45 @@ class ErrorHandler { $message .= "Class: " . get_class($ex) . PHP_EOL; $message .= "Trace: {$ex->getTraceAsString()}" . PHP_EOL; logMessage($message); - - $error = array(); - $error["Type"] = "Exception"; - $error["Message"] = $message; - $error['OperatingSystem'] = php_uname(); - $error['PHPVersion'] = phpversion(); - - if ($this->maniaControl->server) { - $error['ServerLogin'] = $this->maniaControl->server->login; - } else { - $error['ServerLogin'] = ''; + + if ($this->reportErrors) { + $error = array(); + $error["Type"] = "Exception"; + $error["Message"] = $message; + $error['OperatingSystem'] = php_uname(); + $error['PHPVersion'] = phpversion(); + + if ($this->maniaControl->server) { + $error['ServerLogin'] = $this->maniaControl->server->login; + } + else { + $error['ServerLogin'] = ''; + } + + if ($this->maniaControl->settingManager && $this->maniaControl->updateManager) { + $error['UpdateChannel'] = $this->maniaControl->settingManager->getSetting($this->maniaControl->updateManager, + UpdateManager::SETTING_UPDATECHECK_CHANNEL); + $error['ManiaControlVersion'] = $this->maniaControl->updateManager->getCurrentBuildDate(); + } + else { + $error['UpdateChannel'] = ''; + $error['ManiaControlVersion'] = ManiaControl::VERSION; + } + + $json = json_encode($error); + $info = base64_encode($json); + + $url = ManiaControl::URL_WEBSERVICE . "errorreport?error=" . urlencode($info); + $success = FileUtil::loadFile($url); + + if (!json_decode($success)) { + logMessage("Exception-Report failed!"); + } + else { + logMessage("Exception successfully reported!"); + } } - - if ($this->maniaControl->settingManager && $this->maniaControl->updateManager) { - $error['UpdateChannel'] = $this->maniaControl->settingManager->getSetting($this->maniaControl->updateManager, UpdateManager::SETTING_UPDATECHECK_CHANNEL); - $error['ManiaControlVersion'] = $this->maniaControl->updateManager->getCurrentBuildDate(); - } else { - $error['UpdateChannel'] = ''; - $error['ManiaControlVersion'] = ManiaControl::VERSION; - } - - $json = json_encode($error); - $info = base64_encode($json); - - $url = ManiaControl::URL_WEBSERVICE . "errorreport?error=" . urlencode($info); - $success = FileUtil::loadFile($url); - - if (!json_decode($success)) { - logMessage("Exception-Report failed!"); - } else { - logMessage("Exception successfully reported!"); - } - + $this->maniaControl->restart(); exit(); } @@ -92,46 +99,50 @@ class ErrorHandler { // Error suppressed return false; } - + // Log error $errorTag = $this->getErrorTag($errorNumber); - $message = "{$errorTag}: {$errorString} in File '{$errorFile}' on Line {$errorLine}!"; + $message = "{$errorTag}: {$errorString} in File '{$errorFile}' on Line {$errorLine}!"; logMessage($message); - - if ($errorNumber != E_USER_ERROR && $errorNumber != E_USER_WARNING && $errorNumber != E_USER_NOTICE) { - $error = array(); - $error["Type"] = "Error"; - $error["Message"] = $message; + + if ($this->reportErrors && $errorNumber != E_USER_ERROR && $errorNumber != E_USER_WARNING && $errorNumber != E_USER_NOTICE) { + $error = array(); + $error["Type"] = "Error"; + $error["Message"] = $message; $error['OperatingSystem'] = php_uname(); - $error['PHPVersion'] = phpversion(); - + $error['PHPVersion'] = phpversion(); + if ($this->maniaControl->server) { $error['ServerLogin'] = $this->maniaControl->server->login; - } else { + } + else { $error['ServerLogin'] = ''; } - + 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->getSetting($this->maniaControl->updateManager, + UpdateManager::SETTING_UPDATECHECK_CHANNEL); $error['ManiaControlVersion'] = $this->maniaControl->updateManager->getCurrentBuildDate(); - } else { - $error['UpdateChannel'] = ''; + } + else { + $error['UpdateChannel'] = ''; $error['ManiaControlVersion'] = ManiaControl::VERSION; } - + $json = json_encode($error); $info = base64_encode($json); - - $url = ManiaControl::URL_WEBSERVICE . "errorreport?error=" . urlencode($info); + + $url = ManiaControl::URL_WEBSERVICE . "errorreport?error=" . urlencode($info); $success = FileUtil::loadFile($url); - + if (!json_decode($success)) { logMessage("Error-Report failed!"); - } else { + } + else { logMessage("Error successfully reported!"); } } - + if ($errorNumber == E_ERROR || $errorNumber == E_USER_ERROR || $errorNumber == E_FATAL) { logMessage('Stopping execution...'); exit(); @@ -146,7 +157,7 @@ class ErrorHandler { */ public function triggerDebugNotice($message) { $backtrace = debug_backtrace(); - $callee = next($backtrace); + $callee = next($backtrace); $this->errorHandler(self::MC_DEBUG_NOTICE, $message, $callee['file'], $callee['line']); } diff --git a/application/core/ManiaControl.php b/application/core/ManiaControl.php index 4e2baacf..f529db92 100644 --- a/application/core/ManiaControl.php +++ b/application/core/ManiaControl.php @@ -214,7 +214,7 @@ class ManiaControl implements CommandListener { */ public function handleShutdown() { // OnShutdown callback - $this->callbackManager->triggerCallback(CallbackManager::CB_ONSHUTDOWN, array(CallbackManager::CB_ONSHUTDOWN)); + $this->callbackManager->triggerCallback(CallbackManager::CB_ONSHUTDOWN); // Announce quit $this->chat->sendInformation('ManiaControl shutting down.'); @@ -245,7 +245,7 @@ class ManiaControl implements CommandListener { */ public function restart($message = null) { // Shutdown callback - $this->callbackManager->triggerCallback(CallbackManager::CB_ONSHUTDOWN, array(CallbackManager::CB_ONSHUTDOWN)); + $this->callbackManager->triggerCallback(CallbackManager::CB_ONSHUTDOWN); // Announce restart $this->chat->sendInformation('Restarting ManiaControl...'); @@ -282,13 +282,13 @@ class ManiaControl implements CommandListener { $this->connect(); // OnInit callback - $this->callbackManager->triggerCallback(CallbackManager::CB_ONINIT, array(CallbackManager::CB_ONINIT)); + $this->callbackManager->triggerCallback(CallbackManager::CB_ONINIT); // Load plugins $this->pluginManager->loadPlugins(); // AfterInit callback - $this->callbackManager->triggerCallback(CallbackManager::CB_AFTERINIT, array(CallbackManager::CB_AFTERINIT)); + $this->callbackManager->triggerCallback(CallbackManager::CB_AFTERINIT); // Announce ManiaControl $this->chat->sendInformation('ManiaControl v' . self::VERSION . ' successfully started!'); diff --git a/application/core/Manialinks/CustomUIManager.php b/application/core/Manialinks/CustomUIManager.php index 8eec7ba3..a11f5d47 100644 --- a/application/core/Manialinks/CustomUIManager.php +++ b/application/core/Manialinks/CustomUIManager.php @@ -79,10 +79,9 @@ class CustomUIManager implements CallbackListener, TimerListener { /** * Handle PlayerJoined Callback * - * @param array $callback + * @param Player $player */ - public function handlePlayerJoined(array $callback) { - $player = $callback[1]; + public function handlePlayerJoined(Player $player) { $this->updateManialink($player); } diff --git a/application/core/Manialinks/IconManager.php b/application/core/Manialinks/IconManager.php index 130f8694..5bc5fb6e 100644 --- a/application/core/Manialinks/IconManager.php +++ b/application/core/Manialinks/IconManager.php @@ -8,6 +8,7 @@ use FML\ManiaLink; use ManiaControl\Callbacks\CallbackListener; use ManiaControl\ManiaControl; use ManiaControl\Players\PlayerManager; +use ManiaControl\Players\Player; /** * Class managing Icons @@ -86,29 +87,26 @@ class IconManager implements CallbackListener { /** * Handle OnInit Callback - * - * @param array $callback */ - public function handleOnInit(array $callback) { + public function handleOnInit() { $this->preloadIcons(); } /** * Handle PlayerConnect Callback * - * @param array $callback + * @param Player $player */ - public function handlePlayerConnect(array $callback) { - $login = $callback[1]; - $this->preloadIcons($login); + public function handlePlayerConnect(Player $player) { + $this->preloadIcons($player); } /** * Preload Icons * - * @param string $login + * @param Player $player */ - public function preloadIcons($login = false) { + public function preloadIcons($player = null) { $maniaLink = new ManiaLink(self::PRELOAD_MLID); $frame = new Frame(); $maniaLink->add($frame); @@ -123,6 +121,6 @@ class IconManager implements CallbackListener { // Send manialink $manialinkText = $maniaLink->render()->saveXML(); - $this->maniaControl->manialinkManager->sendManialink($manialinkText, $login); + $this->maniaControl->manialinkManager->sendManialink($manialinkText, $player); } } \ No newline at end of file diff --git a/application/core/Manialinks/ManialinkManager.php b/application/core/Manialinks/ManialinkManager.php index ca6ea575..d9392d34 100644 --- a/application/core/Manialinks/ManialinkManager.php +++ b/application/core/Manialinks/ManialinkManager.php @@ -138,9 +138,12 @@ class ManialinkManager implements ManialinkPageAnswerListener, CallbackListener if (is_string($logins)) { return $this->maniaControl->client->sendDisplayManialinkPage($logins, $manialinkText, $timeout, $hideOnClick); } + if ($logins instanceof Player) { + return $this->maniaControl->client->sendDisplayManialinkPage($logins->login, $manialinkText, $timeout, $hideOnClick); + } if (is_array($logins)) { $success = true; - foreach($logins as $login) { + foreach ($logins as $login) { $subSuccess = $this->maniaControl->client->sendDisplayManialinkPage($login, $manialinkText, $timeout, $hideOnClick); if (!$subSuccess) { $success = false; @@ -201,7 +204,7 @@ class ManialinkManager implements ManialinkPageAnswerListener, CallbackListener if ($widgetName != '') { //TODO make check by manialinkId, getter is needed to avoid uses on non main widgets $this->disableAltMenu($player); // Trigger callback - $this->maniaControl->callbackManager->triggerCallback(self::CB_MAIN_WINDOW_OPENED, array(self::CB_MAIN_WINDOW_OPENED, $player, $widgetName)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_MAIN_WINDOW_OPENED, $player, $widgetName); } } @@ -229,7 +232,7 @@ class ManialinkManager implements ManialinkPageAnswerListener, CallbackListener $this->enableAltMenu($player); // Trigger callback - $this->maniaControl->callbackManager->triggerCallback(self::CB_MAIN_WINDOW_CLOSED, array(self::CB_MAIN_WINDOW_CLOSED, $player)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_MAIN_WINDOW_CLOSED, $player); } else { $emptyManialink = new ManiaLink($widgetId); $manialinkText = $emptyManialink->render()->saveXML(); diff --git a/application/core/Maps/MapList.php b/application/core/Maps/MapList.php index 92f522b1..7a181c86 100644 --- a/application/core/Maps/MapList.php +++ b/application/core/Maps/MapList.php @@ -561,10 +561,8 @@ class MapList implements ManialinkPageAnswerListener, CallbackListener { /** * Reopen the widget on Map Begin, MapListChanged, etc. - * - * @param array $callback */ - public function updateWidget(array $callback) { + public function updateWidget() { foreach($this->mapListShown as $login => $shown) { if ($shown) { $player = $this->maniaControl->playerManager->getPlayer($login); diff --git a/application/core/Maps/MapManager.php b/application/core/Maps/MapManager.php index 8bd3adfc..019b5ed4 100644 --- a/application/core/Maps/MapManager.php +++ b/application/core/Maps/MapManager.php @@ -364,7 +364,7 @@ class MapManager implements CallbackListener { $this->maps = $tempList; // Trigger own callback - $this->maniaControl->callbackManager->triggerCallback(self::CB_MAPS_UPDATED, array(self::CB_MAPS_UPDATED)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_MAPS_UPDATED); } /** @@ -389,10 +389,8 @@ class MapManager implements CallbackListener { /** * Handle OnInit callback - * - * @param array $callback */ - public function handleOnInit(array $callback) { + public function handleOnInit() { $this->updateFullMapList(); $this->fetchCurrentMap(); @@ -401,7 +399,6 @@ class MapManager implements CallbackListener { //Restructure Maplist $this->restructureMapList(); - } /** @@ -450,7 +447,7 @@ class MapManager implements CallbackListener { $this->mxManager->fetchManiaExchangeMapInformations($this->currentMap); // Trigger own BeginMap callback - $this->maniaControl->callbackManager->triggerCallback(self::CB_BEGINMAP, array(self::CB_BEGINMAP, $this->currentMap)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_BEGINMAP, $this->currentMap); } diff --git a/application/core/Players/PlayerCommands.php b/application/core/Players/PlayerCommands.php index 0b83f09a..bac5a0e1 100644 --- a/application/core/Players/PlayerCommands.php +++ b/application/core/Players/PlayerCommands.php @@ -65,7 +65,7 @@ class PlayerCommands implements CommandListener, ManialinkPageAnswerListener, Ca $this->maniaControl->authenticationManager->definePermissionLevel(self::SETTING_PERMISSION_TEAM_BALANCE, AuthenticationManager::AUTH_LEVEL_MODERATOR); //CallbackManager - $this->maniaControl->callbackManager->registerCallbackListener(Server::CB_TEAM_STATUS_CHANGED, $this, 'teamStatusChanged'); + $this->maniaControl->callbackManager->registerCallbackListener(Server::CB_TEAM_MODE_CHANGED, $this, 'teamStatusChanged'); // Action Open Playerlist $this->maniaControl->manialinkManager->registerManialinkPageAnswerListener(self::ACTION_OPEN_PLAYERLIST, $this, 'command_playerList'); @@ -77,12 +77,12 @@ class PlayerCommands implements CommandListener, ManialinkPageAnswerListener, Ca /** * Handle TeamStatusChanged - * @param array $callback + * + * @param bool $teamMode */ - public function teamStatusChanged(array $callback) { - $status = $callback[1]; + public function teamStatusChanged($teamMode) { //Add Balance Team Icon if it's a teamMode - if ($status) { + if ($teamMode) { // Action Balance Teams $this->maniaControl->manialinkManager->registerManialinkPageAnswerListener(self::ACTION_BALANCE_TEAMS, $this, 'command_TeamBalance'); $itemQuad = new Quad_Icons128x32_1(); diff --git a/application/core/Players/PlayerList.php b/application/core/Players/PlayerList.php index 3f3b0b97..64ac2bff 100644 --- a/application/core/Players/PlayerList.php +++ b/application/core/Players/PlayerList.php @@ -761,9 +761,9 @@ class PlayerList implements ManialinkPageAnswerListener, CallbackListener, Timer /** * Reopen the widget on PlayerInfoChanged / Player Connect and Disconnect * - * @param array $callback + * @param Player $player */ - public function updateWidget(array $callback) { + public function updateWidget(Player $player) { foreach($this->playersListShown as $login => $shown) { if ($shown) { // Check if Shown player still exists diff --git a/application/core/Players/PlayerManager.php b/application/core/Players/PlayerManager.php index a559607a..63a6593b 100644 --- a/application/core/Players/PlayerManager.php +++ b/application/core/Players/PlayerManager.php @@ -104,10 +104,8 @@ class PlayerManager implements CallbackListener { /** * Handle OnInit callback - * - * @param array $callback */ - public function onInit(array $callback) { + public function onInit() { // Add all players $players = $this->maniaControl->client->getPlayerList(300, 0, 2); foreach($players as $playerItem) { @@ -139,7 +137,8 @@ class PlayerManager implements CallbackListener { } // Trigger own callback - $this->maniaControl->callbackManager->triggerCallback(self::CB_ONINIT, array(self::CB_ONINIT)); + // TODO: what for? + $this->maniaControl->callbackManager->triggerCallback(self::CB_ONINIT); } /** @@ -168,7 +167,7 @@ class PlayerManager implements CallbackListener { return; } // Trigger own callback - $this->maniaControl->callbackManager->triggerCallback(self::CB_PLAYERDISCONNECT, array(self::CB_PLAYERDISCONNECT, $player)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_PLAYERDISCONNECT, $player); if ($player->isFakePlayer()) { return; @@ -194,7 +193,6 @@ class PlayerManager implements CallbackListener { return; } - $player->ladderRank = $callback[1][0]["LadderRanking"]; $player->teamId = $callback[1][0]["TeamId"]; @@ -224,11 +222,11 @@ class PlayerManager implements CallbackListener { $this->maniaControl->statisticManager->incrementStat(self::STAT_JOIN_COUNT, $player, $this->maniaControl->server->index); // Trigger own PlayerJoined callback - $this->maniaControl->callbackManager->triggerCallback(self::CB_PLAYERCONNECT, array(self::CB_PLAYERCONNECT, $player)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_PLAYERCONNECT, $player); } // Trigger own callback - $this->maniaControl->callbackManager->triggerCallback(self::CB_PLAYERINFOCHANGED, array(self::CB_PLAYERINFOCHANGED)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_PLAYERINFOCHANGED, $player); } diff --git a/application/core/Server/Server.php b/application/core/Server/Server.php index aae603f3..56a627fd 100644 --- a/application/core/Server/Server.php +++ b/application/core/Server/Server.php @@ -22,7 +22,7 @@ class Server implements CallbackListener { * Constants */ const TABLE_SERVERS = 'mc_servers'; - const CB_TEAM_STATUS_CHANGED = 'ServerCallback.TeamStatusChanged'; + const CB_TEAM_MODE_CHANGED = 'ServerCallback.TeamModeChanged'; /** * Public Properties @@ -126,10 +126,8 @@ class Server implements CallbackListener { /** * Handle OnInit Callback - * - * @param array $callback */ - public function onInit(array $callback) { + public function onInit() { $this->updateProperties(); } @@ -144,7 +142,7 @@ class Server implements CallbackListener { // Trigger callback if ($oldStatus != $this->teamMode) { - $this->maniaControl->callbackManager->triggerCallback(self::CB_TEAM_STATUS_CHANGED, array(self::CB_TEAM_STATUS_CHANGED, $teamMode)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_TEAM_MODE_CHANGED, $teamMode); } } diff --git a/application/core/Server/ServerCommands.php b/application/core/Server/ServerCommands.php index ca9d4b79..ff7c0290 100644 --- a/application/core/Server/ServerCommands.php +++ b/application/core/Server/ServerCommands.php @@ -69,11 +69,9 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage } /** - * Set Menu items on init - * - * @param array $callback + * Handle ManiaControl OnInit Callback */ - public function handleOnInit(array $callback) { + public function handleOnInit() { //Define Permissions $this->maniaControl->authenticationManager->definePermissionLevel(self::SETTING_PERMISSION_SHUTDOWN_SERVER, AuthenticationManager::AUTH_LEVEL_SUPERADMIN); $this->maniaControl->authenticationManager->definePermissionLevel(self::SETTING_PERMISSION_SHOW_SYSTEMINFO, AuthenticationManager::AUTH_LEVEL_SUPERADMIN); @@ -146,7 +144,7 @@ class ServerCommands implements CallbackListener, CommandListener, ManialinkPage $this->maniaControl->chat->sendInformation('$<' . $player->nickname . '$> canceled the Vote!'); // Trigger callback - $this->maniaControl->callbackManager->triggerCallback(self::CB_VOTE_CANCELED, array(self::CB_VOTE_CANCELED, $player)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_VOTE_CANCELED, $player); } diff --git a/application/core/Settings/SettingManager.php b/application/core/Settings/SettingManager.php index e8c4c62d..cd020537 100644 --- a/application/core/Settings/SettingManager.php +++ b/application/core/Settings/SettingManager.php @@ -43,10 +43,8 @@ class SettingManager implements CallbackListener { /** * Handle After Init Callback - * - * @param array $callback */ - public function handleAfterInit(array $callback) { + public function handleAfterInit() { $this->deleteUnusedSettings(); } @@ -318,7 +316,7 @@ class SettingManager implements CallbackListener { $settingStatement->close(); //Trigger settings changed Callback - $this->maniaControl->callbackManager->triggerCallback(self::CB_SETTINGS_CHANGED, array(self::CB_SETTINGS_CHANGED, $className, $settingName, $value)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_SETTINGS_CHANGED, $className, $settingName, $value); return $success; } diff --git a/application/core/Statistics/SimpleStatsList.php b/application/core/Statistics/SimpleStatsList.php index 7d9cca6b..4a7a0490 100644 --- a/application/core/Statistics/SimpleStatsList.php +++ b/application/core/Statistics/SimpleStatsList.php @@ -51,10 +51,8 @@ class SimpleStatsList implements ManialinkPageAnswerListener, CallbackListener, /** * Add the menu entry - * - * @param array $callback */ - public function handleOnInit(array $callback) { + public function handleOnInit() { $this->maniaControl->commandManager->registerCommandListener('stats', $this, 'command_ShowStatsList'); // Action Open StatsList diff --git a/application/core/Statistics/StatisticCollector.php b/application/core/Statistics/StatisticCollector.php index d34d15f4..4c2b9931 100644 --- a/application/core/Statistics/StatisticCollector.php +++ b/application/core/Statistics/StatisticCollector.php @@ -11,6 +11,7 @@ use ManiaControl\Callbacks\CallbackListener; use ManiaControl\Callbacks\CallbackManager; use ManiaControl\ManiaControl; use ManiaControl\Players\PlayerManager; +use ManiaControl\Players\Player; class StatisticCollector implements CallbackListener { /** @@ -54,7 +55,6 @@ class StatisticCollector implements CallbackListener { private $maniaControl = null; private $onShootArray = array(); - /** * Construct player manager * @@ -76,11 +76,9 @@ class StatisticCollector implements CallbackListener { } /** - * onInit - * - * @param array $callback + * Handle ManiaControl OnInit Callback */ - public function onInit(array $callback) { + public function onInit() { //Define Stats MetaData $this->maniaControl->statisticManager->defineStatMetaData(self::STAT_PLAYTIME, StatisticManager::STAT_TYPE_TIME); $this->maniaControl->statisticManager->defineStatMetaData(self::STAT_MAP_WINS); @@ -203,17 +201,15 @@ class StatisticCollector implements CallbackListener { /** * Insert OnShoot Statistic when a player leaves * - * @param array $callback + * @param Player $player */ - public function onPlayerDisconnect(array $callback) { - $player = $callback[1]; - - //Check if Stat Collecting is enabled + public function onPlayerDisconnect(Player $player) { + // Check if Stat Collecting is enabled if (!$this->maniaControl->settingManager->getSetting($this, self::SETTING_COLLECT_STATS_ENABLED)) { return; } - //Insert Data into Database, and destroy player + // Insert Data into Database, and destroy player if (isset($this->onShootArray[$player->login])) { if ($this->onShootArray[$player->login] > 0) { $this->maniaControl->statisticManager->insertStat(self::STAT_ON_SHOOT, $player, $this->maniaControl->server->index, $this->onShootArray[$player->login]); diff --git a/application/core/Update/UpdateManager.php b/application/core/Update/UpdateManager.php index 69dfb10b..4f76514e 100644 --- a/application/core/Update/UpdateManager.php +++ b/application/core/Update/UpdateManager.php @@ -108,14 +108,13 @@ class UpdateManager implements CallbackListener, CommandListener, TimerListener /** * Handle ManiaControl PlayerJoined callback * - * @param array $callback + * @param Player $player */ - public function handlePlayerJoined(array $callback) { + public function handlePlayerJoined(Player $player) { if (!$this->coreUpdateData) { return; } // Announce available update - $player = $callback[1]; if (!$this->maniaControl->authenticationManager->checkPermission($player, self::SETTING_PERMISSION_UPDATE)) { return; } diff --git a/application/plugins/CustomVotes.php b/application/plugins/CustomVotes.php index 1e59ebe1..16c24ac6 100644 --- a/application/plugins/CustomVotes.php +++ b/application/plugins/CustomVotes.php @@ -107,7 +107,7 @@ class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkP $this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MP_PLAYERMANIALINKPAGEANSWER, $this, 'handleManialinkPageAnswer'); $this->maniaControl->callbackManager->registerCallbackListener(self::CB_CUSTOM_VOTE_FINISHED, $this, 'handleVoteFinished'); $this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERCONNECT, $this, 'handlePlayerConnect'); - $this->maniaControl->callbackManager->registerCallbackListener(Server::CB_TEAM_STATUS_CHANGED, $this, 'constructMenu'); + $this->maniaControl->callbackManager->registerCallbackListener(Server::CB_TEAM_MODE_CHANGED, $this, 'constructMenu'); //Settings $this->maniaControl->settingManager->initSetting($this, self::SETTING_VOTE_ICON_POSX, 156.); @@ -193,10 +193,9 @@ class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkP /** * Handle PlayerConnect callback * - * @param array $callback + * @param Player $player */ - public function handlePlayerConnect(array $callback) { - $player = $callback[1]; + public function handlePlayerConnect(Player $player) { $this->showIcon($player->login); } @@ -482,7 +481,7 @@ class CustomVotesPlugin implements CommandListener, CallbackListener, ManialinkP //Check if vote is over if ($timeUntilExpire <= 0 || (($playersVoteRatio >= $this->currentVote->neededPlayerRatio) && (($votePercentage >= $this->currentVote->neededRatio) || ($votePercentage <= 1 - $this->currentVote->neededRatio)))) { // Trigger callback - $this->maniaControl->callbackManager->triggerCallback(self::CB_CUSTOM_VOTE_FINISHED, array(self::CB_CUSTOM_VOTE_FINISHED, $this->currentVote->voteCommand->index, $votePercentage)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_CUSTOM_VOTE_FINISHED, $this->currentVote->voteCommand->index, $votePercentage); //reset vote $this->destroyVote(); diff --git a/application/plugins/Donations.php b/application/plugins/Donations.php index 93420cbe..b77c64be 100644 --- a/application/plugins/Donations.php +++ b/application/plugins/Donations.php @@ -176,10 +176,9 @@ class DonationPlugin implements CallbackListener, CommandListener, Plugin { /** * Handle PlayerConnect callback * - * @param array $callback + * @param Player $player */ - public function handlePlayerConnect(array $callback) { - $player = $callback[1]; + public function handlePlayerConnect(Player $player) { // Display Map Widget if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_DONATE_WIDGET_ACTIVATED)) { $this->displayDonateWidget($player->login); diff --git a/application/plugins/DynamicPointlimitPlugin.php b/application/plugins/DynamicPointlimitPlugin.php index 2ab8f0a9..a2f1898c 100644 --- a/application/plugins/DynamicPointlimitPlugin.php +++ b/application/plugins/DynamicPointlimitPlugin.php @@ -125,9 +125,9 @@ class DynamicPointlimitPlugin implements CallbackListener, CommandListener, Plug /** * Function called on player connect and disconnect, changing the pointlimit. * - * @param array $callback + * @param Player $player */ - public function changePointlimit(array $callback) { + public function changePointlimit(Player $player) { $numberOfPlayers = 0; $numberOfSpectators = 0; diff --git a/application/plugins/LocalRecords.php b/application/plugins/LocalRecords.php index 33f97b85..505a5c23 100644 --- a/application/plugins/LocalRecords.php +++ b/application/plugins/LocalRecords.php @@ -37,8 +37,8 @@ class LocalRecordsPlugin implements CallbackListener, TimerListener, Plugin { const SETTING_NOTIFY_BEST_RECORDS = 'Notify Publicly only for the X Best Records'; const SETTING_ADJUST_OUTER_BORDER = 'Adjust outer Border to Number of actual Records'; - /** - * Private properties + /* + * Private Properties */ /** * @@ -160,10 +160,8 @@ class LocalRecordsPlugin implements CallbackListener, TimerListener, Plugin { /** * Handle ManiaControl After Init - * - * @param array $callback */ - public function handleAfterInit(array $callback) { + public function handleAfterInit() { $this->updateManialink = true; } diff --git a/application/plugins/Obstacle.php b/application/plugins/Obstacle.php index 5e6a9640..ab67da59 100644 --- a/application/plugins/Obstacle.php +++ b/application/plugins/Obstacle.php @@ -152,8 +152,7 @@ class ObstaclePlugin implements CallbackListener, CommandListener, Plugin { $time = $data->Run->Time; // Trigger trackmania player finish callback $finishCallback = array($player->pid, $player->login, $time); - $finishCallback = array(CallbackManager::CB_TM_PLAYERFINISH, $finishCallback); - $this->maniaControl->callbackManager->triggerCallback(CallbackManager::CB_TM_PLAYERFINISH, $finishCallback); + $this->maniaControl->callbackManager->triggerCallback(CallbackManager::CB_TM_PLAYERFINISH, array(CallbackManager::CB_TM_PLAYERFINISH, $finishCallback)); } /** @@ -171,7 +170,6 @@ class ObstaclePlugin implements CallbackListener, CommandListener, Plugin { // Trigger Trackmania player checkpoint callback // TODO: Checkpoint index (5th element) $checkpointCallback = array($player->pid, $player->login, $time, 0, 0); - $checkpointCallback = array(CallbackManager::CB_TM_PLAYERCHECKPOINT, $checkpointCallback); - $this->maniaControl->callbackManager->triggerCallback(CallbackManager::CB_TM_PLAYERCHECKPOINT, $checkpointCallback); + $this->maniaControl->callbackManager->triggerCallback(CallbackManager::CB_TM_PLAYERCHECKPOINT, array(CallbackManager::CB_TM_PLAYERCHECKPOINT, $checkpointCallback)); } } diff --git a/application/plugins/QueuePlugin.php b/application/plugins/QueuePlugin.php index 986bc333..7f61fe58 100644 --- a/application/plugins/QueuePlugin.php +++ b/application/plugins/QueuePlugin.php @@ -158,12 +158,9 @@ class QueuePlugin implements CallbackListener, CommandListener, ManialinkPageAns /** * Function handling on the connection of a player. * - * @param array $callback + * @param Player $player */ - public function handlePlayerConnect(array $callback) { - $login = $callback[1]->login; - $player = $this->maniaControl->playerManager->getPlayer($login); - + public function handlePlayerConnect(Player $player) { if($player->isSpectator) { $this->spectators[$player->login] = $player->login; $this->maniaControl->client->forceSpectator($player->login, 1); @@ -180,11 +177,9 @@ class QueuePlugin implements CallbackListener, CommandListener, ManialinkPageAns /** * Function handling on the disconnection of a player. * - * @param array $callback + * @param Player $player */ - public function handlePlayerDisconnect(array $callback) { - /** @var Player $player */ - $player = $callback[1]; + public function handlePlayerDisconnect(Player $player) { if(isset($this->spectators[$player->login])) { unset($this->spectators[$player->login]); } diff --git a/application/plugins/ServerRanking.php b/application/plugins/ServerRanking.php index 4027ecf4..4e6ddf37 100644 --- a/application/plugins/ServerRanking.php +++ b/application/plugins/ServerRanking.php @@ -272,18 +272,12 @@ class ServerRankingPlugin implements Plugin, CallbackListener, CommandListener { $mysqli->query($query); } - /** * Handle PlayerConnect callback * - * @param array $callback + * @param Player $player */ - public function handlePlayerConnect(array $callback) { - $player = $callback[1]; - if (!$player) { - return; - } - + public function handlePlayerConnect(Player $player) { $this->showRank($player); $this->showNextRank($player); } @@ -306,7 +300,7 @@ class ServerRankingPlugin implements Plugin, CallbackListener, CommandListener { } // Trigger callback - $this->maniaControl->callbackManager->triggerCallback(self::CB_RANK_BUILT, array(self::CB_RANK_BUILT)); + $this->maniaControl->callbackManager->triggerCallback(self::CB_RANK_BUILT); } /** diff --git a/application/plugins/SlotMachine.php b/application/plugins/SlotMachine.php index e6bb0ec8..1cdb65fd 100644 --- a/application/plugins/SlotMachine.php +++ b/application/plugins/SlotMachine.php @@ -152,11 +152,9 @@ class SlotMachinePlugin implements Plugin, CallbackListener, ManialinkPageAnswer /** * Handle Player connect * - * @param array $callback + * @param Player $player */ - public function handlePlayerConnect(array $callback) { - $player = $callback[1]; - /** @var Player $player */ + public function handlePlayerConnect(Player $player) { $this->displayIcon($player->login); //Initialize Player $this->playerSettings[$player->index] = array("Balance" => $this->getBalance($player->index), "Won" => 0, "Spent" => 0, "Plays" => 0, "ClicksLastSecond" => 0, "Visible" => 0); @@ -165,12 +163,10 @@ class SlotMachinePlugin implements Plugin, CallbackListener, ManialinkPageAnswer /** * Handle Player disconnect * - * @param array $chatCallback * @param Player $player */ - public function handlePlayerDisconnect(array $callback) { + public function handlePlayerDisconnect(Player $player) { $this->updateDatabaseEveryMinute(); - $player = $callback[1]; unset($this->playerSettings[$player->index]); } diff --git a/application/plugins/WidgetPlugin.php b/application/plugins/WidgetPlugin.php index e6bfd28e..6d8480f5 100644 --- a/application/plugins/WidgetPlugin.php +++ b/application/plugins/WidgetPlugin.php @@ -514,10 +514,9 @@ class WidgetPlugin implements CallbackListener, TimerListener, Plugin { /** * Handle PlayerConnect callback * - * @param array $callback + * @param Player $player */ - public function handlePlayerConnect(array $callback) { - $player = $callback[1]; + public function handlePlayerConnect(Player $player) { // Display Map Widget if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_ACTIVATED)) { $this->displayMapWidget($player->login); @@ -533,9 +532,9 @@ class WidgetPlugin implements CallbackListener, TimerListener, Plugin { /** * Handle PlayerConnect callback * - * @param array $callback + * @param Player $player */ - public function handlePlayerDisconnect(array $callback) { + public function handlePlayerDisconnect(Player $player) { if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_SERVERINFO_WIDGET_ACTIVATED)) { $this->displayServerInfoWidget(); }