Skip to content
Extraits de code Groupes Projets
Valider e3c8f168 rédigé par esj's avatar esj
Parcourir les fichiers

le formulaire d'inscription avait perdu son focus automatique, contenait du...

le formulaire d'inscription avait perdu son focus automatique, contenait du code mort et d'autres a l'agonie. Ca va mieux
parent 2e2868af
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
<h3 class='spip'><:pass_vousinscrire:></h3>
[
<h3 class='spip'><:pass_vousinscrire:></h3>[
(#ENV*{message})
][
(#ENV*{message}|?{'',' '})[
(#ENV{mode}|=={forum}|?{' ',''})
<:pass_forum_bla:><br /><br />
][
(#ENV{mode}|=={redac}|?{' ',''})
<:pass_espace_prive_bla:><br /><br />
]
<div class='spip_serif'><:form_forum_indiquer_nom_email:>
(#ENV{mode}|=={redac}|?{' ',''})<:pass_espace_prive_bla:>
<br /><br />
]<div class='spip_serif'><:form_forum_indiquer_nom_email:>
<br /><br />
<form id="inscription" method='post' action="[(#ENV{self})]">
<fieldset class='spip_sanscadre'>
<legend><:form_forum_identifiants:></legend>
<label>
<:form_pet_votre_nom:>
<input type="text" class="forml" name="nom_inscription" value="" size="30" />
</label>
<label>
<:form_pet_votre_email:>
<input type="text" class="forml" name="mail_inscription" value="" size="30" />
</label>
</fieldset>
<div align="right"><input type="submit" class="spip_bouton" value="<:bouton_valider:>" />
<form id="inscription" method='post' action="[(#ENV{self})]">
<fieldset class='spip_sanscadre'>
<legend><:form_forum_identifiants:></legend>
<label>
<:form_pet_votre_nom:>
<input type="text" class="forml" name="nom_inscription" value="" size="30" />
</label>
<label>
<:form_pet_votre_email:>
<input type="text" class="forml" name="mail_inscription" value="" size="30" />
</label>
</fieldset>
<div align="right">
<input type="submit" class="spip_bouton" value="<:bouton_valider:>" />
</div>
</form>[
</div>
</form>
</div>[
<script type="text/javascript"><!--
document.inscription.(#ENV{focus}).focus()
--></script>
]
--></script>]
][<br />
<div align="right">
(#ENV{target}|?{' ',''})
(#ENV{focus}|?{' ',''})
<script type="text/javascript"><!--
document.write("<a href='")
document.write((window.opener) ? "javascript:close()" : "./")
......
......@@ -8,19 +8,25 @@ include_ecrire('inc_abstract_sql.php3');
global $balise_FORMULAIRE_INSCRIPTION_collecte ;
$balise_FORMULAIRE_INSCRIPTION_collecte = array();
// args[0] est le parametre 'focus' -- [(#FORMULAIRE_INSCRIPTION{focus})]
// args[0] indique le focus eventuel
// args[1] indique la rubrique eventuelle de proposition
// [(#FORMULAIRE_INSCRIPTION{nom_inscription, #ID_RUBRIQUE})]
function balise_FORMULAIRE_INSCRIPTION_stat($args, $filtres) {
if (lire_meta('accepter_inscriptions') != 'oui')
return '';
else
return array('redac', ($args[0] == 'focus' ? 'nom_inscription' : ''));
return array('redac', $args[0], $args[1]);
}
function balise_FORMULAIRE_INSCRIPTION_dyn($mode, $focus) {
// Si inscriptions pas autorisees, retourner une chaine d'avertissement
// Sinon inclusion du squelette
// Si pas de mon ou pas de mail valide, premier appel rien d'autre a faire
// Autrement 2e appel, envoyer un mail et le squelette ne produira pas de
// formulaire.
function balise_FORMULAIRE_INSCRIPTION_dyn($mode, $focus, $id_rubrique=0) {
// Si une inscription est autorisee, on enregistre le demandeur
// comme 'nouveau' et on lui envoie ses codes par email ; lors de
// sa premiere connexion il obtiendra son statut final (auth->activer())
if (!(($mode == 'redac' AND lire_meta('accepter_inscriptions') == 'oui')
OR ($mode == 'forum' AND (
lire_meta('accepter_visiteurs') == 'oui'
......@@ -29,69 +35,82 @@ function balise_FORMULAIRE_INSCRIPTION_dyn($mode, $focus) {
)))
return _T('pass_rien_a_faire_ici');
if (!_request('nom_inscription'))
$nom = _request('nom_inscription');
$mail = _request('mail_inscription');
if (!$nom)
$message = '';
elseif (!test_mail_ins($mode, _request('mail_inscription')))
$message = _T('info_email_invalide');
else $message = message_inscription(_request('mail_inscription'),
_request('nom_inscription'),
false,
($mode == 'forum') ?
'form_forum_voici1' :
'form_forum_voici2');
else {
$message = message_inscription($mail, $nom, false, $mode);
if (is_array($message)) {
if (function_exists('envoyer_inscription'))
$f = 'envoyer_inscription';
else
$f = 'envoyer_inscription_dist';
$message = $f($message, $nom, $mode, $id_rubrique);
}
}
return array("formulaire_inscription", $GLOBALS['delais'],
array('focus' => $focus,
'target' => _request('target'),
'message' => $message,
'mode' => $mode,
'self' => $GLOBALS["clean_link"]->getUrl()
));
}
// fonction qu'on peut redefinir pour filtrer selon l'adresse mail
// fonction qu'on peut redefinir pour filtrer les adresses mail
// cas general: controler juste que l'adresse n'est pas vide et est valide
function test_mail_ins($mode, $mail) {
function test_inscription_dist($mode, $mail) {
include_ecrire('inc_filtres.php3');
return email_valide($mail);
}
// creer un nouvel utilisateur et lui envoyer un mail avec ses identifiants
// cree un nouvel utilisateur et renvoie un message d'impossibilite ou la
// ligne SQL le decrivant.
// On enregistre le demandeur comme 'nouveau'
// et on lui envoie ses codes par email ; lors de
// sa premiere connexion il obtiendra son statut final (auth->activer())
function message_inscription($mail_inscription, $nom_inscription, $force, $mode) {
$mail_inscription = email_valide(_request('mail_inscription'));
$s = spip_query("SELECT statut, id_auteur, login
FROM spip_auteurs WHERE email='".addslashes($mail_inscription)."'");
if (function_exists('test_inscription'))
$f = 'test_inscription';
else
$f = 'test_inscription_dist';
if (!($mail_inscription = $f($mode, $mail_inscription)))
return _T('info_email_invalide');
$mail = addslashes($mail_inscription);
$s = spip_query("SELECT statut, id_auteur, login, email
FROM spip_auteurs WHERE email='". $mail ."'");
$row = spip_fetch_array($s);
if (!$row) {
// il n'existe pas, creer les identifiants
$login = test_login($nom_inscription, $mail_inscription);
$pass = creer_pass_pour_auteur(spip_abstract_insert('spip_auteurs',
'(nom, email, login, statut)',
"('".
addslashes($nom_inscription) .
"', '".
addslashes($mail_inscription) .
"', '" .
$login .
"', 'nouveau')"));
return envoyer_inscription($mail_inscription, 'nouveau', $mode, $login, $pass, $nom_inscription);
$row['email'] = $mail_inscription;
$row['login'] = test_login($nom_inscription, $mail_inscription);
$row['id_auteur'] = spip_abstract_insert('spip_auteurs',
'(nom, email, login, statut)',
"('".
addslashes($nom_inscription) .
"', '".
$mail .
"', '" .
$row['login'] .
"', 'nouveau')");
$row['pass'] = creer_pass_pour_auteur($row['id_auteur']);
return $row;
} else {
// existant mais encore muet, ou ressucite: renvoyer les infos
if ((($row['statut'] == 'nouveau') && !$force) ||
(($row['statut'] == '5poubelle') && $force)) {
(($row['statut'] == '5poubelle') && $force)) {
// recreer le pass
$pass = creer_pass_pour_auteur($row['id_auteur']);
return envoyer_inscription($mail_inscription, $row['statut'], $mode,
$row['login'], $pass, $nom_inscription);
$row['pass'] = creer_pass_pour_auteur($row['id_auteur']);
return $row;
} else {
// irrecuperable
if ($row['statut'] == '5poubelle')
return_T('form_forum_access_refuse');
return _T('form_forum_access_refuse');
else
// deja inscrit
return _T('form_forum_email_deja_enregistre');
......@@ -101,18 +120,24 @@ function message_inscription($mail_inscription, $nom_inscription, $force, $mode)
// envoyer identifiants par mail
function envoyer_inscription($mail, $statut, $mode, $login, $pass, $nom) {
// fonction redefinissable
function envoyer_inscription_dist($ids, $nom, $mode, $id_rubrique) {
$nom_site_spip = lire_meta("nom_site");
$adresse_site = lire_meta("adresse_site");
$message = _T('form_forum_message_auto')."\n\n"
. _T('form_forum_bonjour', array('nom'=>$nom))."\n\n"
. _T($mode, array('nom_site_spip' => $nom_site_spip, 'adresse_site' => $adresse_site)) . "\n\n"
. "- "._T('form_forum_login')." $login\n"
. "- "._T('form_forum_pass')." $pass\n\n";
. _T((($mode == 'forum') ?
'form_forum_voici1' :
'form_forum_voici2'),
array('nom_site_spip' => $nom_site_spip,
'adresse_site' => $adresse_site))
. "\n\n- "._T('form_forum_login')." " . $ids['login']
. "\n- ". _T('form_forum_pass'). " " . $ids['pass'] . "\n\n";
include_ecrire("inc_mail.php3");
if (envoyer_mail($mail,
if (envoyer_mail($ids['email'],
"[$nom_site_spip] "._T('form_forum_identifiants'),
$message))
return _T('form_forum_identifiant_mail');
......
......@@ -31,6 +31,6 @@ echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
'</title>
<link rel="stylesheet" type="text/css" href="spip_style.css" />
</head><body>';
inclure_balise_dynamique(balise_formulaire_inscription_dyn($mode, $mail_inscription, $nom_inscription, $focus, $target));
inclure_balise_dynamique(balise_formulaire_inscription_dyn($mode, $focus));
echo "</body></html>";
?>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter