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