mirror of
https://github.com/voc/streaming-website
synced 2024-11-10 06:34:17 +00:00
175 lines
4.9 KiB
PHTML
175 lines
4.9 KiB
PHTML
<? include("$assemblies/banner.phtml") ?>
|
|
|
|
<div class="container">
|
|
<? $i = 0; foreach($overview->getGroups() as $group => $rooms): ?>
|
|
<? if($group): ?>
|
|
<div class="row group group-<?=h(slugify($group))?>">
|
|
<div class="col-xs-12">
|
|
<h2><span><?=h($group)?></span></h2>
|
|
</div>
|
|
</div>
|
|
<? endif ?>
|
|
<div class="row room-group room-group-n<?=h($i++)?> room-group-<?=h(slugify($group))?>">
|
|
|
|
<?
|
|
/*
|
|
// remove rooms without talks
|
|
$rooms = array_filter($rooms, function($r) {
|
|
global $upcomingTalksPerRoom;
|
|
$upcoming = @$upcomingTalksPerRoom[ $r->getSlug() ];
|
|
return isset($upcoming['next']);
|
|
}); */
|
|
$count = count($rooms);
|
|
$idx = 0;
|
|
usort($rooms, function ($r_a, $r_b) {
|
|
global $upcomingTalksPerRoom;
|
|
$u_a = $upcomingTalksPerRoom[ $r_a->getSlug() ];
|
|
$a = @$u_a['current'] && !@$u_a['current']['special'] ? $u_a['current'] : $u_a['next'];
|
|
$u_b = $upcomingTalksPerRoom[ $r_b->getSlug() ];
|
|
$b = @$u_b['current'] && !@$u_b['current']['special'] ? $u_b['current'] : $u_b['next'];
|
|
|
|
// sort rooms without remaining schedule to end
|
|
if ( $u_a['next'] === null || $u_b['next'] === null) {
|
|
return -($u_a['next'] <=> $u_b['next']);
|
|
}
|
|
|
|
return @$a['start'] <=> @$b['start'];
|
|
});
|
|
|
|
foreach($rooms as $room):
|
|
$is_wide = 0;
|
|
/* when the count is odd and this is the last item - make it full width */
|
|
if (($count % 2 == 1) && ($idx == $count - 1)) {
|
|
$is_wide = 1;
|
|
}
|
|
elseif ($room->requestsWide()) {
|
|
$is_wide = 1;
|
|
$count++;
|
|
/* Increase the index if we are using a whole line, this means when the room is
|
|
* an even entry. Odd entries on the other hand steal one index from the
|
|
* "previous" row which they originally belong to. */
|
|
if ($idx % 2 != 1) {
|
|
$idx++;
|
|
}
|
|
}
|
|
?>
|
|
|
|
<div class="
|
|
room
|
|
room-<?=h($room->getSlug())?>
|
|
clearfix
|
|
<? if ($is_wide): ?>
|
|
wide
|
|
col-xs-12
|
|
<? else: ?>
|
|
narrow
|
|
col-md-6
|
|
<? endif ?>
|
|
|
|
<? if($room->hasPreview()): ?>
|
|
has-preview
|
|
<? endif ?>
|
|
|
|
<? if($room->hasSchedule()): ?>
|
|
has-schedule
|
|
<? endif ?>
|
|
">
|
|
|
|
<a href="<?=h($room->getLink())?>">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<div class="panel-title">
|
|
<span class="roomtitle regular"><?=h($room->getDisplay())?></span>
|
|
<span class="roomtitle short"><?=h($room->getDisplayShort())?></span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
<? if($room->hasPreview()): ?>
|
|
|
|
<img
|
|
class="preview"
|
|
src="<?=h($room->getThumb())?>"
|
|
alt="<?=h($room->getDisplay())?>"
|
|
width="213" height="120"
|
|
/>
|
|
|
|
<? else: ?>
|
|
|
|
<h2><?=h($room->getDisplay())?></h2>
|
|
|
|
<? endif ?>
|
|
|
|
<? if($room->hasSchedule()):
|
|
$upcoming = @$upcomingTalksPerRoom[ $room->getSlug() ] ?: [];
|
|
// echo var_dump($upcoming);
|
|
$current = @$upcoming['current'];
|
|
$next = @$upcoming['next']; ?>
|
|
<div class="program-schedule">
|
|
<? if($current && !@$current['special']): ?>
|
|
<div class="talk current-talk" title="<?=h(@$current['title'] ?: 'none') ?>">
|
|
<strong>Now (since <?=date('G:i', @$current['start']) ?>):</strong><br/>
|
|
<span class="t"><?=h(@$current['title'] ?: 'none') ?></span>
|
|
</div>
|
|
<? endif; if($next && !@$next['special']): ?>
|
|
<div class="talk next-talk" title="<?=h(@$next['title'] ?: 'none') ?>">
|
|
<strong>Next (<?=date('G:i', @$next['start']) ?>):</strong><br/>
|
|
<span class="t"><?=h(@$next['title'] ?: 'none') ?></span>
|
|
</div>
|
|
<? endif ?>
|
|
</div>
|
|
<? endif ?>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
<? $idx++ ?>
|
|
<? if ($is_wide): ?>
|
|
<div class="clearfix"></div>
|
|
<? endif ?>
|
|
<? endforeach ?>
|
|
</div>
|
|
<? endforeach ?>
|
|
|
|
<? if($conference->hasReleases() || $conference->hasRelive()): ?>
|
|
<?
|
|
$class = ($conference->hasReleases() && $conference->hasRelive()) ?
|
|
// both enabled
|
|
'col-sm-6 col-xs-12' :
|
|
|
|
// only one of both enabled
|
|
'col-xs-12';
|
|
?>
|
|
<div class="row recordings">
|
|
|
|
<div class="col-xs-12">
|
|
<h2><span>Recordings</span></h2>
|
|
</div>
|
|
|
|
<? if($conference->hasReleases()): ?>
|
|
<div class="<?=h($class)?>">
|
|
<div class="panel panel-primary">
|
|
<div class="panel-body">
|
|
<a href="<?=h($conference->getReleasesUrl())?>">
|
|
<span class="fa fa-video-camera"></span> Releases
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<? endif ?>
|
|
|
|
<? if($conference->hasRelive()): ?>
|
|
<div class="<?=h($class)?>">
|
|
<div class="panel panel-primary">
|
|
<div class="panel-body">
|
|
<a href="<?=h($conference->getReliveUrl())?>">
|
|
<span class="fa fa-play-circle"></span> ReLive
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<? endif ?>
|
|
|
|
</div>
|
|
<? endif ?>
|
|
</div>
|