X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=index.cgi;h=d6535e77a9e316358d12c81943f6ab0b2ddebd2b;hb=0a576d1d2ce23eb3043adcd7adb7b45c89ba6051;hp=7b4921a4878ac806d06bbebf83c508c451dd7853;hpb=ad9ff11ccc78543cee20d00e0a0e7c9610761b0f;p=serve0 diff --git a/index.cgi b/index.cgi index 7b4921a..d6535e7 100755 --- a/index.cgi +++ b/index.cgi @@ -3,8 +3,9 @@ [ -z "${_EXEC%/}" ] && _EXEC="$(realpath "${0%/*}")" || _EXEC="${_EXEC%/}" [ -z "${_DATA%/}" ] && _DATA=. || _DATA="${_DATA%/}" +file_pattern='^.*\.(mov|ts|mpg|mpeg|mp4|m4v|avi|mkv|flv|sfv|wmv|ogm|ogv|webm|iso|rmvb)$' + . "$_EXEC/cgilite/cgilite.sh" -. "$_EXEC/widgets.sh" FILTER="$(GET f)" SEARCH="$(GET s)" @@ -30,7 +31,12 @@ elif [ -f "$_DATA/$ITEM" ]; then tag) ;; thumbnail) - printf 'Status: 404 Not Found\r\nContent-Length 0:\r\n\r\n' + . "$_EXEC/cgilite/file.sh" + index="$_DATA/${ITEM%/*}/.index" + thumb="$index/${ITEM##*/}"; thumb="${thumb%.*}.jpg" + [ -d "$index" -a \! -f "$thumb" ] \ + && file="$_DATA/$ITEM" . "$_EXEC/thumbnail.sh" + FILE "$thumb" ;; delete) ;; @@ -40,7 +46,21 @@ elif [ -f "$_DATA/$ITEM" ]; then esac elif [ -d "$_DATA/$ITEM" ]; then case $(GET a) in + advsearch) + . "$_EXEC/advsearch.sh" + ;; + spawnindex) + if [ "$(POST recursive)" = yes ]; then + find "$_DATA/$ITEM" -depth -type d \! -name .index \ + -exec mkdir -p '{}'/.index \; + else + mkdir -p "$_DATA/$ITEM/.index" + fi + REDIRECT "$(POST ref)" + ;; multitag) + . "$_EXEC/multitag.sh" + REDIRECT "$(POST ref)" ;; *) . "$_EXEC/list.sh" ;;