#!/bin/sh
+# Copyright 2022 - 2023 Paul Hänsch
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+# IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
. "$_EXEC/cgilite/file.sh"
# REV_ATTACHMENTS="${REV_ATTACHMENTS:-false}"
elif [ -f "$cachepath" ]; then
printf %s "$attpath"
return 0
- elif ! mkdir -p -- "${cachepath%/*}" && touch "$cachepath"; then
+ elif ! mkdir -p -- "${cachepath%/*}" && touch -- "$cachepath"; then
printf %s "$attpath"
return 0
fi
case $attpath in
- *.jpg|*.jpeg|*.png)
+ *.[jJ][pP][gG]|*.[jJ][pP][eE][gG]|*.[pP][nN][gG])
read junk junk res junk <<-EOF
- $(identify "$attpath")
+ $(identify -- "$attpath")
EOF
if [ "${res%x*}" -gt 2048 ]; then
convert "$attpath" -resize 1920x-2 -quality 85 "$cachepath"
printf %s "$cachepath"
return 0
;;
- *.webm|*.mp4|*.mkv|*.avi)
+ *.[wW][eE][bB][mM]|*.[mM][pP]4|*.[mM][kK][vV]|*.[aA][vV][iI])
res=$(ffprobe -show_entries stream=width "$attpath" 2>&-)
res="${res#*width=}" res="${res%%${BR}*}"
if [ "$res" -gt 1280 ]; then
printf %s "$attpath"
return 0
;;
- *) printf "$attpath";;
+ *) printf %s "$attpath";;
esac
}