'');
return $valeurs;
}
// http://doc.spip.org/@message_oubli
function message_oubli($email, $param)
{
$r = formulaires_oubli_mail($email);
if (is_array($r) AND $r[1]) {
include_spip('inc/acces'); # pour creer_uniqid
include_spip('inc/texte'); # pour corriger_typo
$cookie = creer_uniqid();
sql_updateq("spip_auteurs", array("cookie_oubli" => $cookie), "id_auteur=" . $r[1]['id_auteur']);
$nom = textebrut(corriger_typo($GLOBALS['meta']["nom_site"]));
$envoyer_mail = charger_fonction('envoyer_mail','inc');
if ($envoyer_mail($email,
("[$nom] " . _T('pass_oubli_mot')),
_T('pass_mail_passcookie',
array('nom_site_spip' => $nom,
'adresse_site' => url_de_base(),
'sendcookie' => generer_url_public('spip_pass',
"$param=$cookie", true)))) )
return _T('pass_recevoir_mail');
else
return _T('pass_erreur_probleme_technique');
}
return _T('pass_erreur_probleme_technique');
}
// la saisie a ete validee, on peut agir
function formulaires_oubli_traiter_dist(){
$message = message_oubli(_request('oubli'),'p');
return array('message_ok'=>$message);
}
// fonction qu'on peut redefinir pour filtrer les adresses mail
// http://doc.spip.org/@test_oubli
function test_oubli_dist($email)
{
include_spip('inc/filtres'); # pour email_valide()
if (!email_valide($email) )
return _T('pass_erreur_non_valide', array('email_oubli' => htmlspecialchars($email)));
return array('mail' => $email);
}
function formulaires_oubli_verifier_dist(){
$erreurs = array();
$email = strval(_request('oubli'));
$r = formulaires_oubli_mail($email);
if (!is_array($r))
$erreurs['oubli'] = $r;
else {
if (!$r[1])
$erreurs['oubli'] = _T('pass_erreur_non_enregistre', array('email_oubli' => htmlspecialchars($email)));
elseif ($r[1]['statut'] == '5poubelle' OR $r[1]['pass'] == '')
$erreurs['oubli'] = _T('pass_erreur_acces_refuse');
}
return $erreurs;
}
function formulaires_oubli_mail($email)
{
if (function_exists('test_oubli'))
$f = 'test_oubli';
else
$f = 'test_oubli_dist';
$declaration = $f($email);
if (!is_array($declaration))
return $declaration;
else {
include_spip('base/abstract_sql');
return array($declaration, sql_fetsel("id_auteur,statut,pass", "spip_auteurs", "email =" . sql_quote($declaration['mail'])));
}
}
?>