diff --git a/formulaires/formidable.php b/formulaires/formidable.php index d74af25aefc791c93e5a0ee827ef20ef507a0400..ee19fe6eed08ea09a3bda6861a5c04fd76db02dd 100644 --- a/formulaires/formidable.php +++ b/formulaires/formidable.php @@ -383,6 +383,19 @@ function formulaires_formidable_traiter_dist($id, $valeurs = array(), $id_formul $retours['redirect'] = $url_redirect; } + // Message de retour personnalisé toujours en 1er + $messages_ok = array(); + if ($formulaire['message_retour']) { + $messages_ok[] = _T_ou_typo( + formidable_raccourcis_arobases_2_valeurs_champs( + $formulaire['message_retour'], + $saisies, + false, + '' + ) + ); + } + // les traitements deja faits se notent ici // pour etre sur de ne pas etre appeles 2 fois // ainsi si un traitement A a besoin d'un traitement B, @@ -413,6 +426,11 @@ function formulaires_formidable_traiter_dist($id, $valeurs = array(), $id_formul ), $retours ); + // Collecter les messages de retour afin de les formater correctement par la suite + if (!empty($retours['message_ok'])) { + $messages_ok[] = $retours['message_ok']; + $retours['message_ok'] = ''; // Inutile de les exposer aux autres traitements + } } else { // traitement introuvable, ne pas retenter $retours['traitements'][$type_traitement] = true; @@ -426,21 +444,14 @@ function formulaires_formidable_traiter_dist($id, $valeurs = array(), $id_formul . 'Traitements attendus :'.implode(',', array_keys($traitements))."\n" . 'Traitements realises :'.implode(',', array_keys($retours['traitements']))."\n"; } - - // Si on a personnalisé le message de retour, c'est lui qui est affiché uniquement - if ($formulaire['message_retour']) { - $retours['message_ok'] = _T_ou_typo( - formidable_raccourcis_arobases_2_valeurs_champs( - $formulaire['message_retour'], - $saisies, - false, - '' - ) - ); - } } else { $retours['message_erreur'] = _T('formidable:retour_aucun_traitement'); } + // Réinsérer le message de retour en le formatant un minimum : + // saut de lignes pour différencier chaque message (perso et traitements) + if (count($messages_ok) > 0) { + $retours['message_ok'] = implode('<br><br>', $messages_ok); + } if (isset($retours['fichiers'])) {// traitement particuliers si fichiers if ($erreurs_fichiers = formidable_produire_messages_erreurs_fichiers($retours['fichiers'])) { // Inspecter les fichiers pour voir s'il y a des erreurs