From 893f29ffe958ea466c8c686b2b02bfe1de9b8fad Mon Sep 17 00:00:00 2001 From: =?utf8?q?Olivier=20T=C3=A9tard?= Date: Wed, 13 Mar 2013 14:14:42 +0100 Subject: [PATCH] =?utf8?q?D=C3=A9but=20de=20g=C3=A9n=C3=A9ralisation=20du?= =?utf8?q?=20code=20pour=20les=20diff=C3=A9rents=20types=20de=20souscripti?= =?utf8?q?ons.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- formulaires/souscription.html | 11 +++++------ formulaires/souscription.php | 19 ++++++++++++------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/formulaires/souscription.html b/formulaires/souscription.html index 938a0e4..93b3855 100644 --- a/formulaires/souscription.html +++ b/formulaires/souscription.html @@ -1,10 +1,9 @@ -
+
[

(#ENV**{message_ok})

] [

(#ENV*{message_erreur})

] - [(#ENV{editable}) -
+
#ACTION_FORMULAIRE{#ENV{action}}
    [(#SAISIE{input, courriel, obligatoire=oui, label=<:souscription:label_courriel:>})] @@ -15,9 +14,9 @@ [(#SAISIE{hidden, type_souscription})]
-
+
Informations complémentaires -

Les informations suivantes sont nécessaires (...)

+

FIXME: Les informations suivantes sont nécessaires (...)

    [(#SAISIE{input, prenom, label=<:souscription:label_prenom:>})] [(#SAISIE{input, nom, label=<:souscription:label_nom:>})] @@ -26,7 +25,7 @@ [(#SAISIE{input, ville, label=<:souscription:label_ville:>})]
-

+

] diff --git a/formulaires/souscription.php b/formulaires/souscription.php index d0efa4c..82a523d 100644 --- a/formulaires/souscription.php +++ b/formulaires/souscription.php @@ -69,6 +69,11 @@ function formulaires_souscription_charger_dist($id_souscription_campagne) { if(!verifier_campagne($id_souscription_campagne)) return false; + /* Récupération des information à propos de la campagne */ + $type = sql_getfetsel("type_objectif", + "spip_souscription_campagnes", + "id_souscription_campagne=$id_souscription_campagne"); + return array('montant' => '', 'courriel' => '', 'recu_fiscal' => '', @@ -79,7 +84,7 @@ function formulaires_souscription_charger_dist($id_souscription_campagne) { 'code_postal' => '', 'ville' => '', 'id_souscription_campagne' => $id_souscription_campagne, - 'type_souscription' => "don", + 'type_souscription' => $type, ); } @@ -115,7 +120,7 @@ function formulaires_souscription_verifier_dist($id_souscription_campagne) 'id_souscription_campagne')); if(!verifier_campagne($id_souscription_campagne)) { - $erreurs['message_erreur'] = "La campagne à laquelle est associée ce don est invalide"; + $erreurs['message_erreur'] = "La campagne à laquelle est associée cette souscription est invalide"; } if(_request('recu_fiscal')) { @@ -136,11 +141,12 @@ function formulaires_souscription_verifier_dist($id_souscription_campagne) "spip_souscription_campagnes", "id_souscription_campagne=$id_souscription_campagne"); - if(!$type || $type != "don") + if(!$type || !in_array($type, array("don", "adhesion", "abonnement"))) $erreurs['message_erreur'] = "Type de souscription invalide"; - /* Le champ 'type' (hidden) doit être « don » */ - if(_request('type_souscription') != "don") + /* Le champ 'type' (hidden) doit être le même que celui défini dans + * la campagne. */ + if(_request('type_souscription') != $type) $erreurs['message_erreur'] = "Type de souscription invalide: " . _request('type_souscription'); if ($e = _request('courriel') AND !email_valide($e)) @@ -218,8 +224,7 @@ function verifier_campagne($id_souscription_campagne) { /* Vérification de l'existance de la *campagne*, de son *statut* et de la *concordance du type* */ if(intval($id_souscription_campagne) - AND $t = sql_getfetsel('type_objectif', 'spip_souscription_campagnes', 'id_souscription_campagne='.intval($id_souscription_campagne)) - AND $t == 'don') + AND $t = sql_getfetsel('type_objectif', 'spip_souscription_campagnes', 'id_souscription_campagne='.intval($id_souscription_campagne))) { return true; } -- 2.30.2