]> git.plutz.net Git - serve0/blobdiff - pages/view.sh
styling for pagination links
[serve0] / pages / view.sh
index 15202705e4433d432c6d8565eab735e49a9e7b70..fef4f780a8066c5d203df769748b4aead5cc8bf5 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/zsh
 
-# Copyright 2014, 2015 Paul Hänsch
+# Copyright 2014 2016 Paul Hänsch
 #
 # This file is part of Serve0.
 # 
 # You should have received a copy of the GNU Affero General Public License
 # along with Serve0.  If not, see <http://www.gnu.org/licenses/>. 
 
-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#/}"