source: spip-zone/_plugins_/formidable_participation/trunk/traiter/participation.php

Last change on this file was 115205, checked in by maieul@…, 6 weeks ago

lors de l'enregistrement d'une inscription, stocker en base l'id_correspondant

  • Property svn:executable set to *
File size: 3.1 KB
Line 
1<?php
2/**
3 * Traitement participation à la saisie d'un formulaire
4 *
5 * @plugin     Formulaires de participation
6 * @copyright  2014
7 * @author     Anne-lise Martenot
8 * @licence    GNU/GPL
9 * @package    SPIP\Formidableparticipation\traiter\participation
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) return;
13
14function traiter_participation_dist($args, $retours){
15        $formulaire = $args['formulaire'];
16        $options = $args['options'];
17        $saisies = unserialize($formulaire['saisies']);
18        $traitements = unserialize($formulaire['traitements']);
19
20        // saisies dans le formulaire
21        if ($options['champ_choix_participation']) {
22                $choix_participation = _request($options['champ_choix_participation']);
23        }
24
25        if ($options['champ_email_participation']) {
26                $email_participation = _request($options['champ_email_participation']);
27        }
28
29        if ($options['champ_nom_participation']) {
30                $nom_participation = _request($options['champ_nom_participation']);
31        }
32
33        if ($options['champ_prenom_participation']) {
34                $prenom_participation = _request($options['champ_prenom_participation']);
35        }
36
37        if ($options['champ_organisme_participation']) {
38                $organisme_participation = _request($options['champ_organisme_participation']);
39        }
40
41        if ($options['participation_auto'] == 'auto') {
42                $choix_participation = 'oui';
43        } elseif ($options['champ_choix_participation']) {
44                $choix_participation = _request($options['champ_choix_participation']);
45
46                if ($options['choix_participation_oui']) {
47                        $participation_oui = $options['choix_participation_oui'];
48                }
49
50                if($choix_participation == $participation_oui) {
51                        $choix_participation='oui';
52                } else {
53                        $choix_participation='non';
54                }
55        }
56        $id_formulaires_reponse = $retours['id_formulaires_reponse'];
57
58        // détermination de l'évènement où s'inscrire
59        if ($options['evenement_type'] == 'fixe') {
60                $id_evenement = $options['id_evenement_participation'];
61        } elseif ($options['evenement_type'] == 'variable' and isset($options['champ_evenement_participation'])) {
62                $id_evenement = _request($options['champ_evenement_participation']);
63        }
64
65        if (!is_array($id_evenement)) {
66                $id_evenement = array($id_evenement);
67        }
68        foreach ($id_evenement as $evenement) {
69                $options = array(
70                        'id_evenement'=> $evenement, //si oui, traitement avec agenda
71                        'choix_participation' => $choix_participation,
72                        'email' => $email_participation,
73                        'autoriser_email_multiple' => $options['autoriser_email_multiple'],
74                        'nom' => $nom_participation,
75                        'prenom' => $prenom_participation,
76                        'organisme' => $organisme_participation,
77                        'id_auteur' => (isset($GLOBALS['visiteur_session']['id_auteur'])?$GLOBALS['visiteur_session']['id_auteur']:0),
78                        'parrain' => 'form'.$formulaire['id_formulaire'].':'.$formulaire['identifiant'],
79                        'tracking_id' => $id_formulaires_reponse,//Garder pour des raisons historiques, même si apparement jamais servi
80                        'id_formulaires_reponse' => $id_formulaires_reponse
81                );
82                // fabrique le pipeline traiter_formidableparticipation.
83                $pipeline = pipeline('traiter_formidableparticipation',array('args'=>$options,'data'=>$pipeline));
84        }
85
86        // noter qu'on a deja fait le boulot, pour ne pas risquer double appel
87        $retours['traitements']['participation'] = true;
88
89        return $retours;
90}
Note: See TracBrowser for help on using the repository browser.