5f4eca4c0831794d5582546d2a65a5d4fa295f49
[spip_souscriptions.git] / action / exporter_souscriptions.php
1 <?php
2 if (!defined("_ECRIRE_INC_VERSION")) return;
3
4 function action_exporter_souscriptions_dist($arg=null) {
5   /*
6    * $arg contient les différents arguments, séparés par des '/'. Une
7    * fois passés dans la fonctions split, il se présente de la manière
8    * suivante :
9    *   argument en position 1 : 'paye' ou 'tous'
10    *   argument en position 2 : type de souscription (dons, adhesion)
11    */
12
13   /* FIXME: permettre de selectionner les exports */
14   /* FIXME: améliorer la jointure... */
15
16   if (is_null($arg)) {
17     $securiser_action = charger_fonction('securiser_action', 'inc');
18     $arg = $securiser_action();
19   }
20
21   /* Vérification des droits de l'utilisateur. */
22   if(!autoriser("exporter", "souscriptiondon", '')) {
23     include_spip('inc/minipres');
24     echo minipres();
25     exit;
26   }
27
28   $arg = explode("/", $arg);
29
30   $type_statut = $arg[0];
31   $type_souscription = $arg[1];
32
33   /* Préparation de la requête */
34   $select = "id_souscription, courriel, type_souscription,"
35     ."montant, reglee, spip_transactions.statut, date_paiement, mode, autorisation_id,"
36     ."nom, prenom, adresse, code_postal, ville, pays, recu_fiscal, envoyer_info, date_souscription,"
37     ."spip_souscription_campagnes.id_souscription_campagne, titre";
38   $from = "spip_souscriptions LEFT JOIN spip_transactions USING(id_transaction) LEFT JOIN spip_souscription_campagnes USING(id_souscription_campagne)";
39
40   $where = array();
41   if($type_souscription)
42     $where[] = "type_souscription='$type_souscription'";
43   else
44     $type_souscription = "tous";
45
46
47   if($type_statut == "payes") {
48     $where[] = "reglee='oui'";
49   }
50   elseif($type_statut == "tous") {
51     /* Afficher toutes les transactions du type demandé */
52   }
53   else {
54     include_spip('inc/minipres');
55     echo minipres("Argument invalide");
56     exit;
57   }
58
59   $row = sql_select($select, $from, $where);
60
61   $entete = array("ID du don",
62                   "Courriel",
63                   "Montant",
64                   "Type de souscription",
65                   "Reglée",
66                   "Statut",
67                   "Date de paiement",
68                   "Mode de paiement",
69                   "ID de l'autorisation",
70                   "Nom",
71                   "Prénom",
72                   "Adresse",
73                   "Code Postal",
74                   "Ville",
75                   "Pays",
76                   "Souhaite reçu fiscal",
77                   "Souhaite être informé",
78                   "Date don",
79                   "ID Campagne",
80                   "Titre de la campagne");
81
82   /* Utilisation de la fonction exporter_csv de Bonux */
83   $exporter_csv = charger_fonction('exporter_csv', 'inc/', true);
84
85   $exporter_csv("souscriptions_${type_souscription}_${type_statut}", $row, ',', $entete);
86   exit();
87 }