Browse Source

fix(119):Remplacer les caractères spéciaux dans les noms des fichiers

envoyés.

ref #119
pull/124/head
Maïeul 2 months ago
parent
commit
2c353b086c
  1. 2
      CHANGELOG.md
  2. 13
      inc/formidable_fichiers.php

2
CHANGELOG.md

@ -5,7 +5,7 @@
### Fix
- Afficher correctement la date de la précédente réponse dans le mail envoyé après modification d'une réponse
- #119 Remplacer les caractères spéciaux dans les noms des fichiers envoyés
## [5.2.1] - 2022-06-08
### Fix

13
inc/formidable_fichiers.php

@ -120,6 +120,7 @@ function formidable_creer_dossier_formulaire($id_formulaire, $forcer = false) {
*
**/
function formidable_deplacer_fichier_emplacement_definitif($fichier, $nom, $mime, $extension, $champ, $options) {
$nom = formidable_standardiser_nom_fichier($nom);
if (isset($options['id_formulaire'])) {
$id_formulaire = $options['id_formulaire'];
$dossier_formulaire = "formulaire_$id_formulaire";
@ -577,3 +578,15 @@ function formidable_generer_chemin_fichier($param){
return $chemin_fichier;
}
/**
* Standardise le nom d'un fichier pour éviter les caractères spéciaux
* @param string $nom
* @return string $nom
**/
function formidable_standardiser_nom_fichier(string $nom): string {
include_spip('inc/charsets');
$nom = strtolower(translitteration($nom));
$nom = preg_replace('/<[^>]*>/', '', $nom);
$nom = preg_replace('/[^.=\w-]+/', '_', $nom);
return $nom;
}

Loading…
Cancel
Save