3 * Gestion du formulaire de d'édition de souscription_campagne
7 * @author Olivier Tétard
9 * @package SPIP\Souscription\Formulaires
12 if (!defined('_ECRIRE_INC_VERSION')) return;
14 include_spip('inc/actions');
15 include_spip('inc/editer');
17 function formulaires_editer_souscription_campagne_identifier_dist($id_souscription_campagne='new',
24 return serialize(array(intval($id_souscription_campagne)));
27 function formulaires_editer_souscription_campagne_charger_dist($id_souscription_campagne='new',
34 $valeurs = formulaires_editer_objet_charger('souscription_campagne',
35 $id_souscription_campagne,
43 $valeurs['objectif_oui_non'] = _request('objectif_oui_non');
45 /* Si la valeur du champ 'objectif' est 0, alors, c'est que
46 * l'objectif n'est pas activé. */
47 $defaut_objectif = "";
48 if($valeurs['objectif'] && $valeurs['objectif'] > 0)
49 $defaut_objectif = "on";
51 $saisies = array(array('saisie' => 'input',
52 'options' => array('nom' => 'titre',
53 'label' => _T('souscription:label_titre'),
54 'obligatoire' => 'oui')
56 array('saisie' => 'selection',
57 'options' => array('nom' => 'type_objectif',
58 'obligatoire' => 'oui',
59 'label' => _T('souscription:label_type_objectif'),
60 'explication' => _T('souscription:explication_type_objectif'),
61 'datas' => array('don' => 'Dons',
62 'adhesion' => 'Adhésions'))
64 array('saisie' => 'oui_non',
65 'options' => array('nom' => 'objectif_oui_non',
66 'label' => _T('souscription:label_objectif_oui_non'),
67 'defaut' => $defaut_objectif)
69 array('saisie' => 'fieldset',
70 'options' => array('nom' => 'groupe_limite',
71 'label' => _T('souscription:label_objectif_groupe'),
72 'afficher_si' => '@objectif_oui_non@ == "on"'),
73 'saisies' => array(array('saisie' => 'input',
74 'options' => array('nom' => 'objectif',
75 'obligatoire' => 'oui',
76 'label' => _T('souscription:label_objectif'),
77 'explication' => _T('souscription:explication_campagne_objectif')),
79 array('saisie' => 'input',
80 'options' => array('nom' => 'objectif_initial',
81 'label' => _T('souscription:label_objectif_initial'),
82 'explication' => _T('souscription:explication_campagne_objectif_initial'))
84 array('saisie' => 'oui_non',
85 'options' => array('nom' => 'objectif_limiter',
86 'explication' => _T('souscription:explication_campagne_objectif_limite'),
87 'label' => _T('souscription:label_objectif_limite')))
90 array('saisie' => 'textarea',
91 'options' => array('nom' => 'texte',
92 'label' => _T('souscription:label_description'),
93 'inserer_barre' => 'edition',
97 $valeurs['_saisies'] = $saisies;
102 function formulaires_editer_souscription_campagne_verifier_dist($id_souscription_campagne='new',
110 $ret = formulaires_editer_objet_verifier('souscription_campagne',
111 $id_souscription_campagne,
116 $type = _request("type_objectif");
117 if(!in_array($type, array('don', 'adhesion')))
118 $ret['type_objectif'] = _T("souscription:message_nok_objectif_invalide");
120 /* Si un objectif est demandé, alors on vérifie que les champs sont
121 * bien des entiers. */
122 if(_request('objectif_oui_non') == 'on') {
123 $objectif = _request('objectif');
124 if(!ctype_digit($objectif) || intval($objectif) < 0)
125 $ret['objectif'] = _T("souscription:message_nok_objectif_invalide");
127 $objectif_initial = _request('objectif_initial');
128 if($objectif_initial != '') {
129 if(!ctype_digit($objectif_initial) || intval($objectif_initial < 0))
130 $ret['objectif_initial'] = _T("souscription:message_nok_objectif_initial_valeur");
131 elseif(intval($objectif_initial) > $objectif)
132 $ret['objectif_initial'] = _T("souscription:message_nok_objectif_initial_supperieur_objectif");
136 /* Si une limite est demandée, alors, on vérifie que le champs est
138 $limite_oui_non = _request('limite_oui_non');
139 if($limite_oui_non == "on") {
140 $limite = _request('limite');
141 if(!ctype_digit($objectif))
142 $ret['limite'] = _T("souscription:message_nok_limite_valeur");
148 function formulaires_editer_souscription_campagne_traiter_dist($id_souscription_campagne='new',
155 /* Si un objectif n'est pas demandée, alors, on remplace la valeur
156 * fournie (quelqu'elle soit, par 0) */
157 if(_request('objectif_oui_non') != "on") {
158 set_request('objectif', 0);
159 set_request('objectif_initial', 0);
160 set_request('objectif_limiter', '');
163 $res = formulaires_editer_objet_traiter('souscription_campagne',
164 $id_souscription_campagne,