From 40c699e1a307919f65a52632ddf816a735dde8a0 Mon Sep 17 00:00:00 2001 From: MaZderMind Date: Mon, 2 Mar 2015 16:38:50 +0100 Subject: Relive --- assets/css/_structure.less | 6 ++++ lib/helper.php | 20 +++++++++++++ pages/relive-player.php | 17 ++++------- pages/relive.php | 11 +------ pages/room.php | 6 ++-- template/assemblies/player/relive.phtml | 6 ++-- template/overview.phtml | 8 +++-- template/relive-player.phtml | 35 +++++++++++++++------- template/relive.phtml | 52 ++++++++++++++++++++------------- test-vod.json | 13 +++++---- 10 files changed, 106 insertions(+), 68 deletions(-) diff --git a/assets/css/_structure.less b/assets/css/_structure.less index cd6d746..7fc59d8 100644 --- a/assets/css/_structure.less +++ b/assets/css/_structure.less @@ -68,6 +68,12 @@ body.overview { body.room { @import "_room.less"; } +body.relive { + @import "_relive.less"; +} +body.relive-player { + @import "_relive_player.less"; +} body.e404 { > .container { diff --git a/lib/helper.php b/lib/helper.php index efdf84c..d21b4c6 100644 --- a/lib/helper.php +++ b/lib/helper.php @@ -233,3 +233,23 @@ function startswith($needle, $haystack) { return substr($haystack, 0, strlen($needle)) == $needle; } + +function relive_talks() +{ + $talks = file_get_contents(get('OVERVIEW.RELIVE_JSON')); + $talks = utf8_decode($talks); + $talks = json_decode($talks, true); + + usort($talks, function($a, $b) { + $sort = array('live', 'recorded', 'released'); + return array_search($a['status'], $sort) > array_search($b['status'], $sort); + }); + + $talks_by_id = array(); + foreach ($talks as $value) + { + $talks_by_id[$value['id']] = $value; + } + + return $talks_by_id; +} diff --git a/pages/relive-player.php b/pages/relive-player.php index 64d1578..84fc866 100644 --- a/pages/relive-player.php +++ b/pages/relive-player.php @@ -2,24 +2,17 @@ require_once('lib/bootstrap.php'); -$talks = file_get_contents('http://vod.c3voc.de/relive/index.json'); -$talks = utf8_decode($talks); -$talks = json_decode($talks, true); +$talks_by_id = relive_talks(); +$talk = @$talks_by_id[intval($_GET['id'])]; -$talkhit = null; -foreach($talks as $talk) { - if($talk['id'] == $_GET['id']) - $talkhit = $talk; -} - -if(!$talkhit) return; +if(!$talk) + return include('page/404.php'); echo $tpl->render(array( 'page' => 'relive-player', 'title' => 'Relive!', - 'talk' => $talkhit, + 'talk' => $talk, 'width' => 1024, 'height' => 576, - 'relive' => true, )); diff --git a/pages/relive.php b/pages/relive.php index 362af34..33e0d5a 100644 --- a/pages/relive.php +++ b/pages/relive.php @@ -2,17 +2,8 @@ require_once('lib/bootstrap.php'); -$talks = file_get_contents(get('OVERVIEW.RELIVE_JSON')); -$talks = utf8_decode($talks); -$talks = json_decode($talks, true); - -usort($talks, function($a, $b) { - $sort = array('live', 'recorded', 'released'); - return array_search($a['status'], $sort) > array_search($b['status'], $sort); -}); - echo $tpl->render(array( 'page' => 'relive', 'title' => 'Relive!', - 'talks' => $talks, + 'talks' => relive_talks(), )); diff --git a/pages/room.php b/pages/room.php index abd764d..77f4fdf 100644 --- a/pages/room.php +++ b/pages/room.php @@ -8,7 +8,7 @@ $language = $_GET['language']; $selection = $_GET['selection']; if(!has("ROOMS.$room")) - return include('404.php'); + return include('pages/404.php'); $formats = get("ROOMS.$room.FORMATS"); $has_translation = get("ROOMS.$room.TRANSLATION"); @@ -54,7 +54,7 @@ if(!$selection) $selection = $selections[0]; if(!in_array($selection, $selections)) - return include('404.php'); + return include('pages/404.php'); @@ -94,7 +94,7 @@ switch($selection) { if($language == 'translated') { if(!$has_translation) - return include('404.php'); + return include('pages/404.php'); $title = 'Translated '.$title; } diff --git a/template/assemblies/player/relive.phtml b/template/assemblies/player/relive.phtml index c37fd87..718b249 100644 --- a/template/assemblies/player/relive.phtml +++ b/template/assemblies/player/relive.phtml @@ -1,14 +1,14 @@ -
+