;;
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
]
[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"
)