fixed exceptions

This commit is contained in:
kremsy 2014-03-13 18:25:29 +01:00 committed by Steffen Schröder
parent 689e572c62
commit d3cc9db29c
5 changed files with 44 additions and 11 deletions

View File

@ -98,7 +98,9 @@ class ManiaExchangeManager {
* @param $mxId
*/
public function unsetMap($mxId) {
unset($this->mxIdUidVector[$mxId]);
if (isset($this->mxIdUidVector[$mxId])) {
unset($this->mxIdUidVector[$mxId]);
}
}
/**
@ -272,9 +274,9 @@ class ManiaExchangeManager {
// compile search URL
$url = 'http://' . $titlePrefix . '.mania-exchange.com/tracksearch?api=on';
$game = explode('@', $titleId);
$game = explode('@', $titleId);
$envNumber = $this->getEnvironment($game[0]);
if($env != '' || $envNumber != -1){
if ($env != '' || $envNumber != -1) {
$url .= '&environments=' . $envNumber;
}
if ($name != '') {

View File

@ -11,6 +11,7 @@ use ManiaControl\ManiaControl;
use ManiaControl\Manialinks\IconManager;
use ManiaControl\Manialinks\ManialinkPageAnswerListener;
use ManiaControl\Players\Player;
use Maniaplanet\DedicatedServer\Xmlrpc\Exception;
/**
* Class offering commands to manage maps
@ -205,7 +206,13 @@ class MapCommands implements CommandListener, ManialinkPageAnswerListener, Callb
$this->maniaControl->chat->sendSuccess($message);
$this->maniaControl->log($message, true);
$this->maniaControl->client->restartMap();
try {
$this->maniaControl->client->restartMap();
} catch(Exception $e) {
if ($e->getMessage() != 'Change in progress.') {
throw $e;
}
}
}
/**

View File

@ -368,8 +368,16 @@ class MapManager implements CallbackListener {
$this->maniaControl->callbackManager->triggerCallback(self::CB_MAPS_UPDATED);
//Write MapList
if($this->maniaControl->settingManager->getSetting($this, self::SETTING_AUTOSAVE_MAPLIST)){
$this->maniaControl->client->saveMatchSettings($this->maniaControl->settingManager->getSetting($this, self::SETTING_MAPLIST_FILE));
if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_AUTOSAVE_MAPLIST)) {
try {
$this->maniaControl->client->saveMatchSettings($this->maniaControl->settingManager->getSetting($this, self::SETTING_MAPLIST_FILE));
} catch(Exception $e) {
if ($e->getMessage() == 'Unable to write the playlist file.') {
$this->maniaControl->log("Unable to write the playlist file, please checkout your MX-Folders File permissions!");
} else {
throw $e;
}
}
}
}

View File

@ -132,7 +132,16 @@ class PlayerActions {
$this->forcePlayerToPlay($adminLogin, $targetLogin, true, false);
}
$this->maniaControl->client->forcePlayerTeam($target->login, $teamId);
try {
$this->maniaControl->client->forcePlayerTeam($target->login, $teamId);
} catch(Exception $e) {
if ($e->getMessage() == "Not in Team mode.") {
$this->forcePlayerToPlay($adminLogin, $targetLogin);
return;
} else {
throw $e;
}
}
$chatMessage = false;
$title = $this->maniaControl->authenticationManager->getAuthLevelName($admin->authLevel);

View File

@ -9,6 +9,7 @@ use ManiaControl\Callbacks\TimerListener;
use ManiaControl\Formatter;
use ManiaControl\ManiaControl;
use ManiaControl\Statistics\StatisticManager;
use Maniaplanet\DedicatedServer\Xmlrpc\Exception;
/**
* Class managing Players
@ -143,11 +144,17 @@ class PlayerManager implements CallbackListener, TimerListener {
* @param array $callback
*/
public function playerConnect(array $callback) {
$login = $callback[1][0];
$playerInfo = $this->maniaControl->client->getDetailedPlayerInfo($login);
$player = new Player($playerInfo);
$login = $callback[1][0];
try {
$playerInfo = $this->maniaControl->client->getDetailedPlayerInfo($login);
$player = new Player($playerInfo);
$this->addPlayer($player);
$this->addPlayer($player);
} catch(Exception $e) {
if ($e->getMessage() != 'Login unknown.') {
throw $e;
}
}
}
/**