Le plugin 'pays' est utilisé pour afficher la liste des pays sur le
formulaire de souscription. Le plugin est aussi utilisé pour vérifier
que le pays annoncé par le souscripteur est bien valide.
'adresse',
'code_postal',
'ville',
'adresse',
'code_postal',
'ville',
'id_souscription_campagne',
'type_souscription'),
// black list
'id_souscription_campagne',
'type_souscription'),
// black list
return "Identifiant de transaction introuvable..."; /* FIXME: à rendre traduisible. */
}
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;
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>]
<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{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>
</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');
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"
<paquet
prefix="souscription"
categorie="communication"
etat="dev"
compatibilite="[3.0.5;3.0.*]"
logo=""
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="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" />
<pipeline nom="autoriser" inclure="souscription_autorisations.php" />