Merge pull request #6 from nursit/refconfig
[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   $sujet = '['.$GLOBALS['meta']['nom_site'].'] ';
41
42   if ($flux['args']['succes']) {
43     $sujet .= 'Confirmation de votre réglement';
44     $message = recuperer_fond(_trouver_modele_courriel_reglement("succes", $campagne),
45                               array('id_transaction' => $flux['args']['id_transaction']));
46   }
47   else {
48     $sujet .= 'Echec de votre réglement';
49     $message = recuperer_fond(_trouver_modele_courriel_reglement("echec", $campagne),
50                               array('id_transaction' => $flux['args']['id_transaction']));
51   }
52
53   spip_log(sprintf("Envoi de notifiaction de confirmation de paiement à [%] pour la souscription [%s].", $email, $flux['args']['id_transaction']),
54            "souscription");
55
56   $envoyer_mail = charger_fonction('envoyer_mail', 'inc');
57   $envoyer_mail($email, $sujet, $message, $GLOBALS['meta']['email_webmaster']);
58
59   return $flux;
60 }
61
62 function _trouver_modele_courriel_reglement($type, $id_souscription_campagne) {
63   $modele = "modeles/mail-souscription-${type}";
64
65   if(trouver_fond("${modele}-${id_souscription_campagne}"))
66     $modele = "${modele}-${id_souscription_campagne}";
67
68   return $modele;
69 }
70 ?>