aboutsummaryrefslogtreecommitdiff
path: root/view/streams-json-v2.php
diff options
context:
space:
mode:
Diffstat (limited to 'view/streams-json-v2.php')
-rw-r--r--view/streams-json-v2.php18
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,
);
}