X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=index.cgi;fp=index.cgi;h=e0bf125ec5c1ad6f4d7501d76cb5c3aaa09ae0f2;hp=0000000000000000000000000000000000000000;hb=43e7c60df0632fd383306a2d3c6dc8c4213d4b9d;hpb=d40eb749c3b9766eb85d843e712f1b86543232d2 diff --git a/index.cgi b/index.cgi new file mode 100755 index 0000000..e0bf125 --- /dev/null +++ b/index.cgi @@ -0,0 +1,31 @@ +#!/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%/}" + +. "$_EXEC/cgilite/cgilite.sh" + +FILTER="$(GET filter)" +ORDER="$(GET o |grep -m1 -axE 'firstname|lastname|bdate' || printf firstname)" +# LISTSIZE="$(COOKIE pagesize |grep -m1 -axE '[1-9][0-9]*' || printf 50)" +ITEM="$(PATH "${PATH_INFO#/}")" +ACTION="$(GET a)" + +if [ -d "${_EXEC}/${ITEM%%/*}/main.cgi" ] + . "${_EXEC}/${ITEM%%/*}/main.cgi" +elif [ "$ITEM" = "/style.css" ]; then + . "$_EXEC/cgilite/file.sh" + [ -r "$_DATA/$ITEM" ] && FILE "$_DATA/$ITEM" \ + || FILE "$_EXEC/style.css" +elif [ -d "${_EXEC}/${ITEM%%/*}" -a ! -x "${_EXEC}/$ITEM" ] + . "$_EXEC/cgilite/file.sh" + FILE "${_EXEC}/$ITEM" +else + printf 'Status: 404 Not Found\r\nContent-Length: 0\r\n\r\n' +fi