82 lines
4.2 KiB
PHP
82 lines
4.2 KiB
PHP
<?php
|
|
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
|
session_start();
|
|
require_once(_FCORE."hb_game/Class/class.phpmailer.php");
|
|
$page = 'oubliemdp';
|
|
$erreur = '';
|
|
|
|
if (!empty($_GET['i']) && isset($_GET['n'])) {
|
|
$Un = $_GET['n'];
|
|
$Ui = $_GET['i'];
|
|
$bdd->connexion();
|
|
$bdd->escape($Un);
|
|
$bdd->escape($Ui);
|
|
$user = $bdd->unique_query("SELECT * FROM user WHERE pseudo = '$Un' AND mdpNOUV = '$Ui';");
|
|
if ($user && $bdd->unique_query("UPDATE user SET mdp = mdpNOUV, mdpNOUV = '', mdp_var = 0 WHERE pseudo = '$Un'")) {
|
|
$bdd->deconnexion();
|
|
$template->assign('message','Votre mot de passe a été réinitialisé avec succès.');
|
|
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?index";\', 3500);</script>');
|
|
$template->assign('couleur','green');
|
|
$template->display('cms/erreur.tpl');
|
|
exit;
|
|
}
|
|
else {
|
|
$bdd->deconnexion();
|
|
$template->assign('message','Ce lien a expiré !');
|
|
$template->assign('couleur','red');
|
|
$template->display('cms/erreur.tpl');
|
|
exit;
|
|
}
|
|
}
|
|
|
|
if (isset($_POST['HB_pseudo']) && isset($_POST['HB_mail']) && isset($_POST['HB_captcha'])) {
|
|
$ok = true;
|
|
if (empty($_POST['HB_pseudo']) || empty($_POST['HB_mail'])) {
|
|
$ok = false;
|
|
$erreur .= '<p style="color: #FF0000"><b>Pseudo ou adresse électronique vide :</b><br />Veuillez compléter tous les champs de ce formulaire avant de le valider.</p><br />';
|
|
}
|
|
if (strtolower($_POST['HB_captcha']) != strtolower($_SESSION['aleat_nbr'])) {
|
|
$ok = false;
|
|
$erreur .= '<p style="color: #FF0000"><b>Code de vérification incorrect :</b><br />Le texte que vous avez recopier ne correspondait pas au texte de l\'image, veuillez recommencer.</p><br />';
|
|
}
|
|
if ($ok) {
|
|
$HB_pseudo = $_POST['HB_pseudo'];
|
|
$HB_mail = $_POST['HB_mail'];
|
|
$bdd->connexion();
|
|
$bdd->escape($HB_pseudo);
|
|
$bdd->escape($HB_mail);
|
|
$user = $bdd->unique_query("SELECT id FROM $table_user WHERE pseudo = '$HB_pseudo' AND mail = '$HB_mail';");
|
|
if ($user) {
|
|
$liste = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
$code = '';
|
|
while(strlen($code) != 8) {
|
|
$code .= $liste[rand(0,60)];
|
|
}
|
|
$passNOUV = sha1(strtoupper($HB_pseudo).':'.$code);
|
|
$bdd->unique_query("UPDATE $table_user SET mdpNOUV = '$passNOUV' WHERE pseudo = '$HB_pseudo';");
|
|
$bdd->deconnexion();
|
|
|
|
if(!send_mail($HB_mail, 'Halo-Battle :: Reinitialisation du mot de passe', '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Halo-Battle :: Réinitialisation du mot de passe</title></head><body><p>Bonjour '.$HB_pseudo.',<br />Vous recevez ce mail suite à votre demande de réinitialisation de mot de passe. Pour confirmer votre réinitialisation de mot de passe et ainsi pouvoir de nouveau accéder au jeu, cliquez sur le lien ci-après :<br /><a href="http://'.$_SERVER['HTTP_HOST'].'?p=oubliemdp&i='.$passNOUV.'&n='.$HB_pseudo.'">http://'.$_SERVER['HTTP_HOST'].'?p=oubliemdp&i='.$passNOUV.'&n='.$HB_pseudo.'</a><br /><br />Votre nouveau mot de passe est : '.$code.'<br /><br />A bientôt dans Halo-Battle,<br />Le staff</p></body></html>')){ //Teste si le return code est ok.
|
|
$template->assign('message','Erreur lors de l\'envoie du courriel de confirmation !<br /><br /><small><i>'.$mail->ErrorInfo.'</i></small><br /><br />Si le problème perciste, <a href="mailto:technique@halo-battle.s-fr.com">contactez un administrateur</a>.');
|
|
$template->assign('couleur','red');
|
|
$template->display('cms/erreur.tpl');
|
|
exit;
|
|
}
|
|
else{
|
|
$template->assign('message','Un nouveau mot de passe a été généré pour votre compte, vous le trouverez dans votre boîte de courrier électronique.');
|
|
$template->assign('couleur','green');
|
|
$template->display('cms/erreur.tpl');
|
|
exit;
|
|
}
|
|
$mail->SmtpClose();
|
|
unset($mail);
|
|
}
|
|
else {
|
|
$bdd->deconnexion();
|
|
$erreur .= '<p style="color: #FF0000"><b>Nom d\'utilisateur ou adresse électronique incorrect :</b><br />L\'adresse électronique que vous avez indiqué ne correspond pas au nom d\'utilisateur. Réessayez.</p><br />';
|
|
}
|
|
}
|
|
}
|
|
|
|
$template->assign('erreurs', $erreur);
|
|
?>
|