#!/bin/sh
+for n in "$@"; do case ${n%%=*} in
+ data) _DATA="${n#data=}";;
+ exec) _exec="${n#exec=}";;
+ noerr) exec 2>&-;;
+esac; done
+
[ -z "${_EXEC%/}" ] && _EXEC="$(realpath "${0%/*}")" || _EXEC="${_EXEC%/}"
[ -z "${_DATA%/}" ] && _DATA=. || _DATA="${_DATA%/}"
ORDER="$(GET o |grep -m1 -axE 'Date|Name|Length' || printf Name)"
LISTSIZE="$(COOKIE pagesize |grep -m1 -axE '[1-9][0-9]*' || printf 50)"
ITEM="$(PATH "${PATH_INFO#/}")"
+ACTION="$(GET a)"
-case $(GET a) in
+case $ACTION in
setprefs)
SET_COOKIE +$((86400 * 90)) pagesize="$(POST pagesize |grep -m1 -axE '[1-9][0-9]*' || printf 50)"
SET_COOKIE +$((86400 * 90)) mode="$(POST mode |grep -m1 -axE 'browse|index' || printf browse)"
[ -r "$_DATA/$ITEM" ] && FILE "$_DATA/$ITEM" \
|| FILE "$_EXEC/style.css"
elif [ -f "$_DATA/$ITEM" ]; then
- case $(GET a) in
+ case $ACTION in
tag)
;;
thumbnail)
delete)
;;
*) . "$_EXEC/cgilite/file.sh"
- FILE "$_DATA/$ITEM"
+ fakemp4="$(COOKIE fakemp4)"
+ FILE "$_DATA/$ITEM" "$([ "$fakemp4" = yes ] && printf 'video/mp4')"
;;
esac
elif [ -d "$_DATA/$ITEM" ]; then
- case $(GET a) in
+ case $ACTION in
advsearch)
. "$_EXEC/advsearch.sh"
;;