forked from halo-battle/game
175 lines
8.1 KiB
PHP
175 lines
8.1 KiB
PHP
|
<?php
|
||
|
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||
|
|
||
|
if (!empty($_GET['cds'])) {
|
||
|
if (!empty($_GET['nom']) && !empty($_GET['race']) && !empty($_GET['mdp']) && !empty($_GET['mail']) && !empty($_GET['ti']) && isset($_GET['placement'])) {
|
||
|
if ($_GET['cds'] == sha1($_GET['nom'].'$'.$_GET['race'].'£'.$_GET['mdp'].'#'.$_GET['mail'].'ß'.$_GET['ti'].'Ó'.$_SERVER['HTTP_USER_AGENT'].'♀☻'.$_SERVER['REMOTE_ADDR'].$_GET['placement'])) {
|
||
|
$base = new bdd();
|
||
|
$base->connexion();
|
||
|
$base->db();
|
||
|
|
||
|
$pseudo = mysql_real_escape_string($_GET['nom']);
|
||
|
$mdp = mysql_real_escape_string($_GET['mdp']);
|
||
|
$race = mysql_real_escape_string($_GET['race']);
|
||
|
$mail = mysql_real_escape_string($_GET['mail']);
|
||
|
$ti = mysql_real_escape_string($_GET['ti']);
|
||
|
|
||
|
$base->query("SELECT * FROM `user` WHERE `pseudo` = '$pseudo' ORDER BY `id` DESC;");
|
||
|
if ($base->num_rows) {
|
||
|
$template->assign('message','Votre compte est déjà créé sur ce serveur !');
|
||
|
$template->assign('couleur','red');
|
||
|
$template->display('cms/erreur.tpl');
|
||
|
exit;
|
||
|
}
|
||
|
|
||
|
//Création de l'utilisateur
|
||
|
$base->query("INSERT INTO `user` (`pseudo`, `mdp`, `race`, `mail`, `last_ip`, `time_inscription`) VALUES ('$pseudo', '$mdp', '$race', '$mail', '".$_SERVER['REMOTE_ADDR']."', '".time()."');");
|
||
|
|
||
|
//Création des bases de la planète
|
||
|
$image = mt_rand(1,15);
|
||
|
$cases = mt_rand(150,250);
|
||
|
$queryUser = $base->query("SELECT * FROM `user` WHERE `pseudo` = '$pseudo' ORDER BY `id` DESC;");
|
||
|
$id_user = $queryUser[0]['id'];
|
||
|
$time = time();
|
||
|
|
||
|
//Recherche d'une planète disponible
|
||
|
if (empty($_GET['placement'])) {
|
||
|
$planete_trouvee = false;
|
||
|
while (!$planete_trouvee) {
|
||
|
$galaxie = mt_rand(1, MAX_AMAS);
|
||
|
$ss = mt_rand(1, MAX_SYSTEME);
|
||
|
$pos = mt_rand(1, MAX_PLANETE);
|
||
|
|
||
|
//Test pour savoir si la planète est déjà habitée
|
||
|
$base->query("SELECT id FROM `planete` WHERE galaxie='$galaxie' AND ss='$ss' AND position='$pos'");
|
||
|
if($base->num_rows) $planete_trouvee = false;
|
||
|
else $planete_trouvee = true;
|
||
|
}
|
||
|
|
||
|
$base->query("INSERT INTO `planete` (`id_user`, `nom_planete`, `galaxie`, `ss`, `position`, `image`, `cases`, `timestamp`, `metal`, `cristal`) VALUES ('$id_user', 'Planète mère', '$galaxie', '$ss', '$pos', '$image', '$cases', '$time', '1000', '700')");
|
||
|
}
|
||
|
else {
|
||
|
$placement_joueur = $base->unique_query("SELECT * FROM `user` WHERE `pseudo` = '".mysql_real_escape_string($_GET["placement"])."'");
|
||
|
if (!$placement_joueur && !isset($sess->values['forceInscript'])) {
|
||
|
$sess->values['forceInscript'] = true;
|
||
|
$sess->put();
|
||
|
$template->assign('message','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.');
|
||
|
$template->assign('couleur','red');
|
||
|
$template->display('cms/erreur.tpl');
|
||
|
exit;
|
||
|
}
|
||
|
if (!isset($sess->values['forceInscript'])) {
|
||
|
$placement_planetes = $base->query("SELECT * FROM `planete` WHERE `id_user` = '".$placement_joueur["id"]."'");
|
||
|
$planete_trouvee = false;
|
||
|
$decale = 0;
|
||
|
while (!$planete_trouvee) {
|
||
|
for($i = 0; $i < $base->num_rows ; $i++){
|
||
|
$galaxie = $placement_planetes[$i]['galaxie'];
|
||
|
$ss = $placement_planetes[$i]['ss'] + $decale;
|
||
|
if ($ss >= MAX_SYSTEME) break;
|
||
|
for ($j = 1; $j <= MAX_PLANETE ; $j++) {
|
||
|
$base->query("SELECT * FROM `planete` WHERE galaxie='$galaxie' AND ss='$ss' AND position='$j'");
|
||
|
if(!$base->num_rows) {
|
||
|
$planete_trouvee = true;
|
||
|
$blk_galaxie = $galaxie;
|
||
|
$blk_ss = $ss;
|
||
|
$blk_pos = $j;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
if ($planete_trouvee) break;
|
||
|
}
|
||
|
$decale++;
|
||
|
if ($ss >= MAX_SYSTEME) break;
|
||
|
}
|
||
|
|
||
|
if (!$planete_trouvee) $impplac = true;
|
||
|
}
|
||
|
|
||
|
if (!$planete_trouvee || ($planete_trouvee && !empty($sess->values['forceInscript']))) {
|
||
|
while (!$planete_trouvee) {
|
||
|
$blk_galaxie = mt_rand(1, MAX_AMAS);
|
||
|
$blk_ss = mt_rand(1, MAX_SYSTEME);
|
||
|
$blk_pos = mt_rand(1, MAX_PLANETE);
|
||
|
|
||
|
//Test pour savoir si la planète est déjà habitée
|
||
|
$base->query("SELECT id FROM `planete` WHERE galaxie='$blk_galaxie' AND ss='$blk_ss' AND position='$blk_pos'");
|
||
|
if($base->num_rows) $planete_trouvee = false;
|
||
|
else $planete_trouvee = true;
|
||
|
}
|
||
|
}
|
||
|
$base->query("INSERT INTO `planete` (`id_user`, `nom_planete`, `galaxie`, `ss`, `position`, `image`, `cases`, `timestamp`, `metal`, `cristal`) VALUES ('$id_user', 'Planète mère', '$blk_galaxie', '$blk_ss', '$blk_pos', '$image', '$cases', '$time', '1000', '700')");
|
||
|
}
|
||
|
$base->deconnexion();
|
||
|
|
||
|
if (!empty($impplac)) {
|
||
|
$template->assign('message','Impossible de trouver une planète proche du joueur près duquel vous vouliez être placé.<br />Vous avez été placé aléatoirement.');
|
||
|
$template->assign('couleur','red');
|
||
|
$template->display('cms/erreur.tpl');
|
||
|
exit;
|
||
|
}
|
||
|
else {
|
||
|
$template->assign('message','Vous pouvez maintenant vous connectez sur ce serveur !');
|
||
|
$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 {
|
||
|
$template->assign('message','Impossible d\'authentifier votre inscription !<br /><br />Si le problème perciste, contactez un administrateur.');
|
||
|
$template->assign('couleur','red');
|
||
|
$template->display('cms/erreur.tpl');
|
||
|
exit;
|
||
|
}
|
||
|
}
|
||
|
else {
|
||
|
$template->assign('message','Impossible de terminer votre inscription, il manque des données !<br /><br />Si le problème perciste, contactez un administrateur.');
|
||
|
$template->assign('couleur','red');
|
||
|
$template->display('cms/erreur.tpl');
|
||
|
exit;
|
||
|
}
|
||
|
}
|
||
|
else header('Location: ./');
|
||
|
exit;
|
||
|
$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
|
||
|
|
||
|
$planete_trouvee = false;
|
||
|
while ($planete_trouvee != true) {
|
||
|
$galaxie = 1;
|
||
|
//$galaxie = mt_rand(2,4);
|
||
|
$ss = mt_rand(1,100);
|
||
|
$pos = mt_rand(1,12);
|
||
|
|
||
|
// Test pour savoir si la planète est déjà habitée
|
||
|
$result = mysql_query("SELECT id FROM planete WHERE galaxie='$galaxie' AND ss='$ss' AND position='$pos'");
|
||
|
if(mysql_num_rows($result)>=1) $planete_trouvee = false;
|
||
|
else $planete_trouvee = true;
|
||
|
}
|
||
|
$image = mt_rand(1,15);
|
||
|
|
||
|
mysql_query("INSERT INTO user (`pseudo`, `race`, `mdp`, `mail`, `last_ip`, `time_inscription`, `last_visite`) VALUES ('$pseudo', '$race', '$mdp', '$mail', '$ip', '$time', '$time')") or die ("erreur sql ".mysql_error());
|
||
|
$req = mysql_query("SELECT id FROM user WHERE pseudo='$pseudo'");
|
||
|
$resultat = mysql_fetch_array($req);
|
||
|
$id_user = $resultat['id'];
|
||
|
$cases = mt_rand(150,250);
|
||
|
mysql_query("INSERT INTO planete (`id_user`, `nom_planete`, `galaxie`, `ss`, `position`, `image`, `cases`, `timestamp`, `metal`, `cristal`) VALUES ('$id_user', 'Planète mère', '$galaxie', '$ss', '$pos', '$image', '$cases', '$time', '1000', '700')") or die ("erreur sql ".mysql_error());
|
||
|
|
||
|
include('template.php');
|
||
|
$template = new Template('./');
|
||
|
$template->set_filenames(array('index' => 'templates/index.tpl'));
|
||
|
$login = '<form name="login" method="post" action="verifLogin.php">
|
||
|
<table>
|
||
|
<tr>
|
||
|
<td class="cellulestxt">:: Pseudo :: </td><td><input type="text" class="champ" name="login" /></td></tr>
|
||
|
<tr><td class="cellulestxt">:: Mot de Passe :: </td><td><input type="password" class="champ" name="password" /></td></tr>
|
||
|
<tr><td align="center" colspan="2"><br />
|
||
|
<input class="connexion" type="submit" value="› Connexion ‹" /></td></tr></table>
|
||
|
</form>';
|
||
|
$texte = '<br /><br /><br /><font color="#00FF00"><b>Votre inscription a bien été prise en compte.</b></font><br /><br />Vous pouvez dès maintenant utiliser le formulaire de connexion ci-contre pour accèdez à la béta de Halo-Battle.<br /><br />Bon jeu !';
|
||
|
$template->assign_vars(array('TITRE' => 'Inscription validée','TEXTE' => $texte,'LOGIN' => $login));
|
||
|
$template->pparse('index');
|
||
|
?>
|