/** * Retourne la structure pour l'enregistrement des informations de jeu * * @return array */ public static function getGameInfosStructFromPOST() { if ($_POST['NextFinishTimeoutValue'] < 2) { if ($_POST['NextFinishTimeout'] == 0) { $FinishTimeout = 0; } else { if ($_POST['NextFinishTimeout'] == 1) { $FinishTimeout = 1; } } } else { $FinishTimeout = TimeDate::secToMillisec(intval($_POST['NextFinishTimeoutValue'])); } if (array_key_exists('NextDisableRespawn', $_POST) === true) { $DisableRespawn = false; } else { $DisableRespawn = true; } if ($_POST['NextForceShowAllOpponentsValue'] < 2) { if ($_POST['NextForceShowAllOpponents'] == 0) { $NextForceShowAllOpponents = 0; } else { if ($_POST['NextForceShowAllOpponents'] == 1) { $NextForceShowAllOpponents = 1; } } } else { $NextForceShowAllOpponents = intval($_POST['NextForceShowAllOpponentsValue']); } $out = array('GameMode' => intval($_POST['NextGameMode']), 'ChatTime' => TimeDate::secToMillisec(intval($_POST['NextChatTime'] - 8)), 'RoundsPointsLimit' => intval($_POST['NextRoundsPointsLimit']), 'RoundCustomPoints' => intval($_POST['NextRoundCustomPoints']), 'RoundsUseNewRules' => array_key_exists('NextRoundsUseNewRules', $_POST), 'RoundsForcedLaps' => intval($_POST['NextRoundsForcedLaps']), 'RoundsPointsLimitNewRules' => intval($_POST['NextRoundsPointsLimit']), 'TimeAttackLimit' => TimeDate::secToMillisec(intval($_POST['NextTimeAttackLimit'])), 'TimeAttackSynchStartPeriod' => TimeDate::secToMillisec(intval($_POST['NextTimeAttackSynchStartPeriod'])), 'TeamPointsLimit' => intval($_POST['NextTeamPointsLimit']), 'TeamMaxPoints' => intval($_POST['NextTeamMaxPoints']), 'TeamUseNewRules' => array_key_exists('NextTeamUseNewRules', $_POST), 'TeamPointsLimitNewRules' => intval($_POST['NextTeamPointsLimit']), 'LapsNbLaps' => intval($_POST['NextLapsNbLaps']), 'LapsTimeLimit' => TimeDate::secToMillisec(intval($_POST['NextLapsTimeLimit'])), 'FinishTimeout' => $FinishTimeout, 'AllWarmUpDuration' => intval($_POST['NextAllWarmUpDuration']), 'DisableRespawn' => $DisableRespawn, 'ForceShowAllOpponents' => $NextForceShowAllOpponents, 'CupPointsLimit' => intval($_POST['NextCupPointsLimit']), 'CupRoundsPerMap' => intval($_POST['NextCupRoundsPerMap']), 'CupNbWinners' => intval($_POST['NextCupNbWinners']), 'CupWarmUpDuration' => intval($_POST['NextCupWarmUpDuration'])); if (SERVER_VERSION_NAME != 'TmForever') { $out += array('ScriptName' => $_POST['NextScriptName']); } return $out; }
if (isset($_POST['savematchsetting']) && isset($_SESSION['adminserv']['matchset_maps_selected'])) { // Filename $matchSettingName = Str::replaceChars($_POST['matchSettingName']); $filename = $data['mapsDirectoryPath'] . $args['directory'] . $matchSettingName; if (File::getExtension($matchSettingName) != 'txt') { $filename .= '.txt'; } $struct = array(); // Gameinfos $gameinfos = AdminServ::getGameInfosStructFromPOST(); $struct['gameinfos'] = array('game_mode' => $gameinfos['GameMode'], 'chat_time' => $gameinfos['ChatTime'], 'finishtimeout' => $gameinfos['FinishTimeout'], 'allwarmupduration' => $gameinfos['AllWarmUpDuration'], 'disablerespawn' => $gameinfos['DisableRespawn'], 'forceshowallopponents' => $gameinfos['ForceShowAllOpponents'], 'rounds_pointslimit' => $gameinfos['RoundsPointsLimit'], 'rounds_custom_points' => $gameinfos['RoundCustomPoints'], 'rounds_usenewrules' => $gameinfos['RoundsUseNewRules'], 'rounds_forcedlaps' => $gameinfos['RoundsForcedLaps'], 'rounds_pointslimitnewrules' => $gameinfos['RoundsPointsLimitNewRules'], 'team_pointslimit' => $gameinfos['TeamPointsLimit'], 'team_maxpoints' => $gameinfos['TeamMaxPoints'], 'team_usenewrules' => $gameinfos['TeamUseNewRules'], 'team_pointslimitnewrules' => $gameinfos['TeamPointsLimitNewRules'], 'timeattack_limit' => $gameinfos['TimeAttackLimit'], 'timeattack_synchstartperiod' => $gameinfos['TimeAttackSynchStartPeriod'], 'laps_nblaps' => $gameinfos['LapsNbLaps'], 'laps_timelimit' => $gameinfos['LapsTimeLimit'], 'cup_pointslimit' => $gameinfos['CupPointsLimit'], 'cup_roundsperchallenge' => $gameinfos['CupRoundsPerMap'], 'cup_nbwinners' => $gameinfos['CupNbWinners'], 'cup_warmupduration' => $gameinfos['CupWarmUpDuration']); if (SERVER_VERSION_NAME != 'TmForever') { $struct['gameinfos']['script_name'] = $gameinfos['ScriptName']; } // HotSeat $struct['hotseat'] = array('game_mode' => intval($_POST['hotSeatGameMode']), 'time_limit' => TimeDate::secToMillisec(intval($_POST['hotSeatTimeLimit'])), 'rounds_count' => intval($_POST['hotSeatCountRound'])); // Filter $struct['filter'] = array('is_lan' => array_key_exists('filterIsLan', $_POST), 'is_internet' => array_key_exists('filterIsInternet', $_POST), 'is_solo' => array_key_exists('filterIsSolo', $_POST), 'is_hotseat' => array_key_exists('filterIsHotSeat', $_POST), 'sort_index' => intval($_POST['filterSortIndex']), 'random_map_order' => array_key_exists('filterRandomMaps', $_POST), 'force_default_gamemode' => intval($_POST['filterDefaultGameMode'])); // ScriptSettings if (!$client->query('GetModeScriptInfo')) { AdminServ::error(); } else { $scriptsettings = $client->getResponse(); if (!empty($scriptsettings['ParamDescs'])) { foreach ($scriptsettings['ParamDescs'] as $param) { $struct['scriptsettings'][] = array('name' => $param['Name'], 'type' => $param['Type'], 'value' => $param['Default']); } } } // Maps $struct['startindex'] = 1;