game/onyx/hb_game/jeu/options.php

210 lines
10 KiB
PHP
Raw Normal View History

2008-11-17 11:00:00 +00:00
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
2008-11-04 11:00:00 +00:00
require_once(_FCORE."hb_game/Class/class.phpmailer.php");
2008-11-17 11:00:00 +00:00
$page = 'options';
$titre = 'Options';
$template->assign('page',$page);
$template->assign('titre',$titre);
$pseudo = $queryUser['pseudo'];
$mailUtil = $queryUser['mail'];
$mdp = $queryUser['mdp'];
if (isset($_GET['a']) && $_GET['a'] == 'mv' && isset($_GET['n']) && $_GET['n'] == $sess->values['idvac']) {
$impossible = false;
2008-11-04 11:00:00 +00:00
include_once(_FCORE."hb_game/Class/class.gerefile.php");
2008-11-17 11:00:00 +00:00
$nbPlan = count($queryPlanetes);
for ($i=0 ; $i<$nbPlan ; $i++) {
$file = unserialize($queryPlanetes[$i]['file_bat']);
if (!empty($queryPlanetes[$i]['file_bat']) && count($file->file)) $impossible = true;
$file = unserialize($queryPlanetes[$i]['file_tech']);
if (!empty($queryPlanetes[$i]['file_tech']) && count($file->file)) $impossible = true;
$file = unserialize($queryPlanetes[$i]['file_cas']);
if (!empty($queryPlanetes[$i]['file_cas']) && count($file->file)) $impossible = true;
$file = unserialize($queryPlanetes[$i]['file_vais']);
if (!empty($queryPlanetes[$i]['file_vais']) && count($file->file)) $impossible = true;
$file = unserialize($queryPlanetes[$i]['file_ter']);
if (!empty($queryPlanetes[$i]['file_ter']) && count($file->file)) $impossible = true;
}
if ($impossible) {
$template->assign('message','Impossible d\'activer le mode vacances.<br />Toutes les files d\'attentes sur vos différentes planètes ne sont pas vides.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 4000);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
else {
2008-11-04 11:00:00 +00:00
$bdd->connexion();
$bdd->query("SELECT * FROM flottes WHERE id_user = '$id_user'");
if ($bdd->num_rows) {
2008-11-17 11:00:00 +00:00
$template->assign('message','Des flottes sont actuellement en mission, veuillez toutes les faire revenir à quai avant d\'activer le mode vacances.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 4000);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
2008-11-04 11:00:00 +00:00
$bdd->query("UPDATE user SET mv = '1' WHERE id = '$id_user'");
$bdd->deconnexion();
2008-11-17 11:00:00 +00:00
$sess->values['connected'] = FALSE;
$sess->put();
$template->assign('message','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", $queryUser['last_visite']+259200).'<br /><br />Bonnes vacances !');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?index";\', 10000);</script>');
$template->assign('couleur','green');
$template->display('game/erreur.tpl');
exit;
}
}
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);
2008-11-04 11:00:00 +00:00
$bdd->connexion();
$bdd->query("UPDATE user SET mdpNOUV = '$password' WHERE id = '$id_user'");
$bdd->deconnexion();
2008-11-17 11:00:00 +00:00
//On envoie le mail de confirmation
$mail = new PHPmailer();
2008-11-04 11:00:00 +00:00
$mail->SetLanguage('fr', _FCORE."hb_game/Class/");
2008-11-17 11:00:00 +00:00
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->Host='s-fr.com';
$mail->From='Halo-Battle <no-reply@halo-battle.s-fr.com>';
$mail->SMTPAuth=true;
$mail->Username='no-reply@halo-battle.s-fr.com';
$mail->Password='hD3e2nXu';
$mail->AddAddress($mailUtil);
$mail->AddReplyTo('no-reply@halo-battle.s-fr.com');
$mail->Subject='Halo-Battle :: Activation de votre nouveau mot de passe';
2008-11-22 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><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 valider ce changement en cliquant via ce lien :<br /><a href="http://'.$_SERVER['HTTP_HOST'].'?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&eacute;, il faut que vous soyer connect&eacute; sur votre compte.<br /><br />A bientôt dans Halo-Battle,<br />Le staff</p></body></html>';
2008-11-17 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('game/erreur.tpl');
exit;
}
else{
$template->assign('message','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.');
$template->assign('couleur','green');
$template->display('game/erreur.tpl');
exit;
}
$mail->SmtpClose();
unset($mail);
}
else {
$template->assign('message','Le nouveau mot de passe que vous avez entré ne correspond pas à sa confirmation.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 3500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
}
else {
$template->assign('message','L\'ancien mot de passe que vous avez tapé n\'est pas correct.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 3000);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
}
else {
$template->assign('message','Veuillez remplir tous les champs avant de valider le formulaire.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 2500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
}
elseif (isset($_GET['chg']) && $_GET['chg'] == 'mail') {
2008-11-22 11:00:00 +00:00
if (isset($_POST['mdp_mail']) && sha1(strtoupper($pseudo).':'.$_POST['mdp_mail']) == $mdp) {
if (isset($_POST['mail']) && !empty($_POST['mail'])) {
$Nmail = $_POST['mail'];
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $Nmail)) {
2008-11-04 11:00:00 +00:00
$bdd->connexion();
$bdd->escape($Nmail);
$result = $bdd->query("SELECT mail FROM user WHERE mail = '$Nmail'");
if($result) {
$bdd->deconnexion();
2008-11-22 11:00:00 +00:00
header('Location: options.php?erreur=5');
2008-11-17 11:00:00 +00:00
exit;
}
2008-11-22 11:00:00 +00:00
else {
$auth = sha1($Nmail);
2008-11-04 11:00:00 +00:00
$bdd->query("UPDATE user SET mailNOUV = '$Nmail' WHERE id = '$id_user'");
$bdd->deconnexion();
2008-11-22 11:00:00 +00:00
//On envoie le mail de confirmation
$mail = new PHPmailer();
2008-11-04 11:00:00 +00:00
$mail->SetLanguage('fr', _FCORE."hb_game/Class/");
2008-11-22 11:00:00 +00:00
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->Host='s-fr.com';
$mail->From='Halo-Battle <no-reply@halo-battle.s-fr.com>';
$mail->SMTPAuth=true;
$mail->Username='no-reply@halo-battle.s-fr.com';
$mail->Password='hD3e2nXu';
2008-11-04 11:00:00 +00:00
2008-11-22 11:00:00 +00:00
$mail->AddAddress($Nmail);
$mail->AddReplyTo('no-reply@halo-battle.s-fr.com');
$mail->Subject='Halo-Battle :: Activation de votre nouvelle adresse électronique';
$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 nouvelle adresse &eacute;lectronique</title></head><body><p>Bonjour,<br />Vous recevez ce mail suite à votre demande de changement d\'adresse &eacute;lectronique. Cette dernière entrera en vigueur une fois que vous aurez valider ce changement en cliquant via ce lien :<br /><a href="http://'.$_SERVER['HTTP_HOST'].'?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&eacute;e, il faut que vous soyer connect&eacute; sur votre compte.<br /><br />A bientôt dans Halo-Battle,<br />Le staff</p></body></html>';
2008-11-04 11:00:00 +00:00
2008-11-22 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('game/erreur.tpl');
exit;
}
else{
$template->assign('message','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.');
$template->assign('couleur','green');
$template->display('game/erreur.tpl');
exit;
}
$mail->SmtpClose();
unset($mail);
2008-11-17 11:00:00 +00:00
}
2008-11-22 11:00:00 +00:00
}
else {
$template->assign('message','L\'adresse électronique que vous avez tapée n\'est pas valide.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 2500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
2008-11-17 11:00:00 +00:00
}
2008-11-22 11:00:00 +00:00
}
2008-11-17 11:00:00 +00:00
else {
2008-11-22 11:00:00 +00:00
$template->assign('message','Veuillez remplir tous les champs avant de valider le formulaire.');
2008-11-17 11:00:00 +00:00
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 2500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
}
else {
2008-11-22 11:00:00 +00:00
$template->assign('message','Mot de passe incorrect.');
2008-11-17 11:00:00 +00:00
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 2500);</script>');
$template->assign('couleur','red');
$template->display('game/erreur.tpl');
exit;
}
}
$sess->values['idvac'] = sha1(rand(123456789,9876543210).'ß‘}☻'.time());
$sess->put();
$template->assign('mail',$queryUser['mail']);
$template->assign('idvac',$sess->values['idvac']);
?>