diff --git a/formulaires/exporter_formulaire_reponses.html b/formulaires/exporter_formulaire_reponses.html index 63f1117c846c9a1e304e525a86e071e95a4dfe1a..4e75bb8d4cc27475684e0e6e4808d9ac8c333902 100644 --- a/formulaires/exporter_formulaire_reponses.html +++ b/formulaires/exporter_formulaire_reponses.html @@ -1,9 +1,10 @@ [(#SET{type_export, #ARRAY{csv,<:formidable:reponses_exporter_format_csv:>,xls,<:formidable:reponses_exporter_format_xls:>}})] +[(#SET{statut, #ARRAY{publie,<:formidable:reponses_exporter_statut_publie:>,tout,<:formidable:reponses_exporter_statut_tout:>}})] <div class="formulaire_spip formulaire_#ENV{form}[ formulaire_#ENV{form}-(#ENV{id})]"> <h3 class="titrem"> - [(#CHEMIN{images/formulaire-reponses-exporter-24.png}|balise_img{horizontale})] - <:formidable:reponses_exporter:></h3> + [(#CHEMIN{images/formulaire-reponses-exporter-24.png}|balise_img{horizontale})] + <:formidable:reponses_exporter:></h3> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] @@ -15,8 +16,13 @@ [(#SAISIE{selection, type_export, label=<:formidable:exporter_formulaire_format_label:>, datas=#GET{type_export}, - defaut=csv, - cacher_option_intro=oui})] + defaut=csv, + cacher_option_intro=oui})] + [(#SAISIE{selection, statut_reponses, + label=<:formidable:exporter_formulaire_statut_label:>, + datas=#GET{statut}, + defaut=publie, + cacher_option_intro=oui})] </[(#VAL{ul}|saisie_balise_structure_formulaire)]> diff --git a/formulaires/exporter_formulaire_reponses.php b/formulaires/exporter_formulaire_reponses.php index 7d80d0e586e3eaf60d2f55e84c2de45375511493..fa2b9515fa720af7e5ee48c753457b7d238d8f01 100644 --- a/formulaires/exporter_formulaire_reponses.php +++ b/formulaires/exporter_formulaire_reponses.php @@ -23,12 +23,18 @@ function formulaires_exporter_formulaire_reponses_verifier($id_formulaire = 0) { function formulaires_exporter_formulaire_reponses_traiter($id_formulaire = 0) { $retours = array(); + $statut_reponses = _request('statut_reponses'); if (_request('type_export') == 'csv') { - exporter_formulaires_reponses($id_formulaire); + $ok = exporter_formulaires_reponses($id_formulaire, ',', $statut_reponses); } else if (_request('type_export') == 'xls') { - exporter_formulaires_reponses($id_formulaire, "TAB"); + $ok = exporter_formulaires_reponses($id_formulaire, 'TAB', $statut_reponses); + } + + if(!$ok) { + $retours['editable'] = 1; + $retours['message_erreur'] = _T('formidable:info_aucune_reponse'); } return $retours; @@ -40,14 +46,13 @@ function formulaires_exporter_formulaire_reponses_traiter($id_formulaire = 0) { * @param integer $id_formulaire * @return unknown_type */ -function exporter_formulaires_reponses($id_formulaire, $delim = ",") { - +function exporter_formulaires_reponses($id_formulaire, $delim = ',', $statut_reponses = 'publie') { + include_spip('inc/puce_statut'); // on ne fait des choses seulements si le formulaire existe et qu'il a des enregistrements - $ok = false; if ( $id_formulaire > 0 and $formulaire = sql_fetsel('*', 'spip_formulaires', 'id_formulaire = ' . $id_formulaire) - and $reponses = sql_allfetsel('*', 'spip_formulaires_reponses', 'id_formulaire = ' . $id_formulaire . ' and statut = ' . sql_quote('publie')) + and $reponses = sql_allfetsel('*', 'spip_formulaires_reponses', 'id_formulaire = ' . $id_formulaire . ($statut_reponses == 'publie' ? ' and statut = "publie"' : '')) ) { include_spip('inc/saisies'); include_spip('facteur_fonctions'); @@ -60,6 +65,9 @@ function exporter_formulaires_reponses($id_formulaire, $delim = ",") { _T('formidable:reponses_auteur'), _T('formidable:reponses_ip') ); + if($statut_reponses != 'publie'){ + $titres[] = _T('formidable:reponse_statut'); + } $saisies = saisies_lister_par_nom(unserialize($formulaire['saisies']), false); foreach ($saisies as $nom => $saisie) { if ($saisie['saisie'] != "explication") { // on exporte tous les champs sauf explications @@ -85,8 +93,11 @@ function exporter_formulaires_reponses($id_formulaire, $delim = ",") { $reponse['date'], $nom_auteur, $reponse['ip'] - ); - + ); + if($statut_reponses != 'publie'){ + $reponse_complete[] = statut_texte_instituer('formulaires_reponse', $reponse['statut']); + } + // Ensuite tous les champs foreach ($saisies as $nom => $saisie) { if ($saisie['saisie'] != "explication") { @@ -122,7 +133,8 @@ function exporter_formulaires_reponses($id_formulaire, $delim = ",") { $exporter_csv('reponses-formulaire-' . $formulaire['identifiant'], $reponses_completes, $delim); exit(); } + } else { + return false; } } -?> diff --git a/lang/formidable_fr.php b/lang/formidable_fr.php index 79cef1715edea0e8bc8bd876a0f0b2f62dbbef53..1b9774ef6f045ff24918eeefece5eead53d30cca 100644 --- a/lang/formidable_fr.php +++ b/lang/formidable_fr.php @@ -75,6 +75,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( 'erreur_importer_yaml' => 'Erreur durant l’importation du fichier YAML', 'erreur_inexistant' => 'Le formulaire n’existe pas.', 'exporter_formulaire_format_label' => 'Format du fichier', + 'exporter_formulaire_statut_label' => 'Réponses', // F 'formulaire_anonyme_explication' => 'Ce formulaire est anonyme, c’est à dire que l’identité de l’utilisateur n’est pas enregistrée.', @@ -135,6 +136,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( 'reponses_exporter' => 'Exporter les réponses', 'reponses_exporter_format_csv' => 'Tableur .CSV', 'reponses_exporter_format_xls' => 'Excel .XLS', + 'reponses_exporter_statut_publie' => 'Publiées', + 'reponses_exporter_statut_tout' => 'Toutes', 'reponses_exporter_telecharger' => 'Télécharger', 'reponses_ip' => 'Adresse IP', 'reponses_liste' => 'Liste des réponses', diff --git a/paquet.xml b/paquet.xml index 8226f8e4a907c167d1fd69d108c255094e9875d0..9c6027018dcc3e199f2322db69c9bffc119841c6 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,7 +1,7 @@ <paquet prefix="formidable" categorie="communication" - version="2.9.2" + version="2.9.3" etat="stable" compatibilite="[3.0.0;3.1.*]" logo="images/formidable-64.png"