Skip to content
Extraits de code Groupes Projets
Valider de815b03 rédigé par maieul@maieul.net's avatar maieul@maieul.net
Parcourir les fichiers

amélioration drastique de formidable_tableau_valeurs_saisies():

- suppression d'un code mort sur test de valeur brute ou pas brute,
puisque par défaut renvoyait les deux, le test avait lieu en amont
- pour déterminer la valeur humaine, on se base désormais sur
saisie-vues/xxx, ce qui assure d'avoir une valeur humaine aussi lorsque
c'est prévu mais qu'il n'y a pas d'argument datas à la saisie,
typiquement pour les saisies de type evenements (plugin agenda)
parent f718e402
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -152,15 +152,7 @@ function affiche_resume_reponse($id_formulaires_reponse, $id_formulaire = null, ...@@ -152,15 +152,7 @@ function affiche_resume_reponse($id_formulaires_reponse, $id_formulaire = null,
$valeurs = array(); $valeurs = array();
foreach ($modeles_vars[$modele_resume] as $var) { foreach ($modeles_vars[$modele_resume] as $var) {
$valeur = calculer_voir_reponse($id_formulaires_reponse, $id_formulaire, $var, 'valeur_uniquement', ''); $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 = formidable_nettoyer_saisie_vue($valeur);
$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);
$valeurs["@$var@"] = $valeur; $valeurs["@$var@"] = $valeur;
} }
return pipeline( return pipeline(
...@@ -177,6 +169,27 @@ function affiche_resume_reponse($id_formulaires_reponse, $id_formulaire = null, ...@@ -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' * Si une saisie est de type 'fichiers'
* insère dans la description du résultat de cette saisie * insère dans la description du résultat de cette saisie
......
...@@ -512,40 +512,17 @@ function formidable_tableau_valeurs_saisies($saisies) { ...@@ -512,40 +512,17 @@ function formidable_tableau_valeurs_saisies($saisies) {
} else { } else {
// On récupère la valeur postée // On récupère la valeur postée
$valeurs[$champ] = _request($champ); $valeurs[$champ] = _request($champ);
$valeurs_libellees[$champ] = formidable_nettoyer_saisie_vue(recuperer_fond(
// Le champ est un tableau objet ? on le parse 'saisies-vues/_base',
if (is_array($valeurs[$champ])) { array_merge(
// si on ne demande pas la valeur brute array(
if ( 'type_saisie' => $saisies_par_nom[$champ]['saisie'],
isset($saisies_par_nom[$champ]['options']['datas']) 'valeur' => $valeurs[$champ],
and $labels_data = saisies_aplatir_tableau(saisies_chaine2tableau($saisies_par_nom[$champ]['options']['datas'])) 'valeur_uniquement' => 'oui',
and !$options['champ_sujet_valeurs_brutes'] ),
) { $saisies_par_nom[$champ]['options']
$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];
}
}
} }
} }
return array($valeurs, $valeurs_libellees); return array($valeurs, $valeurs_libellees);
......
<paquet <paquet
prefix="formidable" prefix="formidable"
categorie="communication" categorie="communication"
version="3.22.2" version="3.22.3"
etat="stable" etat="stable"
compatibilite="[3.0.0;3.2.*]" compatibilite="[3.0.0;3.2.*]"
logo="images/formidable-64.png" logo="images/formidable-64.png"
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter