X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=page_channel.sh;h=57de476c579b17dbc2db175d222bac7aa72694ea;hb=7006b8bcaf3cb143f431715ae5aa8651d630bf87;hp=159c865e66ad1705128b1b3099bc01418024956b;hpb=b3c60467e133ca6f948e1df737c999f17d5b1bef;p=rawnet diff --git a/page_channel.sh b/page_channel.sh index 159c865..57de476 100755 --- a/page_channel.sh +++ b/page_channel.sh @@ -101,20 +101,46 @@ update_channel(){ ;; newvideo) video="$(POST video |checkid)" - # database video create - REDIRECT "${_BASE}/channel/${channel}/${video}/" + + [ "$channel" -a "$USER_ID" -a ! "${CHANNEL_AUTHORS##*${USER_ID}*}" ] \ + && mkdir -p -- "${_DATA}/${channel}/" + + if [ ! "$video" ]; then + REDIRECT "${_BASE}/channel/${channel}/#ERROR_INVALID_ID" + elif [ ! "$channel" ]; then + REDIRECT "${_BASE}/channel/#ERROR_NOCHANNEL" + elif [ ! "$USER_ID" ]; then + REDIRECT "${_BASE}/channel/${channel}/#ERROR_NOTLOGGEDIN" + elif [ "${CHANNEL_AUTHORS##*${USER_ID}*}" ]; then + REDIRECT "${_BASE}/channel/${channel}/#ERROR_UPDATE_NOTALLOWED" + elif LOCK "$vid_db"; then + if grep -q '^${video} ' "$vid_db"; then + RELEASE "$vid_db" + REDIRECT "${_BASE}/channel/${channel}/#ERROR_NEWVIDEO_EXISTS" + else + # ID NAME DESC RESX RESY LENGTH COVER STATUS UPLOADER HITS FUTUREUSE + printf '%s \\ \\ \\ \\ \\ \\ private %s \\ \\\n' \ + "$video" "$(STRING "$USER_ID")" \ + >>"$vid_db" + RELEASE "$vid_db" + REDIRECT "${_BASE}/channel/${channel}/${video}/edit" + fi + else + REDIRECT "${_BASE}/channel/${channel}/#ERROR_NEWVIDEO_NOLOCK" + fi ;; esac w_video(){ local CID="$1" thumb - local ID NAME DESCRIPTION RESX RESY LENGTH COVER STATUS UPLOADER HITS FUTUREUSE + local ID NAME DESCRIPTION RESX RESY LENGTH COVER STATUS UPLOADER HITS DESCR_CACHE FUTUREUSE if read -r ID NAME DESCRIPTION RESX RESY LENGTH COVER STATUS UPLOADER HITS FUTUREUSE; then thumb="${_BASE}/${CID}/thumb_${ID}.jpg" + [ "$NAME" = \\ ] && NAME="(Unnamed Video)" cat <<-EOF [div .video - [h3 . $(UNSTRING "$NAME" |HTML)] - [img href="${thumb}" alt="$(UNSTRING "$DESCRIPTION" |HTML)"] + [h3 [a href="${ID}/" . $(UNSTRING "$NAME" |HTML)]] + [img href="${thumb}" alt="$(UNSTRING "$DESCR_CACHE")"] ] EOF else @@ -176,7 +202,15 @@ elif [ "$channel" ]; then ] [h1 .name $(HTML "$CHANNEL_NAME")] [div .description . ${CHANNEL_DESCR_CACHE}] + [h1 .videos Videos] [div .videos + $( [ "$USER_ID" -a ! "${CHANNEL_AUTHORS##*${USER_ID}*}" ] \ + && printf ' + [form .video .newvideo method=POST + [hidden "video" "%s"] + [submit "action" "newvideo" New Video] + ]' "$(timeid)" + ) $( [ -f "$vid_db" -a -r "$vid_db" ] \ && while w_video "$ID"; do :; done <"$vid_db" )