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

option pour choisir la clé plutot que la valeur lors de l'export csv : implémentation technique

parent fbbdfceb
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -36,17 +36,17 @@ function formulaires_exporter_formulaire_reponses_traiter($id_formulaire = 0) { ...@@ -36,17 +36,17 @@ function formulaires_exporter_formulaire_reponses_traiter($id_formulaire = 0) {
$verifier = charger_fonction('verifier', 'inc/'); $verifier = charger_fonction('verifier', 'inc/');
$verifier(_request('date_debut'), 'date', array('normaliser' => 'datetime'), $date_debut); $verifier(_request('date_debut'), 'date', array('normaliser' => 'datetime'), $date_debut);
$verifier(_request('date_fin'), 'date', array('normaliser' => 'datetime'), $date_fin); $verifier(_request('date_fin'), 'date', array('normaliser' => 'datetime'), $date_fin);
$cle_ou_valeur = _request('cle_ou_valeur');
$chemin = false; $chemin = false;
$content_type = ''; $content_type = '';
if (_request('type_export') == 'csv') { if (_request('type_export') == 'csv') {
$chemin = exporter_formulaires_reponses($id_formulaire, ',', $statut_reponses, $date_debut, $date_fin); $chemin = exporter_formulaires_reponses($id_formulaire, ',', $statut_reponses, $date_debut, $date_fin, $cle_ou_valeur);
if (pathinfo($chemin, PATHINFO_EXTENSION) === 'csv') { if (pathinfo($chemin, PATHINFO_EXTENSION) === 'csv') {
$content_type = "text/comma-separated-values; charset=" . $GLOBALS['meta']['charset']; $content_type = "text/comma-separated-values; charset=" . $GLOBALS['meta']['charset'];
} }
} elseif (_request('type_export') == 'xls') { } elseif (_request('type_export') == 'xls') {
$chemin = exporter_formulaires_reponses($id_formulaire, 'TAB', $statut_reponses, $date_debut, $date_fin); $chemin = exporter_formulaires_reponses($id_formulaire, 'TAB', $statut_reponses, $date_debut, $date_fin, $cle_ou_valeur);
if (pathinfo($chemin, PATHINFO_EXTENSION) === 'xls') { if (pathinfo($chemin, PATHINFO_EXTENSION) === 'xls') {
$content_type = "text/comma-separated-values; charset=iso-8859-1"; $content_type = "text/comma-separated-values; charset=iso-8859-1";
} }
...@@ -71,10 +71,10 @@ function formulaires_exporter_formulaire_reponses_traiter($id_formulaire = 0) { ...@@ -71,10 +71,10 @@ function formulaires_exporter_formulaire_reponses_traiter($id_formulaire = 0) {
* @param string $statut_reponses * @param string $statut_reponses
* @param string $date_debut * @param string $date_debut
* @param string $date_fin * @param string $date_fin
* * @param string $cle_ou_valeur
* @return string|false Chemin du fichier d’export CSV, XLS ou ZIP * @return string|false Chemin du fichier d’export CSV, XLS ou ZIP
*/ */
function exporter_formulaires_reponses($id_formulaire, $delim = ',', $statut_reponses = 'publie', $date_debut = '', $date_fin = '') { function exporter_formulaires_reponses($id_formulaire, $delim = ',', $statut_reponses = 'publie', $date_debut = '', $date_fin = '',$cle_ou_valeur='cle') {
$exporter_csv = charger_fonction('exporter_csv', 'inc/', true); $exporter_csv = charger_fonction('exporter_csv', 'inc/', true);
if (!$exporter_csv) { if (!$exporter_csv) {
return false; return false;
...@@ -85,7 +85,7 @@ function exporter_formulaires_reponses($id_formulaire, $delim = ',', $statut_rep ...@@ -85,7 +85,7 @@ function exporter_formulaires_reponses($id_formulaire, $delim = ',', $statut_rep
return false; return false;
} }
list($reponses_completes, $saisies_fichiers) = preparer_formulaire_reponses($formulaire, $reponses, $statut_reponses); list($reponses_completes, $saisies_fichiers) = preparer_formulaire_reponses($formulaire, $reponses, $statut_reponses, $cle_ou_valeur);
if (!$reponses_completes) { if (!$reponses_completes) {
return false; return false;
} }
...@@ -121,7 +121,7 @@ function obtenir_formulaire_reponses($id_formulaire, $statut_reponses = 'publie' ...@@ -121,7 +121,7 @@ function obtenir_formulaire_reponses($id_formulaire, $statut_reponses = 'publie'
} }
function preparer_formulaire_reponses($formulaire, $reponses, $statut_reponses) { function preparer_formulaire_reponses($formulaire, $reponses, $statut_reponses, $cle_ou_valeur = 'cle') {
include_spip('inc/puce_statut'); include_spip('inc/puce_statut');
include_spip('inc/saisies'); include_spip('inc/saisies');
include_spip('facteur_fonctions'); include_spip('facteur_fonctions');
...@@ -240,7 +240,7 @@ function preparer_formulaire_reponses($formulaire, $reponses, $statut_reponses) ...@@ -240,7 +240,7 @@ function preparer_formulaire_reponses($formulaire, $reponses, $statut_reponses)
} }
$valeur = isset($valeurs[$nom]) ? $valeurs[$nom] : ''; $valeur = isset($valeurs[$nom]) ? $valeurs[$nom] : '';
$reponse_complete[] = formidable_generer_valeur_texte_saisie($valeur, $saisie); $reponse_complete[] = formidable_generer_valeur_texte_saisie($valeur, $saisie, $cle_ou_valeur);
} }
} }
...@@ -273,9 +273,10 @@ function preparer_formulaire_reponses($formulaire, $reponses, $statut_reponses) ...@@ -273,9 +273,10 @@ function preparer_formulaire_reponses($formulaire, $reponses, $statut_reponses)
* *
* @param string $valeur * @param string $valeur
* @param array $saisie * @param array $saisie
* @param string $cle_ou_valeur
* @return string * @return string
*/ */
function formidable_generer_valeur_texte_saisie($valeur, $saisie) { function formidable_generer_valeur_texte_saisie($valeur, $saisie, $cle_ou_valeur = 'cle') {
static $resultats = array(); static $resultats = array();
static $tenter_unserialize = null; static $tenter_unserialize = null;
if (is_null($tenter_unserialize)) { if (is_null($tenter_unserialize)) {
...@@ -295,6 +296,7 @@ function formidable_generer_valeur_texte_saisie($valeur, $saisie) { ...@@ -295,6 +296,7 @@ function formidable_generer_valeur_texte_saisie($valeur, $saisie) {
'valeur_uniquement' => 'oui', 'valeur_uniquement' => 'oui',
'type_saisie' => $saisie['saisie'], 'type_saisie' => $saisie['saisie'],
'valeur' => $valeur, 'valeur' => $valeur,
'cle_ou_valeur' => $cle_ou_valeur
), ),
$saisie['options'] $saisie['options']
) )
......
<paquet <paquet
prefix="formidable" prefix="formidable"
categorie="communication" categorie="communication"
version="3.20.1" version="3.21.0"
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"
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<pipeline nom="corbeille_table_infos" inclure="formidable_pipelines.php" /> <pipeline nom="corbeille_table_infos" inclure="formidable_pipelines.php" />
<necessite nom="spip_bonux" compatibilite="[3.3.8;[" /> <necessite nom="spip_bonux" compatibilite="[3.3.8;[" />
<necessite nom="saisies" compatibilite="[2.25.3;[" /> <necessite nom="saisies" compatibilite="[3.2.0;[" />
<necessite nom="verifier" compatibilite="[1.6.2;[" /> <necessite nom="verifier" compatibilite="[1.6.2;[" />
<necessite nom="yaml" compatibilite="[1.5.2;[" /> <necessite nom="yaml" compatibilite="[1.5.2;[" />
<necessite nom="facteur" compatibilite="[3.5.2;[" /> <necessite nom="facteur" compatibilite="[3.5.2;[" />
......
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