teamy, 2 => pary, 1 => ind) - l. uczestników - suma WK - ranga turnieju (0 => K, 1 => Ok, 2 => R, 3 => O, 4 => O*, 5 => O**, 6 => O***, 7 => O****) (opcjonalny, jeśli podano ręczne minPKL i wagę) - l. rozdań => 40? (opcjonalny, jeśli podano ręczne minPKL i wagę) - ręczne minPKL za pierwsze (opcjonalny) - ręczna waga (opcjonalny) - ręczny współczynnik zawodniczy (opcjonalny) - ręczne progi (opcjonalne) { "type": 2, "contestants": 20, "title_sum": 230, "tournament_rank": 3, "over39_boards": 0, "manual": { "min_points": 50, "tournament_weight": 50, "players_coefficient": 0.1, "points_cutoffs": [[0.1, 0.9], [0.5, 0.0]] } } */ require_once('api-inc.php'); function run($parameters) { try { $versionClasses = array( '1' => 'ApiPklV1', // RegKlas 2018.11.01 '2' => 'ApiPklV2', // RegKMP 2020.01.01 '_default' => 'ApiPklV2' ); $version = isset($parameters['version']) ? $parameters['version'] : '_default'; $apiClass = isset($versionClasses[$version]) ? $versionClasses[$version] : $versionClasses['_default']; $api = new $apiClass($parameters); if ($parameters['tournament_rank'] == ApiPkl::RANK_KMP) { $result = $api->calculate_kmp_points(); } else { $result = $api->calculate_points(); } return $result; } catch (ParametersException $e) { http_response_code(400); die(json_encode($e->getMessage())); } catch (Exception $e) { http_response_code(500); die(json_encode($e->getMessage())); } } header('Content-Type: application/json'); print(json_encode(run($_REQUEST))); ?>