diff options
Diffstat (limited to 'view/streams-json-v2.php')
-rw-r--r-- | view/streams-json-v2.php | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/view/streams-json-v2.php b/view/streams-json-v2.php index 114e73e..5302e16 100644 --- a/view/streams-json-v2.php +++ b/view/streams-json-v2.php @@ -2,11 +2,24 @@ header('Content-Type: application/json'); +$basetime = time(); $struct = []; foreach (Conferences::getActiveConferences() as $conference) { + $now = $conference->getSchedule()->getScheduleDisplayTime($basetime); $overview = $conference->getOverview(); + $isInDayChange = false; + + foreach($conference->getRooms() as $room) { + $currentTalk = $room->getCurrentTalk($now); + + if($currentTalk && isset($currentTalk['special']) && $currentTalk['special'] == 'daychange') { + $isInDayChange = true; + break; + } + } + $groupstruct = array(); foreach($overview->getGroups() as $group => $rooms) { @@ -91,6 +104,10 @@ foreach (Conferences::getActiveConferences() as $conference) 'link' => forceslash(baseurl()).$room->getLink(), 'display' => $room->getDisplay(), 'stream' => $room->getStream(), + 'talks' => [ + 'current' => $room->getCurrentTalk($now), + 'next' => $room->getNextTalk($now), + ], 'streams' => $streams, ); } @@ -109,6 +126,7 @@ foreach (Conferences::getActiveConferences() as $conference) 'schedule' => $conference->getSchedule()->getScheduleUrl(), 'startsAt' => $conference->startsAt() ? $conference->startsAt()->format(DateTime::ISO8601) : null, 'endsAt' => $conference->endsAt() ? $conference->endsAt()->format(DateTime::ISO8601) : null, + 'isCurrentlyStreaming' => !$isInDayChange, 'groups' => $groupstruct, ); } |