maniacontrol.php exception handling
This commit is contained in:
		
				
					committed by
					
						 Steffen Schröder
						Steffen Schröder
					
				
			
			
				
	
			
			
			
						parent
						
							a69d5d0f84
						
					
				
				
					commit
					f021084a90
				
			| @@ -16,6 +16,7 @@ use ManiaControl\Plugins\PluginManager; | |||||||
| use ManiaControl\Server\Server; | use ManiaControl\Server\Server; | ||||||
| use ManiaControl\Statistics\StatisticManager; | use ManiaControl\Statistics\StatisticManager; | ||||||
| use Maniaplanet\DedicatedServer\Connection; | use Maniaplanet\DedicatedServer\Connection; | ||||||
|  | use Maniaplanet\DedicatedServer\Xmlrpc\Exception; | ||||||
|  |  | ||||||
| require_once __DIR__ . '/Maniaplanet/DedicatedServer/Connection.php'; | require_once __DIR__ . '/Maniaplanet/DedicatedServer/Connection.php'; | ||||||
| require_once __DIR__ . '/Callbacks/CallbackListener.php'; | require_once __DIR__ . '/Callbacks/CallbackListener.php'; | ||||||
| @@ -356,14 +357,17 @@ class ManiaControl implements CommandListener { | |||||||
| 		$pass = (string)$pass[0]; | 		$pass = (string)$pass[0]; | ||||||
|  |  | ||||||
| 		//TODO timeout as constant | 		//TODO timeout as constant | ||||||
| 		$this->client = Connection::factory($host, $port, 20, $login, $pass); | 		try { | ||||||
| 		if($this->client == null) { | 			$this->client = Connection::factory($host, $port, 20, $login, $pass); | ||||||
| 			trigger_error("Couldn't authenticate on server with user '{$login}'! " . $this->getClientErrorText(), E_USER_ERROR); | 		} catch(Exception $e) { | ||||||
|  | 			trigger_error("Couldn't authenticate on server with user '{$login}'! " . $e->getMessage(), E_USER_ERROR); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		// Enable callback system | 		// Enable callback system | ||||||
| 		if(!$this->client->enableCallbacks(true)) { | 		try { | ||||||
| 			trigger_error("Couldn't enable callbacks! " . $this->getClientErrorText(), E_USER_ERROR); | 			$this->client->enableCallbacks(true); | ||||||
|  | 		} catch(Exception $e) { | ||||||
|  | 			trigger_error("Couldn't enable callbacks! " . $e->getMessage(), E_USER_ERROR); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		// Wait for server to be ready | 		// Wait for server to be ready | ||||||
| @@ -381,14 +385,16 @@ class ManiaControl implements CommandListener { | |||||||
|  |  | ||||||
| 		// Hide old widgets | 		// Hide old widgets | ||||||
| 		$this->client->sendHideManialinkPage(); | 		$this->client->sendHideManialinkPage(); | ||||||
| 		//$this->client->query('SendHideManialinkPage'); |  | ||||||
|  |  | ||||||
| 		// Enable script callbacks if needed | 		// Enable script callbacks if needed | ||||||
| 		if($this->server->getGameMode() != 0) { | 		if($this->server->getGameMode() != 0) { | ||||||
| 			return; | 			return; | ||||||
| 		} | 		} | ||||||
| 		if(!$scriptSettings = $this->client->getModeScriptSettings()) { |  | ||||||
| 			trigger_error("Couldn't get mode script settings. " . $this->getClientErrorText()); | 		try { | ||||||
|  | 			$scriptSettings = $this->client->getModeScriptSettings(); | ||||||
|  | 		} catch(Exception $e) { | ||||||
|  | 			trigger_error("Couldn't get mode script settings. " . $e->getMessage()); | ||||||
| 			return; | 			return; | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| @@ -397,7 +403,9 @@ class ManiaControl implements CommandListener { | |||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		$scriptSettings['S_UseScriptCallbacks'] = true; | 		$scriptSettings['S_UseScriptCallbacks'] = true; | ||||||
| 		if(!$this->client->setModeScriptSettings($scriptSettings)) { | 		try { | ||||||
|  | 			$this->client->setModeScriptSettings($scriptSettings); | ||||||
|  | 		} catch(Exception $e) { | ||||||
| 			trigger_error("Couldn't set mode script settings to enable script callbacks. " . $this->getClientErrorText()); | 			trigger_error("Couldn't set mode script settings to enable script callbacks. " . $this->getClientErrorText()); | ||||||
| 			return; | 			return; | ||||||
| 		} | 		} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user