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