]> git.plutz.net Git - shellwiki/blob - macros/attachments
Merge commit 'fb88510e7c955308c1321678f97a8f7d47b92efd'
[shellwiki] / macros / attachments
1 #!/bin/sh
2
3 . "$_EXEC/cgilite/cgilite.sh"
4 . "$_EXEC/acl.sh"
5 . "$_EXEC/tools.sh"
6
7 page="$1"
8
9 if [ "${page#/}" = "$page" ]; then
10   page="$(PATH "${PATH_INFO}/$page")"
11 fi
12
13 acl_read "$page" || exit 0
14
15 printf %s\\n '<ul class="macro attachment list">'
16
17 for file in "$_EXEC/pages/$page/#attachments"/* "$_DATA/pages/$page/#attachments"/*; do
18   [ "$file" = "$_EXEC/pages/$page/#attachments/${file##*/}" \
19         -a -f "$_DATA/pages/$page/#attachments/${file##*/}" ] && continue
20   stat="$(stat -c '%s %Y' -- "$file" 2>&-)" || continue
21   size="${stat% *}" date="${stat#* }"
22
23   printf '<li><a class=name href="[attachment]/%s">%s</a>
24           <span class=size>%s</span><span class=date>%s</span></li>' \
25     "$(HTML "${file##*/}")" "$(HTML "${file##*/}")" \
26     "$(size_human "$size")" "$(date -d @"$date" +"%F %T")"
27 done
28
29 printf %s\\n '</ul>'