diff --git a/formidable_fonctions.php b/formidable_fonctions.php index 2dbbcb92b9daf62495afd9c8ace96f3eea49515b..ffccc2bef9b4c43ce5ea6dc90fe568397c454e23 100644 --- a/formidable_fonctions.php +++ b/formidable_fonctions.php @@ -152,15 +152,7 @@ function affiche_resume_reponse($id_formulaires_reponse, $id_formulaire = null, $valeurs = array(); foreach ($modeles_vars[$modele_resume] as $var) { $valeur = calculer_voir_reponse($id_formulaires_reponse, $id_formulaire, $var, 'valeur_uniquement', ''); - // on ne veut pas du \n de PtoBR, mais on ne veut pas non plus faire un trim - $valeur = str_ireplace('</p>', '', $valeur); - $valeur = PtoBR($valeur); - if (strpos($valeur, '</li>')) { - $valeur = explode('</li>', $valeur); - array_pop($valeur); - $valeur = implode(', ', $valeur); - } - $valeur = supprimer_tags($valeur); + $valeur = formidable_nettoyer_saisie_vue($valeur); $valeurs["@$var@"] = $valeur; } return pipeline( @@ -177,6 +169,27 @@ function affiche_resume_reponse($id_formulaires_reponse, $id_formulaire = null, ); } +/** + * Supprimer les balise d'une vue de saisies + * sans pour autant faire un trim + * @param str $valeur + * @return str +**/ +function formidable_nettoyer_saisie_vue($valeur) { + // on ne veut pas du \n de PtoBR, mais on ne veut pas non plus faire un trim + $valeur = str_ireplace('</p>', '', $valeur); + $valeur = PtoBR($valeur); + if (strpos($valeur, '</li>')) { + $valeur = explode('</li>', $valeur); + array_pop($valeur); + $valeur = implode(', ', $valeur); + } + $valeur = supprimer_tags($valeur); + $valeur = str_replace("\n","",$valeur); + $valeur = str_replace("\t","",$valeur); + return $valeur; +} + /** * Si une saisie est de type 'fichiers' * insère dans la description du résultat de cette saisie diff --git a/inc/formidable.php b/inc/formidable.php index bdfb2b9955ecbb499bb0b6f670303182c73a7e0d..039b3416749fb479041d2b0ecbcec8e89674afee 100644 --- a/inc/formidable.php +++ b/inc/formidable.php @@ -512,40 +512,17 @@ function formidable_tableau_valeurs_saisies($saisies) { } else { // On récupère la valeur postée $valeurs[$champ] = _request($champ); - - // Le champ est un tableau objet ? on le parse - if (is_array($valeurs[$champ])) { - // si on ne demande pas la valeur brute - if ( - isset($saisies_par_nom[$champ]['options']['datas']) - and $labels_data = saisies_aplatir_tableau(saisies_chaine2tableau($saisies_par_nom[$champ]['options']['datas'])) - and !$options['champ_sujet_valeurs_brutes'] - ) { - $valeurs_libellees[$champ] = array(); - foreach ($valeurs[$champ] as $valeur) { - $valeurs_libellees[$champ][] = $labels_data[$valeur]; - } - $valeurs_libellees[$champ] = implode($valeurs_libellees[$champ], ","); - } - // Sinon on utilise directement la valeur postée - else { - $valeurs_libellees[$champ] = implode($valeurs[$champ],","); - } - // Si la saisie a une valeur unique - } else { - // Si la saisie est une liste de choix avec des clés et labels humains, on cherche le label humain - if ( - isset($saisies_par_nom[$champ]['options']['datas']) - and $labels_data = saisies_aplatir_tableau(saisies_chaine2tableau($saisies_par_nom[$champ]['options']['datas'])) - and isset($labels_data[$valeurs[$champ]]) - ) { - $valeurs_libellees[$champ] = $labels_data[$valeurs[$champ]]; - } - // Sinon on utilise directement la valeur postée - else { - $valeurs_libellees[$champ] = $valeurs[$champ]; - } - } + $valeurs_libellees[$champ] = formidable_nettoyer_saisie_vue(recuperer_fond( + 'saisies-vues/_base', + array_merge( + array( + 'type_saisie' => $saisies_par_nom[$champ]['saisie'], + 'valeur' => $valeurs[$champ], + 'valeur_uniquement' => 'oui', + ), + $saisies_par_nom[$champ]['options'] + ) + )); } } return array($valeurs, $valeurs_libellees); diff --git a/paquet.xml b/paquet.xml index a2cc2e42d98b6b99e416759d5def6d7b42bdf559..eb8244b758739e4553d55c77884be6352a0bffac 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,7 +1,7 @@ <paquet prefix="formidable" categorie="communication" - version="3.22.2" + version="3.22.3" etat="stable" compatibilite="[3.0.0;3.2.*]" logo="images/formidable-64.png"