X-Git-Url: http://git.plutz.net/?p=serve0;a=blobdiff_plain;f=index.cgi;h=a33211d6653adbc4fc2980e4d0077277069abc06;hp=4d7e8aa6fc045cdd1f49a29637d8b664917b3df4;hb=b9eab7e6648bd2aabf00bed5cf274fd6d5118d93;hpb=cdb3e3cbc4b7b2009d88833b3a802e73c0213f4c diff --git a/index.cgi b/index.cgi index 4d7e8aa..a33211d 100755 --- a/index.cgi +++ b/index.cgi @@ -15,16 +15,18 @@ file_pattern='^.*\.(mov|ts|mpg|mpeg|mp4|m4v|avi|mkv|flv|sfv|wmv|ogm|ogv|webm|iso FILTER="$(GET f)" SEARCH="$(GET s)" -ORDER="$(GET o |grep -m1 -axE 'Date|Name|Length' || printf Name)" +ORDER="$(GET o |grep -m1 -axE 'Date|Name|Length|Group' || printf Name)" LISTSIZE="$(COOKIE pagesize |grep -m1 -axE '[1-9][0-9]*' || printf 50)" ITEM="$(PATH "${PATH_INFO#/}")" ACTION="$(GET a)" 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)" - SET_COOKIE +$((86400 * 90)) fakemp4="$(POST fakemp4 |grep -m1 -axE 'yes' || printf no)" + 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)" + SET_COOKIE +$((86400 * 90)) fakemp4="$(POST fakemp4 |grep -m1 -axE 'yes' || printf no)" + SET_COOKIE +$((86400 * 90)) downscale="$(POST downscale |grep -m1 -axE 'yes' || printf no)" + [ "$(POST index)" = "update" ] && touch -cd @0 "${_DATA}/.index/meta.time" REDIRECT "$(POST ref)" ;; bookmark) @@ -69,9 +71,16 @@ elif [ -f "$_DATA/$ITEM" ]; then ;; delete) ;; - download) . "$_EXEC/cgilite/file.sh" + download) + . "$_EXEC/cgilite/file.sh" fakemp4="$(COOKIE fakemp4)" - FILE "$_DATA/$ITEM" "$([ "$fakemp4" = yes ] && printf 'video/mp4')" + downscale="$(COOKIE downscale)" + downfile="$_DATA/${ITEM%/*}/.transcode/${ITEM%.*}.480p.webm" + if [ "$downscale" = yes -a -f "$downfile" ]; then + FILE "$downfile" "$([ "$fakemp4" = yes ] && printf 'video/mp4')" + else + FILE "$_DATA/$ITEM" "$([ "$fakemp4" = yes ] && printf 'video/mp4')" + fi ;; *) . "$_EXEC/view.sh" esac