'adresse',
'code_postal',
'ville',
- 'pays',
'id_souscription_campagne',
'type_souscription'),
// black list
return "Identifiant de transaction introuvable..."; /* FIXME: à rendre traduisible. */
}
- $c = array_merge($c, array("id_transaction" => $id_transaction));
+ /* Récupération du nom du pays */
+ $code_pays = _request('pays');
+ $pays = sql_getfetsel(sql_multi("nom", $GLOBALS['spip_lang']), 'spip_pays', "code='$code_pays'");
+
+ $c = array_merge($c,
+ array("id_transaction" => $id_transaction,
+ "pays" => $pays));
if($err = objet_modifier_champs('souscription', $id_souscription, array(), $c))
return $err;
+[(#SET{liste_pays,#ARRAY{}})]
+<BOUCLE_p(PAYS){par nom}>
+ [(#SET{liste_pays, #GET{liste_pays}|array_merge{#ARRAY{#CODE, #NOM}}})]
+</BOUCLE_p>
+
<div class="formulaire_spip formulaire_#FORM formulaire_#FORM-#ENV{id_souscription,nouveau}[ formulaire_souscription_(#ENV{type_souscription})]">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
[(#SAISIE{textarea, adresse, label=<:souscription:label_adresse:>, rows=3})]
[(#SAISIE{input, code_postal, label=<:souscription:label_code_postal:>})]
[(#SAISIE{input, ville, label=<:souscription:label_ville:>})]
- [(#SAISIE{input, pays, label=<:souscription:label_pays:>})]
+ [(#SAISIE{selection, pays, label=<:souscription:label_pays:>, datas=#GET{liste_pays}})]
</ul>
</fieldset>
<p class="boutons"><input type="submit" class="submit" value="<:souscription:confirmer:>" /></p>
if ($e = _request('courriel') AND !email_valide($e))
$erreurs['courriel'] = _T('form_prop_indiquer_email');
- /* Le code postal n'est vérifié que si on est dans le cas de la France */
- if($e = _request('pays') AND strtolower(trim($e)) == "france") {
- if ($e = _request('code_postal') AND !preg_match("/^(2[ABab]|0[1-9]|[1-9][0-9])[0-9]{3}$/", $e)) {
- $erreurs['code_postal'] = "Code postal invalide";
+ if($e = _request('pays')) {
+ $ret = sql_select('nom', 'spip_pays', "code='${e}'");
+
+ if(sql_count($ret) != 1)
+ $erreurs['pays'] = "Pays invalide";
+
+ /* Le code postal n'est vérifié que si on est dans le cas de la France */
+ elseif($e = _request('pays') AND $e == "FR") {
+ if ($e = _request('code_postal') AND !preg_match("/^(2[ABab]|0[1-9]|[1-9][0-9])[0-9]{3}$/", $e)) {
+ $erreurs['code_postal'] = "Code postal invalide";
+ }
}
}
<paquet
prefix="souscription"
categorie="communication"
- version="0.1"
+ version="0.2"
etat="dev"
compatibilite="[3.0.5;3.0.*]"
logo=""
<necessite nom="saisies" compatibilite="[1.24.0;]" />
<necessite nom="bank" compatibilite="[2.2.1;]" />
<necessite nom="spip_bonux" compatibilite="[3.0.4;]" />
+ <necessite nom="pays" compatibilite="];[" />
<pipeline nom="autoriser" inclure="souscription_autorisations.php" />