[ "ignore_errors" => true ] ]); $json = @file_get_contents($url, false, $context); return $json ? json_decode($json, true) : []; } $messages = fetch_api("https://api.sat.regattatech.de/api/v1/message"); $resultsData = fetch_api("https://api.sat.regattatech.de/api/v1/results/current/"); $rennplanData = fetch_api("https://api.sat.regattatech.de/api/v1/rennplan/current/"); $results = $resultsData['ergebnisse'] ?? []; $rennplan = $rennplanData['rennplan'] ?? []; $lastResultUUIDs = array_column($results, 'uuid'); $nextRaces = []; foreach ($rennplan as $lauf) { foreach ($lauf as $rennen) { if (!in_array($rennen['uuid'], $lastResultUUIDs)) { $nextRaces[] = $rennen; } } } $nextRaces = array_slice($nextRaces, 0, 3); function render_message_box($message) { $typeMap = [ 'info' => 'success', 'warning' => 'warning', 'error' => 'danger' ]; $type = $typeMap[$message['type'] ?? ''] ?? 'secondary'; $text = htmlspecialchars($message['message'] ?? '', ENT_QUOTES, 'UTF-8'); return ""; } ?> RegattaTech.DE Ergebnis TV

Letzte Ergebnisse
Noch keine Ergebnisse vorhanden

"; } else { $lauf = null; $latest = array_reverse(array_slice($results, -10)); foreach ($latest as $res) { if ($lauf !== ($res['lauf'] ?? null)) { echo "

Lauf " . htmlspecialchars($res['lauf'] ?? '', ENT_QUOTES, 'UTF-8') . "

"; $lauf = $res['lauf'] ?? null; } echo "
"; echo "" . htmlspecialchars($res['title'] ?? '', ENT_QUOTES, 'UTF-8') . "
"; if (!empty($res['bahn1'])) { $boot = $res['bahn1']['boot'] ?? ''; $zeit = $res['bahn1']['zeit'] ?? ''; echo "Bahn 1: " . htmlspecialchars($boot, ENT_QUOTES, 'UTF-8') . " - " . htmlspecialchars($zeit, ENT_QUOTES, 'UTF-8') . "
"; } if (!empty($res['bahn2'])) { $boot = $res['bahn2']['boot'] ?? ''; $zeit = $res['bahn2']['zeit'] ?? ''; echo "Bahn 2: " . htmlspecialchars($boot, ENT_QUOTES, 'UTF-8') . " - " . htmlspecialchars($zeit, ENT_QUOTES, 'UTF-8') . "
"; } if (!empty($res['bahn3'])) { $boot = $res['bahn3']['boot'] ?? ''; $zeit = $res['bahn3']['zeit'] ?? ''; echo "Bahn 3: " . htmlspecialchars($boot, ENT_QUOTES, 'UTF-8') . " - " . htmlspecialchars($zeit, ENT_QUOTES, 'UTF-8') . "
"; } echo "
"; } } ?>
Nächste Rennen
"; echo "" . htmlspecialchars($rennen['name'] ?? '', ENT_QUOTES, 'UTF-8') . " (" . htmlspecialchars($rennen['zeit'] ?? '', ENT_QUOTES, 'UTF-8') . ")
"; if (isset($rennen['bahn1'])) { echo "Bahn 1: " . htmlspecialchars($rennen['bahn1'], ENT_QUOTES, 'UTF-8') . "
"; } if (isset($rennen['bahn2'])) { echo "Bahn 2: " . htmlspecialchars($rennen['bahn2'], ENT_QUOTES, 'UTF-8') . "
"; } if (isset($rennen['bahn3'])) { echo "Bahn 3: " . htmlspecialchars($rennen['bahn3'], ENT_QUOTES, 'UTF-8') . "
"; } echo "
"; } ?>
Alle Ergebnisse & Rennpläne Live und als App unter apps.sport-am-tankumsee.de oder den QR Code Scannen
QR Code