From 6fea306ab914287bc2e6ec242f440e31e440110f Mon Sep 17 00:00:00 2001 From: MaZderMind Date: Sat, 29 Nov 2014 19:31:21 +0100 Subject: move url rewriting into php for better compatibility with nginx --- .htaccess | 38 +------------------------ 404.php | 8 ------ about.php | 8 ------ index.php | 77 ++++++++++++++++++++++++++++++++++++++++++++++---- pages/404.php | 8 ++++++ pages/about.php | 8 ++++++ pages/party.php | 15 ++++++++++ pages/program-json.php | 6 ++++ pages/room.php | 54 +++++++++++++++++++++++++++++++++++ pages/rooms.php | 10 +++++++ party.php | 15 ---------- program-json.php | 6 ---- room.php | 54 ----------------------------------- 13 files changed, 173 insertions(+), 134 deletions(-) delete mode 100644 404.php delete mode 100644 about.php create mode 100644 pages/404.php create mode 100644 pages/about.php create mode 100644 pages/party.php create mode 100644 pages/program-json.php create mode 100644 pages/room.php create mode 100644 pages/rooms.php delete mode 100644 party.php delete mode 100644 program-json.php delete mode 100644 room.php diff --git a/.htaccess b/.htaccess index 14e9703..431bbb1 100644 --- a/.htaccess +++ b/.htaccess @@ -5,40 +5,4 @@ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l -# / -> index.php - room/streams list -DirectoryIndex index.php - -# /room/ -> room.php - native av-player in sd (with format switcher included) -RewriteRule ^(saal1|saal2|saalg|saal6)/?$ room.php?room=$1&format=sd&language=native [L] - -# /room/translated -> room.php - translated av-player in sd (with format switcher included) -RewriteRule ^(saal1|saal2|saalg|saal6)/translated/?$ room.php?room=$1&format=sd&language=translated [L] - -# /room/format/ -> room.php - native av-player in $format (with format switcher included) -RewriteRule ^(saal1|saal2|saalg|saal6)/(hd|audio|slides)/?$ room.php?room=$1&format=$2&language=native [L] - -# /room/format/translated -> room.php - translated av-player in $format (with format switcher included) -RewriteRule ^(saal1|saal2|saalg|saal6)/(hd|audio|slides)/translated/?$ room.php?room=$1&format=$2&language=translated [L] - - -# /miniroom/ -> room.php - native av-player in sd -RewriteRule ^(sendezentrum)/?$ room.php?room=$1&format=sd&language=native [L] - -# /miniroom/format/ -> room.php - native av-player in $format (no hd, no slides) -RewriteRule ^(sendezentrum)/(audio)/?$ room.php?room=$1&format=$2&language=native [L] - - -# /party/ -> player.php - simple audio-player for party -RewriteRule ^(lounge|ambient)/?$ party.php?room=$1&format=audio [L] - - -# /about/ -> about.php -RewriteRule ^about/?$ about.php [L] - -# /program.json -> program-json.php -RewriteRule ^program.json?$ program-json.php [L] - - -# Show a known page in case of as miss -RewriteRule ^404.html$ 404.php [L] -ErrorDocument 404 /~peter/voc-frontends/31c3/404.php +RewriteRule (.*) index.php?route=$1 [L] diff --git a/404.php b/404.php deleted file mode 100644 index 4eee2f2..0000000 --- a/404.php +++ /dev/null @@ -1,8 +0,0 @@ -render(array( - 'page' => '404', - 'title' => '404 Not Found', -)); diff --git a/about.php b/about.php deleted file mode 100644 index 9d0cd75..0000000 --- a/about.php +++ /dev/null @@ -1,8 +0,0 @@ -render(array( - 'page' => 'about', - 'title' => 'About these awsome streams', -)); diff --git a/index.php b/index.php index 4faff27..def4f7c 100644 --- a/index.php +++ b/index.php @@ -1,10 +1,75 @@ render(array( - 'page' => 'rooms', - 'title' => 'Overview', - 'rooms' => $GLOBALS['CONFIG']['ROOMS'], -)); + +if($route == '') +{ + include('pages/rooms.php'); +} + +else if(preg_match('@^(saal1|saal2|saalg|saal6|sendezentrum)$@', $route, $m)) +{ + $_GET = array( + 'room' => $m[1], + 'format' => 'sd', + 'language' => 'native', + ); + include('pages/room.php'); +} + +else if(preg_match('@^(saal1|saal2|saalg|saal6)/translated$@', $route, $m)) +{ + $_GET = array( + 'room' => $m[1], + 'format' => 'sd', + 'language' => 'translated', + ); + include('pages/room.php'); +} + +else if(preg_match('@^(saal1|saal2|saalg|saal6|sendezentrum)/(hd|audio|slides)$@', $route, $m)) +{ + $_GET = array( + 'room' => $m[1], + 'format' => $m[2], + 'language' => 'native', + ); + include('pages/room.php'); +} + +else if(preg_match('@^(saal1|saal2|saalg|saal6)/(hd|audio|slides)/translated$@', $route, $m)) +{ + $_GET = array( + 'room' => $m[1], + 'format' => $m[2], + 'language' => 'translated', + ); + include('pages/room.php'); +} + +else if(preg_match('@^(lounge|ambient)$@', $route, $m)) +{ + $_GET = array( + 'room' => $m[1], + 'format' => 'audio', + ); + include('pages/party.php'); +} + +else if(preg_match('@^about$@', $route, $m)) +{ + include('pages/about.php'); +} + +else if(preg_match('@^program.json$@', $route, $m)) +{ + include('pages/program-json.php'); +} + +else +{ + include('pages/404.php'); +} diff --git a/pages/404.php b/pages/404.php new file mode 100644 index 0000000..4eee2f2 --- /dev/null +++ b/pages/404.php @@ -0,0 +1,8 @@ +render(array( + 'page' => '404', + 'title' => '404 Not Found', +)); diff --git a/pages/about.php b/pages/about.php new file mode 100644 index 0000000..9586e73 --- /dev/null +++ b/pages/about.php @@ -0,0 +1,8 @@ +render(array( + 'page' => 'about', + 'title' => 'About the Streams', +)); diff --git a/pages/party.php b/pages/party.php new file mode 100644 index 0000000..a095df3 --- /dev/null +++ b/pages/party.php @@ -0,0 +1,15 @@ +render(array( + 'page' => 'party', + + 'title' => $GLOBALS['CONFIG']['ROOMS'][$room], + + 'rooms' => $GLOBALS['CONFIG']['ROOMS'], + + 'room' => $room, + 'roomname' => $GLOBALS['CONFIG']['ROOMS'][$room], +)); diff --git a/pages/program-json.php b/pages/program-json.php new file mode 100644 index 0000000..2b5e38b --- /dev/null +++ b/pages/program-json.php @@ -0,0 +1,6 @@ +render(array( + 'page' => 'room', + + 'title' => $GLOBALS['CONFIG']['ROOMS'][$room].' – '.$GLOBALS['CONFIG']['FORMATS'][$format], + + 'rooms' => $GLOBALS['CONFIG']['ROOMS'], + 'formats' => $GLOBALS['CONFIG']['FORMATS'], + + 'room' => $room, + 'roomname' => $GLOBALS['CONFIG']['ROOMS'][$room], + + 'program' => program(), + + 'type' => $type, + 'width' => @$width, + 'height' => @$height, + 'language' => $language, + 'translated' => ($language == 'translated'), + 'format' => $format, + + // miniroom = no translation, no slides, no irc, no program + // -> sendezentrum, workshops + 'miniroom' => in_array($room, array('sendezentrum')), +)); diff --git a/pages/rooms.php b/pages/rooms.php new file mode 100644 index 0000000..4faff27 --- /dev/null +++ b/pages/rooms.php @@ -0,0 +1,10 @@ +render(array( + 'page' => 'rooms', + 'title' => 'Overview', + + 'rooms' => $GLOBALS['CONFIG']['ROOMS'], +)); diff --git a/party.php b/party.php deleted file mode 100644 index a095df3..0000000 --- a/party.php +++ /dev/null @@ -1,15 +0,0 @@ -render(array( - 'page' => 'party', - - 'title' => $GLOBALS['CONFIG']['ROOMS'][$room], - - 'rooms' => $GLOBALS['CONFIG']['ROOMS'], - - 'room' => $room, - 'roomname' => $GLOBALS['CONFIG']['ROOMS'][$room], -)); diff --git a/program-json.php b/program-json.php deleted file mode 100644 index 2b5e38b..0000000 --- a/program-json.php +++ /dev/null @@ -1,6 +0,0 @@ -render(array( - 'page' => 'room', - - 'title' => $GLOBALS['CONFIG']['ROOMS'][$room].' – '.$GLOBALS['CONFIG']['FORMATS'][$format], - - 'rooms' => $GLOBALS['CONFIG']['ROOMS'], - 'formats' => $GLOBALS['CONFIG']['FORMATS'], - - 'room' => $room, - 'roomname' => $GLOBALS['CONFIG']['ROOMS'][$room], - - 'program' => program(), - - 'type' => $type, - 'width' => @$width, - 'height' => @$height, - 'language' => $language, - 'translated' => ($language == 'translated'), - 'format' => $format, - - // miniroom = no hd, no translation, no slides, no irc, no program - // -> sendezentrum, workshops - 'miniroom' => in_array($room, array('sendezentrum')), -)); -- cgit v1.2.3