diff --git a/Class/class.gerefile.php b/Class/class.gerefile.php
index 130e2ba..34d86e2 100644
--- a/Class/class.gerefile.php
+++ b/Class/class.gerefile.php
@@ -39,6 +39,7 @@ class gererFile {
$this->file = array_merge($this->file);
}
}
+ if ($i == 0) $this->timestamp = time();
}
return $nombre;
}
diff --git a/Class/class.rapport.php b/Class/class.rapport.php
index fa22188..d54e7f1 100644
--- a/Class/class.rapport.php
+++ b/Class/class.rapport.php
@@ -115,7 +115,7 @@ class Rapport{
function sendAlliance2(){
include_once('includes/function.php');
$titreA = 'Fondation de votre alliance !';
- $rapportA = 'Pour terminer la création de votre alliance, trouvez 4 joueurs de cette galaxie sans alliance pour leur faire signer votre traité de fondation d\'alliance.
Lien de signature : http://battle.halo.fr/?p=alliances&q=signer&i='.$this->var[0].'';
+ $rapportA = 'Pour terminer la création de votre alliance, trouvez 4 joueurs de cette galaxie sans alliance pour leur faire signer votre traité de fondation d\'alliance.
Lien de signature : http://'.$_SERVER['HTTP_HOST'].'/?p=alliances&q=signer&i='.$this->var[0].'';
$titreA = mysql_real_escape_string($titreA);
$rapportA = mysql_real_escape_string($rapportA);
diff --git a/cron/classement.php b/cron/classement.php
index 7396e1b..54cfebb 100644
--- a/cron/classement.php
+++ b/cron/classement.php
@@ -11,14 +11,14 @@ $chapeau->connexion();
$chapeau->db();
mysql_query("TRUNCATE TABLE `classement`");
-$sql_1 = mysql_query("SELECT `id`, `pseudo`, `race` FROM `user`");
+$sql_1 = mysql_query("SELECT * FROM `user`");
while($recup_id = mysql_fetch_array($sql_1)) {
$id = $recup_id['id'];
$PSEUDO_USER = $recup_id['pseudo'];
$race = $recup_id['race'];
- $planete = mysql_query("SELECT `id`, `mine_m`, `mine_c`, `mine_h`, `centrale_s`, `centrale_f`, `radar`, `labo`, `chantier_terrestre`, `chantier_spatial`, `caserne`, `silo`, `centre_info`, `vaisseau_1`, `vaisseau_2`, `vaisseau_3`, `vaisseau_4`, `vaisseau_5`, `vaisseau_6`, `vaisseau_7`, `vaisseau_8`, `vaisseau_9`, `vaisseau_10`, `vaisseau_11`, `vaisseau_12`, `def_1`, `def_2`, `def_3`, `def_4`, `def_5` FROM `planete` WHERE `id_user` = " . $id)or die( mysql_error() );
+ $planete = mysql_query("SELECT * FROM `planete` WHERE `id_user` = " . $id)or die( mysql_error() );
while ($donnees_planete = mysql_fetch_array($planete)) {
// partie pts batiements ressources
@@ -118,7 +118,7 @@ while($recup_id = mysql_fetch_array($sql_1)) {
$POINTS_BATIMENTS = $POINTS_BATIMENTS / 1000;
// points flottes terrestres recherches batiments
- mysql_query("INSERT INTO `classement` VALUES (NULL, '$PSEUDO_USER', '$race', '$PT_RESSOURCES', '$POINTS_VAISSEAUX', '0', '$POINTS_TECHNO', '$POINTS_BATIMENTS')") or die (mysql_error());
+ if ($recup_id['auth_level'] < 3) mysql_query("INSERT INTO `classement` VALUES (NULL, '$PSEUDO_USER', '$race', '$PT_RESSOURCES', '$POINTS_VAISSEAUX', '0', '$POINTS_TECHNO', '$POINTS_BATIMENTS')") or die (mysql_error());
mysql_query("UPDATE `user` SET `flotte` = '" . $POINTS_VAISSEAUX . "', `recherches` = '" . $POINTS_TECHNO . "', `batiments` = '" . $POINTS_BATIMENTS . "', `points` = '" . $PT_RESSOURCES . "' WHERE `pseudo` = '" . $PSEUDO_USER . "'") or die (mysql_error());
$metal = 0;
@@ -135,12 +135,17 @@ while($recup_id = mysql_fetch_array($sql_1)) {
}
-$sql_2 = mysql_query("SELECT * FROM `classement` ORDER BY `classement`.`points` DESC") or die(mysql_error());
+$sql_2 = mysql_query("SELECT * FROM `classement` ORDER BY `classement`.`points` DESC");
$i=0;
while($resultat = mysql_fetch_array($sql_2)) {
- $i++;
$nomuser = $resultat['pseudo'];
- mysql_query("UPDATE `user` SET `place_points` = '$i' WHERE `pseudo` = '$nomuser'") or die (mysql_error());
+ $reqd = mysql_query("SELECT `auth_level` FROM `user` WHERE `pseudo` = '$nomuser'");
+ $resultatd = mysql_fetch_array($reqd);
+ if ($resultatd['auth_level'] < 3) {
+ $i++;
+ mysql_query("UPDATE `user` SET `place_points` = '$i' WHERE `pseudo` = '$nomuser'");
+ }
+ else mysql_query("UPDATE `user` SET `place_points` = '0' WHERE `pseudo` = '$nomuser'");
}
$chapeau->deconnexion();
diff --git a/game/accueil.php b/game/accueil.php
index 2d0cd2f..5d183c4 100644
--- a/game/accueil.php
+++ b/game/accueil.php
@@ -3,30 +3,32 @@ if(!defined('INDEX')) { header('Location: ../'); exit; }
$page = 'accueil';
$titre = 'Accueil';
-$table = $config['db_prefix'].'mail';
+//On recherche si le joueur a des messages non lus
$pseudo = trouvNom($id_user);
-$queryMail = $chapeau->unique_query("SELECT COUNT(*) AS nbre FROM `$table` WHERE `destinataire` = '$pseudo' AND `vu` = '1';");
-$template->assign('mail',$queryMail);
+$queryMail = $chapeau->unique_query("SELECT COUNT(*) AS nbre FROM `$table_mail` WHERE `destinataire` = '$pseudo' AND `vu` = '1';");
+$template->assign('mail', $queryMail);
-$req = mysql_query("SELECT `galaxie`,`ss`,`position`,`nom_planete` FROM `planete` WHERE `id_user` = '$id_user'");
+//On regarde si le joueur a une attaque en vue
$attaquesRadar = array();
-while ($resultat = mysql_fetch_array($req)) {
- $end_galaxie = $resultat['galaxie'];
- $end_ss = $resultat['ss'];
- $end_position = $resultat['position'];
- $reqf = mysql_query("SELECT * FROM flottes WHERE `mission` = '1' AND end_galaxie='$end_galaxie' AND end_ss='$end_ss' AND end_position='$end_position'");
- while ($resultatf = mysql_fetch_array($reqf)) {
+$nbPlan = count($queryPlanetes);
+for($i = 0; $i < $nbPlan; $i++){
+ $end_galaxie = $queryPlanetes[$i]['galaxie'];
+ $end_ss = $queryPlanetes[$i]['ss'];
+ $end_position = $queryPlanetes[$i]['position'];
+ $resultatf = $chapeau->query("SELECT * FROM `$table_flottes` WHERE `mission` = '1' AND `end_galaxie` = '$end_galaxie' AND `end_ss` = '$end_ss' AND `end_position` = '$end_position';");
+ $nbF = $chapeau->num_rows;
+ for ($j = 0; $j < $nbF; $j++) {
$start_galaxie = $resultatf['start_galaxie'];
$start_ss = $resultatf['start_ss'];
$start_position = $resultatf['start_position'];
if ($resultatf['start_time'] + $resultatf['end_time'] < time() + $queryUser['detection']*1800) {
- $reqp = mysql_query("SELECT nom_planete FROM planete WHERE galaxie='$start_galaxie' AND ss='$start_ss' AND position='$start_position'");
- $resultatp = mysql_fetch_array($reqp);
- $attaquesRadar[] = array($resultatp['nom_planete'],affTemp($resultatf['start_time']+$resultatf['end_time']-time()),$resultatf['start_galaxie'],$resultatf['start_ss'],$resultatf['start_position'],$resultat['nom_planete'],$resultatf['end_galaxie'],$resultatf['end_ss'],$resultatf['end_position'],$resultatf['start_time']+$resultatf['end_time']-time());
+ $resultatp = $chapeau->unique_query("SELECT `nom_planete` FROM `$table_planete` WHERE `galaxie` = '$start_galaxie' AND `ss` = '$start_ss' AND `position` = '$start_position'");
+ $attaquesRadar[] = array(htmlspecialchars($resultatp['nom_planete']), affTemp($resultatf['start_time']+$resultatf['end_time']-time()), $resultatf['start_galaxie'], $resultatf['start_ss'], $resultatf['start_position'], htmlspecialchars($queryPlanetes[$i]['nom_planete']), $resultatf['end_galaxie'], $resultatf['end_ss'], $resultatf['end_position'], $resultatf['start_time']+$resultatf['end_time']-time());
}
}
}
+//Affichage des informations sur la planète
$diametre = separerNombres($queryPlanete['cases'] * 92);
$Classpoints = separerNombres($queryUser['points']);
@@ -34,6 +36,7 @@ $template->assign('attaques',$attaquesRadar);
$template->assign('diametre',$diametre);
$template->assign('points',$Classpoints);
+//Affichage de l'alliance du joueur
$alli = $chapeau->unique_query("SELECT * FROM `$table_alliances` WHERE `id` = '".$queryUser['id_alliance']."';");
$template->assign('alliance', $alli);
?>
\ No newline at end of file
diff --git a/game/alliances.php b/game/alliances.php
index ed95c45..8aab3cf 100644
--- a/game/alliances.php
+++ b/game/alliances.php
@@ -195,7 +195,8 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 )
}
elseif ($_GET['q'] == 'chat') {
if (isset($_POST['msg'])) {
- $message = mysql_real_escape_string($_POST['msg']);
+ $message = $_POST['msg'];
+ $chapeau->escape($message);
if (!empty($message)) $chapeau->query("INSERT INTO `$table_alliances_chat` VALUES (NULL, '".$alliance['id']."', '$id_user', '".time()."', '$message')");
header('Location: ?p=alliances&q=chat#chat');
exit;
@@ -205,6 +206,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 )
$chat = $chapeau->query("SELECT * FROM `$table_alliances_chat` WHERE `id_alliance` = '".$alliance['id']."' ORDER BY `id` DESC LIMIT 30");
for($i = 0; $i < $chapeau->num_rows ; $i++){
$chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']);
+ $chat[$i]['message'] = htmlspecialchars($chat[$i]['message']);
}
$template->assign('chat', $chat);
}
@@ -220,6 +222,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 )
$chat = $chapeau->query("SELECT * FROM `$table_alliances_chat` WHERE `id_alliance` = '".$alliance['id']."' ORDER BY `id` DESC LIMIT 30");
for($i = 0; $i < $chapeau->num_rows ; $i++){
$chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']);
+ $chat[$i]['message'] = htmlspecialchars($chat[$i]['message']);
}
$template->assign('chat', $chat);
}
@@ -268,6 +271,7 @@ else {
exit;
}
$template->assign('alliance', $alliance);
+ $template->assign('alliancei', $id);
$page = 'alliance_nm_postuler';
}
elseif ($_GET['q'] == 'signer' && !empty($_GET['i'])) {
@@ -289,6 +293,8 @@ else {
$chapeau->query("INSERT INTO `$table_alliances` VALUES (NULL, '".$alliance['tag']."', '".$alliance['nom']."', '".$alliance['fondateur']."', 'A faire', 'A faire', '', '', 1, 1, '');");
$chapeau->query("DELETE FROM `$table_alliances_creation` WHERE `lien` = '$lien';");
+ $alliance = $chapeau->unique_query("SELECT * FROM `$table_alliances` WHERE `nom` = '".$alliance['nom']."' AND `fondateur` = '".$alliance['fondateur']."';");
+
file_log("Création de l'alliance : ".$alliance['nom']." par ".$id_user." (fondateur : ".$alliance['fondateur'].") après validation de 4 signatures : ".implode(', ', $signataires).$id_user);
//On envoie un message au fondateur de l'alliance
@@ -300,6 +306,7 @@ else {
$chapeau->query("UPDATE `$table_user` SET `id_alliance` = '".$alliance['id']."' WHERE `id` = '".$signataires[$i]."'");
}
$chapeau->query("UPDATE `$table_user` SET `id_alliance` = '".$alliance['id']."' WHERE `id` = '$id_user'");
+ $chapeau->query("UPDATE `$table_user` SET `id_alliance` = '".$alliance['id']."' WHERE `id` = '".$alliance['fondateur']."'");
$template->assign('message','Votre signature a bien été ajoutée à la déclaration de l\'alliance.
L\'alliance a désormais suffisament de signature pour être créée !');
$template->assign('couleur','green');
@@ -377,7 +384,7 @@ else {
$rapport->addInfo($lien, 0);
$rapport->send();
- $template->assign('message','Votre alliance a bien été créée.
Il ne vous reste plus qu\'à trouver au moins 4 signatures pour finir la création de votre alliance.
Le lien permettant à vos quatres personnes de signer est '.$config['serv_adresse'].'?p=alliances&q=signer&i='.$lien.'');
+ $template->assign('message','Votre alliance a bien été créée.
Il ne vous reste plus qu\'à trouver au moins 4 signatures pour finir la création de votre alliance.
Le lien permettant à vos quatres personnes de signer est http://'.$_SERVER['HTTP_HOST'].'?p=alliances&q=signer&i='.$lien.'');
$template->assign('couleur','green');
$template->display('game/erreur.tpl');
exit;
diff --git a/game/arbre.php b/game/arbre.php
index 8656a40..1c2856d 100644
--- a/game/arbre.php
+++ b/game/arbre.php
@@ -10,7 +10,7 @@ $TEMP_batiments = array();
$nb=count($batiment);
for ($id=0 ; $id<$nb ; $id++) {
if (!empty($batiment[$id])) $TEMP_batiments[] = array(
- 'url' => 'id='.$id.'&type=batiment&lvl='.$queryPlanete[$batimentVAR[$id]],
+ 'id' => $id,
'nom' => $batiment[$id],
'niveau' => $queryPlanete[$batimentVAR[$id]],
'etat' => readDeblok($batimentTECH[$id], $queryPlanete, $queryUser)
@@ -22,7 +22,7 @@ $TEMP_technologies = array();
$nb=count($technolo);
for ($id=0 ; $id<$nb ; $id++) {
if (!empty($technolo[$id])) $TEMP_technologies[] = array(
- 'url' => 'id='.$id.'&type=technologie&lvl='.$queryUser[$technoloVAR[$id]],
+ 'id' => $id,
'nom' => $technolo[$id],
'niveau' => $queryUser[$technoloVAR[$id]],
'etat' => readDeblok($technoloTECH[$id], $queryPlanete, $queryUser)
@@ -34,7 +34,7 @@ $TEMP_terrestre = array();
$nb=count($nomterrn);
for ($id=0 ; $id<$nb ; $id++) {
if (!empty($nomterrn[$id])) $TEMP_terrestre[] = array(
- 'url' => 'id='.$id.'&type=unite&lvl='.$queryPlanete[$nomterrnVAR[$id]],
+ 'id' => $id,
'nom' => $nomterrn[$id],
'niveau' => $queryPlanete[$nomterrnVAR[$id]],
'etat' => readDeblok($nomterrnTECH[$id], $queryPlanete, $queryUser)
@@ -46,7 +46,7 @@ $TEMP_vaisseaux = array();
$nb=count($nomvaisn);
for ($id=0 ; $id<$nb ; $id++) {
if (!empty($nomvaisn[$id])) $TEMP_vaisseaux[] = array(
- 'url' => 'id='.$id.'&type=unite&lvl='.$queryPlanete[$nomvaisnVAR[$id]],
+ 'id' => $id,
'nom' => $nomvaisn[$id],
'niveau' => $queryPlanete[$nomvaisnVAR[$id]],
'etat' => readDeblok($nomvaisnTECH[$id], $queryPlanete, $queryUser)
diff --git a/game/batiments.php b/game/batiments.php
index 76a6ae8..0cac99e 100644
--- a/game/batiments.php
+++ b/game/batiments.php
@@ -16,7 +16,7 @@ $titre = 'Batiments';
if (isset($_GET['c']) && isset($batiment[$_GET['c']])) {
$i = $_GET['c'];
if(requestDeblok($batimentTECH[$i], $queryPlanete, $queryUser)) {
- $n=($queryPlanete[$batimentVAR[$i]]+1);
+ $n = $queryPlanete[$batimentVAR[$i]]+1;
eval($batimentCALC[$i][0]); $metal -= $a;
eval($batimentCALC[$i][1]); $cristal -= $b;
eval($batimentCALC[$i][2]); $hydrogene -= $c;
@@ -35,9 +35,17 @@ $titre = 'Batiments';
exit;
}
eval($batimentCALC[$i][3]);
- if ($file->addObjet($i, 1, ceil($sec))) {
- $export = mysql_real_escape_string(serialize($file));
- mysql_query("UPDATE `planete` SET `file_bat` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
+ if (!$file->existe($i) && $file->addObjet($i, 1, ceil($sec))) {
+ $export = serialize($file);
+ $chapeau->escape($export);
+ $chapeau->query("UPDATE `$table_planete` SET `file_bat` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
+ }
+ elseif ($file->existe($i)) {
+ $template->assign('message','Ce bâtiment est déjà dans la file d\'attente !');
+ $template->assign('script','');
+ $template->assign('couleur','red');
+ $template->display('game/erreur.tpl');
+ exit;
}
else {
$template->assign('message','Vous ne pouvez pas mettre plus de batiments en file d\'attente.');
@@ -49,6 +57,13 @@ $titre = 'Batiments';
header('Location: ?p=batiments');
exit;
}
+ else {
+ $template->assign('message','Vous n\'avez pas les technologies nécessaire pour construire ce batiment !');
+ $template->assign('script','');
+ $template->assign('couleur','red');
+ $template->display('game/erreur.tpl');
+ exit;
+ }
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($batiment[$_GET['a']])) {
@@ -59,8 +74,9 @@ $titre = 'Batiments';
eval($batimentCALC[$i][1]); $cristal += $b;
eval($batimentCALC[$i][2]); $hydrogene += $c;
$file->delobjet($i);
- $export = mysql_real_escape_string(serialize($file));
- mysql_query("UPDATE `planete` SET `file_bat` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
+ $export = serialize($file);
+ $chapeau->escape($export);
+ $chapeau->query("UPDATE `$table_planete` SET `file_bat` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
header('Location: ?p=batiments');
exit;
}
diff --git a/game/bugs.php b/game/bugs.php
index b4e8c94..81d4e6a 100644
--- a/game/bugs.php
+++ b/game/bugs.php
@@ -4,20 +4,25 @@ $page = 'bugs';
$titre = 'Rapports de bugs';
if (!empty($_POST['page']) && !empty($_POST['description'])) {
- $pages = mysql_real_escape_string($_POST['page']);
- $description = mysql_real_escape_string($_POST['description']);
- $chapeau->query("INSERT INTO `bug` VALUES(NULL, '".$queryUser['pseudo']."', '".time()."', '$pages', '$description');");
+ $pages = $_POST['page'];
+ $chapeau->escape($pages);
+ $description = $_POST['description'];
+ $chapeau->escape($description);
+
+ $chapeau->query("INSERT INTO `$table_bug` VALUES(NULL, '".$queryUser['pseudo']."', '".time()."', '$pages', '$description');");
header('Location: ?p=bugs');
}
elseif (isset($_GET['a']) && $_GET['a'] == 'del' && isset($_GET['i']) && $sess->values['auth_level'] > 2) {
- $chapeau->query("DELETE FROM `bug` WHERE `id` = '".$_GET['i']."' LIMIT 1");
+ $i = $_GET['i'];
+ $chapeau->escape($i);
+ $chapeau->query("DELETE FROM `$table_bug` WHERE `id` = '$i' LIMIT 1");
header('Location: ?p=bugs');
}
-$result = mysql_query("SELECT * FROM `bug` ORDER BY `id` DESC");
+$bugs = $chapeau->query("SELECT * FROM `$table_bug` ORDER BY `id` DESC");
$TEMP_bugs = array();
-while ($data = mysql_fetch_array($result)) {
- $TEMP_bugs[] = array(''.$data['pseudo'].'', date("d/m/y", $data['temps']), $data['page'], nl2br($data['description']),$data['id'] );
+for ($i = 0; $i < $chapeau->num_rows; $i++) {
+ $TEMP_bugs[] = array(''.$bugs[$i]['pseudo'].'', date("d/m/y h:m:s", $bugs[$i]['temps']), $bugs[$i]['page'], nl2br(htmlspecialchars(str_replace('\\\'', '\'', $bugs[$i]['description']))), $bugs[$i]['id']);
}
$template->assign('bugs', $TEMP_bugs);
?>
\ No newline at end of file
diff --git a/game/carte.php b/game/carte.php
index a246486..988f103 100644
--- a/game/carte.php
+++ b/game/carte.php
@@ -3,11 +3,16 @@ if(!defined('INDEX')) { header('Location: ../'); exit; }
$page = 'carte';
$titre = 'Carte spatiale';
-if (isset($_GET['galaxy'])) $g = floor($_GET['galaxy']); else $g = $queryPlanete['galaxie'];
-if ($g < 1) $g = 1;
+if (isset($_GET['galaxie'])) $g = $chapeau->escape(floor($_GET['galaxie']));
+else $g = $queryPlanete['galaxie'];
+
+if ($queryUser['auth_level'] >= 5 && $g < 0) $g = 0;
+elseif ($g < 1) $g = 1;
if ($g > MAX_AMAS) $g = 1;
-if (isset($_GET['ss'])) $s = floor($_GET['ss']); else $s = $queryPlanete['ss'];
+if (isset($_GET['ss'])) $s = $chapeau->escape(floor($_GET['ss']));
+else $s = $queryPlanete['ss'];
+
if ($s < 1) $s = 1;
if ($s > MAX_SYSTEME) $s = MAX_SYSTEME;
@@ -33,20 +38,18 @@ else {
}
$TEMP_carte = array();
-for ($i=1; $i<=MAX_PLANETE; $i++) {
- $resultat = mysql_query("SELECT * FROM planete WHERE galaxie='$g' AND ss='$s' AND position='$i'");
- if(mysql_num_rows($resultat)>=1) {
- $x = mysql_query("SELECT * FROM planete WHERE galaxie='$g' AND ss='$s'AND position='$i'");
- $d = mysql_fetch_array($x);
+for ($i = 1; $i <= MAX_PLANETE; $i++) {
+ $resultat = $chapeau->query("SELECT * FROM `$table_planete` WHERE `galaxie` = '$g' AND `ss` = '$s' AND `position` = '$i';");
+ if($resultat) {
+ $d = $chapeau->unique_query("SELECT * FROM `$table_planete` WHERE `galaxie` = '$g' AND `ss` = '$s'AND `position` = '$i';");
$id_user = $d['id_user'];
- $y = mysql_query("SELECT race FROM user WHERE id='$id_user'");
- $e = mysql_fetch_array($y);
- if ($e['race'] == 'covenant') $ra='(c)';
- elseif (md5($e['race'] && $auth_level >= 6) == '34c19b21bd4a3dda389e767d32fe9779') $ra='(f)';
- else $ra='(h)';
+ $e = $chapeau->unique_query("SELECT `pseudo`, `race` FROM `$table_user` WHERE `id` = '$id_user'");
+ if ($e['race'] == 'covenant') $ra = '(c)';
+ elseif ($auth_level >= 6 && md5($e['race']) == '34c19b21bd4a3dda389e767d32fe9779') $ra = '(f)';
+ else $ra = '(h)';
- $TEMP_carte[] = array($i, $d['nom_planete'], $d['debris_met'], $d['debris_cri'], $ra, trouvNom($d['id_user']), 'Message');
+ $TEMP_carte[] = array($i, htmlspecialchars($d['nom_planete']), $d['debris_met'], $d['debris_cri'], $ra, $e['pseudo'], 'Message');
}
else $TEMP_carte[] = array($i);
}
diff --git a/game/chantierspatial.php b/game/chantierspatial.php
index ce8e379..45d5915 100644
--- a/game/chantierspatial.php
+++ b/game/chantierspatial.php
@@ -9,7 +9,7 @@ $titre = 'Chantier spatial';
if (empty($queryPlanete['file_vais'])) $file = new gererFile($queryUser['prodfile']+2);
else {
$file = unserialize($queryPlanete['file_vais']);
- $file->limite = $queryUser['prodfile']+2;
+ $file->limite = $queryUser['prodfile'] + 2;
}
if ($queryPlanete['chantier_spatial'] == 0) {
@@ -38,8 +38,9 @@ $titre = 'Chantier spatial';
}
eval($nomvaisnCALC[$i][3]);
if ($file->addObjet($i, $nbv, ceil($sec))) {
- $export = mysql_real_escape_string(serialize($file));
- mysql_query("UPDATE `planete` SET `file_vais` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
+ $export = serialize($file);
+ $chapeau->escape($export);
+ $chapeau->query("UPDATE `$table_planete` SET `file_vais` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
}
else {
$template->assign('message','Vous ne pouvez pas mettre plus de vaisseaux en file d\'attente.');
@@ -51,6 +52,13 @@ $titre = 'Chantier spatial';
header('Location: ?p=chantierspatial');
exit;
}
+ else {
+ $template->assign('message','Vous n\'avez pas les technologies nécessaire pour construire ce vaisseau !');
+ $template->assign('script','');
+ $template->assign('couleur','red');
+ $template->display('game/erreur.tpl');
+ exit;
+ }
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($nomvaisn[$_GET['a']])) {
@@ -69,8 +77,9 @@ $titre = 'Chantier spatial';
$cristal += $b*$nbvr;
$hydrogene += $c*$nbvr;
- $export = mysql_real_escape_string(serialize($file));
- mysql_query("UPDATE `planete` SET `file_vais` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
+ $export = serialize($file);
+ $chapeau->escape($export);
+ $chapeau->query("UPDATE `$table_planete` SET `file_vais` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
header('Location: ?p=chantierspatial');
exit;
}
@@ -85,7 +94,7 @@ $titre = 'Chantier spatial';
exit;
}*/
- for ($i=0 ; $i<$nbstop ; $i++) {
+ for ($i = 0; $i < $nbstop; $i++) {
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0;
$nom_bdd = $nomvaisnVAR[$i]; $a = $nomvaisnCALC[$i][0]; $b = $nomvaisnCALC[$i][1]; $c = $nomvaisnCALC[$i][2]; eval($nomvaisnCALC[$i][3]);
if ($queryPlanete[$nom_bdd] > 0) $nombre = $queryPlanete[$nom_bdd]; else $nombre = 0;
diff --git a/game/chantierterrestre.php b/game/chantierterrestre.php
new file mode 100644
index 0000000..547c564
--- /dev/null
+++ b/game/chantierterrestre.php
@@ -0,0 +1,119 @@
+limite = $queryUser['prodfile']+2;
+ }
+
+ if ($queryPlanete['chantier_terrestre'] == 0) {
+ $template->assign('message','Vous devez d\'abord construire un '.strtolower($batiment[7]));
+ $template->assign('script','');
+ $template->assign('couleur','red');
+ $template->display('game/erreur.tpl');
+ exit;
+ }
+ //Lancement d'une nouvelle construction
+ if (isset($_GET['v']) && isset($nomvaisn[$_GET['v']]) && !empty($_POST['nombre'])) {
+ $i = $_GET['v'];
+ $nbv = floor($_POST['nombre']);
+ if(requestDeblok($nomterrnTECH[$i], $queryPlanete, $queryUser) && $nbv > 0) {
+ $n=($queryPlanete[$nomterrnVAR[$i]]+1);
+ $a = $nomterrnCALC[$i][0]; $metal -= $a * $nbv;
+ $b = $nomterrnCALC[$i][1]; $cristal -= $b * $nbv;
+ $c = $nomterrnCALC[$i][2]; $hydrogene -= $c * $nbv;
+ if ($metal < 0 || $cristal < 0 || $hydrogene < 0) {
+ $template->assign('message','Vous n\'avez pas assez de ressources pour démarrer cette construction.');
+ $template->assign('script','');
+ $template->assign('couleur','red');
+ $template->display('game/erreur.tpl');
+ exit;
+ }
+ eval($nomterrnCALC[$i][3]);
+ if ($file->addObjet($i, $nbv, ceil($sec))) {
+ $export = mysql_real_escape_string(serialize($file));
+ mysql_query("UPDATE `planete` SET `file_ter` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
+ }
+ else {
+ $template->assign('message','Vous ne pouvez pas mettre plus d\'unit&eactue;s en file d\'attente.');
+ $template->assign('script','');
+ $template->assign('couleur','red');
+ $template->display('game/erreur.tpl');
+ exit;
+ }
+ header('Location: ?p=chantierterrestre');
+ exit;
+ }
+ }
+ //Annulation d'une nouvelle construction
+ if (isset($_GET['a']) && isset($nomterrn[$_GET['a']])) {
+ $i = $_GET['a'];
+ if (!isset($_GET['n'])) $nbv = 1;
+ else $nbv = $_GET['n'];
+
+ if($file->existe($i)) {
+ $n=($queryPlanete[$nomterrnVAR[$i]]+1);
+ $a = $nomterrnCALC[$i][0];
+ $b = $nomterrnCALC[$i][1];
+ $c = $nomterrnCALC[$i][2];
+ $nbvr = $file->delobjet($i, $nbv);
+
+ $metal += $a*$nbvr;
+ $cristal += $b*$nbvr;
+ $hydrogene += $c*$nbvr;
+
+ $export = mysql_real_escape_string(serialize($file));
+ mysql_query("UPDATE `planete` SET `file_ter` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
+ header('Location: ?p=chantierterrestre');
+ exit;
+ }
+ }
+
+ for ($i=0 ; $i<$nbstop ; $i++) {
+ $tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0;
+ $nom_bdd = $nomterrnVAR[$i]; $a = $nomterrnCALC[$i][0]; $b = $nomterrnCALC[$i][1]; $c = $nomterrnCALC[$i][2]; eval($nomterrnCALC[$i][3]);
+ if ($queryPlanete[$nom_bdd] > 0) $nombre = $queryPlanete[$nom_bdd]; else $nombre = 0;
+ $n=($queryPlanete[$nom_bdd]+1);
+ if (!empty($nomterrn[$i]) && requestDeblok($nomterrnTECH[$i], $queryPlanete, $queryUser)) $TEMP_unitee[] =
+ array(
+ 'image' => $nomterri[$i],
+ 'nom' => $nomterrn[$i],
+ 'nombre' => $nombre,
+ 'description' => $nomterde[$i],
+ 'descriptione' => addslashes($nomterde[$i]),
+ 'nec_metal' => $a,
+ 'nec_cristal' => $b,
+ 'nec_hydrogene' => $c,
+ 'nec_metalS' => separerNombres($a),
+ 'nec_cristalS' => separerNombres($b),
+ 'nec_hydrogeneS' => separerNombres($c),
+ 'temps' => sec($sec),
+ 'num' => $i
+ );
+ }
+ $template->assign('unitee',$TEMP_unitee);
+ $template->assign('chaine',$file->chaine);
+ $fileBat = $file->file;
+ $nbfile = count($fileBat);
+
+ if ($nbfile == 1) $template->assign('Pchaine',true);
+ else $template->assign('Pchaine',false);
+ if ($nbfile == 0) $template->assign('Vchaine',true);
+ else $template->assign('Vchaine',false);
+
+ for ($i=0 ; $i<$nbfile ; $i++) {
+ $fileBat[$i][3] = $nomterrn[$fileBat[$i][0]];
+ $fileBat[$i][4] = $fileBat[$i][2]*$fileBat[$i][1];
+ if ($i == 0) {
+ $fileBat[$i][2] -= time() - $file->timestamp;
+ $fileBat[$i][4] -= time() - $file->timestamp;
+ }
+ }
+ $template->assign('file',$fileBat);
+?>
diff --git a/game/classement.php b/game/classement.php
index b492b94..72320b1 100644
--- a/game/classement.php
+++ b/game/classement.php
@@ -5,6 +5,7 @@ $titre = 'Classement';
if (isset($_GET['q']) && is_numeric($_GET['q']) && $_GET['q'] > 0) $pageClassement = $_GET['q'];
else $pageClassement = 1;
+
if (isset($_GET['e'])) {
if ($_GET['e'] == 'batiment') $export = 'batiments';
elseif ($_GET['e'] == 'flotte') $export = 'flottes';
diff --git a/game/defenses.php b/game/defenses.php
index e01afc8..465fd40 100644
--- a/game/defenses.php
+++ b/game/defenses.php
@@ -3,14 +3,12 @@ if(!defined('INDEX')) { header('Location: ../'); exit; }
$page = 'defenses';
$titre = 'Défenses';
- $fileTer = '';
-
$TEMP_ = array();
$nbstop = count($nomterrn);
if (empty($queryPlanete['file_ter'])) $file = new gererFile($queryUser['prodfile']+2);
else {
$file = unserialize($queryPlanete['file_ter']);
- $file->limite = $queryUser['prodfile']+2;
+ $file->limite = $queryUser['prodfile'] + 2;
}
if ($queryPlanete['chantier_terrestre'] == 0) {
@@ -39,8 +37,9 @@ $titre = 'Défenses';
}
eval($nomterrnCALC[$i][3]);
if ($file->addObjet($i, $nbv, ceil($sec))) {
- $export = mysql_real_escape_string(serialize($file));
- mysql_query("UPDATE `planete` SET `file_ter` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
+ $export = serialize($file);
+ $chapeau->escape($export);
+ $chapeau->query("UPDATE `$table_planete` SET `file_ter` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
}
else {
$template->assign('message','Vous ne pouvez pas mettre plus de défenses en file d\'attente.');
@@ -70,8 +69,9 @@ $titre = 'Défenses';
$cristal += $b*$nbvr;
$hydrogene += $c*$nbvr;
- $export = mysql_real_escape_string(serialize($file));
- mysql_query("UPDATE `planete` SET `file_ter` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
+ $export = serialize($file);
+ $chapeau->escape($export);
+ mysql_query("UPDATE `$table_planete` SET `file_ter` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
header('Location: ?p=defenses');
exit;
}
diff --git a/game/description.php b/game/description.php
new file mode 100644
index 0000000..0d2cea6
--- /dev/null
+++ b/game/description.php
@@ -0,0 +1,79 @@
+assign('type', 'batiments');
+ $t = $_GET['b'];
+ $nom_bdd = $batimentVAR[$t];
+ $template->assign('image', $batimeni[$t]);
+ $template->assign('nom', $batiment[$t]);
+ $template->assign('niveau', $queryPlanete[$nom_bdd]);
+ $template->assign('description', $batimede[$t]);
+
+ $n=($queryPlanete[$nom_bdd]+1);
+ $a = 0; $b = 0; $c = 0; $sec = 0;
+ eval($batimentCALC[$t][0]);
+ eval($batimentCALC[$t][1]);
+ eval($batimentCALC[$t][2]);
+ eval($batimentCALC[$t][3]);
+ $template->assign('ressourcesNext', array(separerNombres($a), separerNombres($b), separerNombres($c), sec($sec)));
+
+ $template->assign('etat', readDeblok($batimentTECH[$t], $queryPlanete, $queryUser));
+}
+elseif (isset($_GET['t']) && is_numeric($_GET['t']) && $_GET['t'] < count($technolo)) {
+ $template->assign('type', 'technologies');
+ $t = $_GET['t'];
+ $nom_bdd = $technoloVAR[$t];
+ $template->assign('image', $technoli[$t]);
+ $template->assign('nom', $technolo[$t]);
+ $template->assign('niveau', $queryUser[$nom_bdd]);
+ $template->assign('description', $technode[$t]);
+
+ $n=($queryUser[$nom_bdd]+1);
+ $a = 0; $b = 0; $c = 0; $sec = 0;
+ eval($technoloCALC[$t][0]);
+ eval($technoloCALC[$t][1]);
+ eval($technoloCALC[$t][2]);
+ eval($technoloCALC[$t][3]);
+ $template->assign('ressourcesNext', array(separerNombres($a), separerNombres($b), separerNombres($c), sec($sec)));
+
+ $template->assign('etat', readDeblok($technoloTECH[$t], $queryPlanete, $queryUser));
+}
+elseif (isset($_GET['v']) && is_numeric($_GET['v']) && $_GET['v'] < count($nomvaisn)) {
+ $template->assign('type', 'vaisseaux');
+ $t = $_GET['v'];
+ $nom_bdd = $nomvaisnVAR[$t];
+ $template->assign('image', $nomvaisi[$t]);
+ $template->assign('nom', $nomvaisn[$t]);
+ $template->assign('niveau', $queryPlanete[$nom_bdd]);
+ $template->assign('description', $nomvaisd[$t]);
+
+ $n=($queryPlanete[$nom_bdd]+1);
+ $a = $nomvaisnCALC[$t][0]; $b = $nomvaisnCALC[$t][1]; $c = $nomvaisnCALC[$t][2]; $sec = 0;
+ eval($nomvaisnCALC[$t][3]);
+ $template->assign('ressourcesNext', array(separerNombres($a), separerNombres($b), separerNombres($c), sec($sec)));
+
+ $template->assign('etat', readDeblok($nomvaisnTECH[$t], $queryPlanete, $queryUser));
+}
+elseif (isset($_GET['d']) && is_numeric($_GET['d']) && $_GET['d'] < count($nomterrn)) {
+ $template->assign('type', 'terrestre');
+ $t = $_GET['d'];
+ $nom_bdd = $nomterrnVAR[$t];
+ $template->assign('image', $nomterri[$t]);
+ $template->assign('nom', $nomterrn[$t]);
+ $template->assign('niveau', $queryPlanete[$nom_bdd]);
+ $template->assign('description', $nomterde[$t]);
+
+ $n=($queryPlanete[$nom_bdd]+1);
+ $a = $nomterrnCALC[$t][0]; $b = $nomterrnCALC[$t][1]; $c = $nomterrnCALC[$t][2]; $sec = 0;
+ eval($nomterrnCALC[$t][3]);
+ $template->assign('ressourcesNext', array(separerNombres($a), separerNombres($b), separerNombres($c), sec($sec)));
+
+ $template->assign('etat', readDeblok($nomterrnTECH[$t], $queryPlanete, $queryUser));
+}
+else {
+ header('Location: ?p=accueil');
+}
+?>
\ No newline at end of file
diff --git a/game/envoyer.php b/game/envoyer.php
index e5d340f..d2982b0 100644
--- a/game/envoyer.php
+++ b/game/envoyer.php
@@ -4,11 +4,14 @@ $page = 'envoyer';
$titre = 'Envoyer un message';
if (!empty($_POST['objet']) && !empty($_POST['nom']) && !empty($_POST['message'])) {
- $util = mysql_real_escape_string($_POST['nom']);
- if ($chapeau->unique_query("SELECT `pseudo` FROM `user` WHERE `pseudo` = '$util'")) {
- $message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
- $objet = mysql_real_escape_string(htmlspecialchars($_POST['objet']));
- mysql_query("INSERT INTO mail VALUES('', '1', '$util', '".$queryUser["pseudo"]."', '$objet', '$message', '".time()."')");
+ $util = $_POST['nom'];
+ $chapeau->escape($util);
+ if ($chapeau->unique_query("SELECT `pseudo` FROM `$table_user` WHERE `pseudo` = '$util';")) {
+ $message = htmlspecialchars($_POST['message']);
+ $chapeau->escape($message);
+ $objet = htmlspecialchars($_POST['objet']);
+ $chapeau->escape($objet);
+ mysql_query("INSERT INTO `$table_mail` VALUES(NULL, '1', '$util', '".$queryUser["pseudo"]."', '$objet', '$message', '".time()."');");
$template->assign('message','Votre message a été envoyé avec succès.');
$template->assign('script','');
@@ -25,6 +28,6 @@ if (!empty($_POST['objet']) && !empty($_POST['nom']) && !empty($_POST['message']
}
}
-if (isset($_GET['d'])) $template->assign('destinataire',$_GET['d']);
-if (isset($_GET['o'])) $template->assign('objet',$_GET['o']);
+if (isset($_GET['d'])) $template->assign('destinataire', $_GET['d']);
+if (isset($_GET['o'])) $template->assign('objet', $_GET['o']);
?>
\ No newline at end of file
diff --git a/game/flotte.php b/game/flotte.php
index 38a01aa..bd9707d 100644
--- a/game/flotte.php
+++ b/game/flotte.php
@@ -8,9 +8,24 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
$nbr = $chapeau->num_rows;
$end_galaxie = floor($_POST['amas']);
+ $chapeau->escape($end_galaxie);
$end_ss = floor($_POST['ss']);
+ $chapeau->escape($end_ss);
$end_pos = floor($_POST['pos']);
+ $chapeau->escape($end_pos);
$mission = floor($_POST['mission']);
+ $chapeau->escape($mission);
+ $tactique = floor($_POST['tactique']);
+ $chapeau->escape($tactique);
+ $EBmetal = floor($_POST['metal']);
+ $chapeau->escape($EBmetal);
+ $EBcristal = floor($_POST['cristal']);
+ $chapeau->escape($EBcristal);
+ $EBhydrogene = floor($_POST['hydrogene']);
+ $chapeau->escape($EBhydrogene);
+ $vitesse = floor($_POST['vitesse']);
+ $chapeau->escape($vitesse);
+
//Vérification du code anti-bots
if ($_POST['cds'] != $sess->values['flcds']) {
@@ -21,7 +36,7 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
exit;
}
//Si la mission est d'attaquer, on vérifie que les attaques ne soient pas désactivées
- elseif ($_POST['mission'] == 1 && !ATTAQUES) {
+ elseif ($mission == 1 && !ATTAQUES) {
$template->assign('message','Les attaques sont désactivées pour le moment. Pour plus d\'informations, consultez le forum.');
$template->assign('script','');
$template->assign('couleur','red');
@@ -53,7 +68,7 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
exit;
}
//Si la mission est d'attaquer, on vérifie la tactique
- elseif ($mission == 1 && $_POST['tactique'] > $queryUser['tactique']) {
+ elseif ($mission == 1 && $tactique > $queryUser['tactique']) {
$template->assign('message','Vous ne connaissez pas cette tactique de combat !');
$template->assign('script','');
$template->assign('couleur','red');
@@ -85,7 +100,7 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
exit;
}
//On vérifie que l'on possède assez de ressources
- elseif ((!empty($_POST['metal']) && !$_POST['metal'] > $queryPlanete['metal']) || (!empty($_POST['cristal']) && !$_POST['cristal'] > $queryPlanete['cristal']) || (!empty($_POST['hydrogene']) && !$_POST['hydrogene'] > $queryPlanete['hydrogene'])) {
+ elseif ((!empty($EBmetal) && !$EBmetal > $queryPlanete['metal']) || (!empty($EBcristal) && !$EBcristal > $queryPlanete['cristal']) || (!empty($EBhydrogene) && !$EBhydrogene > $queryPlanete['hydrogene'])) {
$template->assign('message','Vous ne pouvez pas envoyer plus de ressources que vous n\'en posséder.');
$template->assign('script','');
$template->assign('couleur','red');
@@ -93,7 +108,7 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
exit;
}
//On vérifie la vitesse du vaisseau
- elseif (!is_numeric($_POST['vitesse']) || $_POST['vitesse'] < 0 || $_POST['vitesse'] > 100) {
+ elseif (!is_numeric($vitesse) || $vitesse < 0 || $vitesse > 100) {
$template->assign('message','La vitesse de votre flotte est incorrecte !');
$template->assign('script','');
$template->assign('couleur','red');
@@ -201,7 +216,8 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
}
else {
//Envoie de la flotte
- $nom = mysql_real_escape_string(htmlentities($_POST['nomflotte']));
+ $nom = $_POST['nomflotte'];
+ $chapeau->escape($nom);
$start_time = time();
$start_galaxie = $queryPlanete['galaxie'];
@@ -209,6 +225,7 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
$start_pos = $queryPlanete['position'];
$vitesse = floor($_POST['vitesse'])/100;
+ $chapeau->escape($vitesse);
$end_time = vais_tempsDeplacement($start_galaxie, $start_ss, $start_pos, $end_galaxie, $end_ss, $end_pos, $sess->values['flvitesse'], $vitesse, $sess->values['flpreparation'], $sess->values['flchauffe']);
if ($end_time <= 0) {
@@ -217,9 +234,9 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
//On vérifie qu'il y a assez de place dans les cales des vaisseaux avant l'envoie
$conso = vais_conso($end_time, $sess->values['flnbvais'])*$vitesse*10;
- $contenu_metal = $_POST['metal']; $plan_metal = $queryPlanete['metal'] - $_POST['metal'];
- $contenu_cristal = $_POST['cristal']; $plan_cristal = $queryPlanete['cristal'] - $_POST['cristal'];
- $contenu_hydrogene = $_POST['hydrogene']; $plan_hydrogene = $queryPlanete['hydrogene'] - $_POST['hydrogene'] - $conso;
+ $contenu_metal = $_POST['metal']; $chapeau->escape($contenu_metal); $plan_metal = $queryPlanete['metal'] - $contenu_metal;
+ $contenu_cristal = $_POST['cristal']; $chapeau->escape($contenu_cristal); $plan_cristal = $queryPlanete['cristal'] - $contenu_cristal;
+ $contenu_hydrogene = $_POST['hydrogene']; $chapeau->escape($contenu_hydrogene); $plan_hydrogene = $queryPlanete['hydrogene'] - $contenu_hydrogene - $conso;
$contenu_max = $sess->values['flcontenu'];
if ($contenu_metal + $contenu_cristal + $contenu_hydrogene + $conso > $contenu_max && ($contenu_metal + $contenu_cristal + $contenu_hydrogene != 0 || $mission != 5)) {
$template->assign('message','Vous ne pouvez pas embarquer autant de ressources, les cales débordent.');
@@ -231,7 +248,9 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas'
else {
if ($mission == 1) {
$tactiqueAT = $_POST['tactique'];
+ $chapeau->escape($tactiqueAT);
$tactiqueEN = $resultatu['tactique'];
+ $chapeau->escape($tactiqueEN);
}
else {
$tactiqueAT = 0;
diff --git a/game/laboratoire.php b/game/laboratoire.php
index d278a5b..f688fa9 100644
--- a/game/laboratoire.php
+++ b/game/laboratoire.php
@@ -23,7 +23,7 @@ $titre = 'Laboratoire';
if (isset($_GET['t']) && isset($technolo[$_GET['t']])) {
$i = $_GET['t'];
if(requestDeblok($technoloTECH[$i], $queryPlanete, $queryUser)) {
- $n=($queryUser[$technoloVAR[$i]]+1);
+ $n = $queryUser[$technoloVAR[$i]] + 1;
eval($technoloCALC[$i][0]); $metal -= $a;
eval($technoloCALC[$i][1]); $cristal -= $b;
eval($technoloCALC[$i][2]); $hydrogene -= $c;
@@ -35,9 +35,17 @@ $titre = 'Laboratoire';
exit;
}
eval($technoloCALC[$i][3]);
- if ($fileT->addObjet($i, 1, ceil($sec))) {
- $export = mysql_real_escape_string(serialize($fileT));
- mysql_query("UPDATE `planete` SET `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene', `file_tech` = '$export' WHERE `id` = '$idPlan';");
+ if (!$fileT->existe($i) && $fileT->addObjet($i, 1, ceil($sec))) {
+ $export = serialize($fileT);
+ $chapeau->escape($export);
+ $chapeau->query("UPDATE `$table_planete` SET `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene', `file_tech` = '$export' WHERE `id` = '$idPlan';");
+ }
+ elseif ($file->existe($i)) {
+ $template->assign('message','Cette rechrche est déjà dans la file d\'attente !');
+ $template->assign('script','');
+ $template->assign('couleur','red');
+ $template->display('game/erreur.tpl');
+ exit;
}
else {
$template->assign('message','Vous ne pouvez pas mettre plus de recherche en file d\'attente.');
@@ -54,13 +62,14 @@ $titre = 'Laboratoire';
if (isset($_GET['a']) && isset($technolo[$_GET['a']])) {
$i = $_GET['a'];
if($fileT->existe($i)) {
- $n=($queryUser[$technoloVAR[$i]]+1);
+ $n = $queryUser[$technoloVAR[$i]] + 1;
eval($technoloCALC[$i][0]); $metal += $a;
eval($technoloCALC[$i][1]); $cristal += $b;
eval($technoloCALC[$i][2]); $hydrogene += $c;
$fileT->delobjet($i);
- $export = mysql_real_escape_string(serialize($fileT));
- mysql_query("UPDATE `planete` SET `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene', `file_tech` = '$export' WHERE `id` = '$idPlan';");
+ $export = serialize($fileT);
+ $chapeau->escape($export);
+ $chapeau->query("UPDATE `$table_planete` SET `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene', `file_tech` = '$export' WHERE `id` = '$idPlan';");
header('Location: ?p=laboratoire');
exit;
}
@@ -76,10 +85,11 @@ $titre = 'Laboratoire';
}*/
for ($i=0 ; $i<$nbstop ; $i++) {
- $tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0;
+ $tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0; $enFile = false;
$nom_bdd = $technoloVAR[$i];
if ($queryUser[$nom_bdd] > 0) $niveau = $queryUser[$nom_bdd]; else $niveau = 0;
$n=($queryUser[$nom_bdd]+1); eval($technoloCALC[$i][0]); eval($technoloCALC[$i][1]); eval($technoloCALC[$i][2]); eval($technoloCALC[$i][3]);
+ if ($fileT->existe($i)) $enFile = true;
if (!empty($technolo[$i]) && requestDeblok($technoloTECH[$i], $queryPlanete, $queryUser)) $TEMP_recherches[] =
array(
'image' => $technoli[$i],
@@ -94,6 +104,7 @@ $titre = 'Laboratoire';
'nec_cristalS' => separerNombres($b),
'nec_hydrogeneS' => separerNombres($c),
'num' => $i,
+ 'enfile' => $enFile,
'temps' => sec($sec),
'maq_metal' => ceil($a-$metal),
'maq_cristal' => ceil($b-$cristal),
diff --git a/game/messagerie.php b/game/messagerie.php
index e9f5d46..be4d5eb 100644
--- a/game/messagerie.php
+++ b/game/messagerie.php
@@ -8,7 +8,7 @@ if (isset($_POST['IM'])) {
for($i=1 ; $i<=$_POST['IM'] ; $i++) {
if (!empty($_POST['m'.$i])) {
$mes = $_POST['m'.$i];
- mysql_query("DELETE FROM `mail` WHERE `destinataire` = '".$queryUser["pseudo"]."' AND `id` = '$mes';");
+ mysql_query("DELETE FROM `$table_mail` WHERE `destinataire` = '".$queryUser["pseudo"]."' AND `id` = '$mes';");
$stop = true;
}
}
@@ -19,24 +19,32 @@ if (isset($_POST['IR'])) {
for($i=1 ; $i<=$_POST['IR'] ; $i++) {
if (!empty($_POST['r'.$i])) {
$mes = $_POST['r'.$i];
- mysql_query("UPDATE mail SET vu='s' WHERE `destinataire` = '".$queryUser["pseudo"]."' AND `id` = '$mes';");
+ mysql_query("UPDATE `$table_mail` SET vu='s' WHERE `destinataire` = '".$queryUser["pseudo"]."' AND `id` = '$mes';");
$stop = true;
}
}
if ($stop) { header('Location: ?p=messagerie'); exit; }
}
-$result = mysql_query("SELECT * FROM mail WHERE `destinataire` = '".$queryUser["pseudo"]."' AND `expediteur` != '' ORDER BY id DESC");
+$messcomp = $chapeau->query("SELECT * FROM `$table_mail` WHERE `destinataire` = '".$queryUser["pseudo"]."' AND `expediteur` != '' ORDER BY `id` DESC;");
+$nbmax = $chapeau->num_rows;
+
+$result = $chapeau->query("SELECT * FROM `$table_mail` WHERE `destinataire` = '".$queryUser["pseudo"]."' AND `expediteur` != '' ORDER BY `id` DESC LIMIT 50;");
+
+if ($queryUser['auth_level'] >= 3 && $nbmax > $i) $result = $messcomp;
+elseif ($nbmax > $chapeau->num_rows) $template->assign('avertissement', '
Vous avez des messages en attente de réception. Libérez de la place dans votre messagerie pour les afficher.
'); + $TEMP_messages = array(); $i=0; -while ($data = mysql_fetch_array($result)) { - $i++; - $TEMP_messages[] = array($data['sujet'], date("d/m/y H:i:s", $data['temps']), $data['expediteur'], bbcode($data['contenu']), $i, $data['id']); +$nbc = count($result); +for ($i=0 ; $i < $nbc ; $i++) { + $TEMP_messages[] = array($result[$i]['sujet'], date("d/m/y H:i:s", $result[$i]['temps']), $result[$i]['expediteur'], bbcode($result[$i]['contenu']), $i+1, $result[$i]['id']); } $template->assign('messages', $TEMP_messages); $template->assign('IM', $i); -$result = mysql_query("SELECT * FROM mail WHERE `destinataire` = '".$queryUser["pseudo"]."' AND `expediteur` = '' AND `vu` != 's' ORDER BY id DESC"); + +$result = mysql_query("SELECT * FROM `$table_mail` WHERE `destinataire` = '".$queryUser["pseudo"]."' AND `expediteur` = '' AND `vu` != 's' ORDER BY `id` DESC;"); $TEMP_rapport = array(); $i=0; while ($data = mysql_fetch_array($result)) { @@ -50,5 +58,5 @@ for (j=1; document.getElementsByName(\'m\'+j)[0]; j++) hide(document.getElements for (j=1; document.getElementsByName(\'r\'+j)[0]; j++) hide(document.getElementsByName(\'r\'+j)[0]); '); -mysql_query("UPDATE mail SET vu='0' WHERE `destinataire` = '".$queryUser["pseudo"]."' AND `vu` != 's'"); +mysql_query("UPDATE `$table_mail` SET `vu` = '0' WHERE `destinataire` = '".$queryUser["pseudo"]."' AND `vu` != 's'"); ?> \ No newline at end of file diff --git a/game/options.php b/game/options.php index 9f2ae24..13cf438 100644 --- a/game/options.php +++ b/game/options.php @@ -82,7 +82,7 @@ if (isset($_GET['chg']) && $_GET['chg'] == 'mdp') { $mail->AddAddress($mailUtil); $mail->AddReplyTo('no-reply@halo-battle.s-fr.com'); $mail->Subject='Halo-Battle :: Activation de votre nouveau mot de passe'; - $mail->Body='Bonjour '.trouvNom($id_user).',
Vous recevez ce mail suite à votre demande de changement de mot de passe. Ce dernier entrera en vigueur une fois que vous aurez valider ce changement en cliquant via ce lien :
'.$config['serv_adresse'].'?p=changeopt&util='.$id_user.'&auth='.$auth.'
Notez que pour que le mot de passe soit changé, il faut que vous soyer connecté sur votre compte.
A bientôt dans Halo-Battle,
Le staff
Bonjour '.trouvNom($id_user).',
Vous recevez ce mail suite à votre demande de changement de mot de passe. Ce dernier entrera en vigueur une fois que vous aurez valider ce changement en cliquant via ce lien :
http://'.$_SERVER['HTTP_HOST'].'?p=changeopt&util='.$id_user.'&auth='.$auth.'
Notez que pour que le mot de passe soit changé, il faut que vous soyer connecté sur votre compte.
A bientôt dans Halo-Battle,
Le staff
Bonjour,
Vous recevez ce mail suite à votre demande de changement d\'adresse électronique. Cette dernière entrera en vigueur une fois que vous aurez valider ce changement en cliquant via ce lien :
http://'.$_SERVER['HTTP_HOST'].'?p=changeopt&util='.$id_user.'&auth='.$auth.'
Notez que pour que l\'adresse soit changée, il faut que vous soyer connecté sur votre compte.
A bientôt dans Halo-Battle,
Le staff
Bonjour,
Vous recevez ce mail suite à votre demande de changement d\'adresse électronique. Cette dernière entrera en vigueur une fois que vous aurez valider ce changement en cliquant via ce lien :
'.$config['serv_adresse'].'?p=changeopt&util='.$id_user.'&auth='.$auth.'
Notez que pour que l\'adresse soit changée, il faut que vous soyer connecté sur votre compte.
A bientôt dans Halo-Battle,
Le staff
Code de vérification incorrect :
Le texte que vous avez recopier ne correspondait pas au texte de l\'image, veuillez recommencer.
Bonjour '.$_POST["HB_pseudo"].',
Vous 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 :
'.$config['serv_adresse'].'?p=oubliemdp&i='.$passNOUV.'&n='.$_POST["HB_pseudo"].'
Votre nouveau mot de passe est : '.$code.'
A bientôt dans Halo-Battle,
Le staff
Bonjour '.$HB_pseudo.',
Vous 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 :
'.$config['serv_adresse'].'?p=oubliemdp&i='.$passNOUV.'&n='.$HB_pseudo.'
Votre nouveau mot de passe est : '.$code.'
A bientôt dans Halo-Battle,
Le staff
|
+
+ |
+
+
+ {$unite.nom}{if $unite.nombre > 0} ({$unite.nombre} unite{if $unite.nombre > 1}x{/if}){/if}
+ + {if $unite.nec_metal > 0} + {if $unite.nec_metal > $planete.metal}Coût {$nomsressources.0|lower} : {$unite.nec_metalS} + {else}Coût {$nomsressources.0|lower} : {$unite.nec_metalS} {/if} + {/if} + {if $unite.nec_cristal > 0} + {if $unite.nec_cristal > $planete.cristal}Coût {$nomsressources.1|lower} : {$unite.nec_cristalS} + {else}Coût {$nomsressources.1|lower} : {$unite.nec_cristalS} {/if} + {/if} + {if $unite.nec_hydrogene > 0} + {if $unite.nec_hydrogene > $planete.hydrogene}Coût {$nomsressources.2|lower} : {$unite.nec_hydrogeneS} + {else}Coût {$nomsressources.2|lower} : {$unite.nec_hydrogeneS} {/if} + {/if} + Temps de construction : {$unite.temps} + + |
+
| {$nom} Actuellement : {if $type != 'vaisseaux' && $type != 'terrestre'}niveau{/if} {$niveau}{if $type == 'vaisseaux' || $type == 'terrestre'} unités{/if} |
+ |||||||||||
| {$description} | +|||||||||||
+
|
+ |||||||||||
+
|
+ |||||||||||
|
+
+ |
+
+
+ _tpl_vars['unite']['nom']; ?>
+_tpl_vars['unite']['nombre'] > 0): ?> (_tpl_vars['unite']['nombre']; ?>
+ unite_tpl_vars['unite']['nombre'] > 1): ?>x)
+ + _tpl_vars['unite']['nec_metal'] > 0): ?> + _tpl_vars['unite']['nec_metal'] > $this->_tpl_vars['planete']['metal']): ?>Coût _tpl_vars['nomsressources']['0'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['unite']['nec_metalS']; ?> + + Coût _tpl_vars['nomsressources']['0'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['unite']['nec_metalS']; ?> + + + _tpl_vars['unite']['nec_cristal'] > 0): ?> + _tpl_vars['unite']['nec_cristal'] > $this->_tpl_vars['planete']['cristal']): ?>Coût _tpl_vars['nomsressources']['1'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['unite']['nec_cristalS']; ?> + + Coût _tpl_vars['nomsressources']['1'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['unite']['nec_cristalS']; ?> + + + _tpl_vars['unite']['nec_hydrogene'] > 0): ?> + _tpl_vars['unite']['nec_hydrogene'] > $this->_tpl_vars['planete']['hydrogene']): ?>Coût _tpl_vars['nomsressources']['2'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['unite']['nec_hydrogeneS']; ?> + + Coût _tpl_vars['nomsressources']['2'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['unite']['nec_hydrogeneS']; ?> + + + Temps de construction : _tpl_vars['unite']['temps']; ?> + + |
+
| _tpl_vars['nom']; ?>
+ Actuellement : _tpl_vars['type'] != 'vaisseaux' && $this->_tpl_vars['type'] != 'terrestre'): ?>niveau _tpl_vars['niveau']; ?> +_tpl_vars['type'] == 'vaisseaux' || $this->_tpl_vars['type'] == 'terrestre'): ?> unités |
+ |||||||||||
| _tpl_vars['description']; ?> + | +|||||||||||
+
|
+ |||||||||||
+
|
+ |||||||||||
|
+
+ |
+
+
+ _tpl_vars['recherche']['nom']; ?>
+_tpl_vars['recherche']['niveau'] > 0): ?> (Niveau _tpl_vars['recherche']['niveau']; ?>
+)
+ + _tpl_vars['recherche']['nec_metal'] > 0): ?> + _tpl_vars['recherche']['nec_metal'] > $this->_tpl_vars['planete']['metal']): ?>Coût _tpl_vars['nomsressources']['0'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['recherche']['nec_metalS']; ?> + + Coût _tpl_vars['nomsressources']['0'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['recherche']['nec_metalS']; ?> + + + _tpl_vars['recherche']['nec_cristal'] > 0): ?> + _tpl_vars['recherche']['nec_cristal'] > $this->_tpl_vars['planete']['cristal']): ?>Coût _tpl_vars['nomsressources']['1'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['recherche']['nec_cristalS']; ?> + + Coût _tpl_vars['nomsressources']['1'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['recherche']['nec_cristalS']; ?> + + + _tpl_vars['recherche']['nec_hydrogene'] > 0): ?> + _tpl_vars['recherche']['nec_hydrogene'] > $this->_tpl_vars['planete']['hydrogene']): ?>Coût _tpl_vars['nomsressources']['2'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['recherche']['nec_hydrogeneS']; ?> + + Coût _tpl_vars['nomsressources']['2'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['recherche']['nec_hydrogeneS']; ?> + + + Temps de recherche : _tpl_vars['recherche']['temps']; ?> + + _tpl_vars['recherche']['enfile']): ?>Arrêter + _tpl_vars['recherche']['nec_hydrogene'] > $this->_tpl_vars['planete']['hydrogene']): ?>Ressources insuffisantes + _tpl_vars['recherche']['nec_cristal'] > $this->_tpl_vars['planete']['cristal']): ?>Ressources insuffisantes + _tpl_vars['recherche']['nec_metal'] > $this->_tpl_vars['planete']['metal']): ?>Ressources insuffisantes + Construire + + |
+
|
+
+ |
+
+
+ _tpl_vars['defense']['nom']; ?>
+_tpl_vars['defense']['nombre'] > 0): ?> (_tpl_vars['defense']['nombre']; ?>
+ defense_tpl_vars['defense']['nombre'] > 1): ?>s)
+ + _tpl_vars['defense']['nec_metal'] > 0): ?> + _tpl_vars['defense']['nec_metal'] > $this->_tpl_vars['planete']['metal']): ?>Coût _tpl_vars['nomsressources']['0'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['defense']['nec_metalS']; ?> + + Coût _tpl_vars['nomsressources']['0'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['defense']['nec_metalS']; ?> + + + _tpl_vars['defense']['nec_cristal'] > 0): ?> + _tpl_vars['defense']['nec_cristal'] > $this->_tpl_vars['planete']['cristal']): ?>Coût _tpl_vars['nomsressources']['1'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['defense']['nec_cristalS']; ?> + + Coût _tpl_vars['nomsressources']['1'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['defense']['nec_cristalS']; ?> + + + _tpl_vars['defense']['nec_hydrogene'] > 0): ?> + _tpl_vars['defense']['nec_hydrogene'] > $this->_tpl_vars['planete']['hydrogene']): ?>Coût _tpl_vars['nomsressources']['2'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['defense']['nec_hydrogeneS']; ?> + + Coût _tpl_vars['nomsressources']['2'])) ? $this->_run_mod_handler('lower', true, $_tmp) : smarty_modifier_lower($_tmp)); ?> + : _tpl_vars['defense']['nec_hydrogeneS']; ?> + + + Temps de construction : _tpl_vars['defense']['temps']; ?> + + |
+