]> git.plutz.net Git - rawnet/blobdiff - index.cgi
refactoring: fewer global variables, manage all url parsing in index.cgi, split some...
[rawnet] / index.cgi
index 0d3c66885e4892f256de8aa4d6ebc1cb7a3208ca..76e3592a236f63bafe9d9171eae4cbe2db5373ed 100755 (executable)
--- a/index.cgi
+++ b/index.cgi
@@ -129,7 +129,33 @@ case ${PATH_INFO} in
     . "${_EXEC}/cgilite/file.sh"
     FILE "${_DATA}/${PATH_INFO#/video/}"
     ;;
-  /|/channel/*) . "${_EXEC}/page_channel.sh";;
+  /channel/*/*/*)
+    action="${PATH_INFO##*/}"
+    video="${PATH_INFO%/*}" video="${video##*/}"
+    channel="${PATH_INFO#/channel/}" channel="${channel%%/*}"
+    . "$_EXEC/page_video.sh"
+    ;;
+  /channel/*/*/)
+    action=""
+    video="${PATH_INFO%/}" video="${video##*/}"
+    channel="${PATH_INFO#/channel/}" channel="${channel%%/*}"
+    . "$_EXEC/page_video.sh"
+    ;;
+  /channel/*/*)
+    action="${PATH_INFO##*/}"
+    video=""
+    channel="${PATH_INFO#/channel/}" channel="${channel%%/*}"
+    . "$_EXEC/page_channel.sh"
+    ;;
+  /channel/*/)
+    action=""
+    video=""
+    channel="${PATH_INFO#/channel/}" channel="${channel%%/*}"
+    . "$_EXEC/page_channel.sh"
+    ;;
+  /|/channel/)
+    . "${_EXEC}/page_channel.sh"
+    ;;
   /playlist/*) . "${_EXEC}/page_playlist.sh";;
   /search/*) . "${_EXEC}/page_search.sh";;
   *) . "${_EXEC}/page_404.sh";;