game/onyx/hb_game/jeu/oubliemdp.php

98 lines
4.6 KiB
PHP
Raw Normal View History

2008-11-18 11:00:00 +00:00
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
session_start();
2008-11-04 11:00:00 +00:00
require_once(_FCORE."hb_game/Class/class.phpmailer.php");
2008-11-18 11:00:00 +00:00
$page = 'oubliemdp';
$erreur = '';
if (!empty($_GET['i']) && isset($_GET['n'])) {
2008-11-22 11:00:00 +00:00
$Un = $_GET['n'];
$Ui = $_GET['i'];
2008-11-04 11:00:00 +00:00
$bdd->connexion();
$bdd->escape($Un);
$bdd->escape($Ui);
$user = $bdd->unique_query("SELECT * FROM user WHERE pseudo = '$Un' AND mdpNOUV = '$Ui';");
2008-11-16 11:00:00 +00:00
if ($user && $bdd->unique_query("UPDATE user SET mdp = mdpNOUV, mdpNOUV = '', mdp_var = 0 WHERE pseudo = '$Un'")) {
2008-11-04 11:00:00 +00:00
$bdd->deconnexion();
2008-11-18 11:00:00 +00:00
$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 {
2008-11-04 11:00:00 +00:00
$bdd->deconnexion();
2008-11-18 11:00:00 +00:00
$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) {
2008-11-04 11:00:00 +00:00
$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';");
2008-11-18 11:00:00 +00:00
if ($user) {
$liste = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$code = '';
while(strlen($code) != 8) {
$code .= $liste[rand(0,60)];
}
2008-11-22 11:00:00 +00:00
$passNOUV = sha1(strtoupper($HB_pseudo).':'.$code);
2008-11-04 11:00:00 +00:00
$bdd->unique_query("UPDATE $table_user SET mdpNOUV = '$passNOUV' WHERE pseudo = '$HB_pseudo';");
$bdd->deconnexion();
2008-11-18 11:00:00 +00:00
$mail = new PHPmailer();
2008-11-04 11:00:00 +00:00
$mail->SetLanguage('fr', _FCORE."hb_game/Class/");
2008-11-18 11:00:00 +00:00
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->Host='s-fr.com';
$mail->From='no-reply@halo-battle.s-fr.com';
$mail->FromName='Halo-Battle';
$mail->SMTPAuth=true;
$mail->Username='no-reply@halo-battle.s-fr.com';
$mail->Password='hD3e2nXu';
2008-11-22 11:00:00 +00:00
$mail->AddAddress($HB_mail);
2008-11-18 11:00:00 +00:00
$mail->AddReplyTo('no-reply@halo-battle.s-fr.com');
$mail->Subject='Halo-Battle :: Reinitialisation du mot de passe';
2008-11-04 11:00:00 +00:00
$mail->Body='<!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&eacute;initialisation du mot de passe</title></head><body><p>Bonjour '.$HB_pseudo.',<br />Vous recevez ce mail suite &agrave; votre demande de r&eacute;initialisation de mot de passe. Pour confirmer votre r&eacute;initialisation de mot de passe et ainsi pouvoir de nouveau acc&eacute;der au jeu, cliquez sur le lien ci-apr&egrave;s :<br /><a href="'.$_SERVER['HTTP_HOST'].'?p=oubliemdp&amp;i='.$passNOUV.'&amp;n='.$HB_pseudo.'">'.$_SERVER['HTTP_HOST'].'?p=oubliemdp&amp;i='.$passNOUV.'&amp;n='.$HB_pseudo.'</a><br /><br />Votre nouveau mot de passe est : '.$code.'<br /><br />A bient&ocirc;t dans Halo-Battle,<br />Le staff</p></body></html>';
2008-11-18 11:00:00 +00:00
if(!$mail->Send()){ //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);
}
2008-11-04 11:00:00 +00:00
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 />';
}
2008-11-18 11:00:00 +00:00
}
}
$template->assign('erreurs', $erreur);
?>