<?php

header('Content-Type: application/json');
$conferences = Conferences::getActiveConferences();
$struct = array();
if (isset($GLOBALS['CONFIG'])) {
    $saved_config = $GLOBALS['CONFIG'];
}
foreach ($conferences as $conference) {
    /*
      ok. das ist so hacky. EIGENTLICH müsste man aus ModelBase
      das $GLOBALS tilgen und von der api ne v2 releasen, welche
      conferences als eigenes Objekt betrachtet
    */
    $GLOBALS['CONFIG'] = $conference['CONFIG'];
    $GLOBALS['MANDATOR'] = $conference['slug'];
    $overview = new Overview();
    foreach ($overview->getGroups() as $group => $rooms) {
        $roomstruct = array();
        foreach ($rooms as $room) {
            $streams = array();
            foreach ($room->getStreams() as $stream) {
                $key = $stream->getSelection() . '-' . $stream->getLanguage();
                $urls = array();
                switch ($stream->getPlayerType()) {
                    case 'video':
                        foreach ($stream->getVideoProtos() as $proto => $display) {
                            $urls[$proto] = array('display' => $display, 'tech' => $stream->getVideoTech($proto), 'url' => $stream->getVideoUrl($proto));
                        }
                        break;
                    case 'slides':
<?php

echo $tpl->render(array('page' => 'allconferences', 'title' => 'Multiple Conferences', 'conferences' => Conferences::getActiveConferences()));
Beispiel #3
0
$GLOBALS['MANDATOR'] = $mandator;
$conference = new Conference();
// update template information
$tpl->set(array('baseurl' => forceslash(baseurl()), 'route' => $route, 'canonicalurl' => forceslash(baseurl()) . forceslash($route), 'assets' => '../assets/', 'conference' => $conference, 'feedback' => new Feedback(), 'schedule' => new Schedule(), 'subtitles' => new Subtitles()));
ob_start();
try {
    // ALWAYS AVAILABLE ROUTES
    if ($route == 'feedback/read') {
        require 'view/feedback-read.php';
    } else {
        if ($route == 'schedule.json') {
            require 'view/schedule-json.php';
        } else {
            if ($route == 'gen/main.css') {
                if (Conferences::hasCustomStyles($mandator)) {
                    handle_lesscss_request(Conferences::getCustomStyles($mandator), '../../' . Conferences::getCustomStylesDir($mandator));
                } else {
                    handle_lesscss_request('assets/css/main.less', '../../assets/css/');
                }
            } else {
                if (!$conference->hasBegun()) {
                    require 'view/not-started.php';
                } else {
                    if (preg_match('@^relive/([0-9]+)$@', $route, $m)) {
                        $_GET = array('id' => $m[1]);
                        require 'view/relive-player.php';
                    } else {
                        if ($route == 'relive') {
                            require 'view/relive.php';
                        } else {
                            if ($conference->hasEnded()) {
Beispiel #4
0
<?php

$upcoming = new Upcoming();
$events = $upcoming->getNextEvents();
echo $tpl->render(array('page' => 'allclosed', 'title' => 'See you soon … somewhere else!', 'next' => @$events[0], 'events' => $events, 'last' => Conferences::getLastConference()));
 public static function getCustomStyles($mandator)
 {
     return forceslash(Conferences::getCustomStylesDir($mandator)) . 'main.less';
 }