forked from halo-battle/game
94 lines
6.5 KiB
PHP
94 lines
6.5 KiB
PHP
<?php
|
|
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
|
$page = 'options';
|
|
$titre = 'Options';
|
|
$template->assign('page',$page);
|
|
$template->assign('titre',$titre);
|
|
|
|
$pseudo = $planete->pseudo;
|
|
$mailUtil = $planete->mail;
|
|
$bdd->connexion();
|
|
$queryUser = $bdd->unique_query("SELECT mdp, mdp_var FROM $table_user WHERE id = $id_user;");
|
|
$bdd->deconnexion();
|
|
$mdp = $queryUser['mdp'];
|
|
$mdp_var = $queryUser['mdp_var'];
|
|
|
|
if (isset($_GET['a']) && $_GET['a'] == 'mv' && isset($_GET['n']) && $_GET['n'] == $sess->values['idvac']) {
|
|
$bdd->connexion();
|
|
$bdd->query("SELECT * FROM flottes WHERE id_user = '$id_user'");
|
|
if ($bdd->num_rows) erreur('Des flottes sont actuellement en mission, veuillez toutes les faire revenir à quai avant d\'activer le mode vacances.', "red", '?p=options', 4000);
|
|
|
|
$bdd->query("UPDATE user SET mv = 1 WHERE id = '$id_user'");
|
|
$bdd->deconnexion();
|
|
$sess->values['connected'] = FALSE;
|
|
$sess->put();
|
|
|
|
erreur('Le mode vacances est maintenant actif sur votre compte.<br /><br />Vous pourez vous reconnecter sur votre compte à partir de<br />'.strftime("%A %d %B à %H:%M", $planete->last_visite+259200).'<br /><br />Bonnes vacances !', "green", '?index', 10000);
|
|
}
|
|
elseif (isset($_GET['a']) && $_GET['a'] == 'dl' && isset($_GET['n']) && $_GET['n'] == $sess->values['idvac']) {
|
|
$bdd->connexion();
|
|
$bdd->query("UPDATE user SET mv = -2 WHERE id = $id_user");
|
|
$bdd->deconnexion();
|
|
|
|
erreur('Votre compte sera supprimé le <br />'.strftime("%A %d %B à %H:%M", mktime(5,0,0,date('n',time()+86400*2),date('d',time()+86400*2),date('y',time()+86400*2))).'.', "green");
|
|
}
|
|
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(mdp($pseudo, gpc('mdp_anc', 'post'), $mdp_var) == $mdp) {
|
|
if ($_POST['mdp_nouv'] == $_POST['mdp_conf']) {
|
|
$password = mdp($pseudo, gpc('mdp_nouv', 'post'), $mdp_var);
|
|
$auth = sha1($password);
|
|
|
|
$bdd->connexion();
|
|
$bdd->escape($password);
|
|
$bdd->query("UPDATE user SET mdpNOUV = '$password' WHERE id = '$id_user'");
|
|
$bdd->deconnexion();
|
|
|
|
if(!send_mail($mailUtil, 'Halo-Battle :: Activation de votre nouveau mot de passe', '<!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 '.trouvNom($id_user).',<br />Vous recevez ce mail suite à votre demande de changement de mot de passe. Ce dernier entrera en vigueur une fois que vous aurez validé ce changement en cliquant via ce lien :<br /><a href="http://'.$_SERVER['HTTP_HOST'].'/'.$config['first_page'].'?p=changeopt&util='.$id_user.'&auth='.$auth.'">http://'.$_SERVER['HTTP_HOST'].'?p=changeopt&util='.$id_user.'&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>')) erreur('Erreur lors de l\'envoie du courriel de confirmation !<br /><br />Si le problème perciste, <a href="mailto:'.$config['mailadmin'].'">contactez un administrateur</a>.');
|
|
else erreur('Un courriel vient d\'être envoyé à '.$mailUtil.'. Le mot de passe ne sera modifié qu\'après avoir cliqué sur le lien d\'activation contenu dans ce courriel.', "green");
|
|
$mail->SmtpClose();
|
|
unset($mail);
|
|
}
|
|
else erreur('Le nouveau mot de passe que vous avez entré ne correspond pas à sa confirmation.', "red", '?p=options', 3500);
|
|
}
|
|
else erreur('L\'ancien mot de passe que vous avez tapé n\'est pas correct.', "red", '?p=options', 3500);
|
|
}
|
|
else erreur('Veuillez remplir tous les champs avant de valider le formulaire.', "red", '?p=options');
|
|
}
|
|
elseif (isset($_GET['chg']) && $_GET['chg'] == 'mail') {
|
|
if (isset($_POST['mdp_mail']) && mdp($pseudo, gpc('mdp_mail', 'post'), $mdp_var) == $mdp) {
|
|
if (isset($_POST['mail']) && !empty($_POST['mail'])) {
|
|
$Nmail = gpc('mail', 'post');
|
|
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $Nmail)) {
|
|
$bdd->connexion();
|
|
$bdd->escape($Nmail);
|
|
$result = $bdd->query("SELECT mail FROM user WHERE mail = '$Nmail'");
|
|
if($result) {
|
|
$bdd->deconnexion();
|
|
erreur('Vous ne pouvez pas utiliser cette adresse mail, elle est déjà utilisée par un autre utilisateur.', "red", '?p=options');
|
|
}
|
|
else {
|
|
$auth = sha1($Nmail);
|
|
$bdd->query("UPDATE user SET mailNOUV = '$Nmail' WHERE id = '$id_user'");
|
|
$bdd->deconnexion();
|
|
|
|
//On envoie le mail de confirmation
|
|
if(!send_mail($Nmail, 'Halo-Battle :: Activation de votre nouvelle adresse électronique', '<!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 validé ce changement en cliquant via ce lien :<br /><a href="http://'.$_SERVER['HTTP_HOST'].'/'.$config['first_page'].'?p=changeopt&util='.$id_user.'&auth='.$auth.'">http://'.$_SERVER['HTTP_HOST'].'?p=changeopt&util='.$id_user.'&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>')) erreur('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:'.$config['mailadmin'].'">contactez un administrateur</a>.');
|
|
else erreur('Un courriel vient d\'être envoyé à '.$Nmail.'. L\'adresse électronique ne sera modifié qu\'après avoir cliqué sur le lien d\'activation contenu dans ce courriel.', "green");
|
|
$mail->SmtpClose();
|
|
unset($mail);
|
|
}
|
|
}
|
|
else erreur('L\'adresse électronique que vous avez tapée n\'est pas valide.', "red", '?p=options');
|
|
}
|
|
else erreur('Veuillez remplir tous les champs avant de valider le formulaire.', "red", '?p=options');
|
|
}
|
|
else erreur('Mot de passe incorrect.', "red", '?p=options');
|
|
}
|
|
|
|
$sess->values['idvac'] = sha1(rand(123456789,9876543210).'ß‘}☻'.time());
|
|
$sess->put();
|
|
|
|
$template->assign('mail',$planete->mail);
|
|
$template->assign('idvac',$sess->values['idvac']);
|
|
?>
|