[ "method" => "GET", ] ]); $schedule = json_decode(file_get_contents("https://tilderadio.org/schedule/schedule.php?json=yes", false, $context), true); } else { $context = stream_context_create([ "http" => [ "method" => "GET", "header" => "X-API-Key: $apikey\r\n" ] ]); // allow ics.php to overwrite $from and $to if (!isset($from, $to)) { $from = gmdate("Y-m-d\TH:i:s\Z", strtotime("today")); $to = gmdate("Y-m-d\TH:i:s\Z", strtotime("today + 8 days")); } $schedule = json_decode( file_get_contents( "https://azuracast.tilderadio.org/api/station/1/streamers/schedule?start=$from&end=$to", false, $context ), true ); } usort($schedule, function ($a, $b) { return $a["start"] <=> $b["start"]; }); if (isset($_GET["json"]) && $_GET["json"] === "yes") echo json_encode($schedule); function formatdate($date) { return gmdate("D M d H:i", strtotime($date)); }