[ Index ] |
|
Code source de SPIP 1.8.3 |
1 <?php 2 3 /***************************************************************************\ 4 * SPIP, Systeme de publication pour l'internet * 5 * * 6 * Copyright (c) 2001-2005 * 7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * 8 * * 9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * 10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * 11 \***************************************************************************/ 12 13 14 include ("ecrire/inc_version.php3"); 15 include_ecrire ("inc_presentation.php3"); # pour install_debut 16 include_ecrire ("inc_session.php3"); # pour creer_uniq_id 17 include_ecrire ("inc_mail.php3"); # pour envoyer_mail 18 include_ecrire ("inc_acces.php3"); # pour generer_htpass 19 include_local("inc-public-global.php3"); # pour calculer la page 20 include_local ("inc-cache.php3"); # ici c'est pour tester la connexion SQL 21 include_ecrire("inc_lang.php3"); 22 23 utiliser_langue_site(); 24 utiliser_langue_visiteur(); 25 26 // Ce fichier est celui d'une balise dynamique qui s'ignore. 27 28 function formulaire_oubli_dyn($p, $oubli) 29 { 30 31 $message = ''; 32 33 // au 3e appel la variable P est positionnee par le script lui-meme 34 // et oubli = mot passe. Le choix du nom P est impose par pass_mail_passcookie 35 if ($p = addslashes($p)) { 36 $res = spip_query("SELECT * FROM spip_auteurs WHERE cookie_oubli='$p' AND statut<>'5poubelle' AND pass<>''"); 37 if (!$row = spip_fetch_array($res)) 38 $message = _T('pass_erreur_code_inconnu'); 39 else { 40 if ($oubli) { 41 $mdpass = md5($oubli); 42 $htpass = generer_htpass($oubli); 43 spip_query("UPDATE spip_auteurs SET htpass='$htpass', pass='$mdpass', alea_actuel='', 44 cookie_oubli='' WHERE cookie_oubli='$p'"); 45 46 $login = $row['login']; 47 $message = "<b>" . _T('pass_nouveau_enregistre') . "</b>". 48 "<p>" . _T('pass_rappel_login', array('login' => $login)); 49 } 50 } 51 } else { 52 // si p absent, oubli vaut alors le mail au 2e appel, vide au 1e 53 if ($oubli) { 54 if ( email_valide($oubli) ) { 55 $email = addslashes($oubli); 56 $res = spip_query("SELECT * FROM spip_auteurs WHERE email ='$email'"); 57 if ($row = spip_fetch_array($res)) { 58 if ($row['statut'] == '5poubelle' OR $row['pass'] == '') 59 $message = _T('pass_erreur_acces_refuse'); 60 else { 61 $cookie = creer_uniqid(); 62 spip_query("UPDATE spip_auteurs SET cookie_oubli = '$cookie' WHERE email ='$email'"); 63 64 if ( envoyer_mail($email, 65 "[" . lire_meta("nom_site") .'] ' . _T('pass_oubli_mot'), 66 _T('pass_mail_passcookie', 67 array('nom_site_spip' => lire_meta("nom_site"), 68 'adresse_site' => lire_meta("adresse_site"), 69 'cookie' => $cookie)))) 70 $message = _T('pass_recevoir_mail'); 71 else 72 $message = _T('pass_erreur_probleme_technique'); 73 } 74 } 75 else 76 $message = _T('pass_erreur_non_enregistre', array('email_oubli' => htmlspecialchars($oubli))); 77 } else { 78 $message = _T('pass_erreur_non_valide', array('email_oubli' => htmlspecialchars($oubli))); 79 } 80 } 81 } 82 return array('formulaire_oubli', 0, array('p' => $p, 'message' => $message)); 83 } 84 85 install_debut_html(_T('pass_mot_oublie')); 86 inclure_balise_dynamique(formulaire_oubli_dyn($p, $oubli)); 87 install_fin_html(); 88 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Thu Feb 22 22:27:47 2007 | par Balluche grâce à PHPXref 0.7 |