game/pages/options_validation.php

123 lines
6.1 KiB
PHP

<?php
session_start();
$id = $_SESSION['id'];
require('common.php');
require('../connectBDD.php');
require "../Class/class.phpmailer.php";
$x = mysql_query("SELECT * FROM user WHERE id='$id'");
$donnees = mysql_fetch_array($x);
$pseudo = $donnees['pseudo'];
$mail = $donnees['mail'];
$mdp = $donnees['mdp'];
if (isset($_GET['chg']) && $_GET['chg'] == 'mdp') {
if (isset($_POST['mdp_anc']) && isset($_POST['mdp_nouv']) && isset($_POST['mdp_conf']) && !empty($_POST['mdp_anc']) && !empty($_POST['mdp_nouv']) && !empty($_POST['mdp_conf'])) {
if(sha1(strtoupper($pseudo).':'.$_POST['mdp_anc']) == $mdp) {
if ($_POST['mdp_nouv'] == $_POST['mdp_conf']) {
$password = htmlspecialchars(mysql_escape_string($_POST['mdp_nouv']));
$password = sha1(strtoupper($pseudo).':'.$password);
$auth = sha1($password);
mysql_query("UPDATE `user` SET `mdpNOUV`='$password' WHERE ID='$id'");
//On envoie le mail de confirmation
$mail = new PHPmailer();
$mail->SetLanguage('en', '../Class/');
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->Host='localhost';
$mail->From = 'newuser@localhost';
$mail->AddAddress('admin@localhost');
$mail->Subject='Halo-Battle :: Activation de votre nouveau mot de passe';
$mail->Body='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>Halo-Battle :: Activation de votre nouveau mot de passe</title></head><body><p>Bonjour,<br />Vous recevez ce mail suite à votre demande de changement de mot de passe. Ce dernier entrera en vigueur une fois que vous aurez valider ce changement en cliquant via ce lien :<br /><a href="http://127.0.0.1/hbc/pages/options_validation.php?chg=activation&util='.$id.'&auth='.$auth.'">http://battle.halo.fr/pages/options_validation.php?chg=activation&util='.$id.'&auth='.$auth.'</a><br />Notez que pour que le mot de passe soit changé, il faut que vous soyer connecté sur votre compte.<br /><br />A bientôt dans Halo-Battle,<br />Le staff</p></body></html>';
/*if(!$mail->Send()){ //Teste si le return code est ok.
echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
exit;
}
else{
header('Location: options.php?erreur=1');
exit;
}*/
$mail->SmtpClose();
unset($mail);
/* $from = "From: \"Staff Halo-Battle\" <staffhb@hotmail.fr>\r\n";
$from .= "Content-type: text/html; charset=ISO-8859-1\r\n";
$from .= "X-Mailer: HBMessagerie v1.0a\r\n";
$from .= "MIME-Version: 1.0\r\n";
$message = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>Halo-Battle :: Activation de votre nouveau mot de passe</title></head><body><p>Bonjour,<br />Vous recevez ce mail suite à votre demande de changement de mot de passe. Ce dernier entrera en vigueur une fois que vous aurez valider ce changement en cliquant via ce lien :<br /><a href="http://127.0.0.1/hbc/pages/options_validation.php?chg=activation&util='.$id.'&auth='.$auth.'">http://battle.halo.fr/pages/options_validation.php?chg=activation&util='.$id.'&auth='.$auth.'</a><br />Notez que pour que le mot de passe soit changé, il faut que vous soyer connecté sur votre compte.<br /><br />A bientôt dans Halo-Battle,<br />Le staff</p></body></html>';
mail($mail,'Halo-Battle :: Activation de votre nouveau mot de passe',$message,$from);
*/
}
else {
header('Location: options.php?erreur=2');
exit;
}
}
else {
header('Location: options.php?erreur=3');
exit;
}
}
else {
header('Location: options.php?erreur=4');
exit;
}
}
elseif (isset($_GET['chg']) && $_GET['chg'] == 'mail') {
if (isset($_POST['mail']) && !empty($_POST['mail'])) {
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['mail'])) {
$result = mysql_query("SELECT mail FROM user WHERE mail = '".$_POST["mail"]."'");
if(mysql_num_rows($result) >= 1) {
header('Location: options.php?erreur=5');
exit;
}
else {
$Nmail = htmlspecialchars(mysql_escape_string($_POST['mail']));
$auth = sha1($Nmail);
mysql_query("UPDATE `user` SET `mailNOUV` = '$Nmail' WHERE ID = '$id'");
$from = "From: \"Staff Halo-Battle\" <staffhb@hotmail.fr>\r\n";
$from .= "Content-type: text/html; charset=ISO-8859-1\r\n";
$from .= "X-Mailer: HBMessagerie v1.0a\r\n";
$from .= "MIME-Version: 1.0\r\n";
$message = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>Halo-Battle :: Activation de votre nouvelle adresse électronique</title></head><body><p>Bonjour,<br />Vous recevez ce mail suite à votre demande de changement d\'adresse électronique. Cette dernière entrera en vigueur une fois que vous aurez valider ce changement en cliquant via ce lien :<br /><a href="http://127.0.0.1/hbc/pages/options_validation.php?chg=activation&util='.$id.'&auth='.$auth.'">http://battle.halo.fr/pages/options_validation.php?chg=activation&util='.$id.'&auth='.$auth.'</a><br />Notez que pour que l\'adresse soit changée, il faut que vous soyer connecté sur votre compte.<br /><br />A bientôt dans Halo-Battle,<br />Le staff</p></body></html>';
mail($Nmail,'Halo-Battle :: Activation de votre nouvelle adresse électronique',$message,$from);
header('Location: options.php?erreur=7');
exit;
}
}
else {
header('Location: options.php?erreur=6');
exit;
}
}
else {
header('Location: options.php?erreur=4');
exit;
}
}
elseif (isset($_GET['chg']) && $_GET['chg'] == 'activation' && isset($_GET['util']) && !empty($_GET['util']) && isset($_GET['auth']) && !empty($_GET['auth'])) {
if ($_GET['util'] == $id) {
if (!empty($donnees['mdpNOUV']) && sha1($donnees['mdpNOUV']) == $_GET['auth']) {
mysql_query("UPDATE `user` SET `mdp` = `mdpNOUV`, `mdpNOUV` = '', `mailNOUV` = '' WHERE ID='$id'");
header('Location: options.php?erreur=8');
exit;
}
elseif (!empty($donnees['mailNOUV']) && sha1($donnees['mailNOUV']) == $_GET['auth']) {
mysql_query("UPDATE `user` SET `mail` = `mailNOUV`, `mailNOUV` = '', `mdpNOUV` = '' WHERE ID='$id'");
header('Location: options.php?erreur=9');
exit;
}
}
}
mysql_close();
header('Location: options.php');
?>