<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
session_start();
require_once(_FCORE."../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 = '' 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, mdp_var 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 = mdp($HB_pseudo, $code, $user['mdp_var']);
			$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&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="http://'.$_SERVER['HTTP_HOST'].'/'.$config['first_page'].'?p=oubliemdp&amp;i='.$passNOUV.'&amp;n='.$HB_pseudo.'">http://'.$_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>')){ //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);
?>