Changed Internal Callbacks formats to use objects directly instead of an array

This commit is contained in:
Steffen Schröder 2014-02-19 15:44:00 +01:00
parent 36fc15c7b1
commit ff9c21a8af
31 changed files with 176 additions and 206 deletions

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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
*/

View File

@ -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);

View File

@ -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);

View File

@ -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();
}

View File

@ -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']);
}

View File

@ -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!');

View File

@ -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);
}

View File

@ -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);
}
}

View File

@ -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();

View File

@ -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);

View File

@ -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);
}

View File

@ -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();

View File

@ -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

View File

@ -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);
}

View File

@ -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);
}
}

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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

View File

@ -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]);

View File

@ -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;
}

View File

@ -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();

View File

@ -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);

View File

@ -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;

View File

@ -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;
}

View File

@ -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));
}
}

View File

@ -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]);
}

View File

@ -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);
}
/**

View File

@ -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]);
}

View File

@ -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();
}