]> git.plutz.net Git - rawnet/blobdiff - page_video.sh
refactoring: fewer global variables, manage all url parsing in index.cgi, split some...
[rawnet] / page_video.sh
index 3d425e32044168184bc9d5a0ce20980cf1ff2207..49f49a78181d08c12338395c6ea817b10c109d29 100755 (executable)
@@ -1,8 +1,14 @@
 #!/bin/sh
 
+[ "$includepage_video" ] && return 0
+includepage_video="$0"
+
+. "$_EXEC/db_channel.sh"
 . "$_EXEC/db_video.sh"
+. "$_EXEC/widgets.sh"
 . "$_EXEC/upload.sh"
 
+read_channel "$channel"
 read_video "$video"
 
 [ "$REQUEST_METHOD" = POST ] && case "$(POST action)" in
@@ -11,7 +17,7 @@ read_video "$video"
       REDIRECT "${_BASE}/channel/$CHANNEL_ID/$VIDEO_ID/#ERROR_NOTLOGGEDIN"
     elif ! AUTHOR; then
       REDIRECT "${_BASE}/channel/$CHANNEL_ID/$VIDEO_ID/#ERROR_UPDATE_NOTALLOWED"
-    elif update_video "$video" "name=$(POST name)" \
+    elif update_video "$VIDEO_ID" "name=$(POST name)" \
                       "description=$(POST description)" \
                       "status=$(POST status |grep -m1 -xE 'void|private|hidden|public')" \
                       "uploader=$USER_ID"; then
@@ -30,7 +36,7 @@ read_video "$video"
       REDIRECT "${_BASE}/channel/$CHANNEL_ID/$VIDEO_ID/#ERROR_UPDATE_NOTALLOWED"
     elif [ "$(POST delconfirm)" != confirm ]; then
       REDIRECT "${_BASE}/channel/$CHANNEL_ID/$VIDEO_ID/#ERROR_NOT_CONFIRMED"
-    elif delete_video "$video"; then
+    elif delete_video "$VIDEO_ID"; then
       rm -f -- "$_DATA/$CHANNEL_ID/$VIDEO_ID.upload.mp4" \
                "$_DATA/$CHANNEL_ID/$VIDEO_ID.mp4" \
                "$_DATA/$CHANNEL_ID/$VIDEO_ID.webm" \
@@ -42,7 +48,7 @@ read_video "$video"
     ;;
 esac
 
-if [ "$REQUEST_METHOD" = POST -a "$channel" -a "$video" ]; then
+if [ "$REQUEST_METHOD" = POST -a "$CHANNEL_ID" -a "$VIDEO_ID" ]; then
   if ! AUTHOR; then
     head -c "$CONTENT_LENGTH" >/dev/null
     REDIRECT "${_BASE}/channel/$CHANNEL_ID/$VIDEO_ID/#ERROR_UPLOAD_NOTALLOWED"
@@ -50,14 +56,14 @@ if [ "$REQUEST_METHOD" = POST -a "$channel" -a "$video" ]; then
     head -c "$CONTENT_LENGTH" >/dev/null
     REDIRECT "${_BASE}/channel/$CHANNEL_ID/$VIDEO_ID/#ERROR_UPLOAD_NOCLOBBER"
   elif UPLOAD "$_DATA/$CHANNEL_ID/$VIDEO_ID.upload.mp4"; then
-    update_video "$video" status=private
+    update_video "$VIDEO_ID" status=private
     VIDEO_STATUS=private
     REDIRECT "${_BASE}/channel/$CHANNEL_ID/$VIDEO_ID/edit"
   fi
 fi
 
-if [ "$channel" -a "$video" -a "$action" = edit ]; then
-  AUTHOR || REDIRECT "$_BASE/$channel/$video/#ERROR_EDIT_NOTALLOWED"
+if [ "$CHANNEL_ID" -a "$VIDEO_ID" -a "$action" = edit ]; then
+  AUTHOR || REDIRECT "$_BASE/$CHANNEL_ID/$VIDEO_ID/#ERROR_EDIT_NOTALLOWED"
 
   yield_page "$VIDEO_NAME - Edit" "video edit" <<-EOF
        [form .video .edit method=POST
@@ -81,12 +87,12 @@ if [ "$channel" -a "$video" -a "$action" = edit ]; then
        ]
        EOF
 
-elif [ "$channel" -a "$video" -a "$action" = frameuploadprogress ]; then
-  AUTHOR || REDIRECT "$_BASE/$channel/$video/#ERROR_EDIT_NOTALLOWED"
+elif [ "$CHANNEL_ID" -a "$VIDEO_ID" -a "$action" = frameuploadprogress ]; then
+  AUTHOR || REDIRECT "$_BASE/$CHANNEL_ID/$VIDEO_ID/#ERROR_EDIT_NOTALLOWED"
   printf '%s\r\n' 'Content-Type: text/html' 'Connection: close' ''
   frame_uploadprogress
 
-elif [ "$channel" -a "$video" -a "$VIDEO_STATUS" = void ]; then
+elif [ "$CHANNEL_ID" -a "$VIDEO_ID" -a "$VIDEO_STATUS" = void ]; then
   [ $VIDEO_STATUS = public -o $VIDEO_STATUS = hidden ] || AUTHOR || { . ${_EXEC}/page_404.sh; exit 0; }
 
   yield_page "$VIDEO_NAME" "video" <<-EOF
@@ -104,7 +110,7 @@ elif [ "$channel" -a "$video" -a "$VIDEO_STATUS" = void ]; then
        [div .description . ${VIDEO_DESCR_CACHE}]
        EOF
 
-elif [ "$channel" -a "$video" -a "$VIDEO_STATUS" != void ]; then
+elif [ "$CHANNEL_ID" -a "$VIDEO_ID" -a "$VIDEO_STATUS" != void ]; then
   [ $VIDEO_STATUS = public -o $VIDEO_STATUS = hidden ] || AUTHOR || { . ${_EXEC}/page_404.sh; exit 0; }
 
   yield_page "$VIDEO_NAME" "video" <<-EOF