Ajout d'un champs type_souscription dans la table souscription_dons
[spip_souscriptions.git] / formulaires / souscription_don.php
index ac22b2e..f9acb15 100644 (file)
@@ -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',
@@ -125,6 +128,19 @@ function formulaires_souscription_don_verifier_dist($id_souscription_campagne)
 
   if(intval($id_souscription_campagne) != intval(_request('id_souscription_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');
@@ -219,7 +235,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;
     }