X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=pages%2Fview.sh;h=fef4f780a8066c5d203df769748b4aead5cc8bf5;hb=d716f2ce1fe64cf87f777490315bc51906001c72;hp=15202705e4433d432c6d8565eab735e49a9e7b70;hpb=1b6c746fcc68d953ef6b9f7b12567f99219f9374;p=serve0 diff --git a/pages/view.sh b/pages/view.sh index 1520270..fef4f78 100755 --- a/pages/view.sh +++ b/pages/view.sh @@ -1,6 +1,6 @@ #!/bin/zsh -# Copyright 2014, 2015 Paul Hänsch +# Copyright 2014 2016 Paul Hänsch # # This file is part of Serve0. # @@ -17,26 +17,30 @@ # You should have received a copy of the GNU Affero General Public License # along with Serve0. If not, see . -info="$_GET[\"i\"]" . $_EXEC/pages/common.sh +info="${_GET[i]}" +location="$(invalidate "${_GET[l]}" '(.*/)?\.\.(/.*)?|' /)" +directory="${location%/*}" + +TITLE="$info" + meta="${_DATA}/meta/$info.meta" -video="${_DATA}/videos/$info" +[ -n "$info" ] && video="${_DATA}/videos/$info" \ + || video="${treeroot%/}/${location#/}" tags="$(sed -n '2p' "$meta")" description="$(sed -n '3,$p' "$meta")" length=0; width=0; height=0; -eval $(mplayer -noconsolecontrols -input file=/dev/null -slave -really-quiet -identify -frames 0 -ao null -vo null "$video" 2>/dev/null\ -| sed -rn 's:ID_VIDEO_WIDTH=(.*):width=\1:p;s:ID_VIDEO_HEIGHT=(.*):height=\1:p;s:ID_LENGTH=(.*)(\..*)$:length=\1:p;') -video="videos/$info" -case "$1" in - title) - echo "Videos" - ;; - css) - . ${_EXEC}/templates/common.css.sh - ;; - body) - . ${_EXEC}/templates/view.html.sh - ;; -esac +debug "Analysing video: $video" +printf '' |mplayer -input nodefault-bindings -nosound -vo null -identify -frames 0 "$video" \ +| sort \ +| sed -rn 's:ID_LENGTH=(.*)(\..*)$:\1:p; + s:ID_VIDEO_HEIGHT=(.*):\1:p; + s:ID_VIDEO_WIDTH=(.*):\1:p;' \ +| tr '\n' ' ' \ +| read length height width 2>/dev/null + +video="videos/$info" +[ -n "$info" ] && video="videos/$info" \ + || video="${location#/}"