mx update

This commit is contained in:
kremsy 2017-03-06 19:03:09 +01:00
parent 66c0c4a8e5
commit de2e9cae84
3 changed files with 25 additions and 4 deletions

View File

@ -6,7 +6,6 @@ use ManiaControl\Files\AsynchronousFileReader;
use ManiaControl\ManiaControl; use ManiaControl\ManiaControl;
use ManiaControl\Maps\Map; use ManiaControl\Maps\Map;
use ManiaControl\Maps\MapManager; use ManiaControl\Maps\MapManager;
use Maniaplanet\DedicatedServer\Xmlrpc\GameModeException;
/** /**
* Mania Exchange Manager Class * Mania Exchange Manager Class
@ -44,6 +43,8 @@ class ManiaExchangeManager {
const MIN_EXE_BUILD = "2014-04-01_00_00"; const MIN_EXE_BUILD = "2014-04-01_00_00";
const SETTING_MX_KEY = "Mania exchange Key";
/* /*
* Private properties * Private properties
*/ */
@ -58,6 +59,8 @@ class ManiaExchangeManager {
*/ */
public function __construct(ManiaControl $maniaControl) { public function __construct(ManiaControl $maniaControl) {
$this->maniaControl = $maniaControl; $this->maniaControl = $maniaControl;
$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_MX_KEY, "");
} }
/** /**
@ -159,6 +162,10 @@ class ManiaExchangeManager {
// compile search URL // compile search URL
$url = "https://api.mania-exchange.com/{$titlePrefix}/maps/?ids={$string}"; $url = "https://api.mania-exchange.com/{$titlePrefix}/maps/?ids={$string}";
if ($key = $this->maniaControl->getSettingManager()->getSettingValue($this, self::SETTING_MX_KEY)) {
$url .= "&key=" . $key;
}
$this->maniaControl->getFileReader()->loadFile($url, function ($mapInfo, $error) use ($titlePrefix, $url) { $this->maniaControl->getFileReader()->loadFile($url, function ($mapInfo, $error) use ($titlePrefix, $url) {
if ($error) { if ($error) {
trigger_error("Error: '{$error}' for Url '{$url}'"); trigger_error("Error: '{$error}' for Url '{$url}'");
@ -252,6 +259,10 @@ class ManiaExchangeManager {
// compile search URL // compile search URL
$url = 'https://api.mania-exchange.com/' . $titlePrefix . '/maps/?ids=' . $mapId; $url = 'https://api.mania-exchange.com/' . $titlePrefix . '/maps/?ids=' . $mapId;
if ($key = $this->maniaControl->getSettingManager()->getSettingValue($this, self::SETTING_MX_KEY)) {
$url .= "&key=" . $key;
}
$this->maniaControl->getFileReader()->loadFile($url, function ($mapInfo, $error) use (&$function, $titlePrefix, $url) { $this->maniaControl->getFileReader()->loadFile($url, function ($mapInfo, $error) use (&$function, $titlePrefix, $url) {
$mxMapInfo = null; $mxMapInfo = null;
if ($error) { if ($error) {
@ -286,7 +297,6 @@ class ManiaExchangeManager {
* @param string $env * @param string $env
* @param int $maxMapsReturned * @param int $maxMapsReturned
* @param int $searchOrder * @param int $searchOrder
*
* @deprecated * @deprecated
* @see \ManiaControl\ManiaExchange\ManiaExchangeMapSearch * @see \ManiaControl\ManiaExchange\ManiaExchangeMapSearch
*/ */
@ -297,7 +307,7 @@ class ManiaExchangeManager {
$mapSearch->setMapLimit($maxMapsReturned); $mapSearch->setMapLimit($maxMapsReturned);
$mapSearch->setPrioritySortOrder($sortOrder); $mapSearch->setPrioritySortOrder($sortOrder);
if($env){ if ($env) {
$mapSearch->setEnvironments($env); $mapSearch->setEnvironments($env);
} }

View File

@ -99,6 +99,11 @@ class ManiaExchangeMapSearch {
$this->url = 'https://' . $this->titlePrefix . '.mania-exchange.com/tracksearch2/search?api=on'; $this->url = 'https://' . $this->titlePrefix . '.mania-exchange.com/tracksearch2/search?api=on';
if($key = $this->maniaControl->getSettingManager()->getSettingValue($this, ManiaExchangeManager::SETTING_MX_KEY)){
$this->url .= "&key=" . $key;
}
//Set some defaults: //Set some defaults:
$this->mapLimit = 100; $this->mapLimit = 100;
$this->priorityOrder = self::SEARCH_ORDER_UPDATED_NEWEST; $this->priorityOrder = self::SEARCH_ORDER_UPDATED_NEWEST;

View File

@ -354,8 +354,14 @@ class MapManager implements CallbackListener, CommunicationListener {
return; return;
} }
$url = $mapInfo->downloadurl;
if ($key = $this->maniaControl->getSettingManager()->getSettingValue($this, ManiaExchangeManager::SETTING_MX_KEY)) {
$url .= "&key=" . $key;
}
// Download the file // Download the file
$this->maniaControl->getFileReader()->loadFile($mapInfo->downloadurl, function ($file, $error) use ( $this->maniaControl->getFileReader()->loadFile($url, function ($file, $error) use (
&$login, &$mapInfo, &$update &$login, &$mapInfo, &$update
) { ) {
if (!$file || $error) { if (!$file || $error) {