]> git.plutz.net Git - serve0/blob - view.sh
bugfix: avoid DB damage when updating nonexist file
[serve0] / view.sh
1 #!/bin/sh
2
3 . "$_EXEC/indexmeta.sh"
4 . "$_EXEC/widgets.sh"
5
6 read length width height tags comment short <<-EOF
7         $(meta_info "$_DATA/$ITEM")
8         EOF
9
10 printf 'Content-Type: text/html;charset=utf-8\r\n\r\n'
11
12 { printf '
13 [!DOCTYPE HTML]
14 [html [head [title \n'
15   HTML "${ITEM##*/}"
16   printf ']
17   [meta name="viewport" content="width=device-width"]
18   [link rel=stylesheet href="/cgilite/common.css" ]
19   [link rel=stylesheet href="/style.css" ]
20 ] [body #view
21   [script type="text/javascript" src="/stereoview.js"\n]
22   [div #navigation
23     [a #t_bookmarks href="#bookmarks" &#x2605;]'
24     w_search
25     printf '
26     [a #t_prefs href="#prefs" &#x2699;]
27   ]'
28   w_bookmarks
29   w_advsearch
30   w_prefs
31   printf '
32   [video #mainvideo controls="controls" preload="auto" [source src="?a=download" type="video/mp4"]]
33   [a "?a=download" Download]
34   [a "javascript:stereoview(180, document.getElementById(&#34;mainvideo&#34;));" View 180° Stereoscopic]
35   [a "javascript:stereoview(360, document.getElementById(&#34;mainvideo&#34;));" View 360° Stereoscopic]
36   [h1\n %s]
37   [span .time %i:%02imin] [span .dim %ix%i] %s
38   ' "$(HTML "${ITEM##*/}" |sed -r "$w_ascii"' s;[^0-9a-zA-Z&#];&[wbr];g')" \
39     "$((length / 60))" "$((length % 60))" "$width" "$height" \
40     "$(UNSTRING "${tags#tags=}" |sed -r '
41        s;^;,;; s;,+;,;g; s;,$;;; :X s;,-?([^,]+)(,|$); [span .tag\n \1]\2;; tX;'
42     )"
43   printf '
44   [div #editing
45     [form method=POST action="/?a=multitag"
46     [hidden "select" "%s"]' "$(HTML "${ITEM}")"
47       [ -d "$_DATA/${ITEM%/*}/.index/" ] && w_tagging
48     printf '
49     ]
50   ]
51 ] ]
52 '; } | "$_EXEC/cgilite/html-sh.sed"