From 4ee1066b8996bada7f2e0beea5e8474ccb579ba2 Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Wed, 25 Mar 2020 21:46:05 +0100 Subject: [PATCH] Truncate extension of media items to 5 chars. That's the max length of the extensin database field. Fixes #609. Signed-off-by: Thomas Hochstein --- include/functions_images.inc.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/functions_images.inc.php b/include/functions_images.inc.php index 006ca698..8b59552f 100644 --- a/include/functions_images.inc.php +++ b/include/functions_images.inc.php @@ -2040,6 +2040,13 @@ function serendipity_uploadSecure($var, $strip_paths = true, $append_slash = fal } } + # truncate extensions to 5 chars + # 1) (\.[^.]{0,5}+) five chars after a dot are captured (possessively) + # 2) expression matches only if followed by anything that is no dot + # and has no / or \ at the end + # 3) if epxression matches, everything after the capture group is deleted + $var = preg_replace('@(\.[^.]{0,5}+)[^./\\\]*[^/\\\]{1,1}?$@', '$1', $var); + return $var; }