From 663a234bb19cd9db56072af3b4c866150f05f0db Mon Sep 17 00:00:00 2001 From: MaZderMind Date: Sat, 28 Feb 2015 19:12:27 +0100 Subject: room selection handling rewrite --- pages/room.php | 67 +++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 43 insertions(+), 24 deletions(-) (limited to 'pages/room.php') diff --git a/pages/room.php b/pages/room.php index e743d30..ba4e35b 100644 --- a/pages/room.php +++ b/pages/room.php @@ -2,54 +2,76 @@ require_once('lib/bootstrap.php'); + $room = $_GET['room']; $language = $_GET['language']; $selection = $_GET['selection']; +$formats = get("ROOMS.$room.FORMATS"); + +$selections = array(); +$tabs = array(); + + +if(count(array_intersect(array('rtmp-hd', 'hls-hd', 'webm-hd'), $formats)) > 0) + $selections[] = 'hd'; + +if(count(array_intersect(array('rtmp-sd', 'hls-sd', 'webm-sd'), $formats)) > 0) + $selections[] = 'sd'; + +if(count(array_intersect(array('rtmp-sd', 'rtmp-hd', 'hls-sd', 'hls-hd', 'webm-sd', 'webm-hd'), $formats)) > 0) + $tabs[] = 'video'; + +if(count(array_intersect(array('audio-mp3', 'audio-opus'), $formats)) > 0) + $selections[] = $tabs[] = 'audio'; + +if(count(array_intersect(array('slides'), $formats)) > 0) + $selections[] = $tabs[] = 'slides'; + + +// default page +if(!$selection) + $selection = $selections[0]; + +if(!in_array($selection, $selections)) { + include('404.php'); + exit; +} + + switch($selection) { case 'audio': - $type = 'audio'; + $tab = 'audio'; $title = 'Audio'; break; case 'music': - $type = 'audio'; + $tab = 'audio'; $title = 'Music'; break; case 'slides': - $type = 'slides'; + $tab = 'slides'; $title = 'Slides'; break; case 'hd': - $type = 'video'; + $tab = 'video'; $title = 'FullHD Video'; $width = 1920; $height = 1080; break; case 'sd': - $type = 'video'; + $tab = 'video'; $title = 'SD Video'; $width = 1024; $height = 576; break; } - -$formats = get("ROOMS.$room.FORMATS"); -$types = array(); - -if(count(array_intersect(array('rtmp-sd', 'rtmp-hd', 'hls-sd', 'hls-hd', 'webm-sd', 'webm-hd'), $formats)) > 0) - $types[] = 'video'; - -if(count(array_intersect(array('audio-mp3', 'audio-opus'), $formats)) > 0) - $types[] = 'audio'; - -if(count(array_intersect(array('slides'), $formats)) > 0) - $types[] = 'slides'; - +if($language == 'translated') + $title = 'Translated '.$title; echo $tpl->render(array( 'page' => 'room', @@ -59,8 +81,8 @@ echo $tpl->render(array( 'program' => program(), - 'type' => $type, - 'types' => $types, + 'tab' => $tab, + 'tabs' => $tabs, 'width' => @$width, 'height' => @$height, @@ -68,8 +90,5 @@ echo $tpl->render(array( 'translated' => ($language == 'translated'), 'selection' => $selection, 'hlsformat' => ($selection == 'hd' ? 'auto' : $selection), - - // miniroom = no translation, no slides, no irc, no program - // -> sendezentrum, workshops - 'miniroom' => in_array($room, array('sendezentrum')), + 'formats' => $formats, )); -- cgit v1.2.3