function handle_lesscss_request($lessfile, $relative_path) { $dir = forceslash(sys_get_temp_dir()); $css_file = Less_Cache::Get([$lessfile => $relative_path], ['sourceMap' => true, 'compress' => true, 'relativeUrls' => true, 'cache_dir' => $dir]); $css = file_get_contents($dir . $css_file); header('Content-Type: text/css'); header('Content-Length: ' . strlen($css)); print $css; }
foreach ($stream->getVideoProtos() as $proto => $display) { $urls[$proto] = array('display' => $display, 'tech' => $stream->getVideoTech($proto), 'url' => $stream->getVideoUrl($proto)); } break; case 'slides': foreach ($stream->getSlidesProtos() as $proto => $display) { $urls[$proto] = array('display' => $display, 'tech' => $stream->getSlidesTech($proto), 'url' => $stream->getSlidesUrl($proto)); } break; case 'audio': foreach ($stream->getAudioProtos() as $proto => $display) { $urls[$proto] = array('display' => $display, 'tech' => $stream->getAudioTech($proto), 'url' => $stream->getAudioUrl($proto)); } break; case 'music': foreach ($stream->getMusicProtos() as $proto => $display) { $urls[$proto] = array('display' => $display, 'tech' => $stream->getMusicTech($proto), 'url' => $stream->getMusicUrl($proto)); } break; } $streams[] = array('slug' => $key, 'display' => $stream->getDisplay(), 'type' => $stream->getPlayerType(), 'isTranslated' => $stream->isTranslated(), 'videoSize' => $stream->getVideoSize(), 'urls' => $urls); } $roomstruct[] = array('slug' => $room->getSlug(), 'schedulename' => $room->getScheduleName(), 'thumb' => forceslash(baseurl()) . $room->getThumb(), 'link' => forceslash(baseurl()) . $room->getLink(), 'display' => $room->getDisplay(), 'streams' => $streams); } $struct[] = array('conference' => $conference['title'], 'group' => $group, 'rooms' => $roomstruct); } } if (isset($saved_config)) { $GLOBALS['CONFIG'] = $saved_config; } echo json_encode($struct, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
// old url OR wrong client OR // -> error require 'view/404.php'; exit; } } Conferences::load($mandator); } catch (Exception $e) { ob_clean(); require 'view/500.php'; } // PER-CONFERENCE CODE $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/'); }
public function getEmbedUrl() { return forceslash(baseurl()) . 'embed/' . rawurlencode($this->getRoom()->getSlug()) . '/' . rawurlencode($this->getSelection()) . '/' . rawurlencode($this->getLanguage()) . '/'; }
public static function load($mandator) { include forceslash(Conferences::MANDATOR_DIR) . forceslash($mandator) . 'config.php'; return isset($GLOBALS['CONFIG']); }