From d346cf79be97a50df446dce14624d13cbd0b1f3f Mon Sep 17 00:00:00 2001 From: kremsy Date: Mon, 30 Dec 2013 18:56:42 +0100 Subject: [PATCH] apply script setting values --- .../core/Configurators/ScriptSettings.php | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/application/core/Configurators/ScriptSettings.php b/application/core/Configurators/ScriptSettings.php index 0d1a3b64..241301b1 100644 --- a/application/core/Configurators/ScriptSettings.php +++ b/application/core/Configurators/ScriptSettings.php @@ -161,15 +161,25 @@ class ScriptSettings implements ConfiguratorMenu { public function saveConfigData(array $configData, Player $player) { $this->maniaControl->client->query('GetModeScriptSettings'); $scriptSettings = $this->maniaControl->client->getResponse(); - // var_dump($configData); - // var_dump($scriptSettings); + + $newSettings = array(); + $prefixLength = strlen(self::ACTION_PREFIX_SETTING); - foreach ($configData[3] as $dataName => $dataValue) { - if (substr($dataName, 0, $prefixLength) != self::ACTION_PREFIX_SETTING) continue; - - $settingName = substr($dataName, $prefixLength); - - // TODO: apply new script settings + foreach ($configData[3] as $settings) { + if (substr($settings['Name'], 0, $prefixLength) != self::ACTION_PREFIX_SETTING) continue; + + $settingName = substr($settings['Name'], $prefixLength); + + foreach($scriptSettings as $key => $value){ + if($key == $settingName){ + //Setting found, cast type, break the inner loop + settype($settings["Value"], gettype($value)); + break; + } + } + $newSettings[$settingName] = $settings["Value"]; } + + $this->maniaControl->client->query('SetModeScriptSettings', $newSettings); } }