From 59da9492a02f12e38998ef5a9d91bb565526db9c Mon Sep 17 00:00:00 2001 From: b_b <bruno@eliaz.fr> Date: Fri, 17 Dec 2021 19:30:42 +0100 Subject: [PATCH] =?UTF-8?q?d=C3=A9placer=20corriger=5Fextension()=20du=20p?= =?UTF-8?q?lugin=20medias=20vers=20inc/documents=20du=20core?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ref spip/medias#4853 --- ecrire/inc/distant.php | 2 +- ecrire/inc/documents.php | 36 +++++++++++++++++++ .../configurer_ecran_connexion.php | 2 +- 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/ecrire/inc/distant.php b/ecrire/inc/distant.php index 559aac2c6d..a5a6fd18f8 100644 --- a/ecrire/inc/distant.php +++ b/ecrire/inc/distant.php @@ -1055,7 +1055,7 @@ function distant_trouver_extension_selon_headers($source, $headers) { } // pour corriger_extension() - include_spip('action/ajouter_documents'); + include_spip('inc/documents'); // Si on a un mime-type insignifiant // text/plain,application/octet-stream ou vide diff --git a/ecrire/inc/documents.php b/ecrire/inc/documents.php index ad4a9ea652..07635ce359 100644 --- a/ecrire/inc/documents.php +++ b/ecrire/inc/documents.php @@ -337,3 +337,39 @@ function check_upload_error($error, $msg = '', $return = false) { ); exit; } + +/** + * Corrige l'extension du fichier dans quelques cas particuliers + * + * @note + * Une extension 'pdf ' passe dans la requête de contrôle + * mysql> SELECT * FROM spip_types_documents WHERE extension="pdf "; + * + * @todo + * À passer dans base/typedoc + * + * @param string $ext + * @return string + */ +function corriger_extension($ext) { + $ext = preg_replace(',[^a-z0-9],i', '', $ext); + switch ($ext) { + case 'htm': + $ext = 'html'; + break; + case 'jpeg': + $ext = 'jpg'; + break; + case 'tiff': + $ext = 'tif'; + break; + case 'aif': + $ext = 'aiff'; + break; + case 'mpeg': + $ext = 'mpg'; + break; + } + + return $ext; +} \ No newline at end of file diff --git a/prive/formulaires/configurer_ecran_connexion.php b/prive/formulaires/configurer_ecran_connexion.php index fd38799cd0..8ba1d0ae27 100644 --- a/prive/formulaires/configurer_ecran_connexion.php +++ b/prive/formulaires/configurer_ecran_connexion.php @@ -40,7 +40,7 @@ function formulaires_configurer_ecran_connexion_verifier_dist() { elseif (!empty($_FILES['upload_image_fond_login'])) { $file = $_FILES['upload_image_fond_login']; - include_spip('action/ajouter_documents'); + include_spip('inc/documents'); $extension = pathinfo($file['name'], PATHINFO_EXTENSION); $extension = corriger_extension(strtolower($extension)); if (!in_array($extension, ['jpg'])) { -- GitLab