From d593dc1c3eae1600fc32bf2b2e87c27ae25ba209 Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Thu, 21 Oct 2021 15:22:13 +0200 Subject: [PATCH] Lors de l'upload de documents, gerer le cas des fichiers avec multiples extensions : on ne laisse que celles qui sont autorisees a l'upload si possible, sinon on ne garde que la derniere --- ecrire/inc/documents.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ecrire/inc/documents.php b/ecrire/inc/documents.php index 5236a15f29..7a33df6502 100644 --- a/ecrire/inc/documents.php +++ b/ecrire/inc/documents.php @@ -149,6 +149,19 @@ function copier_document($ext, $orig, $source, $subdir = null) { // pour les images transformees par rotation (action/documenter) $dest = preg_replace(',-r(90|180|270)$,', '', $dest); + while (preg_match(",\.(\w+)$,", $dest, $m)) { + if (!function_exists('verifier_upload_autorise') + or !$r = verifier_upload_autorise($dest) + or $r['autozip']) { + $dest = substr($dest, 0, -strlen($m[0])) . '_' . $m[1]; + break; + } + else { + $dest = substr($dest, 0, -strlen($m[0])); + $ext = $m[1] . "." . $ext; + } + } + // Si le document "source" est deja au bon endroit, ne rien faire if ($source == ($dir . $dest . '.' . $ext)) { return $source; -- GitLab