Skip to content
Extraits de code Groupes Projets
Valider cf1af4a8 rédigé par nicolas.dorigny@gmail.com's avatar nicolas.dorigny@gmail.com
Parcourir les fichiers

Reformatage

parent 594b935f
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
<?php <?php
// Sécurité // Sécurité
if (!defined("_ECRIRE_INC_VERSION")) return; if (!defined("_ECRIRE_INC_VERSION")) {
return;
}
include_spip('inc/formidable'); include_spip('inc/formidable');
include_spip('inc/config'); include_spip('inc/config');
function formulaires_exporter_formulaire_reponses_charger($id_formulaire=0){ function formulaires_exporter_formulaire_reponses_charger($id_formulaire = 0) {
$contexte = array(); $contexte = array();
$contexte['id_formulaire'] = intval($id_formulaire); $contexte['id_formulaire'] = intval($id_formulaire);
return $contexte; return $contexte;
} }
function formulaires_exporter_formulaire_reponses_verifier($id_formulaire=0){ function formulaires_exporter_formulaire_reponses_verifier($id_formulaire = 0) {
$erreurs = array(); $erreurs = array();
return $erreurs; return $erreurs;
} }
function formulaires_exporter_formulaire_reponses_traiter($id_formulaire=0){ function formulaires_exporter_formulaire_reponses_traiter($id_formulaire = 0) {
$retours = array(); $retours = array();
if (_request('type_export')=='csv') if (_request('type_export') == 'csv') {
exporter_formulaires_reponses($id_formulaire); exporter_formulaires_reponses($id_formulaire);
else if (_request('type_export')=='xls') }
exporter_formulaires_reponses($id_formulaire,"TAB"); else if (_request('type_export') == 'xls') {
exporter_formulaires_reponses($id_formulaire, "TAB");
}
return $retours; return $retours;
} }
...@@ -35,77 +40,89 @@ function formulaires_exporter_formulaire_reponses_traiter($id_formulaire=0){ ...@@ -35,77 +40,89 @@ function formulaires_exporter_formulaire_reponses_traiter($id_formulaire=0){
* @param integer $id_formulaire * @param integer $id_formulaire
* @return unknown_type * @return unknown_type
*/ */
function exporter_formulaires_reponses($id_formulaire,$delim=",") { function exporter_formulaires_reponses($id_formulaire, $delim = ",") {
// on ne fait des choses seulements si le formulaire existe et qu'il a des enregistrements // on ne fait des choses seulements si le formulaire existe et qu'il a des enregistrements
$ok = false; $ok = false;
if ( if (
$id_formulaire > 0 $id_formulaire > 0
and $formulaire = sql_fetsel('*','spip_formulaires','id_formulaire = '.$id_formulaire) 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 . ' and statut = ' . sql_quote('publie'))
) { ) {
include_spip('inc/saisies'); include_spip('inc/saisies');
include_spip('facteur_fonctions'); include_spip('facteur_fonctions');
include_spip('inc/filtres'); include_spip('inc/filtres');
$reponses_completes = array(); $reponses_completes = array();
// La première ligne des titres // La première ligne des titres
$titres = array(_T('public:date'), _T('formidable:reponses_auteur'), _T('formidable:reponses_ip')); $titres = array(
_T('public:date'),
_T('formidable:reponses_auteur'),
_T('formidable:reponses_ip')
);
$saisies = saisies_lister_par_nom(unserialize($formulaire['saisies']), false); $saisies = saisies_lister_par_nom(unserialize($formulaire['saisies']), false);
foreach ($saisies as $nom=>$saisie){ foreach ($saisies as $nom => $saisie) {
if ($saisie['saisie'] != "explication") { // on exporte tous les champs sauf explications if ($saisie['saisie'] != "explication") { // on exporte tous les champs sauf explications
$options = $saisie['options']; $options = $saisie['options'];
$titres[] = sinon($options['label_case'], sinon($options['label'], $nom)); $titres[] = sinon($options['label_case'], sinon($options['label'], $nom));
} }
} }
$reponses_completes[] = $titres; $reponses_completes[] = $titres;
// On parcourt chaque réponse // On parcourt chaque réponse
foreach ($reponses as $reponse){ foreach ($reponses as $reponse) {
// Est-ce qu'il y a un auteur avec un nom // Est-ce qu'il y a un auteur avec un nom
$nom_auteur = ''; $nom_auteur = '';
if ($id_auteur = intval($reponse['id_auteur'])){ if ($id_auteur = intval($reponse['id_auteur'])) {
$nom_auteur = sql_getfetsel('nom', 'spip_auteurs', 'id_auteur = '.$id_auteur); $nom_auteur = sql_getfetsel('nom', 'spip_auteurs', 'id_auteur = ' . $id_auteur);
}
if (!$nom_auteur) {
$nom_auteur = '';
} }
if (!$nom_auteur) $nom_auteur = '';
// Le début de la réponse avec les infos (date, auteur, etc) // Le début de la réponse avec les infos (date, auteur, etc)
$reponse_complete = array($reponse['date'], $nom_auteur, $reponse['ip']); $reponse_complete = array(
$reponse['date'],
$nom_auteur,
$reponse['ip']
);
// Ensuite tous les champs // Ensuite tous les champs
foreach ($saisies as $nom=>$saisie){ foreach ($saisies as $nom => $saisie) {
if ($saisie['saisie'] != "explication") { if ($saisie['saisie'] != "explication") {
$valeur = sql_getfetsel( $valeur = sql_getfetsel(
'valeur', 'valeur',
'spip_formulaires_reponses_champs', 'spip_formulaires_reponses_champs',
'id_formulaires_reponse = '.intval($reponse['id_formulaires_reponse']).' and nom = '.sql_quote($nom) 'id_formulaires_reponse = ' . intval($reponse['id_formulaires_reponse']) . ' and nom = ' . sql_quote($nom)
); );
if (is_array(unserialize($valeur))) if (is_array(unserialize($valeur))) {
$valeur = unserialize($valeur); $valeur = unserialize($valeur);
$reponse_complete[] = facteur_mail_html2text( }
recuperer_fond( $reponse_complete[] = facteur_mail_html2text(
'saisies-vues/_base', recuperer_fond(
array_merge( 'saisies-vues/_base',
array( array_merge(
'valeur_uniquement' => 'oui', array(
'type_saisie' => $saisie['saisie'], 'valeur_uniquement' => 'oui',
'valeur' => $valeur 'type_saisie' => $saisie['saisie'],
), 'valeur' => $valeur
$saisie['options'] ),
$saisie['options']
)
) )
) );
); }
}
} }
// On ajoute la ligne à l'ensemble des réponses // On ajoute la ligne à l'ensemble des réponses
$reponses_completes[] = $reponse_complete; $reponses_completes[] = $reponse_complete;
} }
if ($reponses_completes and $exporter_csv = charger_fonction('exporter_csv', 'inc/', true)){ if ($reponses_completes and $exporter_csv = charger_fonction('exporter_csv', 'inc/', true)) {
$exporter_csv('reponses-formulaire-'.$formulaire['identifiant'], $reponses_completes,$delim); $exporter_csv('reponses-formulaire-' . $formulaire['identifiant'], $reponses_completes, $delim);
exit(); exit();
} }
} }
} }
?> ?>
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