]> git.plutz.net Git - shellwiki/blobdiff - handlers/40_attachment.sh
case insensitive attachment suffixes
[shellwiki] / handlers / 40_attachment.sh
index 1e0719037ee0d4642601abb1141ad456dbe64d2b..fc0b0f983ff00aee3a0787c1e38761315d973697 100755 (executable)
@@ -1,5 +1,19 @@
 #!/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}"
@@ -21,15 +35,15 @@ attachment_convert(){
   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"
@@ -39,7 +53,7 @@ attachment_convert(){
       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
@@ -63,7 +77,7 @@ attachment_convert(){
       printf %s "$attpath"
       return 0
     ;;
-    *) printf "$attpath";;
+    *) printf %s "$attpath";;
   esac
 }