X-Git-Url: http://olivier.miskin.fr/git/?a=blobdiff_plain;f=formulaires%2Fsouscription_don.php;h=8397589ea049dca41683df7d82f6e95ff82635b5;hb=0ef609001723f43a0ecae71807b996773b0fe26c;hp=ac22b2eb3bbfff2cd862c30f233f421e0bc178ba;hpb=803b11b85ebc898d7fe0755afad504994d7bb3c1;p=spip_souscriptions.git diff --git a/formulaires/souscription_don.php b/formulaires/souscription_don.php index ac22b2e..8397589 100644 --- a/formulaires/souscription_don.php +++ b/formulaires/souscription_don.php @@ -79,6 +79,7 @@ function formulaires_souscription_don_charger_dist($id_souscription_campagne) { 'code_postal' => '', 'ville' => '', 'id_souscription_campagne' => $id_souscription_campagne, + 'type_souscription' => "don", ); } @@ -106,6 +107,8 @@ function formulaires_souscription_don_charger_dist($id_souscription_campagne) { */ function formulaires_souscription_don_verifier_dist($id_souscription_campagne) { + $campagne = _request('id_souscription_campagne'); + $erreurs = formulaires_editer_objet_verifier('souscription_don', 'new', array('courriel', 'montant', @@ -123,8 +126,22 @@ function formulaires_souscription_don_verifier_dist($id_souscription_campagne) } } - if(intval($id_souscription_campagne) != intval(_request('id_souscription_campagne'))) - $erreurs['message_erreur'] = "Campagne invalide"; + if(!$id_souscription_campagne || intval($id_souscription_campagne) != intval($campagne)) { + $erreurs['message_erreur'] = "Campagne invalide"; + } + + /* La campagne doit être valide (définie dans la base) et doit + * accepter les dons. */ + $type = sql_getfetsel("type_objectif", + "spip_souscription_campagnes", + "id_souscription_campagne=$id_souscription_campagne"); + + if(!$type || $type != "don") + $erreurs['message_erreur'] = "Type de souscription invalide"; + + /* Le champ 'type' (hidden) doit être « don » */ + if(_request('type_souscription') != "don") + $erreurs['message_erreur'] = "Type de souscription invalide: " . _request('type_souscription'); if ($e = _request('courriel') AND !email_valide($e)) $erreurs['courriel'] = _T('form_prop_indiquer_email'); @@ -193,25 +210,6 @@ function formulaires_souscription_don_traiter_dist($id_souscription_campagne) return $ret; } - -/* /\* return array('message_ok' => "Transaction $id_transaction cree", *\/ */ -/* /\* 'editable' => true, *\/ */ -/* /\* 'redirect' => $redirect); *\/ */ - -/* return formulaires_editer_objet_traiter('souscription_don', */ -/* $id_souscription_don, */ -/* '', */ -/* $lier_trad, */ -/* $redirect, */ -/* $config_fonc, */ -/* $row), */ -/* $hidden); */ -/* } */ -/* else { */ -/* return array('message_erreur' => "Echec creation de la transaction", */ -/* 'editable' => true); */ -/* } */ - function verifier_campagne($id_souscription_campagne) { /* FIXME: vérifier que la campagne a bien le bon statut (ouverte, fermée, terminée, etc.) */ @@ -219,7 +217,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 == 'souscriptiondon') + AND $t == 'don') { return true; }