Utiliser la fonction notifications_envoyer_mails() qui extrait automatiquement le...
[spip_souscriptions.git] / souscription_pipelines.php
1 <?php
2 /**
3  * Utilisations de pipelines par Souscription
4  *
5  * @plugin     Souscription
6  * @copyright  2013
7  * @author     Olivier Tétard
8  * @licence    GNU/GPL
9  * @package    SPIP\Souscription\Pipelines
10  */
11
12 if (!defined('_ECRIRE_INC_VERSION')) return;
13
14 /**
15  * Optimiser la base de données en supprimant les liens orphelins
16  * de l'objet vers quelqu'un et de quelqu'un vers l'objet.
17  *
18  * @pipeline optimiser_base_disparus
19  * @param  array $flux Données du pipeline
20  * @return array       Données du pipeline
21  */
22 function souscription_optimiser_base_disparus($flux){
23   include_spip('action/editer_liens');
24   $flux['data'] += objet_optimiser_liens(array('souscription'=>'*'), '*');
25   return $flux;
26 }
27
28 /**
29  * Envoi d'une notification après reglement
30  *
31  * @pipeline trig_bank_notifier_reglement
32  * @param  array $flux Données du pipeline
33  * @return array       Données du pipeline
34  */
35 function souscription_trig_bank_notifier_reglement($flux) {
36   $souscription = sql_fetsel(array('courriel', 'id_souscription_campagne'), 'spip_souscriptions', 'id_transaction='.intval($flux['args']['id_transaction']));
37   $email = $souscription['courriel'];
38   $campagne = $souscription['id_souscription_campagne'];
39
40   if ($flux['args']['succes']) {
41     $message = recuperer_fond(_trouver_modele_courriel_reglement("succes", $campagne),
42                               array('id_transaction' => $flux['args']['id_transaction']));
43   }
44   else {
45     $message = recuperer_fond(_trouver_modele_courriel_reglement("echec", $campagne),
46                               array('id_transaction' => $flux['args']['id_transaction']));
47   }
48
49   spip_log(sprintf("Envoi de notifiaction de confirmation de paiement à [%] pour la souscription [%s].", $email, $flux['args']['id_transaction']),
50            "souscription");
51
52         include_spip("inc/notifications");
53         notifications_envoyer_mails($email, $message, "", $GLOBALS['meta']['email_webmaster']);
54
55   return $flux;
56 }
57
58 function _trouver_modele_courriel_reglement($type, $id_souscription_campagne) {
59   $modele = "modeles/mail-souscription-${type}";
60
61   if(trouver_fond("${modele}-${id_souscription_campagne}"))
62     $modele = "${modele}-${id_souscription_campagne}";
63
64   return $modele;
65 }
66
67
68 function souscription_bank_traiter_reglement($flux){
69         $flux['data'].=" <br />Vous allez recevoir un email de confirmation.";
70         return $flux;
71 }
72 ?>