diff --git a/ecrire/inc/distant.php b/ecrire/inc/distant.php index 559aac2c6d584dc6f5acbe1d53f92fd53bf5b4be..a5a6fd18f879cc0e17404053273ba1c359fdec4f 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 ad4a9ea652cec599b443d19a6eb28e46ea1abaf0..07635ce3595e881cc820494d8257c37a0a6bbbf2 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 fd38799cd09fbe6b3b1163af2842bc45ec949123..8ba1d0ae272dec7052f30e0f9b9a7af58f7cb5cd 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'])) {