get('sendeplan_title', 'Sendeplan'); // Titel der Box (sprachfähig) $SP_LINK_TO_PLAN = 'sendeplan.php'; // Link zum kompletten Sendeplan (leer = kein Link) // ============================================================ // DATEN BESCHAFFEN // ============================================================ // Immer mit dem aktuellen $SP_LIMIT holen, damit Änderungen oben // in der Datei sofort greifen $upcomingData = $manager->getUpcomingEntries($SP_LIMIT); $liveEntry = $upcomingData['live'] ?? null; $upcomingList = $upcomingData['upcoming'] ?? []; // Heute / Morgen Label $today = date('Y-m-d'); $tomorrow = date('Y-m-d', strtotime('+1 day')); /** * Formatiert das Tages-Label (Heute/Morgen/Wochentag) * Nutzt die $lang-Instanz für Mehrsprachigkeit */ function sp_format_day_label(string $date, string $today, string $tomorrow, object $lang): string { if ($date === $today) { return $lang->get('sendeplan_day_today', 'Heute'); } if ($date === $tomorrow) { return $lang->get('sendeplan_day_tomorrow', 'Morgen'); } $short = (new DateTime($date))->format('N'); $keyMap = [ 1 => ['sendeplan_weekday_mo', 'Mo'], 2 => ['sendeplan_weekday_di', 'Di'], 3 => ['sendeplan_weekday_mi', 'Mi'], 4 => ['sendeplan_weekday_do', 'Do'], 5 => ['sendeplan_weekday_fr', 'Fr'], 6 => ['sendeplan_weekday_sa', 'Sa'], 7 => ['sendeplan_weekday_so', 'So'], ]; $entry = $keyMap[(int)$short] ?? null; return $entry ? $lang->get($entry[0], $entry[1]) : ''; } function e(string $value): string { return htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); } ?>