Ajout d'une étape de linting dans DroneCi (#3)
All checks were successful
continuous-integration/drone/push Build is passing

Corrige un doublons laissé par le rebase semi-manuel

Ajout d'une étape de linting dans DroneCi

Fix linting

Co-authored-by: Nigel Sheldon <nigelsheldon@live.fr>
Reviewed-on: https://gitea.nemunai.re/halo-battle/game/pulls/3
This commit is contained in:
Nigel 2020-11-21 18:54:32 +00:00
commit dd61d3b66b
263 changed files with 45327 additions and 42695 deletions

View file

@ -1,20 +1,23 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$titre = 'Aide';
if (empty($_GET['q'])) $_GET['q'] = '';
switch($_GET['q']){
case '1':
$page = '../aide/avertissements'; break;
case '2':
$page = '../aide/config'; break;
case '3':
$page = '../aide/intro'; break;
case '4':
$page = '../aide/commentjouer'; break;
default:
$page = '../aide/sommaire';
if (empty($_GET['q'])) {
$_GET['q'] = '';
}
?>
switch ($_GET['q']) {
case '1':
$page = '../aide/avertissements'; break;
case '2':
$page = '../aide/config'; break;
case '3':
$page = '../aide/intro'; break;
case '4':
$page = '../aide/commentjouer'; break;
default:
$page = '../aide/sommaire';
}

View file

@ -1,5 +1,8 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$titre = 'Amis';
$a = gpc('a');
@ -7,51 +10,49 @@ $nom = gpc('nom', 'post');
//Suppression d'un ami
if (!empty($a)) {
$d = gpc('d');
if (!empty($d) && $a == md5(date('GA').'@'.$d)) {
$f = array_keys($planete->amis, $d);
unset($planete->amis[$f[0]]);
$bdd->reconnexion();
$bdd->query("UPDATE $table_user SET amis = '".serialize($planete->amis)."' WHERE id = $id_user;");
$bdd->deconnexion();
}
header('Location: ?p=amis');
exit;
$d = gpc('d');
if (!empty($d) && $a == md5(date('GA').'@'.$d)) {
$f = array_keys($planete->amis, $d);
unset($planete->amis[$f[0]]);
$bdd->reconnexion();
$bdd->query("UPDATE $table_user SET amis = '".serialize($planete->amis)."' WHERE id = $id_user;");
$bdd->deconnexion();
}
header('Location: ?p=amis');
exit;
}
//Ajout d'un ami dans la liste
elseif (!empty($nom)) {
$bdd->reconnexion();
$plan = $bdd->unique_query("SELECT id FROM $table_user WHERE pseudo = '$nom';");
if ($plan) {
if (in_array($plan['id'], $planete->amis)) {
$bdd->deconnexion();
erreur('Ce joueur est déjà dans votre liste d\'amis.', "red", "?p=amis", 2000);
}
$planete->amis[] = $plan['id'];
$bdd->query("UPDATE $table_user SET amis = '".serialize($planete->amis)."' WHERE id = $id_user;");
}
else {
$bdd->deconnexion();
erreur('Joueur introuvable.', "red", "?p=amis", 2000);
}
$bdd->deconnexion();
$bdd->reconnexion();
$plan = $bdd->unique_query("SELECT id FROM $table_user WHERE pseudo = '$nom';");
if ($plan) {
if (in_array($plan['id'], $planete->amis)) {
$bdd->deconnexion();
erreur('Ce joueur est déjà dans votre liste d\'amis.', "red", "?p=amis", 2000);
}
$planete->amis[] = $plan['id'];
$bdd->query("UPDATE $table_user SET amis = '".serialize($planete->amis)."' WHERE id = $id_user;");
} else {
$bdd->deconnexion();
erreur('Joueur introuvable.', "red", "?p=amis", 2000);
}
$bdd->deconnexion();
header('Location: ?p=amis');
exit;
header('Location: ?p=amis');
exit;
}
//Affichage de la liste d'amis
else {
$page = 'amis';
$page = 'amis';
$destins = array();
$bdd->reconnexion();
foreach($planete->amis as $ami){
$res = $bdd->unique_query("SELECT pseudo FROM $table_user WHERE id = ".$ami.";");
if ($res != false) {
$destins[] = array($ami, $res['pseudo'], md5(date('GA').'@'.$ami));
}
}
$bdd->deconnexion();
$template->assign('destins', $destins);
$destins = array();
$bdd->reconnexion();
foreach ($planete->amis as $ami) {
$res = $bdd->unique_query("SELECT pseudo FROM $table_user WHERE id = ".$ami.";");
if ($res != false) {
$destins[] = array($ami, $res['pseudo'], md5(date('GA').'@'.$ami));
}
}
$bdd->deconnexion();
$template->assign('destins', $destins);
}
?>

View file

@ -1,5 +1,8 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$page = 'vide';
$titre = 'Avertissement de sécurité';
@ -8,13 +11,14 @@ $template->assign('titreP', '<span style="color: red;">! AVERTISSEMENT !</span>'
$test = intval($SESS->values["avert"]);
$contenu = "";
if ($SESS->values["avert"]& 1)
$contenu .= "<h3 style=\"font-weight: bold;\">JavaScript désactivé !</h3>Nous avons détecté que le JavaScript n'était pas activé sur votre navigateur. Nous vous recommandons de l'activé pour avoir accès à l'ensemble du contenu du site, même si celui-ci fonctionne parfaitement sans cette technologie.<br />";
if ($SESS->values["avert"]& 2)
$contenu .= "<h3 style=\"font-weight: bold;\">Referer désactivé !</h3>Nous avons détecté que votre navigateur n'envoie pas d'informations sur sa navigation. Cela empêche le jeu de valider l'ensemble des requêtes faites par votre navigateur. Votre compte de jeu n'est donc pas protégé contre certaines attaques informatiques.<br />";
if ($SESS->values["avert"]& 1) {
$contenu .= "<h3 style=\"font-weight: bold;\">JavaScript désactivé !</h3>Nous avons détecté que le JavaScript n'était pas activé sur votre navigateur. Nous vous recommandons de l'activé pour avoir accès à l'ensemble du contenu du site, même si celui-ci fonctionne parfaitement sans cette technologie.<br />";
}
if ($SESS->values["avert"]& 2) {
$contenu .= "<h3 style=\"font-weight: bold;\">Referer désactivé !</h3>Nous avons détecté que votre navigateur n'envoie pas d'informations sur sa navigation. Cela empêche le jeu de valider l'ensemble des requêtes faites par votre navigateur. Votre compte de jeu n'est donc pas protégé contre certaines attaques informatiques.<br />";
}
$template->assign("contenu", '<div class="error">'.$contenu.'<br /><br /><h3><a href="'.$_SERVER["REQUEST_URI"].'">Continuer</a></h3></div>');
unset($SESS->values["avert"]);
$SESS->put();
?>

View file

@ -1,5 +1,8 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$page = 'vide';
$titre = 'Multicompte';
@ -11,19 +14,23 @@ $bdd->deconnexion();
$cnt = @count($multi);
$joueurs = '';
for($i = 0; $i < $cnt; $i++){
if ($multi[$i]['id_util'] == $id_user) continue;
if ($joueurs != '') $joueurs .= ', '.$multi[$i]['pseudo'];
else $joueurs = $multi[$i]['pseudo'];
for ($i = 0; $i < $cnt; $i++) {
if ($multi[$i]['id_util'] == $id_user) {
continue;
}
if ($joueurs != '') {
$joueurs .= ', '.$multi[$i]['pseudo'];
} else {
$joueurs = $multi[$i]['pseudo'];
}
}
//Si pas de multi-compte, on redirige vers la page d'accueil
if ($cnt)
redirection('./'.$VAR['first_page']);
if ($cnt) {
redirection('./'.$VAR['first_page']);
}
$template->assign('contenu', '<div class="error">Nous avons détecté que plus d\'un compte s\'est connecté sur cette adresse IP.<br />Pour ne pas être considéré comme multi-compte, évitez toute interraction avec '.$joueurs.'<br /><br />Si vous êtes plusieurs dans la même famille à jouer à Halo-Battle dans cette galaxie, <ins>vous devez impérativement</ins> <a href="'.$VAR['link']["operateur"].'">prendre contact avec un opérateur</a> afin que vos comptes ne soient pas considérés comme du multi-compte.<br /><br />Si vous vous connectez depuis un lieu public (cybercafé, aéroport, hôtel, wifi public, ...), vous pouvez prévenir <a href="'.$VAR['link']["operateur"].'">les opérateurs de la galaxie</a> afin que cette connexion ne soit pas considérée comme du multi-compte.<br /><br />Pour plus d\'informations, reportez-vous <a href="?p=regles#comptes">au chapitre <i>Comptes</i> des régles du jeu</a>.</div>');
unset($multi, $cnt, $joueurs);
?>

View file

@ -1,10 +1,16 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!empty($SESS->values['connected'])) $page = '../cms/vide';
else $page = 'vide';
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
if (!empty($SESS->values['connected'])) {
$page = '../cms/vide';
} else {
$page = 'vide';
}
$titre = 'Conditions générales d\'utilisation';
$template->assign('contenu','
$template->assign('contenu', '
<h1>Conditions générales pour le site Halo-Battle.s-fr.com</h1>
<div style="text-align: left; margin: 15px; font-size: 115%;">
<br />
@ -158,4 +164,3 @@ Halo-Battle.s-fr.com se réserve le droit de modifier ou d\'étendre les Conditi
<br /><h3 id="loi">X. Loi applicable</h3><br />
La législation française est appliquée en cas de recours légal.<br />
</div>');
?>

View file

@ -1,277 +1,261 @@
<?php
//On traite la demande de loggin de l'utilisateur
if ((isset($_GET['l']) && isset($_GET['p'])) || (isset($_POST['HB_login']) && isset($_POST['HB_password'])))
{
if (empty($_SERVER["HTTP_USER_AGENT"]))
$_SERVER["HTTP_USER_AGENT"] = "";
if ((isset($_GET['l']) && isset($_GET['p'])) || (isset($_POST['HB_login']) && isset($_POST['HB_password']))) {
if (empty($_SERVER["HTTP_USER_AGENT"])) {
$_SERVER["HTTP_USER_AGENT"] = "";
}
//Récupération des données POST ou GET
if (isset($_POST['HB_login']) && isset($_POST['HB_password']) && gpc('p') == 'connexion')
{
$HB_login = gpc('HB_login', 'post');
$HB_password = gpc('HB_password', 'post');
$HB_auth = hash("sha512", $HB_login.'Ņ♂↨'.$HB_password.'☻♫☼'.date('W!Y¨D@j').$_SERVER["HTTP_USER_AGENT"].$_SERVER["REMOTE_ADDR"]);
}
else
{
$HB_login = gpc('l');
if (is_numeric('0x'.gpc('p')))
$HB_password = cxor(hexstr(gpc('p')), date('WYDj'));
$HB_auth = gpc('a');
}
//Récupération des données POST ou GET
if (isset($_POST['HB_login']) && isset($_POST['HB_password']) && gpc('p') == 'connexion') {
$HB_login = gpc('HB_login', 'post');
$HB_password = gpc('HB_password', 'post');
$HB_auth = hash("sha512", $HB_login.'Ņ♂↨'.$HB_password.'☻♫☼'.date('W!Y¨D@j').$_SERVER["HTTP_USER_AGENT"].$_SERVER["REMOTE_ADDR"]);
} else {
$HB_login = gpc('l');
if (is_numeric('0x'.gpc('p'))) {
$HB_password = cxor(hexstr(gpc('p')), date('WYDj'));
}
$HB_auth = gpc('a');
}
if (empty($HB_login) || empty($HB_password))
{
$template->assign('message', $LANG['badNomMdp']);
$template->assign('couleur', 'red');
$template->display('cms/erreur.tpl');
exit;
}
elseif (hash("sha512", $HB_login.'Ņ♂↨'.$HB_password.'☻♫☼'.date('W!Y¨D@j').$_SERVER["HTTP_USER_AGENT"].$_SERVER["REMOTE_ADDR"]) != $HB_auth && hash("sha512", $HB_login.'Ņ♂↨'.$HB_password.'☻♫☼'.date('W!Y¨D@j', time()-300)) != $HB_auth)
{
$template->assign('message', $LANG['badAuthConnect'].'<br /><br />'.$LANG['contactAdmin']);
$template->assign('couleur', 'red');
$template->display('cms/erreur.tpl');
exit;
}
else
{
$ip = $_SERVER["REMOTE_ADDR"];
if (isset($_SERVER["HTTP_REFERER"]))
$referer = $_SERVER["HTTP_REFERER"];
else
$referer = "";
if (isset($_SERVER["HTTP_USER_AGENT"]))
$agent = $_SERVER["HTTP_USER_AGENT"];
else
$agent = "";
$activ_js = gpc("jsa", "post");
$cookies = gpc("hbsession", "cookie");
if (empty($HB_login) || empty($HB_password)) {
$template->assign('message', $LANG['badNomMdp']);
$template->assign('couleur', 'red');
$template->display('cms/erreur.tpl');
exit;
} elseif (hash("sha512", $HB_login.'Ņ♂↨'.$HB_password.'☻♫☼'.date('W!Y¨D@j').$_SERVER["HTTP_USER_AGENT"].$_SERVER["REMOTE_ADDR"]) != $HB_auth && hash("sha512", $HB_login.'Ņ♂↨'.$HB_password.'☻♫☼'.date('W!Y¨D@j', time()-300)) != $HB_auth) {
$template->assign('message', $LANG['badAuthConnect'].'<br /><br />'.$LANG['contactAdmin']);
$template->assign('couleur', 'red');
$template->display('cms/erreur.tpl');
exit;
} else {
$ip = $_SERVER["REMOTE_ADDR"];
if (isset($_SERVER["HTTP_REFERER"])) {
$referer = $_SERVER["HTTP_REFERER"];
} else {
$referer = "";
}
if (isset($_SERVER["HTTP_USER_AGENT"])) {
$agent = $_SERVER["HTTP_USER_AGENT"];
} else {
$agent = "";
}
$activ_js = gpc("jsa", "post");
$cookies = gpc("hbsession", "cookie");
/*if (!(empty($referer) || DEBUG || preg_match("#^http://(\w{1,4}\.)?halo-battle\.(fr|net|com|org|us|en)#", $referer, $osef)))
{
elog("Mauvais referer à la connexion : ".$referer." pour l'utilisateur : ".$HB_login." (ip : ".$ip.", agent : ".$agent.")", 2);
erreur("Alerte de sécurité !<br /><br />La requête de connexion ne provient pas d'un serveur authentique d'Halo-Battle.<br />Veuillez renouveler votre connexion sur un serveur officiel et <ins>changer d'urgence votre mot de passe de connexion</ins> !");
}
else*/if (empty($cookies))
erreur("Vous devez accepter les cookies pour vous connecter au jeu !");
elseif (empty($activ_js) || empty($referer))
{
$SESS->values["avert"] = 0;
if (empty($activ_js))
$SESS->values["avert"] += 1;
if (empty($referer))
$SESS->values["avert"] += 2;
}
unset($referer, $agent, $activ_js, $cookies);
/*if (!(empty($referer) || DEBUG || preg_match("#^http://(\w{1,4}\.)?halo-battle\.(fr|net|com|org|us|en)#", $referer, $osef)))
{
elog("Mauvais referer à la connexion : ".$referer." pour l'utilisateur : ".$HB_login." (ip : ".$ip.", agent : ".$agent.")", 2);
erreur("Alerte de sécurité !<br /><br />La requête de connexion ne provient pas d'un serveur authentique d'Halo-Battle.<br />Veuillez renouveler votre connexion sur un serveur officiel et <ins>changer d'urgence votre mot de passe de connexion</ins> !");
}
else*/if (empty($cookies)) {
erreur("Vous devez accepter les cookies pour vous connecter au jeu !");
} elseif (empty($activ_js) || empty($referer)) {
$SESS->values["avert"] = 0;
if (empty($activ_js)) {
$SESS->values["avert"] += 1;
}
if (empty($referer)) {
$SESS->values["avert"] += 2;
}
}
unset($referer, $agent, $activ_js, $cookies);
//Connexion à la base de données
if (!isset($bdd)) $bdd = new BDD();
else $bdd->reconnexion();
//Connexion à la base de données
if (!isset($bdd)) {
$bdd = new BDD();
} else {
$bdd->reconnexion();
}
//Sauvegarde du nombre d'essai pour éviter les brute-force
$bruteforce = $bdd->unique_query("SELECT nombre FROM securite_identification WHERE ip = '$ip';");
if ($bruteforce['nombre'] >= 10)
{
$fichier = fopen(ONYX."ban.xlist",'a+');
fwrite($fichier, $ip."\n\r");
fclose($fichier);
}
$bdd->escape($HB_login);
if (!($var = $bdd->unique_query("SELECT mdp_var, mdp, auth_level FROM $table_user WHERE pseudo = '$HB_login';")) || ($var["auth_level"] >= 4 && isset($_GET['HB_login'])))
{
if (isset($bruteforce['nombre']))
$bdd->query("UPDATE securite_identification SET nombre = nombre + 1 WHERE ip = '$ip';");
else
$bdd->query("INSERT INTO securite_identification VALUES ('$ip', '1', '".time()."');");
//Sauvegarde du nombre d'essai pour éviter les brute-force
$bruteforce = $bdd->unique_query("SELECT nombre FROM securite_identification WHERE ip = '$ip';");
if ($bruteforce['nombre'] >= 10) {
$fichier = fopen(ONYX."ban.xlist", 'a+');
fwrite($fichier, $ip."\n\r");
fclose($fichier);
}
$bdd->escape($HB_login);
if (!($var = $bdd->unique_query("SELECT mdp_var, mdp, auth_level FROM $table_user WHERE pseudo = '$HB_login';")) || ($var["auth_level"] >= 4 && isset($_GET['HB_login']))) {
if (isset($bruteforce['nombre'])) {
$bdd->query("UPDATE securite_identification SET nombre = nombre + 1 WHERE ip = '$ip';");
} else {
$bdd->query("INSERT INTO securite_identification VALUES ('$ip', '1', '".time()."');");
}
$bdd->deconnexion();
$template->assign('message', $LANG['badNomMdp']);
$template->assign('couleur','red');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="'.$VAR['link']['accueil'].'";\', 2500);</script>');
$template->display('cms/erreur.tpl');
exit;
}
$enligne = $bdd->unique_query("SELECT COUNT(session) AS enligne FROM sessions WHERE active = true AND var != '0';");
$bdd->deconnexion();
$bdd->deconnexion();
$template->assign('message', $LANG['badNomMdp']);
$template->assign('couleur', 'red');
$template->assign('script', '<script type="text/javascript">setTimeout(\'document.location.href="'.$VAR['link']['accueil'].'";\', 2500);</script>');
$template->display('cms/erreur.tpl');
exit;
}
$enligne = $bdd->unique_query("SELECT COUNT(session) AS enligne FROM sessions WHERE active = true AND var != '0';");
$bdd->deconnexion();
$HB_password = mdp($HB_login, $HB_password, $var['mdp_var']);
$HB_password = mdp($HB_login, $HB_password, $var['mdp_var']);
//Limiter le nombre de personnes en ligne simutanément
if ($enligne["enligne"] > 1500)
{
$template->assign('message', $LANG['servSature']);
$template->assign('couleur', 'red');
$template->display('cms/erreur.tpl');
exit;
}
//Limiter le nombre de personnes en ligne simutanément
if ($enligne["enligne"] > 1500) {
$template->assign('message', $LANG['servSature']);
$template->assign('couleur', 'red');
$template->display('cms/erreur.tpl');
exit;
}
//On actualise le nombre de joueur en ligne si besoin
if (abs($enligne["enligne"]-$header['count'][3]) > 6)
Cache::del('headerNB');
//On actualise le nombre de joueur en ligne si besoin
if (abs($enligne["enligne"]-$header['count'][3]) > 6) {
Cache::del('headerNB');
}
unset($bruteforce, $fichier);
$time = time();
unset($bruteforce, $fichier);
$time = time();
$bdd->reconnexion();
$bdd->escape($HB_password);
$bdd->reconnexion();
$bdd->escape($HB_password);
//On vérifie que la requête ne provienne pas d'un proxy
$proxy = $bdd->unique_query("SELECT ip FROM proxy_list WHERE ip LIKE '$ip' LIMIT 1;");
$resultat = $bdd->unique_query("SELECT id, race, mv, last_visite, auth_level, raisonmv FROM $table_user WHERE pseudo = '$HB_login' AND mdp = '$HB_password';");
//On vérifie que la requête ne provienne pas d'un proxy
$proxy = $bdd->unique_query("SELECT ip FROM proxy_list WHERE ip LIKE '$ip' LIMIT 1;");
$resultat = $bdd->unique_query("SELECT id, race, mv, last_visite, auth_level, raisonmv FROM $table_user WHERE pseudo = '$HB_login' AND mdp = '$HB_password';");
if ($proxy)
{
erreur("Utilisation de proxy détectée !");
}
elseif ($resultat)
{
$id = $resultat['id'];
$reqPlan = $bdd->query("SELECT id, file_bat, file_tech, file_cas, file_vais, file_ter, timestamp FROM $table_planete WHERE id_user = '$id' ORDER BY id ASC;");
$resultatP = $reqPlan[0];
$race = $resultat['race'];
if ($proxy) {
erreur("Utilisation de proxy détectée !");
} elseif ($resultat) {
$id = $resultat['id'];
$reqPlan = $bdd->query("SELECT id, file_bat, file_tech, file_cas, file_vais, file_ter, timestamp FROM $table_planete WHERE id_user = '$id' ORDER BY id ASC;");
$resultatP = $reqPlan[0];
$race = $resultat['race'];
if (!$reqPlan)
{
$template->assign('message', $LANG['badPlanete']);
$template->assign('couleur', 'red');
$template->display('cms/erreur.tpl');
exit;
}
if (!$reqPlan) {
$template->assign('message', $LANG['badPlanete']);
$template->assign('couleur', 'red');
$template->display('cms/erreur.tpl');
exit;
}
if ($resultat['mv'] > 0)
{
if (($resultat['last_visite'] + 259200 > time() || $resultat['mv'] == 3) && $resultat['auth_level'] < 2)
{
if ($resultat['mv'] == 3)
$template->assign('message', sprintf($LANG['banInf'], $resultat['raisonmv']));
elseif ($resultat['mv'] == 2)
$template->assign('message', sprintf($LANG['banVac'], $resultat['raisonmv'], strftime("%A %d %B à %H:%M", $resultat['last_visite']+259200)));
else
$template->assign('message', sprintf($LANG['modVac'], strftime("%A %d %B à %H:%M", $resultat['last_visite']+259200)));
if ($resultat['mv'] > 0) {
if (($resultat['last_visite'] + 259200 > time() || $resultat['mv'] == 3) && $resultat['auth_level'] < 2) {
if ($resultat['mv'] == 3) {
$template->assign('message', sprintf($LANG['banInf'], $resultat['raisonmv']));
} elseif ($resultat['mv'] == 2) {
$template->assign('message', sprintf($LANG['banVac'], $resultat['raisonmv'], strftime("%A %d %B à %H:%M", $resultat['last_visite']+259200)));
} else {
$template->assign('message', sprintf($LANG['modVac'], strftime("%A %d %B à %H:%M", $resultat['last_visite']+259200)));
}
$template->assign('couleur', 'red');
$template->display('cms/erreur.tpl');
exit;
}
$template->assign('couleur', 'red');
$template->display('cms/erreur.tpl');
exit;
}
$bdd->query("UPDATE $table_user SET mv = 0 WHERE id = $id;");
$bdd->query("UPDATE $table_planete SET timestamp = '".$time."' WHERE id_user = $id;");
$bdd->deconnexion();
$bdd->query("UPDATE $table_user SET mv = 0 WHERE id = $id;");
$bdd->query("UPDATE $table_planete SET timestamp = '".$time."' WHERE id_user = $id;");
$bdd->deconnexion();
//On fait repartir à 0 les files d'attente
include_once("game/vars.php");
include_once("game/Class/class.file.php");
include_once("game/Class/class.user.php");
include_once("game/Class/class.planete.php");
//On fait repartir à 0 les files d'attente
include_once("game/vars.php");
include_once("game/Class/class.file.php");
include_once("game/Class/class.user.php");
include_once("game/Class/class.planete.php");
foreach ($reqPlan as $plan)
{
if (!empty($plan['file_bat']))
{
$file = unserialize($plan['file_bat']);
$fileBat = $file->reajusteVacances($plan['timestamp']);
}
else
$fileBat = '';
if (!empty($plan['file_tech']))
{
$file = unserialize($plan['file_tech']);
$fileTech = $file->reajusteVacances($plan['timestamp']);
}
else
$fileTech = '';
if (!empty($plan['file_cas']))
{
$file = unserialize($plan['file_cas']);
$fileCas = $file->reajusteVacances($plan['timestamp']);
}
else
$fileCas = '';
if (!empty($plan['file_vais']))
{
$file = unserialize($plan['file_vais']);
$fileVais = $file->reajusteVacances($plan['timestamp']);
}
else
$fileVais = '';
if (!empty($plan['file_ter']))
{
$file = unserialize($plan['file_ter']);
$fileTer = $file->reajusteVacances($plan['timestamp']);
}
else
$fileTer = '';
foreach ($reqPlan as $plan) {
if (!empty($plan['file_bat'])) {
$file = unserialize($plan['file_bat']);
$fileBat = $file->reajusteVacances($plan['timestamp']);
} else {
$fileBat = '';
}
if (!empty($plan['file_tech'])) {
$file = unserialize($plan['file_tech']);
$fileTech = $file->reajusteVacances($plan['timestamp']);
} else {
$fileTech = '';
}
if (!empty($plan['file_cas'])) {
$file = unserialize($plan['file_cas']);
$fileCas = $file->reajusteVacances($plan['timestamp']);
} else {
$fileCas = '';
}
if (!empty($plan['file_vais'])) {
$file = unserialize($plan['file_vais']);
$fileVais = $file->reajusteVacances($plan['timestamp']);
} else {
$fileVais = '';
}
if (!empty($plan['file_ter'])) {
$file = unserialize($plan['file_ter']);
$fileTer = $file->reajusteVacances($plan['timestamp']);
} else {
$fileTer = '';
}
$bdd->reconnexion();
$bdd->escape($fileBat);
$bdd->escape($fileTech);
$bdd->escape($fileCas);
$bdd->escape($fileVais);
$bdd->escape($fileTer);
$bdd->query("UPDATE $table_planete SET file_bat = '$fileBat', file_tech = '$fileTech', file_cas = '$fileCas', file_vais = '$fileVais', file_ter = '$fileTer' WHERE id = ".$plan['id'].";");
$bdd->deconnexion();
$bdd->reconnexion();
$bdd->escape($fileBat);
$bdd->escape($fileTech);
$bdd->escape($fileCas);
$bdd->escape($fileVais);
$bdd->escape($fileTer);
$bdd->query("UPDATE $table_planete SET file_bat = '$fileBat', file_tech = '$fileTech', file_cas = '$fileCas', file_vais = '$fileVais', file_ter = '$fileTer' WHERE id = ".$plan['id'].";");
$bdd->deconnexion();
//On met à jour la planète pour tout le reste
$plan = new Planete($plan['id'], true);
$plan->actualiser();
}
}
//On met à jour toutes les planètes si le nombre de joueurs n'est pas trop important
elseif ($enligne["enligne"] < 400)
{
$bdd->deconnexion();
require_once("donnees.php");
include_once("Class/user.php");
include_once("Class/planete.php");
//On met à jour la planète pour tout le reste
$plan = new Planete($plan['id'], true);
$plan->actualiser();
}
}
//On met à jour toutes les planètes si le nombre de joueurs n'est pas trop important
elseif ($enligne["enligne"] < 400) {
$bdd->deconnexion();
require_once("donnees.php");
include_once("Class/user.php");
include_once("Class/planete.php");
foreach ($reqPlan as $plan)
{
$plan = new Planete($plan['id'], true);
}
}
foreach ($reqPlan as $plan) {
$plan = new Planete($plan['id'], true);
}
}
unset($plan, $enligne);
unset($plan, $enligne);
$bdd->reconnexion();
$bdd->query("UPDATE $table_user SET last_visite = $time, last_ip = '$ip' WHERE id = $id;");
$bdd->query("INSERT INTO $table_registre_identification (id_util, ip) VALUES (".$id.",'".$ip."');");
$multi = $bdd->unique_query("SELECT COUNT(*) FROM $table_registre_identification WHERE ip = '$ip' GROUP BY ip, id_util;");
$message = $bdd->unique_query("SELECT time FROM $table_messages_demarrage ORDER BY time DESC LIMIT 1;");
$bdd->deconnexion();
$bdd->reconnexion();
$bdd->query("UPDATE $table_user SET last_visite = $time, last_ip = '$ip' WHERE id = $id;");
$bdd->query("INSERT INTO $table_registre_identification (id_util, ip) VALUES (".$id.",'".$ip."');");
$multi = $bdd->unique_query("SELECT COUNT(*) FROM $table_registre_identification WHERE ip = '$ip' GROUP BY ip, id_util;");
$message = $bdd->unique_query("SELECT time FROM $table_messages_demarrage ORDER BY time DESC LIMIT 1;");
$bdd->deconnexion();
$SESS->values['connected'] = TRUE;
$SESS->values['id'] = $resultat['id'];
$SESS->values['race'] = $resultat['race'];
$SESS->values['idPlan'] = $resultatP['id'];
$SESS->values['idAsteroide'] = 0;
$SESS->values['connected'] = true;
$SESS->values['id'] = $resultat['id'];
$SESS->values['race'] = $resultat['race'];
$SESS->values['idPlan'] = $resultatP['id'];
$SESS->values['idAsteroide'] = 0;
//Si on détecte le multi-compte, on interdit l'accès au panneau d'admin
//if (empty($multi))
// $SESS->level = 1;
//else
$SESS->level = $resultat['auth_level'];
//Si on détecte le multi-compte, on interdit l'accès au panneau d'admin
//if (empty($multi))
// $SESS->level = 1;
//else
$SESS->level = $resultat['auth_level'];
$SESS->put($resultat['id']);
$SESS->put($resultat['id']);
if (!empty($resultat['last_visite']) && $message['time'] > $resultat['last_visite'])
redirection('./'.$VAR['first_page'].'?p=demarrage');
//elseif (empty($multi))
// redirection('./'.$VAR['first_page'].'?p=avertmulti');
else
redirection('./'.$VAR['first_page'].'?p=accueil');
}
else
{
$bdd->deconnexion();
if (!empty($resultat['last_visite']) && $message['time'] > $resultat['last_visite']) {
redirection('./'.$VAR['first_page'].'?p=demarrage');
}
//elseif (empty($multi))
// redirection('./'.$VAR['first_page'].'?p=avertmulti');
else {
redirection('./'.$VAR['first_page'].'?p=accueil');
}
} else {
$bdd->deconnexion();
$template->assign('message', $LANG['badNomMdp']);
$template->assign('couleur', 'red');
$template->assign('script', '<script type="text/javascript">setTimeout(\'document.location.href="'.$VAR['link']['accueil'].'";\', 2500);</script>');
$template->display('cms/erreur.tpl');
exit;
}
}
$template->assign('message', $LANG['badNomMdp']);
$template->assign('couleur', 'red');
$template->assign('script', '<script type="text/javascript">setTimeout(\'document.location.href="'.$VAR['link']['accueil'].'";\', 2500);</script>');
$template->display('cms/erreur.tpl');
exit;
}
}
}
?>

View file

@ -1,5 +1,8 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$page = 'vide';
$bdd->reconnexion();
@ -9,4 +12,3 @@ $titre = $message['titre'];
$template->assign('contenu', '<p style="margin: 0 5px; text-align: center;">'.bbcode(nl2br($message['contenu']), 1).'<br /></p><h3><a class="submit" href="?p=accueil">Continuer</a></h3>');
unset($message);
?>

View file

@ -1,5 +1,8 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$titre = 'Destinations rapides';
$a = gpc('a');
@ -9,52 +12,50 @@ $pos = gpc('pos', 'post');
//Suppression d'une destination rapide
if (!empty($a)) {
$d = gpc('d');
if (!empty($d) && $a == md5(date('AG').'@'.$d)) {
$f = array_keys($planete->destinationsFavoris, $d);
unset($planete->destinationsFavoris[$f[0]]);
$bdd->reconnexion();
$bdd->query("UPDATE $table_user SET destinationsFavoris = '".serialize($planete->destinationsFavoris)."' WHERE id = $id_user;");
$bdd->deconnexion();
}
header('Location: ?p=destinationsrapides');
exit;
$d = gpc('d');
if (!empty($d) && $a == md5(date('AG').'@'.$d)) {
$f = array_keys($planete->destinationsFavoris, $d);
unset($planete->destinationsFavoris[$f[0]]);
$bdd->reconnexion();
$bdd->query("UPDATE $table_user SET destinationsFavoris = '".serialize($planete->destinationsFavoris)."' WHERE id = $id_user;");
$bdd->deconnexion();
}
header('Location: ?p=destinationsrapides');
exit;
}
//Ajout d'une destination rapide
elseif (!empty($amas) && !empty($ss) && !empty($pos)) {
$bdd->reconnexion();
$plan = $bdd->unique_query("SELECT id FROM $table_planete WHERE galaxie = $amas AND ss = $ss AND position = $pos;");
if ($plan) {
if (in_array($plan['id'], $planete->destinationsFavoris)) {
$bdd->deconnexion();
erreur('Cette planète est déjà dans vos destinations rapides.', "red", '?p=destinationsrapides');
}
$planete->destinationsFavoris[] = $plan['id'];
$bdd->query("UPDATE $table_user SET destinationsFavoris = '".serialize($planete->destinationsFavoris)."' WHERE id = $id_user;");
}
else {
$bdd->deconnexion();
erreur('Impossible d\'ajouter cette planète, elle n\'est pas habitée !', "red", '?p=destinationsrapides');
}
$bdd->deconnexion();
$bdd->reconnexion();
$plan = $bdd->unique_query("SELECT id FROM $table_planete WHERE galaxie = $amas AND ss = $ss AND position = $pos;");
if ($plan) {
if (in_array($plan['id'], $planete->destinationsFavoris)) {
$bdd->deconnexion();
erreur('Cette planète est déjà dans vos destinations rapides.', "red", '?p=destinationsrapides');
}
$planete->destinationsFavoris[] = $plan['id'];
$bdd->query("UPDATE $table_user SET destinationsFavoris = '".serialize($planete->destinationsFavoris)."' WHERE id = $id_user;");
} else {
$bdd->deconnexion();
erreur('Impossible d\'ajouter cette planète, elle n\'est pas habitée !', "red", '?p=destinationsrapides');
}
$bdd->deconnexion();
header('Location: ?p=destinationsrapides');
exit;
header('Location: ?p=destinationsrapides');
exit;
}
//Affichage de la liste des destinations rapides
else {
$page = 'destinsrapid';
$page = 'destinsrapid';
$destins = array();
$bdd->reconnexion();
foreach($planete->destinationsFavoris as $fav){
$res = $bdd->unique_query("SELECT nom_planete, galaxie, ss, position FROM $table_planete WHERE id = ".$fav.";");
if ($res != false) {
$destins[] = array($fav, $res['nom_planete'], '['.$res['galaxie'].':'.$res['ss'].':'.$res['position'].']', md5(date('AG').'@'.$fav));
}
}
$bdd->deconnexion();
$template->assign('destins', $destins);
$destins = array();
$bdd->reconnexion();
foreach ($planete->destinationsFavoris as $fav) {
$res = $bdd->unique_query("SELECT nom_planete, galaxie, ss, position FROM $table_planete WHERE id = ".$fav.";");
if ($res != false) {
$destins[] = array($fav, $res['nom_planete'], '['.$res['galaxie'].':'.$res['ss'].':'.$res['position'].']', md5(date('AG').'@'.$fav));
}
}
$bdd->deconnexion();
$template->assign('destins', $destins);
}
unset($a, $amas, $ss, $pos, $destins, $res, $fav);
?>

View file

@ -1,181 +1,185 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
require_once("Class/phpmailer.php");
$page = 'inscription';
$erreurs = '';
$inscriptOk = true;
if (isset($_POST['HB_pseudo']) && isset($_POST['HB_mdp']) && isset($_POST['HB_conf']) && isset($_POST['HB_mail']) && isset($_POST['servers']) && isset($_POST['HB_captcha']) && isset($_POST['HB_placement'])) {
$pseudo = htmlentities($_POST['HB_pseudo']);
$mdp = $_POST['HB_mdp'];
$codeact = strtolower(gpc('codeact', 'post'));
$mdpconf = $_POST['HB_conf'];
$mail = htmlentities($_POST['HB_mail']);
if (!isset($_POST['race'])) $_POST['race'] = '';
$race = htmlentities($_POST['race']);
$server = htmlentities($_POST['servers']);
$captcha = htmlentities($_POST['HB_captcha']);
$placement = htmlentities($_POST['HB_placement']);
if (!isset($_POST['regles'])) $_POST['regles'] = '';
$regles = htmlentities($_POST['regles']);
$pseudo = htmlentities($_POST['HB_pseudo']);
$mdp = $_POST['HB_mdp'];
$codeact = strtolower(gpc('codeact', 'post'));
$mdpconf = $_POST['HB_conf'];
$mail = htmlentities($_POST['HB_mail']);
if (!isset($_POST['race'])) {
$_POST['race'] = '';
}
$race = htmlentities($_POST['race']);
$server = htmlentities($_POST['servers']);
$captcha = htmlentities($_POST['HB_captcha']);
$placement = htmlentities($_POST['HB_placement']);
if (!isset($_POST['regles'])) {
$_POST['regles'] = '';
}
$regles = htmlentities($_POST['regles']);
$base = new BDD();
$base->escape($pseudo);
$base->escape($codeact);
$base->escape($mail);
$base->escape($race);
$base->escape($server);
$base->escape($captcha);
$base->escape($placement);
$base->escape($regles);
$base = new BDD();
$base->escape($pseudo);
$base->escape($codeact);
$base->escape($mail);
$base->escape($race);
$base->escape($server);
$base->escape($captcha);
$base->escape($placement);
$base->escape($regles);
//Béta et code d'activation
if (false) {
$reponsecds = $base->unique_query("SELECT * FROM cds_beta WHERE code LIKE '$codeact' AND utilise = 0;");
if (empty($reponsecds)) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Le code d\'activation est incorrect ou est déjà utilisé !</p><br />';
}
}
//Béta et code d'activation
if (false) {
$reponsecds = $base->unique_query("SELECT * FROM cds_beta WHERE code LIKE '$codeact' AND utilise = 0;");
if (empty($reponsecds)) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Le code d\'activation est incorrect ou est déjà utilisé !</p><br />';
}
}
//Vérification relative au pseudo : caractéres utilisés + disponibilité
if (addslashes(preg_replace('@[^a-zA-Z0-9_]@i', '', $pseudo)) != $pseudo || $pseudo == '') {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Le pseudo contient des caractères incorrects.</b><br />Les caractères autorisés sont les lettres minuscules ou majuscules de A à Z sans les accents, ainsi que les chiffres et les caractères . _</p><br />';
}
else {
$result = $base->query("SELECT pseudo FROM user_inscriptions WHERE pseudo = '$pseudo';");
if ($base->num_rows >= 1) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Le pseudo est déjà utilisé par un joueur.</b><br />Vous devez choisir un autre pseudo.</p><br />';
}
}
//Vérification relative au pseudo : caractéres utilisés + disponibilité
if (addslashes(preg_replace('@[^a-zA-Z0-9_]@i', '', $pseudo)) != $pseudo || $pseudo == '') {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Le pseudo contient des caractères incorrects.</b><br />Les caractères autorisés sont les lettres minuscules ou majuscules de A à Z sans les accents, ainsi que les chiffres et les caractères . _</p><br />';
} else {
$result = $base->query("SELECT pseudo FROM user_inscriptions WHERE pseudo = '$pseudo';");
if ($base->num_rows >= 1) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Le pseudo est déjà utilisé par un joueur.</b><br />Vous devez choisir un autre pseudo.</p><br />';
}
}
//Vérification du mot de passe :
if ($mdp == '' || $mdp != $mdpconf) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Mots de passe différents ou ne comportant pas assez de caractères</b><br />Vous devez impérativement choisir un mot de passe pour sécuriser votre compte. Si vous avez spécifié un mot de passe, il se peut que vous n\'ayez pas indiqué le même mot de passe dans la case de confirmation.</p><br />';
}
if (strlen($mdp) < 6) { //Longueur minimale du mdp
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Mot de passe trop court</b><br />Votre mot de passe doit contenir au minimum 6 caractères</p><br />';
}
//Vérification du mot de passe :
if ($mdp == '' || $mdp != $mdpconf) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Mots de passe différents ou ne comportant pas assez de caractères</b><br />Vous devez impérativement choisir un mot de passe pour sécuriser votre compte. Si vous avez spécifié un mot de passe, il se peut que vous n\'ayez pas indiqué le même mot de passe dans la case de confirmation.</p><br />';
}
if (strlen($mdp) < 6) { //Longueur minimale du mdp
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Mot de passe trop court</b><br />Votre mot de passe doit contenir au minimum 6 caractères</p><br />';
}
//Vérification de la longueur de nom
if (strlen($pseudo) < 3) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Pseudo trop court</b><br />Votre pseudo doit contenir au minimum 4 caractères</p><br />';
}
elseif (strlen($pseudo) > 20) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Pseudo trop long</b><br />Votre pseudo doit contenir au maximum 19 caractères</p><br />';
}
//Vérification de la longueur de nom
if (strlen($pseudo) < 3) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Pseudo trop court</b><br />Votre pseudo doit contenir au minimum 4 caractères</p><br />';
} elseif (strlen($pseudo) > 20) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Pseudo trop long</b><br />Votre pseudo doit contenir au maximum 19 caractères</p><br />';
}
//Vérification relative au mail : caractéres utilisés + disponibilité
if (!preg_match('#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i', $mail) || empty($mail)) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>L\'adresse électronique n\'est pas valide.</b><br />L\'adresse électronique que vous avez tappé est invalide ou contient des caractères interdits, recommencez.</p><br />';
}
else {
$result = $base->query("SELECT mail FROM user_inscriptions WHERE mail = '$mail';");
if($base->num_rows >= 1) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>L\'adresse électronique que vous avez indiqué est déjà associée à un compte.</b><br>Vous devez choisir une autre adresse électronique.</p><br />';
}
}
//Vérification relative au mail : caractéres utilisés + disponibilité
if (!preg_match('#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i', $mail) || empty($mail)) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>L\'adresse électronique n\'est pas valide.</b><br />L\'adresse électronique que vous avez tappé est invalide ou contient des caractères interdits, recommencez.</p><br />';
} else {
$result = $base->query("SELECT mail FROM user_inscriptions WHERE mail = '$mail';");
if ($base->num_rows >= 1) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>L\'adresse électronique que vous avez indiqué est déjà associée à un compte.</b><br>Vous devez choisir une autre adresse électronique.</p><br />';
}
}
//Vérification de la race choisie
if ($race != 'covenant' && $race != 'humain') {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Aucune race choisie</b><br />Vous devez choisir la race que vous désirez incarner dans le jeu.</p><br />';
}
//Vérification de la race choisie
if ($race != 'covenant' && $race != 'humain') {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Aucune race choisie</b><br />Vous devez choisir la race que vous désirez incarner dans le jeu.</p><br />';
}
//Vérification du serveur
if (is_numeric($server) && $server > 1) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Galaxie incorrecte</b><br />Vous devez choisir une galaxie (un serveur) dans la liste ci-dessous pour pouvoir jouer.</p><br />';
}
//Vérification du serveur
if (is_numeric($server) && $server > 1) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Galaxie incorrecte</b><br />Vous devez choisir une galaxie (un serveur) dans la liste ci-dessous pour pouvoir jouer.</p><br />';
}
//Vérification du partenaire
if (!empty($placement)) {
$result = $base->unique_query("SELECT pseudo FROM user_inscriptions WHERE pseudo = '$placement';");
if(!$result) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Impossible de trouver le joueur ami.</b><br />Vous devez choisir un autre pseudo.</p><br />';
}
}
//Vérification du partenaire
if (!empty($placement)) {
$result = $base->unique_query("SELECT pseudo FROM user_inscriptions WHERE pseudo = '$placement';");
if (!$result) {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Impossible de trouver le joueur ami.</b><br />Vous devez choisir un autre pseudo.</p><br />';
}
}
//Vérification du captcha
if (empty($SESS->values['_captcha']) || empty($captcha) || $SESS->values['_captcha'] != strtolower($captcha)) {
$inscriptOk = false;
$erreurs .= '<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 />';
}
//Vérification du captcha
if (empty($SESS->values['_captcha']) || empty($captcha) || $SESS->values['_captcha'] != strtolower($captcha)) {
$inscriptOk = false;
$erreurs .= '<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 />';
}
//Vérification du captcha
if (empty($regles) || $regles != '1') {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Vous devez accepter les conditions générales</b><br />';
}
//Vérification du captcha
if (empty($regles) || $regles != '1') {
$inscriptOk = false;
$erreurs .= '<p style="color: #FF0000"><b>Vous devez accepter les conditions générales</b><br />';
}
if ($inscriptOk) {
$time = time();
$ip = $_SERVER["REMOTE_ADDR"];
if ($inscriptOk) {
$time = time();
$ip = $_SERVER["REMOTE_ADDR"];
// Activer la ligne suivante pour crypter les mots de passe dans la base de données
//$mdp = sha1(strtoupper($pseudo).':'.$mdp); // Cryptage du mot de passe pour éviter le piratage de compte
$mdp = cxor($mdp, sha1($pseudo.'£'.$race));
// Activer la ligne suivante pour crypter les mots de passe dans la base de données
//$mdp = sha1(strtoupper($pseudo).':'.$mdp); // Cryptage du mot de passe pour éviter le piratage de compte
$mdp = cxor($mdp, sha1($pseudo.'£'.$race));
$id_activ = sha1('H'.rand().'/|\\'.rand().'B£');
$Nmail = $mail;
$id_activ = sha1('H'.rand().'/|\\'.rand().'B£');
$Nmail = $mail;
//On envoie le mail de confirmation
$mail = new PHPMailer();
$mail->SetLanguage('fr', ONYX."/include/Class/");
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->Host='thot.pomail.fr';
$mail->From='no-reply@halo-battle.fr';
$mail->FromName='Halo-Battle';
//$mail->SMTPAuth=true;
//$mail->Username='no-reply@halo-battle.s-fr.com';
//$mail->Password='hD3e2nXu';
//On envoie le mail de confirmation
$mail = new PHPMailer();
$mail->SetLanguage('fr', ONYX."/include/Class/");
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->Host='thot.pomail.fr';
$mail->From='no-reply@halo-battle.fr';
$mail->FromName='Halo-Battle';
//$mail->SMTPAuth=true;
//$mail->Username='no-reply@halo-battle.s-fr.com';
//$mail->Password='hD3e2nXu';
$mail->AddAddress($Nmail);
$mail->AddReplyTo('no-reply@halo-battle.fr');
$mail->Subject='Halo-Battle :: Activation de votre compte';
$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 :: Activation de votre compte</title></head><body><p>Bonjour '.$pseudo.',<br />Vous recevez ce mail suite &aacute; votre demande d\'inscription sur le jeu <a href="http://'.$_SERVER['HTTP_HOST'].'/">Halo-Battle</a>. Pour confirmer votre adresse mail et ainsi pouvoir acc&eacute;der au jeu, cliquez sur le lien ci-apr&egrave;s :<br /><a href="http://'.$_SERVER['HTTP_HOST'].'/?p=validation&i='.$id_activ.'">http://'.$_SERVER['HTTP_HOST'].'/?p=validation&i='.$id_activ.'</a><br /><br />A bient&ocirc;t dans Halo-Battle,<br />Le staff</p></body></html>';
//$mail->Subject='Halo-Battle :: Pre-Inscription';
//$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 :: Pr&eacute;-Inscription</title></head><body><p>F&eacute;licitations '.$pseudo.' !<br />Votre compte vient d&#39;&ecirc;tre enregistr&eacute; sur notre serveur. Un mail de confirmation vous sera envoy&eacute; lors de la sortie du jeu en ligne Halo-Battle. Si vous ne recevez pas l\'email de confirmation, <a href="mailto:technique@halo-battle.s-fr.com">contactez un administrateur</a>.<br /><br />A tr&egrave;s bient&ocirc;t pour la sortie d&#39;Halo-Battle !</p></body></html>';
$mail->AddAddress($Nmail);
$mail->AddReplyTo('no-reply@halo-battle.fr');
$mail->Subject='Halo-Battle :: Activation de votre compte';
$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 :: Activation de votre compte</title></head><body><p>Bonjour '.$pseudo.',<br />Vous recevez ce mail suite &aacute; votre demande d\'inscription sur le jeu <a href="http://'.$_SERVER['HTTP_HOST'].'/">Halo-Battle</a>. Pour confirmer votre adresse mail et ainsi pouvoir acc&eacute;der au jeu, cliquez sur le lien ci-apr&egrave;s :<br /><a href="http://'.$_SERVER['HTTP_HOST'].'/?p=validation&i='.$id_activ.'">http://'.$_SERVER['HTTP_HOST'].'/?p=validation&i='.$id_activ.'</a><br /><br />A bient&ocirc;t dans Halo-Battle,<br />Le staff</p></body></html>';
//$mail->Subject='Halo-Battle :: Pre-Inscription';
//$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 :: Pr&eacute;-Inscription</title></head><body><p>F&eacute;licitations '.$pseudo.' !<br />Votre compte vient d&#39;&ecirc;tre enregistr&eacute; sur notre serveur. Un mail de confirmation vous sera envoy&eacute; lors de la sortie du jeu en ligne Halo-Battle. Si vous ne recevez pas l\'email de confirmation, <a href="mailto:technique@halo-battle.s-fr.com">contactez un administrateur</a>.<br /><br />A tr&egrave;s bient&ocirc;t pour la sortie d&#39;Halo-Battle !</p></body></html>';
if (DEV) {
$ret = true;
} else {
$ret = $mail->Send();
}
if (DEV) {
$ret = true;
} else {
$ret = $mail->Send();
}
if(!$ret){
$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.fr">contactez un administrateur</a>.');
$template->assign('couleur','red');
$template->display('cms/erreur.tpl');
exit;
}
else{
//Si on a un code d'activation, on l'annule
if (!empty($reponsecds)) $base->query("UPDATE cds_beta SET utilise = 1, user = '$pseudo' WHERE code = '$codeact';");
if (!$ret) {
$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.fr">contactez un administrateur</a>.');
$template->assign('couleur', 'red');
$template->display('cms/erreur.tpl');
exit;
} else {
//Si on a un code d'activation, on l'annule
if (!empty($reponsecds)) {
$base->query("UPDATE cds_beta SET utilise = 1, user = '$pseudo' WHERE code = '$codeact';");
}
$base->query("INSERT INTO user_inscriptions (id_activ, pseudo, race, mdp, mail, last_ip, placement, time_inscription, last_visite) VALUES ('$id_activ', '$pseudo', '$race', '$mdp', '$Nmail', '$ip', '$placement', '$time', '$time');");
$template->assign('message','F&eacute;licitations, votre compte vient d\'être cr&eacute;&eacute; sur le serveur '.$server.' de Halo-Battle.<br /><br />Un courriel de confirmation vient d\'être envoy&eacute; à votre adresse &eacute;lectronique afin de valider votre inscription au jeu en ligne Halo-Battle.<br /><br />N\'attendez-plus, commencez le combat dès à pr&eacute;sent !');
$template->assign('couleur','green');
$template->display('cms/erreur.tpl');
exit;
}
$mail->SmtpClose();
unset($mail);
}
$base->deconnexion();
$base->query("INSERT INTO user_inscriptions (id_activ, pseudo, race, mdp, mail, last_ip, placement, time_inscription, last_visite) VALUES ('$id_activ', '$pseudo', '$race', '$mdp', '$Nmail', '$ip', '$placement', '$time', '$time');");
$template->assign('message', 'F&eacute;licitations, votre compte vient d\'être cr&eacute;&eacute; sur le serveur '.$server.' de Halo-Battle.<br /><br />Un courriel de confirmation vient d\'être envoy&eacute; à votre adresse &eacute;lectronique afin de valider votre inscription au jeu en ligne Halo-Battle.<br /><br />N\'attendez-plus, commencez le combat dès à pr&eacute;sent !');
$template->assign('couleur', 'green');
$template->display('cms/erreur.tpl');
exit;
}
$mail->SmtpClose();
unset($mail);
}
$base->deconnexion();
}
$template->assign('erreurs',$erreurs);
$template->assign('erreurs', $erreurs);
$template->assign('listegalaxies_nom', $VAR['serveur_name']);
$template->assign('listegalaxies_type', "");
?>

View file

@ -1,17 +1,16 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$SESS->values['connected'] = FALSE;
$SESS->values['connected'] = false;
$SESS->close();
if (!empty($HB_login))
{
redirection($_SERVER["REQUEST_URI"]);
exit('HALO-BATTLE<br /><br />A bientôt !<br />See you soon !');
}
else
{
redirection($VAR['first_page']);
exit('HALO-BATTLE<br /><br />A bientôt !<br />See you soon !');
}
?>
if (!empty($HB_login)) {
redirection($_SERVER["REQUEST_URI"]);
exit('HALO-BATTLE<br /><br />A bientôt !<br />See you soon !');
} else {
redirection($VAR['first_page']);
exit('HALO-BATTLE<br /><br />A bientôt !<br />See you soon !');
}

View file

@ -1,5 +1,8 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$page = 'messagerie';
$titre = 'Messagerie';
$template->assign("link_P", "messagerie");
@ -9,160 +12,161 @@ $template->assign("titreR", $titre);
//if (!empty($sess->values['souscontrole'][0]))
// erreur('Vous êtes en mode prise de contrôle, vous ne pouvez pas accèder aux messages privés des joueurs.');
if ($id = intval(gpc('avertir')))
{
$bdd->reconnexion();
$bdd->query("UPDATE $table_mail SET statut = 1 WHERE destinataire = ".$planete->id_user." AND id = $id;");
if ($bdd->affected())
erreur('La demande de vérification de contenu par les opérateurs a été transmise avec succès.', 'green', '?p=messagerie');
else
erreur('Une demande est déjà en cours ou vous n\'êtes pas autorisé à avertir ce message.', 'red', '?p=messagerie');
$bdd->deconnexion();
if ($id = intval(gpc('avertir'))) {
$bdd->reconnexion();
$bdd->query("UPDATE $table_mail SET statut = 1 WHERE destinataire = ".$planete->id_user." AND id = $id;");
if ($bdd->affected()) {
erreur('La demande de vérification de contenu par les opérateurs a été transmise avec succès.', 'green', '?p=messagerie');
} else {
erreur('Une demande est déjà en cours ou vous n\'êtes pas autorisé à avertir ce message.', 'red', '?p=messagerie');
}
$bdd->deconnexion();
}
//On récupére l'onglet demandé
$onglet = gpc("n");
//Option de jeu : Afficher les rapports en premier et non pas les MP
if (empty($onglet) && $planete->options & 16)
$onglet = $_GET["n"] = "rapports";
if (empty($onglet) && $planete->options & 16) {
$onglet = $_GET["n"] = "rapports";
}
$template->assign('onglet', $onglet);
if ($onglet == "rapports")
{
//Demande de supression des messages
if (!empty($_POST))
{
$bdd->reconnexion();
foreach($_POST as $value)
$bdd->query("UPDATE $table_mail SET vu = 's' WHERE destinataire = ".$planete->id_user." AND id = ".intval($value).";");
$bdd->deconnexion();
if ($onglet == "rapports") {
//Demande de supression des messages
if (!empty($_POST)) {
$bdd->reconnexion();
foreach ($_POST as $value) {
$bdd->query("UPDATE $table_mail SET vu = 's' WHERE destinataire = ".$planete->id_user." AND id = ".intval($value).";");
}
$bdd->deconnexion();
header('Location: ?p=messagerie&n='.$onglet);
exit;
}
header('Location: ?p=messagerie&n='.$onglet);
exit;
}
$bdd->reconnexion();
$data = $bdd->query("SELECT * FROM $table_mail WHERE destinataire = ".$planete->id_user." AND expediteur = false AND vu != 's' ORDER BY id DESC;");
$bdd->query("UPDATE $table_mail SET vu = 0 WHERE destinataire = ".$planete->id_user." AND expediteur = false AND vu != 's';");
$bdd->deconnexion();
$bdd->reconnexion();
$data = $bdd->query("SELECT * FROM $table_mail WHERE destinataire = ".$planete->id_user." AND expediteur = false AND vu != 's' ORDER BY id DESC;");
$bdd->query("UPDATE $table_mail SET vu = 0 WHERE destinataire = ".$planete->id_user." AND expediteur = false AND vu != 's';");
$bdd->deconnexion();
$template->assign('messages', $data);
}
elseif ($onglet == "send")
{
$bdd->reconnexion();
$data = $bdd->query("SELECT M.*, U.pseudo AS destinataire FROM $table_mail M INNER JOIN $table_user U ON U.id = M.destinataire WHERE M.expediteur = ".$planete->id_user." ORDER BY M.id DESC;");
$bdd->deconnexion();
$template->assign('messages', $data);
} elseif ($onglet == "send") {
$bdd->reconnexion();
$data = $bdd->query("SELECT M.*, U.pseudo AS destinataire FROM $table_mail M INNER JOIN $table_user U ON U.id = M.destinataire WHERE M.expediteur = ".$planete->id_user." ORDER BY M.id DESC;");
$bdd->deconnexion();
$template->assign('messages', $data);
}
elseif ($onglet == "envoyer")
{
if (SURFACE == "planete")
$page = 'envoyer';
else
$page = 'envoyer_alli';
$template->assign('messages', $data);
} elseif ($onglet == "envoyer") {
if (SURFACE == "planete") {
$page = 'envoyer';
} else {
$page = 'envoyer_alli';
}
$titre = 'Envoyer un message';
$titre = 'Envoyer un message';
if (!empty($_POST['objet']) && !empty($_POST['destinataire']) && !empty($_POST['message']))
{
$utils = explode(';', gpc('destinataire', 'post'));
$nbutil = count($utils);
if (!empty($_POST['objet']) && !empty($_POST['destinataire']) && !empty($_POST['message'])) {
$utils = explode(';', gpc('destinataire', 'post'));
$nbutil = count($utils);
$time = time();
$message = htmlspecialchars(gpc('message', 'post'));
$objet = htmlspecialchars(gpc('objet', 'post'));
$time = time();
$message = htmlspecialchars(gpc('message', 'post'));
$objet = htmlspecialchars(gpc('objet', 'post'));
if (strlen($objet) > 50)
erreur('L\'objet de votre message est trop long. Limite : 45 caractères.');
if (strlen($message) > 99999)
erreur('Le contenu de votre message est trop long. Limite : 99 999 caractères.');
if (empty($utils))
erreur('Aucun utilisateur sélectionné.');
if (strlen($objet) > 50) {
erreur('L\'objet de votre message est trop long. Limite : 45 caractères.');
}
if (strlen($message) > 99999) {
erreur('Le contenu de votre message est trop long. Limite : 99 999 caractères.');
}
if (empty($utils)) {
erreur('Aucun utilisateur sélectionné.');
}
$bdd->reconnexion();
$bdd->escape($message);
$bdd->escape($objet);
$bdd->reconnexion();
$bdd->escape($message);
$bdd->escape($objet);
$introuv = array();
foreach($utils as $util)
{
if (empty($util))
continue;
$util = trim($util);
$bdd->escape($util);
$introuv = array();
foreach ($utils as $util) {
if (empty($util)) {
continue;
}
$util = trim($util);
$bdd->escape($util);
if ($util != $planete->pseudo && $env = $bdd->unique_query("SELECT id, pseudo, mail, envoyerMail FROM $table_user WHERE pseudo = '$util';"))
send_mp($env['id'], $objet, $message, 0, $planete->id_user);
else
$introuv[] = htmlentities($util);
}
$bdd->deconnexion();
if ($util != $planete->pseudo && $env = $bdd->unique_query("SELECT id, pseudo, mail, envoyerMail FROM $table_user WHERE pseudo = '$util';")) {
send_mp($env['id'], $objet, $message, 0, $planete->id_user);
} else {
$introuv[] = htmlentities($util);
}
}
$bdd->deconnexion();
if (!empty($introuv[0]))
erreur('Impossible de trouver le/les destinataire(s) suivant(s) : '.implode(', ', $introuv).'.<br />Les autres ont bien reçu votre message.', "red", '?p=messagerie&n=envoyer');
else
erreur('Votre message a été envoyé avec succès.', "green", '?p=messagerie');
}
if (!empty($introuv[0])) {
erreur('Impossible de trouver le/les destinataire(s) suivant(s) : '.implode(', ', $introuv).'.<br />Les autres ont bien reçu votre message.', "red", '?p=messagerie&n=envoyer');
} else {
erreur('Votre message a été envoyé avec succès.', "green", '?p=messagerie');
}
}
$amis = array();
$amisn = array();
$bdd->reconnexion();
foreach($planete->amis as $ami) {
$res = $bdd->unique_query("SELECT pseudo FROM $table_user WHERE id = ".$ami.";");
if ($res != false) {
$amis[] = $res['pseudo'];
$amisn[] = $ami;
}
}
$bdd->deconnexion();
$template->assign('amis', $amis);
$template->assign('amisn', $amisn);
$amis = array();
$amisn = array();
$bdd->reconnexion();
foreach ($planete->amis as $ami) {
$res = $bdd->unique_query("SELECT pseudo FROM $table_user WHERE id = ".$ami.";");
if ($res != false) {
$amis[] = $res['pseudo'];
$amisn[] = $ami;
}
}
$bdd->deconnexion();
$template->assign('amis', $amis);
$template->assign('amisn', $amisn);
if (isset($_GET['d'])) $template->assign('destinataire', gpc('d'));
if (isset($_GET['o'])) $template->assign('objet', gpc('o'));
}
else
{
//Demande de supression des messages
if (!empty($_POST))
{
$bdd->reconnexion();
foreach($_POST as $value)
$bdd->query("DELETE FROM $table_mail WHERE destinataire = ".$planete->id_user." AND id = ".intval($value).";");
$bdd->deconnexion();
if (isset($_GET['d'])) {
$template->assign('destinataire', gpc('d'));
}
if (isset($_GET['o'])) {
$template->assign('objet', gpc('o'));
}
} else {
//Demande de supression des messages
if (!empty($_POST)) {
$bdd->reconnexion();
foreach ($_POST as $value) {
$bdd->query("DELETE FROM $table_mail WHERE destinataire = ".$planete->id_user." AND id = ".intval($value).";");
}
$bdd->deconnexion();
header('Location: ?p=messagerie&n='.$onglet);
exit;
}
header('Location: ?p=messagerie&n='.$onglet);
exit;
}
if ($SESS->level >= 3)
{
$bdd->reconnexion();
$data = $bdd->query("SELECT M.*, U.pseudo AS expediteur FROM $table_mail M INNER JOIN $table_user U ON U.id = M.expediteur WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC;");
$bdd->query("UPDATE $table_mail M SET vu = 0 WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC;");
$bdd->deconnexion();
}
else
{
$bdd->reconnexion();
//Calcul du nombre total de message enregistré
$nbmax = $bdd->unique_query("SELECT COUNT(M.id) as nb FROM $table_mail M INNER JOIN $table_user U ON U.id = M.expediteur WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false;");
$data = $bdd->query("SELECT M.*, U.pseudo AS expediteur FROM $table_mail M INNER JOIN $table_user U ON U.id = M.expediteur WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC LIMIT 50;");
$nb_view = $bdd->num_rows;
$bdd->query("UPDATE $table_mail M SET vu = 0 WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC LIMIT 50;");
$bdd->deconnexion();
}
if ($SESS->level >= 3) {
$bdd->reconnexion();
$data = $bdd->query("SELECT M.*, U.pseudo AS expediteur FROM $table_mail M INNER JOIN $table_user U ON U.id = M.expediteur WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC;");
$bdd->query("UPDATE $table_mail M SET vu = 0 WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC;");
$bdd->deconnexion();
} else {
$bdd->reconnexion();
//Calcul du nombre total de message enregistré
$nbmax = $bdd->unique_query("SELECT COUNT(M.id) as nb FROM $table_mail M INNER JOIN $table_user U ON U.id = M.expediteur WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false;");
$data = $bdd->query("SELECT M.*, U.pseudo AS expediteur FROM $table_mail M INNER JOIN $table_user U ON U.id = M.expediteur WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC LIMIT 50;");
$nb_view = $bdd->num_rows;
$bdd->query("UPDATE $table_mail M SET vu = 0 WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC LIMIT 50;");
$bdd->deconnexion();
}
if ($SESS->level < 3 && $nbmax["nb"] > $nb_view)
$template->assign('avertissement', '<p style="color: red;"><b>Vous avez des messages ('.($nbmax["nb"]-$nb_view).') en attente de réception. Libérez de la place dans votre messagerie pour les afficher.</b></p>');
if ($SESS->level < 3 && $nbmax["nb"] > $nb_view) {
$template->assign('avertissement', '<p style="color: red;"><b>Vous avez des messages ('.($nbmax["nb"]-$nb_view).') en attente de réception. Libérez de la place dans votre messagerie pour les afficher.</b></p>');
}
$template->assign('messages', $data);
$template->assign('messages', $data);
}
unset($onglet, $data, $nbmax);
if ($bdd->num_rows)
$template->assign('IM', $bdd->num_rows);
?>
if ($bdd->num_rows) {
$template->assign('IM', $bdd->num_rows);
}

View file

@ -1,134 +1,131 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
if (!empty($_GET['cds']) && !empty($_GET['nom']) && !empty($_GET['race']) && !empty($_GET['mdp']) && !empty($_GET['mail']) && !empty($_GET['ti']) && isset($_GET['placement']))
{
//Reconstitution du mot de passe
$_GET['mdp'] = hexstr(gpc('mdp'));
if ($_GET['cds'] == sha1(gpc('nom').'$'.gpc('race').'£'.gpc('mdp').'#'.gpc('mail').'ß'.gpc('ti').'Ó'.$_SERVER['HTTP_USER_AGENT'].'♀☻'.$_SERVER['REMOTE_ADDR'].gpc('placement')))
{
$pseudo = gpc('nom');
$race = gpc('race');
$mdp = cxor(gpc('mdp'), sha1($pseudo.'£'.$race));
$mdp = mdp($pseudo, $mdp);
$alea = $mdp[1];
$mdp = $mdp[0];
$mail = gpc('mail');
if (!empty($_GET['cds']) && !empty($_GET['nom']) && !empty($_GET['race']) && !empty($_GET['mdp']) && !empty($_GET['mail']) && !empty($_GET['ti']) && isset($_GET['placement'])) {
//Reconstitution du mot de passe
$_GET['mdp'] = hexstr(gpc('mdp'));
if ($_GET['cds'] == sha1(gpc('nom').'$'.gpc('race').'£'.gpc('mdp').'#'.gpc('mail').'ß'.gpc('ti').'Ó'.$_SERVER['HTTP_USER_AGENT'].'♀☻'.$_SERVER['REMOTE_ADDR'].gpc('placement'))) {
$pseudo = gpc('nom');
$race = gpc('race');
$mdp = cxor(gpc('mdp'), sha1($pseudo.'£'.$race));
$mdp = mdp($pseudo, $mdp);
$alea = $mdp[1];
$mdp = $mdp[0];
$mail = gpc('mail');
$bdd = new bdd();
$bdd->escape($pseudo);
$bdd->escape($mdp);
$bdd->escape($race);
$bdd->escape($mail);
$bdd = new bdd();
$bdd->escape($pseudo);
$bdd->escape($mdp);
$bdd->escape($race);
$bdd->escape($mail);
//On vérifie que le nom d'utilisateur ou l'adresse électronique n'existe pas déjà
if ($bdd->query("SELECT id FROM $table_user WHERE pseudo = '$pseudo' OR mail = '$mail';"))
erreur("Votre compte est déjà créé sur ce serveur ou votre adresse électronique est déjà associée à un autre compte de se serveur !");
//On vérifie que le nom d'utilisateur ou l'adresse électronique n'existe pas déjà
if ($bdd->query("SELECT id FROM $table_user WHERE pseudo = '$pseudo' OR mail = '$mail';")) {
erreur("Votre compte est déjà créé sur ce serveur ou votre adresse électronique est déjà associée à un autre compte de se serveur !");
}
//Création de l'utilisateur
$bdd->query("INSERT INTO $table_user (pseudo, mdp, mdp_var, race, mail, last_ip, time_inscription, credits) VALUES ('$pseudo', '$mdp', '$alea', '$race', '$mail', '".$_SERVER['REMOTE_ADDR']."', '".time()."', 1000);");
//Création de l'utilisateur
$bdd->query("INSERT INTO $table_user (pseudo, mdp, mdp_var, race, mail, last_ip, time_inscription, credits) VALUES ('$pseudo', '$mdp', '$alea', '$race', '$mail', '".$_SERVER['REMOTE_ADDR']."', '".time()."', 1000);");
$queryUser = $bdd->unique_query("SELECT id FROM $table_user WHERE pseudo = '$pseudo';");
$bdd->deconnexion();
if (empty($queryUser))
erreur("Une erreur est survenue lors de la création de votre compte sur le serveur.<br /><br />Si le problème persiste, contactez un administrateur.");
$queryUser = $bdd->unique_query("SELECT id FROM $table_user WHERE pseudo = '$pseudo';");
$bdd->deconnexion();
if (empty($queryUser)) {
erreur("Une erreur est survenue lors de la création de votre compte sur le serveur.<br /><br />Si le problème persiste, contactez un administrateur.");
}
//Création des bases de la planète
require_once("Class/planete.php");
$newPlanete = new Planete(false);
//Création des bases de la planète
require_once("Class/planete.php");
$newPlanete = new Planete(false);
//Recherche d'une planète disponible
if (empty($_GET['placement']) || !empty($SESS->values['forceInscript']))
{
$bdd->reconnexion();
while (true)
{
$galaxie = mt_rand(1, $VAR['nb_amas']);
$ss = mt_rand(1, $VAR['nb_systeme']);
$pos = mt_rand(1, $VAR['nb_planete']);
//Recherche d'une planète disponible
if (empty($_GET['placement']) || !empty($SESS->values['forceInscript'])) {
$bdd->reconnexion();
while (true) {
$galaxie = mt_rand(1, $VAR['nb_amas']);
$ss = mt_rand(1, $VAR['nb_systeme']);
$pos = mt_rand(1, $VAR['nb_planete']);
//Test pour savoir si la planète est déjà habitée
if(!$bdd->query("SELECT id FROM $table_planete WHERE galaxie=$galaxie AND ss=$ss AND position=$pos;"))
break;
}
$newPlanete->galaxie = $galaxie;
$newPlanete->ss = $ss;
$newPlanete->position = $pos;
unset($galaxie, $ss, $pos);
}
else
{
$bdd->reconnexion();
//Recherche du joueur ami
$placement = gpc("placement");
$bdd->escape($placement);
$placement_joueur = $bdd->unique_query("SELECT id FROM $table_user WHERE pseudo = '$placement';");
//Test pour savoir si la planète est déjà habitée
if (!$bdd->query("SELECT id FROM $table_planete WHERE galaxie=$galaxie AND ss=$ss AND position=$pos;")) {
break;
}
}
$newPlanete->galaxie = $galaxie;
$newPlanete->ss = $ss;
$newPlanete->position = $pos;
unset($galaxie, $ss, $pos);
} else {
$bdd->reconnexion();
//Recherche du joueur ami
$placement = gpc("placement");
$bdd->escape($placement);
$placement_joueur = $bdd->unique_query("SELECT id FROM $table_user WHERE pseudo = '$placement';");
if (!$placement_joueur && !isset($SESS->values['forceInscript']))
{
$SESS->values['forceInscript'] = true;
$SESS->put();
$bdd->query("DELETE FROM $table_user WHERE id = ".$queryUser["id"].";");
erreur("Le joueur à côté duquel vous souhaitez être placé n\'est pas encore ou plus inscrit sur ce serveur.<br /><br />Si vous ne souhaitez plus être placé à ses côtés, rechargez la page.");
}
if (!$placement_joueur && !isset($SESS->values['forceInscript'])) {
$SESS->values['forceInscript'] = true;
$SESS->put();
$bdd->query("DELETE FROM $table_user WHERE id = ".$queryUser["id"].";");
erreur("Le joueur à côté duquel vous souhaitez être placé n\'est pas encore ou plus inscrit sur ce serveur.<br /><br />Si vous ne souhaitez plus être placé à ses côtés, rechargez la page.");
}
$placement_planetes = $bdd->query("SELECT galaxie, ss FROM $table_planete WHERE id_user = ".$placement_joueur["id"].";");
$nbPlanete = count($placement_planetes);
$decale = 0;
while ($decale < 20 && empty($newPlanete->galaxie))
{
for($i = 0; $i < $nbPlanete ; $i++)
{
$galaxie = $placement_planetes[$i]['galaxie'];
if (empty($galaxie))
continue;
$placement_planetes = $bdd->query("SELECT galaxie, ss FROM $table_planete WHERE id_user = ".$placement_joueur["id"].";");
$nbPlanete = count($placement_planetes);
$decale = 0;
while ($decale < 20 && empty($newPlanete->galaxie)) {
for ($i = 0; $i < $nbPlanete ; $i++) {
$galaxie = $placement_planetes[$i]['galaxie'];
if (empty($galaxie)) {
continue;
}
//Alternativement, on essaye le système précédent et le système suivant
if ($decale%2)
$ss = $placement_planetes[$i]['ss'] - floor($decale/2);
else
$ss = $placement_planetes[$i]['ss'] + $decale/2;
//Alternativement, on essaye le système précédent et le système suivant
if ($decale%2) {
$ss = $placement_planetes[$i]['ss'] - floor($decale/2);
} else {
$ss = $placement_planetes[$i]['ss'] + $decale/2;
}
if ($ss >= $VAR['nb_systeme'] || $ss <= 0)
break;
for ($j = 1; $j <= $VAR['nb_planete'] ; $j++)
{
if(!$bdd->query("SELECT id FROM $table_planete WHERE galaxie=$galaxie AND ss=$ss AND position=$j;"))
{
$newPlanete->galaxie = $galaxie;
$newPlanete->ss = $ss;
$newPlanete->position = $j;
break;
}
}
if ($newPlanete->galaxie)
break;
}
$decale++;
}
unset($decale, $galaxie, $ss, $pos, $i, $j, $nbPlanete, $placement_planetes, $placement_joueur, $placement);
if ($ss >= $VAR['nb_systeme'] || $ss <= 0) {
break;
}
for ($j = 1; $j <= $VAR['nb_planete'] ; $j++) {
if (!$bdd->query("SELECT id FROM $table_planete WHERE galaxie=$galaxie AND ss=$ss AND position=$j;")) {
$newPlanete->galaxie = $galaxie;
$newPlanete->ss = $ss;
$newPlanete->position = $j;
break;
}
}
if ($newPlanete->galaxie) {
break;
}
}
$decale++;
}
unset($decale, $galaxie, $ss, $pos, $i, $j, $nbPlanete, $placement_planetes, $placement_joueur, $placement);
//Si le système n'a trouvé aucune planète
if (empty($newPlanete->galaxie))
{
$SESS->values['forceInscript'] = true;
$SESS->put();
$bdd->query("DELETE FROM $table_user WHERE id = ".$queryUser["id"].";");
erreur("Nous n'avons pas pu trouvé de planète disponible autour de l'une des planètes du joueur que vous avez demandé.<br /><br />Si vous ne souhaitez plus être placé à ses côtés, rechargez la page.");
}
}
$bdd->deconnexion();
//Si le système n'a trouvé aucune planète
if (empty($newPlanete->galaxie)) {
$SESS->values['forceInscript'] = true;
$SESS->put();
$bdd->query("DELETE FROM $table_user WHERE id = ".$queryUser["id"].";");
erreur("Nous n'avons pas pu trouvé de planète disponible autour de l'une des planètes du joueur que vous avez demandé.<br /><br />Si vous ne souhaitez plus être placé à ses côtés, rechargez la page.");
}
}
$bdd->deconnexion();
//On termine la création de la planète
$newPlanete->creer($queryUser['id'], true);
send_mp($queryUser['id'], "Bienvenue sur Halo-battle !", "Bienvenue sur Halo-battle ".$pseudo.",\nVous pouvez dès maintenant commencer à jouer, mais nous vous conseillons vivement de lire la FAQ afin de vous familiariser avec les principales fonctions du jeu !\n\nN'hésitez pas à vous inscrire sur notre forum : <a href=\"http://www.halo-battle.fr/forum/\">http://www.halo-battle.fr/forum/</a>\n\nCordialement, le staff d'Halo-Battle.");
unset($queryUser);
//On termine la création de la planète
$newPlanete->creer($queryUser['id'], true);
send_mp($queryUser['id'], "Bienvenue sur Halo-battle !", "Bienvenue sur Halo-battle ".$pseudo.",\nVous pouvez dès maintenant commencer à jouer, mais nous vous conseillons vivement de lire la FAQ afin de vous familiariser avec les principales fonctions du jeu !\n\nN'hésitez pas à vous inscrire sur notre forum : <a href=\"http://www.halo-battle.fr/forum/\">http://www.halo-battle.fr/forum/</a>\n\nCordialement, le staff d'Halo-Battle.");
unset($queryUser);
erreur("Félicitations !<br />Votre compte a été créé avec succès, vous pouvez maintenant vous connecter sur ce serveur en utilisant vos identifiants.<br />A tout de suite.", "green", $VAR["first_page"]."?index", 3500);
}
else
erreur("Impossible d'authentifier votre inscription !<br /><br />Si le problème persiste, contactez un administrateur.");
}
else
erreur("Impossible de terminer votre inscription, il manque des données !<br /><br />Si le problème persiste, contactez un administrateur.");
?>
erreur("Félicitations !<br />Votre compte a été créé avec succès, vous pouvez maintenant vous connecter sur ce serveur en utilisant vos identifiants.<br />A tout de suite.", "green", $VAR["first_page"]."?index", 3500);
} else {
erreur("Impossible d'authentifier votre inscription !<br /><br />Si le problème persiste, contactez un administrateur.");
}
} else {
erreur("Impossible de terminer votre inscription, il manque des données !<br /><br />Si le problème persiste, contactez un administrateur.");
}

View file

@ -1,58 +1,57 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$page = 'operateur';
$titre = 'Contact opérateur';
if (!empty($_POST['titre']) && !empty($_POST['description'])) {
$titre = $_POST['titre'];
$description = $_POST['description'];
$time = time();
$titre = $_POST['titre'];
$description = $_POST['description'];
$time = time();
$bdd->reconnexion();
$bdd->escape($titre);
$bdd->escape($description);
$bdd->query("INSERT INTO $table_ope_mail (id_user, titre, contenu, time) VALUES ('$id_user', '$titre', '$description', '$time');");
$bdd->deconnexion();
erreur('Votre demande à bien été transmise aux opérateurs de la galaxie.<br />Une réponse vous sera donnée dans les plus brefs délais.', "green");
}
elseif (!empty($_POST['O_titre']) && !empty($_POST['O_description']) && $SESS->level > 4) {
$titre = $_POST['O_titre'];
$description = $_POST['O_description'];
$bdd->reconnexion();
$bdd->escape($titre);
$bdd->escape($description);
$bdd->query("INSERT INTO $table_ope_mail (id_user, titre, contenu, time) VALUES ('$id_user', '$titre', '$description', '$time');");
$bdd->deconnexion();
erreur('Votre demande à bien été transmise aux opérateurs de la galaxie.<br />Une réponse vous sera donnée dans les plus brefs délais.', "green");
} elseif (!empty($_POST['O_titre']) && !empty($_POST['O_description']) && $SESS->level > 4) {
$titre = $_POST['O_titre'];
$description = $_POST['O_description'];
$bdd->reconnexion();
$bdd->escape($titre);
$bdd->escape($description);
$bdd->query("INSERT INTO $table_ope_faq (titre, contenu, ordre) VALUES ('$titre', '$description', 100);");
$bdd->deconnexion();
header('Location: ?p=operateur');
exit;
}
elseif (isset($_GET['a']) && $_GET['a'] == 'top' && isset($_GET['i']) && $SESS->level > 4) {
$i = $_GET['i'];
$bdd->reconnexion();
$bdd->escape($i);
$bdd->query("UPDATE $table_ope_faq SET ordre = ordre - 1 WHERE id = '$i' LIMIT 1;");
$bdd->deconnexion();
header('Location: ?p=operateur');
exit;
}
elseif (isset($_GET['a']) && $_GET['a'] == 'bas' && isset($_GET['i']) && $SESS->level > 4) {
$i = $_GET['i'];
$bdd->reconnexion();
$bdd->escape($i);
$bdd->query("UPDATE $table_ope_faq SET ordre = ordre + 1 WHERE id = '$i' LIMIT 1;");
$bdd->deconnexion();
header('Location: ?p=operateur');
exit;
}
elseif (isset($_GET['a']) && $_GET['a'] == 'del' && isset($_GET['i']) && $SESS->level > 4) {
$i = $_GET['i'];
$bdd->reconnexion();
$bdd->escape($i);
$bdd->query("DELETE FROM $table_ope_faq WHERE id = '$i' LIMIT 1;");
$bdd->deconnexion();
header('Location: ?p=operateur');
exit;
$bdd->reconnexion();
$bdd->escape($titre);
$bdd->escape($description);
$bdd->query("INSERT INTO $table_ope_faq (titre, contenu, ordre) VALUES ('$titre', '$description', 100);");
$bdd->deconnexion();
header('Location: ?p=operateur');
exit;
} elseif (isset($_GET['a']) && $_GET['a'] == 'top' && isset($_GET['i']) && $SESS->level > 4) {
$i = $_GET['i'];
$bdd->reconnexion();
$bdd->escape($i);
$bdd->query("UPDATE $table_ope_faq SET ordre = ordre - 1 WHERE id = '$i' LIMIT 1;");
$bdd->deconnexion();
header('Location: ?p=operateur');
exit;
} elseif (isset($_GET['a']) && $_GET['a'] == 'bas' && isset($_GET['i']) && $SESS->level > 4) {
$i = $_GET['i'];
$bdd->reconnexion();
$bdd->escape($i);
$bdd->query("UPDATE $table_ope_faq SET ordre = ordre + 1 WHERE id = '$i' LIMIT 1;");
$bdd->deconnexion();
header('Location: ?p=operateur');
exit;
} elseif (isset($_GET['a']) && $_GET['a'] == 'del' && isset($_GET['i']) && $SESS->level > 4) {
$i = $_GET['i'];
$bdd->reconnexion();
$bdd->escape($i);
$bdd->query("DELETE FROM $table_ope_faq WHERE id = '$i' LIMIT 1;");
$bdd->deconnexion();
header('Location: ?p=operateur');
exit;
}
$bdd->reconnexion();
@ -64,7 +63,6 @@ $template->assign('operateurs', $operateurs);
$TEMP_questions = array();
for ($i = 0; $i < $bdd->num_rows; $i++) {
$TEMP_questions[] = array($questions[$i]['titre'], bbcode(nl2br(htmlspecialchars($questions[$i]['contenu']))), $questions[$i]['id']);
$TEMP_questions[] = array($questions[$i]['titre'], bbcode(nl2br(htmlspecialchars($questions[$i]['contenu']))), $questions[$i]['id']);
}
$template->assign('questions', $TEMP_questions);
?>

View file

@ -1,169 +1,150 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$titre = 'Options';
if (gpc("p") == "changeopt" && ($Un = intval(gpc('util'))) && $Un == $SESS->values["id"])
{
$Ui = gpc('auth');
$bdd = new BDD();
$bdd->escape($Ui);
$bdd->query("UPDATE user SET mdp = mdpNOUV, mdpNOUV = '', mailNOUV = '' WHERE id = $Un AND SHA1(mdpNOUV) = '$Ui' AND mdpNOUV != '';");
if ($bdd->affected() == 1)
erreur("Votre nouveau mot de passe est maintenant actif.", "green");
if (gpc("p") == "changeopt" && ($Un = intval(gpc('util'))) && $Un == $SESS->values["id"]) {
$Ui = gpc('auth');
$bdd = new BDD();
$bdd->escape($Ui);
$bdd->query("UPDATE user SET mdp = mdpNOUV, mdpNOUV = '', mailNOUV = '' WHERE id = $Un AND SHA1(mdpNOUV) = '$Ui' AND mdpNOUV != '';");
if ($bdd->affected() == 1) {
erreur("Votre nouveau mot de passe est maintenant actif.", "green");
}
$bdd->query("UPDATE user SET mail = mailNOUV, mailNOUV = '', mdpNOUV = '' WHERE id = $Un AND SHA1(mailNOUV) = '$Ui' AND mailNOUV != '';");
if ($bdd->affected() == 1)
erreur("Votre nouvelle adresse électronique est maintenant active.", "green");
else
erreur("Ce lien a expiré !");
$bdd->query("UPDATE user SET mail = mailNOUV, mailNOUV = '', mdpNOUV = '' WHERE id = $Un AND SHA1(mailNOUV) = '$Ui' AND mailNOUV != '';");
if ($bdd->affected() == 1) {
erreur("Votre nouvelle adresse électronique est maintenant active.", "green");
} else {
erreur("Ce lien a expiré !");
}
} else {
$onglet = gpc("n");
if ($onglet == "compte") {
$page = 'options/2';
if (isset($_POST["chgmdp"])) {
$bdd->reconnexion();
$user = $bdd->unique_query("SELECT mdp, mdp_var FROM $table_user WHERE id = ".$planete->id_user.";");
$bdd->deconnexion();
if (mdp($planete->pseudo, gpc('mdp_anc', 'post'), $user["mdp_var"]) == $user["mdp"]) {
$check = check_mdp($_POST['mdp_nouv'], $planete->pseudo, $_POST['mdp_conf']);
if (empty($check)) {
$new_pass = mdp($planete->pseudo, gpc('mdp_nouv', 'post'), $user["mdp_var"]);
$auth = sha1($new_pass);
$bdd->reconnexion();
$bdd->escape($new_pass);
$bdd->query("UPDATE $table_user SET mdpNOUV = '$new_pass' WHERE id = ".$planete->id_user.";");
$bdd->deconnexion();
if (!send_mail($planete->mail, "Halo-Battle :: Activation de votre nouveau mot de passe", "Bonjour ".$planete->pseudo.",\n\nVous recevez ce mail suite à votre demande de changement de mot de passe.\nCe dernier entrera en vigueur une fois que vous aurez validé ce changement en cliquant sur le lien suivant :\nhttp://".$_SERVER['HTTP_HOST']."/".$VAR['first_page']."?p=changeopt&util=".$planete->id_user."&auth=".$auth."\n\nNotez que pour que le mot de passe soit changé, il faut que vous soyez connecté sur votre compte.")) {
erreur('Erreur lors de l\'envoie du courriel de confirmation !<br /><br />Si le probl&egrave;me perciste, <a href="mailto:'.$VAR['mail_admin'].'">contactez un administrateur</a>.');
} else {
erreur('Un courriel vient d\'être envoy&eacute; à '.$planete->mail.'. Le mot de passe ne sera modifi&eacute; qu\'apr&egrave;s avoir cliqu&eacute; sur le lien d\'activation contenu dans ce courriel.', "green");
}
unset($new_pass);
} else {
erreur($check, "red", $VAR["menu"]["options"]."&n=compte");
}
} else {
erreur("L'ancien mot de passe que vous avez indiqué ne correspond pas.", "red", $VAR["menu"]["options"]."&n=compte");
}
unset($new_pass, $auth, $user);
} elseif (isset($_POST["chgmail"])) {
$bdd->reconnexion();
$user = $bdd->unique_query("SELECT mdp, mdp_var FROM $table_user WHERE id = ".$planete->id_user.";");
$bdd->deconnexion();
if (mdp($planete->pseudo, gpc('mdp_mail', 'post'), $user["mdp_var"]) == $user["mdp"]) {
$nouveauMail = gpc('mail', 'post');
if (preg_match("#^[A-Za-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $nouveauMail)) {
$bdd->reconnexion();
$bdd->escape($nouveauMail);
$result = $bdd->query("SELECT mail FROM user WHERE mail = '$nouveauMail'");
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 {
$bdd->query("UPDATE user SET mailNOUV = '$nouveauMail' WHERE id = ".$planete->id_user.";");
$bdd->deconnexion();
$auth = sha1($nouveauMail);
//On envoie le mail de confirmation
if (!send_mail($nouveauMail, "Halo-Battle :: Activation de votre nouvelle adresse électronique", "Bonjour ".$planete->pseudo.",\n\nVous 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 sur le lien suivant :\nhttp://".$_SERVER['HTTP_HOST']."/".$VAR['first_page']."?p=changeopt&util=".$planete->id_user."&auth=".$auth."\n\nNotez que pour que le changement soit pris en compte, il faut que vous soyez connecté sur votre compte.")) {
erreur('Erreur lors de l\'envoie du courriel de confirmation !<br /><br />Si le probl&egrave;me perciste, <a href="mailto:'.$VAR['mail_admin'].'">contactez un administrateur</a>.');
} else {
erreur('Un courriel vient d\'être envoy&eacute; à '.$nouveauMail.'. L\'adresse &eacute;lectronique ne sera modifi&eacute; qu\'apr&egrave;s avoir cliqu&eacute; sur le lien d\'activation contenu dans ce courriel.', "green");
}
}
} else {
erreur("L'adresse email que vous avez indiqué semble incorrecte.", "red", $VAR["menu"]["options"]."&n=compte");
}
} else {
erreur("Le mot de passe que vous avez indiqué ne correspond pas.", "red", $VAR["menu"]["options"]."&n=compte");
}
unset($nouveauMail, $result, $user);
} elseif (!empty($_GET["a"]) && gpc("a") == "mv") {
if (gpc("c") == $SESS->values['idvac']) {
$bdd->reconnexion();
$bdd->query("UPDATE user SET mv = 1 WHERE id = ".$planete->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);
} else {
erreur("Impossible d'authentifier le placement en mode vacances !", "red", $VAR["menu"]["options"]."&n=compte");
}
} elseif (!empty($_GET["a"]) && gpc("a") == "dl") {
if (gpc("c") == $SESS->values['idvac']) {
$bdd->reconnexion();
$bdd->query("UPDATE user SET mv = -2 WHERE id = ".$planete->id_user.";");
$bdd->deconnexion();
erreur('Votre compte sera supprimé le <br />'.strftime("%A %d %B à %H:%M", mktime(date('H', $VAR["time_maintenance"]), date('i', $VAR["time_maintenance"]), 0, date('n', time()+86400*2), date('d', time()+86400*2), date('y', time()+86400*2))).'.', "green");
} else {
erreur("Impossible d'authentifier la supression du compte !", "red", $VAR["menu"]["options"]."&n=compte");
}
}
$template->assign('idvac', $SESS->values['idvac'] = sha1(rand(123456789, 9876543210).'ß‘}☻'.time()));
$SESS->put();
} elseif ($onglet == "jeu") {
if (!empty($_POST)) {
$options = 0;
foreach ($_POST as $opt) {
$options += intval($opt);
}
$planete->options = $options;
$planete->addModifUser("options");
}
$page = 'options/3';
} elseif ($onglet == "notif") {
$page = 'options/4';
if (isset($_POST["notif"])) {
$planete->envoyerMail = 0;
if (!empty($_POST["rapport"])) {
$planete->envoyerMail += 1;
}
if (!empty($_POST["mp"])) {
$planete->envoyerMail += 2;
}
$planete->addModifUser("envoyerMail");
}
} else {
$onglet = "ext";
$page = 'options/1';
}
$template->assign("onglet", $onglet);
}
else
{
$onglet = gpc("n");
if ($onglet == "compte")
{
$page = 'options/2';
if (isset($_POST["chgmdp"]))
{
$bdd->reconnexion();
$user = $bdd->unique_query("SELECT mdp, mdp_var FROM $table_user WHERE id = ".$planete->id_user.";");
$bdd->deconnexion();
if (mdp($planete->pseudo, gpc('mdp_anc', 'post'), $user["mdp_var"]) == $user["mdp"])
{
$check = check_mdp($_POST['mdp_nouv'], $planete->pseudo, $_POST['mdp_conf']);
if (empty($check))
{
$new_pass = mdp($planete->pseudo, gpc('mdp_nouv', 'post'), $user["mdp_var"]);
$auth = sha1($new_pass);
$bdd->reconnexion();
$bdd->escape($new_pass);
$bdd->query("UPDATE $table_user SET mdpNOUV = '$new_pass' WHERE id = ".$planete->id_user.";");
$bdd->deconnexion();
if(!send_mail($planete->mail, "Halo-Battle :: Activation de votre nouveau mot de passe", "Bonjour ".$planete->pseudo.",\n\nVous recevez ce mail suite à votre demande de changement de mot de passe.\nCe dernier entrera en vigueur une fois que vous aurez validé ce changement en cliquant sur le lien suivant :\nhttp://".$_SERVER['HTTP_HOST']."/".$VAR['first_page']."?p=changeopt&util=".$planete->id_user."&auth=".$auth."\n\nNotez que pour que le mot de passe soit changé, il faut que vous soyez connecté sur votre compte."))
erreur('Erreur lors de l\'envoie du courriel de confirmation !<br /><br />Si le probl&egrave;me perciste, <a href="mailto:'.$VAR['mail_admin'].'">contactez un administrateur</a>.');
else
erreur('Un courriel vient d\'être envoy&eacute; à '.$planete->mail.'. Le mot de passe ne sera modifi&eacute; qu\'apr&egrave;s avoir cliqu&eacute; sur le lien d\'activation contenu dans ce courriel.', "green");
unset($new_pass);
}
else
erreur($check, "red", $VAR["menu"]["options"]."&n=compte");
}
else
erreur("L'ancien mot de passe que vous avez indiqué ne correspond pas.", "red", $VAR["menu"]["options"]."&n=compte");
unset($new_pass, $auth, $user);
}
elseif (isset($_POST["chgmail"]))
{
$bdd->reconnexion();
$user = $bdd->unique_query("SELECT mdp, mdp_var FROM $table_user WHERE id = ".$planete->id_user.";");
$bdd->deconnexion();
if (mdp($planete->pseudo, gpc('mdp_mail', 'post'), $user["mdp_var"]) == $user["mdp"])
{
$nouveauMail = gpc('mail', 'post');
if (preg_match("#^[A-Za-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $nouveauMail))
{
$bdd->reconnexion();
$bdd->escape($nouveauMail);
$result = $bdd->query("SELECT mail FROM user WHERE mail = '$nouveauMail'");
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
{
$bdd->query("UPDATE user SET mailNOUV = '$nouveauMail' WHERE id = ".$planete->id_user.";");
$bdd->deconnexion();
$auth = sha1($nouveauMail);
//On envoie le mail de confirmation
if(!send_mail($nouveauMail, "Halo-Battle :: Activation de votre nouvelle adresse électronique", "Bonjour ".$planete->pseudo.",\n\nVous 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 sur le lien suivant :\nhttp://".$_SERVER['HTTP_HOST']."/".$VAR['first_page']."?p=changeopt&util=".$planete->id_user."&auth=".$auth."\n\nNotez que pour que le changement soit pris en compte, il faut que vous soyez connecté sur votre compte."))
erreur('Erreur lors de l\'envoie du courriel de confirmation !<br /><br />Si le probl&egrave;me perciste, <a href="mailto:'.$VAR['mail_admin'].'">contactez un administrateur</a>.');
else
erreur('Un courriel vient d\'être envoy&eacute; à '.$nouveauMail.'. L\'adresse &eacute;lectronique ne sera modifi&eacute; qu\'apr&egrave;s avoir cliqu&eacute; sur le lien d\'activation contenu dans ce courriel.', "green");
}
}
else
erreur("L'adresse email que vous avez indiqué semble incorrecte.", "red", $VAR["menu"]["options"]."&n=compte");
}
else
erreur("Le mot de passe que vous avez indiqué ne correspond pas.", "red", $VAR["menu"]["options"]."&n=compte");
unset($nouveauMail, $result, $user);
}
elseif (!empty($_GET["a"]) && gpc("a") == "mv")
{
if (gpc("c") == $SESS->values['idvac'])
{
$bdd->reconnexion();
$bdd->query("UPDATE user SET mv = 1 WHERE id = ".$planete->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);
}
else
erreur("Impossible d'authentifier le placement en mode vacances !", "red", $VAR["menu"]["options"]."&n=compte");
}
elseif (!empty($_GET["a"]) && gpc("a") == "dl")
{
if (gpc("c") == $SESS->values['idvac'])
{
$bdd->reconnexion();
$bdd->query("UPDATE user SET mv = -2 WHERE id = ".$planete->id_user.";");
$bdd->deconnexion();
erreur('Votre compte sera supprimé le <br />'.strftime("%A %d %B à %H:%M", mktime(date('H', $VAR["time_maintenance"]),date('i', $VAR["time_maintenance"]),0,date('n',time()+86400*2),date('d',time()+86400*2),date('y',time()+86400*2))).'.', "green");
}
else
erreur("Impossible d'authentifier la supression du compte !", "red", $VAR["menu"]["options"]."&n=compte");
}
$template->assign('idvac', $SESS->values['idvac'] = sha1(rand(123456789,9876543210).'ß‘}☻'.time()));
$SESS->put();
}
elseif ($onglet == "jeu")
{
if (!empty($_POST))
{
$options = 0;
foreach ($_POST as $opt)
$options += intval($opt);
$planete->options = $options;
$planete->addModifUser("options");
}
$page = 'options/3';
}
elseif ($onglet == "notif")
{
$page = 'options/4';
if (isset($_POST["notif"]))
{
$planete->envoyerMail = 0;
if (!empty($_POST["rapport"]))
$planete->envoyerMail += 1;
if (!empty($_POST["mp"]))
$planete->envoyerMail += 2;
$planete->addModifUser("envoyerMail");
}
}
else
{
$onglet = "ext";
$page = 'options/1';
}
$template->assign("onglet", $onglet);
}
?>

View file

@ -1,100 +1,86 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$page = 'oubliemdp';
$erreur = '';
if (!empty($_GET['i']) && isset($_GET['n']))
{
$Un = gpc('n');
$Ui = gpc('i');
$bdd = new BDD();
$bdd->escape($Un);
$bdd->escape($Ui);
$user = $bdd->unique_query("SELECT * FROM $table_user WHERE pseudo = '$Un' AND mdpNOUV = '$Ui';");
if ($user)
{
$bdd->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 (!empty($_GET['i']) && isset($_GET['n'])) {
$Un = gpc('n');
$Ui = gpc('i');
$bdd = new BDD();
$bdd->escape($Un);
$bdd->escape($Ui);
$user = $bdd->unique_query("SELECT * FROM $table_user WHERE pseudo = '$Un' AND mdpNOUV = '$Ui';");
if ($user) {
$bdd->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'])) || (isset($_GET['ps']) && isset($_GET['m']) && isset($_GET['a'])))
{
$ok = true;
if ((empty($_POST['HB_pseudo']) || empty($_POST['HB_mail'])) && (empty($_GET['ps']) || empty($_GET['m'])))
{
$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 ((isset($_POST['HB_pseudo']) && isset($_POST['HB_mail']) && isset($_POST['HB_captcha'])) || (isset($_GET['ps']) && isset($_GET['m']) && isset($_GET['a']))) {
$ok = true;
if ((empty($_POST['HB_pseudo']) || empty($_POST['HB_mail'])) && (empty($_GET['ps']) || empty($_GET['m']))) {
$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 (!isset($_POST['HB_captcha']))
$_POST['HB_captcha'] = '';
if (isset($_GET['m']) && is_numeric('0x'.$_GET['m']))
$_GET['m'] = cxor(hexstr(gpc('m')), date('WYDj'));
elseif (strtolower($_POST['HB_captcha']) != $SESS->values['_captcha'] && gpc('a') != hash("sha512", gpc('ps').'☻♫☼'.date('W!Y¨D@j').'Ņ♂↨'.gpc('m')))
{
$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)
{
if (isset($SESS->values['_captcha']) && strtolower($_POST['HB_captcha']) == strtolower($SESS->values['_captcha']))
{
$HB_pseudo = gpc('HB_pseudo', 'post');
$HB_mail = gpc('HB_mail', 'post');
}
else
{
$HB_pseudo = gpc('ps');
$HB_mail = gpc('m');
}
if (!isset($_POST['HB_captcha'])) {
$_POST['HB_captcha'] = '';
}
if (isset($_GET['m']) && is_numeric('0x'.$_GET['m'])) {
$_GET['m'] = cxor(hexstr(gpc('m')), date('WYDj'));
} elseif (strtolower($_POST['HB_captcha']) != $SESS->values['_captcha'] && gpc('a') != hash("sha512", gpc('ps').'☻♫☼'.date('W!Y¨D@j').'Ņ♂↨'.gpc('m'))) {
$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) {
if (isset($SESS->values['_captcha']) && strtolower($_POST['HB_captcha']) == strtolower($SESS->values['_captcha'])) {
$HB_pseudo = gpc('HB_pseudo', 'post');
$HB_mail = gpc('HB_mail', 'post');
} else {
$HB_pseudo = gpc('ps');
$HB_mail = gpc('m');
}
$bdd = new BDD();
$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)
{
$code = gen_mdp(8);
$passNOUV = mdp($HB_pseudo, $code, $user['mdp_var']);
$bdd->unique_query("UPDATE $table_user SET mdpNOUV = '$passNOUV' WHERE pseudo = '$HB_pseudo';");
$bdd->deconnexion();
$bdd = new BDD();
$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) {
$code = gen_mdp(8);
$passNOUV = mdp($HB_pseudo, $code, $user['mdp_var']);
$bdd->unique_query("UPDATE $table_user SET mdpNOUV = '$passNOUV' WHERE pseudo = '$HB_pseudo';");
$bdd->deconnexion();
if(!$test = send_mail($HB_mail, 'Halo-Battle :: ', 'Bonjour '.$HB_pseudo.",\n\nVous recevez ce mail suite à votre demande de réinitialisation de mot de passe. Pour confirmer votre réinitialisation de mot de passe et ainsi pouvoir de nouveau accéder au jeu, cliquez sur le lien ci-après :\n\nhttp://".$_SERVER['HTTP_HOST'].'/'.$VAR['first_page'].'?p=oubliemdp&i='.$passNOUV.'&n='.$HB_pseudo."\n\nVotre nouveau mot de passe est : ".$code."\n\nA bientôt dans Halo-Battle,\nLe staff")) //Teste si le return code est ok.
{
$template->assign('message','Erreur lors de l\'envoie du courriel de confirmation !<br /><br />'.$LANG["contactAdmin"]);
$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.<br /><br /><em>Pensez à regarder dans vos courriers indésirables, on ne sait jamais ...</em>');
$template->assign('couleur','green');
$template->display('cms/erreur.tpl');
exit;
}
}
else
{
$bdd->deconnexion();
$erreur .= '<p style="color: #FF0000; font-weight: bold">Nom d\'utilisateur ou adresse électronique incorrect :<br />L\'adresse électronique que vous avez indiqué ne correspond pas au nom d\'utilisateur. Réessayez.</p><br />';
}
}
if (!$test = send_mail($HB_mail, 'Halo-Battle :: ', 'Bonjour '.$HB_pseudo.",\n\nVous recevez ce mail suite à votre demande de réinitialisation de mot de passe. Pour confirmer votre réinitialisation de mot de passe et ainsi pouvoir de nouveau accéder au jeu, cliquez sur le lien ci-après :\n\nhttp://".$_SERVER['HTTP_HOST'].'/'.$VAR['first_page'].'?p=oubliemdp&i='.$passNOUV.'&n='.$HB_pseudo."\n\nVotre nouveau mot de passe est : ".$code."\n\nA bientôt dans Halo-Battle,\nLe staff")) { //Teste si le return code est ok.
$template->assign('message', 'Erreur lors de l\'envoie du courriel de confirmation !<br /><br />'.$LANG["contactAdmin"]);
$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.<br /><br /><em>Pensez à regarder dans vos courriers indésirables, on ne sait jamais ...</em>');
$template->assign('couleur', 'green');
$template->display('cms/erreur.tpl');
exit;
}
} else {
$bdd->deconnexion();
$erreur .= '<p style="color: #FF0000; font-weight: bold">Nom d\'utilisateur ou adresse électronique incorrect :<br />L\'adresse électronique que vous avez indiqué ne correspond pas au nom d\'utilisateur. Réessayez.</p><br />';
}
}
}
$template->assign('erreurs', $erreur);
?>

View file

@ -1,16 +1,19 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$page = 'pilori';
$titre = 'Pilori de la galaxie';
if (isset($bdd))
if (isset($bdd)) {
$bdd->reconnexion();
else
} else {
$bdd = new BDD();
}
$pilori = $bdd->query("SELECT U.pseudo, U.operateurmv, 0 AS mail, U.mv, U.raisonmv, U.last_visite FROM $table_user U WHERE U.mv > 1 AND U.operateurmv = 0 UNION SELECT U.pseudo, O.pseudo AS operateurmv, O.mail, U.mv, U.raisonmv, U.last_visite FROM $table_user U INNER JOIN $table_user O ON U.operateurmv = O.id WHERE U.mv > 1;");
$bdd->deconnexion();
$template->assign('joueurs', $pilori);
unset($pilori);
?>

View file

@ -1,10 +1,16 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!empty($SESS->values['connected'])) $page = '../cms/vide';
else $page = 'vide';
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
if (!empty($SESS->values['connected'])) {
$page = '../cms/vide';
} else {
$page = 'vide';
}
$titre = 'Règles du jeu';
$template->assign('contenu','<h1>R&egrave;gles de Halo-Battle</h1><div style="text-align: left; margin: 15px; font-size: 115%;">
$template->assign('contenu', '<h1>R&egrave;gles de Halo-Battle</h1><div style="text-align: left; margin: 15px; font-size: 115%;">
<u>Pr&eacute;ambule :</u> tous les joueurs ayant cr&eacute;&eacute; un compte de jeu, et l&#39;utilisant ou non, s&#39;engagent &agrave; avoir lu et &agrave; respecter les r&egrave;gles de Halo-Battle dans leur int&eacute;gralit&eacute;. Si l&#39;une des r&egrave;gles &eacute;nonc&eacute;es ci-dessous est transgress&eacute;e, merci de vous r&eacute;f&eacute;rer au chapitre des infractions afin de conna&icirc;tre toutes les modalit&eacute;s relatives aux punitions encourues.<br />
<br />
Ce r&egrave;glement peut &ecirc;tre l&#39;objet d&#39;une modification, partielle ou totale, et il est du ressort du joueur de se tenir inform&eacute; de toute modification quelle qu&#39;elle soit. Toute modification sera publi&eacute;e sur le forum avec sa date de mise en application, avant de se trouver effective au sein du jeu.<br />
@ -122,4 +128,3 @@ Ces r&egrave;gles du jeu ont &eacute;t&eacute; publi&eacute;es le 14/04/2008 et
- En cas de r&eacute;clamation, merci d&#39;envoyer un mail &agrave; l&#39;un des op&eacute;rateurs en pr&eacute;cisant votre pseudonyme ingame et votre galaxie.<br />
- Toute manoeuvre visant &agrave; faire bloquer d&eacute;lib&eacute;r&eacute;ment un adversaire est interdite et pourra &ecirc;tre sanctionn&eacute;e par l&#39;op&eacute;rateur.<br />
</div>');
?>

View file

@ -1,42 +1,44 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
if (!empty($_GET['i'])) {
$BDD = new BDD();
$BDD = new BDD();
$id = $_GET['i'];
$BDD->escape($id);
$id = $_GET['i'];
$BDD->escape($id);
$res = $BDD->unique_query("SELECT * FROM user_inscriptions WHERE id_activ = '$id'");
if ($res) {
switch($res['serveur']){
case 0:
$url = "http://127.0.0.1/hbn/";
break;
case 1:
//$url = "http://battle.halo.fr/";
//$url = "http://hb.s-fr.com/beta.php";
//$url = "https://beta.halo-battle.fr/";
$url = 'http://'.$_SERVER['HTTP_HOST'].'/';
break;
default:
$url = "http://battle.halo.fr/";
}
$res = $BDD->unique_query("SELECT * FROM user_inscriptions WHERE id_activ = '$id'");
if ($res) {
switch ($res['serveur']) {
case 0:
$url = "http://127.0.0.1/hbn/";
break;
case 1:
//$url = "http://battle.halo.fr/";
//$url = "http://hb.s-fr.com/beta.php";
//$url = "https://beta.halo-battle.fr/";
$url = 'http://'.$_SERVER['HTTP_HOST'].'/';
break;
default:
$url = "http://battle.halo.fr/";
}
//On envoie la requête vers le serveur
$cds = sha1($res['pseudo'].'$'.$res['race'].'£'.$res['mdp'].'#'.$res['mail'].'ß'.$res['time_inscription'].'Ó'.$_SERVER['HTTP_USER_AGENT'].'♀☻'.$_SERVER['REMOTE_ADDR'].$res['placement']);
header('Location: '.$url.'?p=njoueur&nom='.$res['pseudo'].'&race='.$res['race'].'&mdp='.strhex($res['mdp']).'&mail='.$res['mail'].'&ti='.$res['time_inscription'].'&placement='.$res['placement'].'&cds='.$cds);
exit;
}
else {
$template->assign('message','Le lien est expiré !');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?index";\', 2500);</script>');
$template->assign('couleur','red');
$template->display('cms/erreur.tpl');
exit;
}
//On envoie la requête vers le serveur
$cds = sha1($res['pseudo'].'$'.$res['race'].'£'.$res['mdp'].'#'.$res['mail'].'ß'.$res['time_inscription'].'Ó'.$_SERVER['HTTP_USER_AGENT'].'♀☻'.$_SERVER['REMOTE_ADDR'].$res['placement']);
header('Location: '.$url.'?p=njoueur&nom='.$res['pseudo'].'&race='.$res['race'].'&mdp='.strhex($res['mdp']).'&mail='.$res['mail'].'&ti='.$res['time_inscription'].'&placement='.$res['placement'].'&cds='.$cds);
exit;
} else {
$template->assign('message', 'Le lien est expiré !');
$template->assign('script', '<script type="text/javascript">setTimeout(\'document.location.href="?index";\', 2500);</script>');
$template->assign('couleur', 'red');
$template->display('cms/erreur.tpl');
exit;
}
$BDD->deconnexion();
$BDD->deconnexion();
} else {
header('Location: ./');
}
else header('Location: ./');
?>

View file

@ -1,24 +1,24 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$page = 'version';
$titre = 'Historique des mises à jours';
$data = Cache::read('versionsDATA');
if (empty($data))
{
$bdd->reconnexion();
$data = $bdd->query("SELECT * FROM $table_version ORDER BY id DESC");
$bdd->deconnexion();
Cache::set('versionsDATA', $data);
}
if (empty($data)) {
$bdd->reconnexion();
$data = $bdd->query("SELECT * FROM $table_version ORDER BY id DESC");
$bdd->deconnexion();
Cache::set('versionsDATA', $data);
}
$TEMP_versions = array();
foreach($data as $version)
{
$TEMP_versions[] = array('numero' => $version['version'], 'date' => date("d/m/y", $version['temps']), 'description' => str_replace('<br />', '', $version['contenu']));
}
foreach ($data as $version) {
$TEMP_versions[] = array('numero' => $version['version'], 'date' => date("d/m/y", $version['temps']), 'description' => str_replace('<br />', '', $version['contenu']));
}
$template->assign('versions', $TEMP_versions);
unset($TEMP_versions, $data);
?>