X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;ds=inline;f=macros%2Fattachments;h=bcd6722117985cf06bab8a0575755e2381fcb876;hb=7213d4e9f90acaa688a17b110f1c17b1e7ca74d3;hp=7acc8063b32af36fa84db64f40d89e6367ca1460;hpb=df5a47a0b129485391d78ca5622b89702fdf57f3;p=shellwiki
diff --git a/macros/attachments b/macros/attachments
index 7acc806..bcd6722 100755
--- a/macros/attachments
+++ b/macros/attachments
@@ -1,6 +1,8 @@
#!/bin/sh
. "$_EXEC/cgilite/cgilite.sh"
+. "$_EXEC/acl.sh"
+. "$_EXEC/tools.sh"
page="$1"
@@ -8,7 +10,9 @@ if [ "${page#/}" = "$page" ]; then
page="$(PATH "${PATH_INFO}/$page")"
fi
-printf %s\\n '
'
+acl_read "$page" || exit 0
+
+printf %s\\n ''
for file in "$_EXEC/pages/$page/#attachments"/* "$_DATA/pages/$page/#attachments"/*; do
[ "$file" = "$_EXEC/pages/$page/#attachments/${file##*/}" \
@@ -16,25 +20,10 @@ for file in "$_EXEC/pages/$page/#attachments"/* "$_DATA/pages/$page/#attachments
stat="$(stat -c '%s %Y' -- "$file" 2>&-)" || continue
size="${stat% *}" date="${stat#* }"
- if [ $size -gt $((1024 * 1024 * 1024)) ]; then
- size=$((size / 1024 / 1024 / 1024 * 10 + size / 1024 / 1024 % 1024 / 100))
- size="$((size / 10)).$((size % 10)) GB"
-
- elif [ $size -gt $((1024 * 1024)) ]; then
- size=$((size / 1024 / 1024 * 10 + size / 1024 % 1024 / 100))
- size="$((size / 10)).$((size % 10)) MB"
-
- elif [ $size -gt $((1024)) ]; then
- size=$((size / 1024 * 10 + size % 1024 / 100))
- size="$((size / 10)).$((size % 10)) KB"
-
- else
- size="${size} B"
- fi
-
- printf '- %s
+ printf '
- %s
%s%s
' \
- "$(HTML "${file##*/}")" "$size" "$(date -d @"$date" +"%F %T")"
+ "$(HTML "${file##*/}")" "$(HTML "${file##*/}")" \
+ "$(size_human "$size")" "$(date -d @"$date" +"%F %T")"
done
printf %s\\n '
'