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='Halo-Battle :: Activation de votre nouveau mot de passe

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

'; + $mail->Body='Halo-Battle :: Activation de votre nouveau mot de passe

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

'; if(!$mail->Send()){ //Teste si le return code est ok. $template->assign('message','Erreur lors de l\'envoie du courriel de confirmation !

'.$mail->ErrorInfo.'

Si le problème perciste, contactez un administrateur.'); @@ -124,52 +124,62 @@ if (isset($_GET['chg']) && $_GET['chg'] == 'mdp') { } } elseif (isset($_GET['chg']) && $_GET['chg'] == 'mail') { - if (isset($_POST['mail']) && !empty($_POST['mail'])) { - $Nmail = htmlspecialchars(mysql_escape_string($_POST['mail'])); - if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $Nmail)) { - $result = mysql_query("SELECT `mail` FROM `user` WHERE `mail` = '$Nmail'"); - if(mysql_num_rows($result) >= 1) { - header('Location: options.php?erreur=5'); + if (isset($_POST['mdp_mail']) && sha1(strtoupper($pseudo).':'.$_POST['mdp_mail']) == $mdp) { + if (isset($_POST['mail']) && !empty($_POST['mail'])) { + $Nmail = $_POST['mail']; + $chapeau->escape($Nmail); + if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $Nmail)) { + $result = mysql_query("SELECT `mail` FROM `user` WHERE `mail` = '$Nmail'"); + if(mysql_num_rows($result) >= 1) { + header('Location: options.php?erreur=5'); + exit; + } + else { + $auth = sha1($Nmail); + mysql_query("UPDATE `user` SET `mailNOUV` = '$Nmail' WHERE `id` = '$id_user'"); + + //On envoie le mail de confirmation + $mail = new PHPmailer(); + $mail->SetLanguage('fr', 'Class/'); + $mail->IsSMTP(); + $mail->IsHTML(true); + $mail->Host='s-fr.com'; + $mail->From='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.s-fr.com'); + $mail->Subject='Halo-Battle :: Activation de votre nouvelle adresse électronique'; + $mail->Body='Halo-Battle :: Activation de votre nouvelle adresse électronique

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

'; + + if(!$mail->Send()){ //Teste si le return code est ok. + $template->assign('message','Erreur lors de l\'envoie du courriel de confirmation !

'.$mail->ErrorInfo.'

Si le problème perciste, contactez un administrateur.'); + $template->assign('couleur','red'); + $template->display('game/erreur.tpl'); + exit; + } + else{ + $template->assign('message','Un courriel vient d\'être envoyé à '.$Nmail.'. L\'adresse électronique ne sera modifié qu\'après avoir cliqué sur le lien d\'activation contenu dans ce courriel.'); + $template->assign('couleur','green'); + $template->display('game/erreur.tpl'); + exit; + } + $mail->SmtpClose(); + unset($mail); + } + } + else { + $template->assign('message','L\'adresse électronique que vous avez tapée n\'est pas valide.'); + $template->assign('script',''); + $template->assign('couleur','red'); + $template->display('game/erreur.tpl'); exit; } - else { - $auth = sha1($Nmail); - mysql_query("UPDATE `user` SET `mailNOUV` = '$Nmail' WHERE `id` = '$id_user'"); - - //On envoie le mail de confirmation - $mail = new PHPmailer(); - $mail->SetLanguage('fr', 'Class/'); - $mail->IsSMTP(); - $mail->IsHTML(true); - $mail->Host='s-fr.com'; - $mail->From='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.s-fr.com'); - $mail->Subject='Halo-Battle :: Activation de votre nouvelle adresse électronique'; - $mail->Body='Halo-Battle :: Activation de votre nouvelle adresse électronique

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

'; - - if(!$mail->Send()){ //Teste si le return code est ok. - $template->assign('message','Erreur lors de l\'envoie du courriel de confirmation !

'.$mail->ErrorInfo.'

Si le problème perciste, contactez un administrateur.'); - $template->assign('couleur','red'); - $template->display('game/erreur.tpl'); - exit; - } - else{ - $template->assign('message','Un courriel vient d\'être envoyé à '.$Nmail.'. L\'adresse électronique ne sera modifié qu\'après avoir cliqué sur le lien d\'activation contenu dans ce courriel.'); - $template->assign('couleur','green'); - $template->display('game/erreur.tpl'); - exit; - } - $mail->SmtpClose(); - unset($mail); - } - } + } else { - $template->assign('message','L\'adresse électronique que vous avez tapée n\'est pas valide.'); + $template->assign('message','Veuillez remplir tous les champs avant de valider le formulaire.'); $template->assign('script',''); $template->assign('couleur','red'); $template->display('game/erreur.tpl'); @@ -177,7 +187,7 @@ elseif (isset($_GET['chg']) && $_GET['chg'] == 'mail') { } } else { - $template->assign('message','Veuillez remplir tous les champs avant de valider le formulaire.'); + $template->assign('message','Mot de passe incorrect.'); $template->assign('script',''); $template->assign('couleur','red'); $template->display('game/erreur.tpl'); diff --git a/game/oubliemdp.php b/game/oubliemdp.php index 375d1d7..d86cd88 100644 --- a/game/oubliemdp.php +++ b/game/oubliemdp.php @@ -6,9 +6,13 @@ $page = 'oubliemdp'; $erreur = ''; if (!empty($_GET['i']) && isset($_GET['n'])) { - $user = $chapeau->unique_query("SELECT * FROM `user` WHERE `pseudo` = '".mysql_real_escape_string($_GET['n'])."' AND `mdpNOUV` = '".mysql_real_escape_string($_GET['i'])."';"); + $Un = $_GET['n']; + $Ui = $_GET['i']; + $chapeau->escape($Un); + $chapeau->escape($Ui); + $user = $chapeau->unique_query("SELECT * FROM `user` WHERE `pseudo` = '$Un' AND `mdpNOUV` = '$Ui';"); if ($user) { - mysql_query("UPDATE `user` SET `mdp` = `mdpNOUV`, `mdpNOUV` = '' WHERE `pseudo` = '".mysql_real_escape_string($_GET['n'])."'"); + mysql_query("UPDATE `user` SET `mdp` = `mdpNOUV`, `mdpNOUV` = '' WHERE `pseudo` = '$Un'"); $template->assign('message','Votre mot de passe a été réinitialisé avec succès.'); $template->assign('script',''); $template->assign('couleur','green'); @@ -34,15 +38,17 @@ if (isset($_POST['HB_pseudo']) && isset($_POST['HB_mail']) && isset($_POST['HB_c $erreur .= '

Code de vérification incorrect :
Le texte que vous avez recopier ne correspondait pas au texte de l\'image, veuillez recommencer.


'; } if ($ok) { - $user = $chapeau->unique_query("SELECT * FROM `user` WHERE `pseudo` = '".mysql_real_escape_string($_POST['HB_pseudo'])."' AND `mail` = '".mysql_real_escape_string($_POST['HB_mail'])."';"); + $HB_pseudo = $chapeau->escape($_POST['HB_pseudo']); + $HB_mail = $chapeau->escape($_POST['HB_mail']); + $user = $chapeau->unique_query("SELECT * FROM `user` WHERE `pseudo` = '$HB_pseudo' AND `mail` = '$HB_mail';"); if ($user) { $liste = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $code = ''; while(strlen($code) != 8) { $code .= $liste[rand(0,60)]; } - $passNOUV = sha1(strtoupper($pseudo).':'.$code); - mysql_query("UPDATE `user` SET `mdpNOUV` = '".$passNOUV."' WHERE `pseudo` = '".mysql_real_escape_string($_POST["HB_pseudo"])."'"); + $passNOUV = sha1(strtoupper($HB_pseudo).':'.$code); + mysql_query("UPDATE `user` SET `mdpNOUV` = '$passNOUV' WHERE `pseudo` = '$HB_pseudo';"); $mail = new PHPmailer(); $mail->SetLanguage('fr', 'Class/'); @@ -55,10 +61,10 @@ if (isset($_POST['HB_pseudo']) && isset($_POST['HB_mail']) && isset($_POST['HB_c $mail->Username='no-reply@halo-battle.s-fr.com'; $mail->Password='hD3e2nXu'; - $mail->AddAddress($_POST['HB_mail']); + $mail->AddAddress($HB_mail); $mail->AddReplyTo('no-reply@halo-battle.s-fr.com'); $mail->Subject='Halo-Battle :: Reinitialisation du mot de passe'; - $mail->Body='Halo-Battle :: Réinitialisation du mot de passe

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

'; + $mail->Body='Halo-Battle :: Réinitialisation du mot de passe

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

'; if(!$mail->Send()){ //Teste si le return code est ok. $template->assign('message','Erreur lors de l\'envoie du courriel de confirmation !

'.$mail->ErrorInfo.'

Si le problème perciste, contactez un administrateur.'); diff --git a/game/rename.php b/game/rename.php index 84bc919..8c047b8 100644 --- a/game/rename.php +++ b/game/rename.php @@ -5,7 +5,8 @@ $titre = $queryPlanete["nom_planete"]; $id_plan = $queryPlanete["id"]; if (isset($_POST['planete'])) { - $nouvNom = mysql_real_escape_string(str_replace('<', '<', trim($_POST['planete']))); + $nouvNom = trim($_POST['planete']); + $chapeau->escape($nouvNom); if (empty($nouvNom)) { $template->assign('message','Vous n\'avez indiqué aucun nom de planète.'); $template->assign('script',''); @@ -25,11 +26,10 @@ if (isset($_POST['planete'])) { } elseif(isset($_GET['a']) && $_GET['a'] == $sess->values['abandon']) { $galaxie = $queryPlanete["galaxie"]; $ss = $queryPlanete["ss"]; $position = $queryPlanete["position"]; - mysql_query("DELETE FROM `planete` WHERE `id_user` = '$id_user' AND `id` = '$id_plan' LIMIT 1;"); - mysql_query("DELETE FROM `flottes` WHERE `id_user` = '$id_user' AND `start_galaxie` = '$galaxie' AND `start_ss` = '$ss' AND `start_position` = '$position';"); + $chapeau->query("DELETE FROM `$table_planete` WHERE `id_user` = '$id_user' AND `id` = '$id_plan' LIMIT 1;"); + $chapeau->query("DELETE FROM `$table_flottes` WHERE `id_user` = '$id_user' AND `start_galaxie` = '$galaxie' AND `start_ss` = '$ss' AND `start_position` = '$position';"); - $table = $config['db_prefix'].'planete'; - $req = $chapeau->unique_query("SELECT * FROM `$table` WHERE `id_user` = '$id_user' LIMIT 1;"); + $req = $chapeau->unique_query("SELECT * FROM `$table_planete` WHERE `id_user` = '$id_user' LIMIT 1;"); $sess->values['idPlan'] = $req['id']; $sess->put(); @@ -40,8 +40,7 @@ elseif(isset($_GET['a']) && $_GET['a'] == $sess->values['abandon']) { exit; } -$table = $config['db_prefix'].'planete'; -$reqnb = $chapeau->query("SELECT * FROM `$table` WHERE `id_user` = '$id_user'"); +$reqnb = $chapeau->query("SELECT * FROM `$table_planete` WHERE `id_user` = '$id_user'"); if (count($reqnb) > 1) $hashA = md5(rand(123456789,9876543210)); else $hashA = false; $sess->values['abandon'] = $hashA; diff --git a/game/ressources.php b/game/ressources.php index c44172f..360d3e7 100644 --- a/game/ressources.php +++ b/game/ressources.php @@ -8,7 +8,18 @@ if (isset($_POST['coeff_metal']) && isset($_POST['coeff_cs'])) { if (!isset($_POST['coeff_hydrogene'])) $_POST['coeff_hydrogene'] = 0; if (!isset($_POST['coeff_ce'])) $_POST['coeff_ce'] = 0; - $chapeau->query("UPDATE `planete` SET `coeff_mine_m` = '".(floor($_POST['coeff_metal'])/100)."', `coeff_mine_c` = '".(floor($_POST['coeff_cristal'])/100)."', `coeff_mine_h` = '".(floor($_POST['coeff_hydrogene'])/100)."', `coeff_centrale_s` = '".(floor($_POST['coeff_cs'])/100)."', `coeff_centrale_f` = '".(floor($_POST['coeff_ce'])/100)."' WHERE `id` = '$idPlan'"); + $coeff_metal = floor($_POST['coeff_metal']); + $chapeau->escape($coeff_metal); + $coeff_cristal = floor($_POST['coeff_cristal']); + $chapeau->escape($coeff_cristal); + $coeff_hydrogene = floor($_POST['coeff_hydrogene']); + $chapeau->escape($coeff_hydrogene); + $coeff_cs = floor($_POST['coeff_cs']); + $chapeau->escape($coeff_cs); + $coeff_ce = floor($_POST['coeff_ce']); + $chapeau->escape($coeff_ce); + + $chapeau->query("UPDATE `planete` SET `coeff_mine_m` = '".($coeff_metal/100)."', `coeff_mine_c` = '".($coeff_cristal/100)."', `coeff_mine_h` = '".($coeff_hydrogene/100)."', `coeff_centrale_s` = '".($coeff_cs/100)."', `coeff_centrale_f` = '".($coeff_ce/100)."' WHERE `id` = '$idPlan'"); header('Location: ?p=ressources'); exit; } @@ -18,5 +29,6 @@ $template->assign('ressources_prod', array(separerNombres(floor(ceil(pow(1.1,$mi $template->assign('ressources_conso', array(separerNombres(ceil(exp(0.28*$mine_m)*10)*$coeff_mine_m), separerNombres(ceil(exp(0.28*$mine_c)*10)*$coeff_mine_c), separerNombres(ceil(exp(0.2849*$mine_h)*13)*$coeff_mine_h), floor(ceil(pow(1.34,($centrale_f-1))*9)*$coeff_centrale_f))); $template->assign('ressources_toto', array(separerNombres(floor((ceil(pow(1.1,$mine_h)*14*($mine_h+0.7))) * $coeff_mine_h) - floor(ceil(pow(1.34,($centrale_f-1))*9)*$coeff_centrale_f))), '('.$diffnrj.')'); $template->assign('ressources_coef', array(floor($coeff_mine_m*10)*10, floor($coeff_mine_c*10)*10, floor($coeff_mine_h*10)*10, floor($coeff_centrale_s*10)*10, floor($coeff_centrale_f*10)*10)); +$template->assign('ressources_silo', array($queryPlanete['silo'], $cap)); $template->assign('ressources_tab', array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)); ?> \ No newline at end of file diff --git a/includes/common.php b/includes/common.php index 12b66f3..643e6d0 100644 --- a/includes/common.php +++ b/includes/common.php @@ -4,12 +4,12 @@ if(!defined('INDEX')) { header('Location: ../'); exit; } define("_FCORE",$_SERVER["DOCUMENT_ROOT"].'/includes/onyx/'); define("_FDIR",'hbn'); -define('VERSION', '1.1b'); +define('VERSION', '1.2'); //Constante permettant de savoir si les attaques sont désactivées ou non define("ATTAQUES", false); //Définition des limites de la galaxie -define("MAX_AMAS", 9); +define("MAX_AMAS", 10); define("MAX_SYSTEME", 99); define("MAX_PLANETE", 12); @@ -57,6 +57,7 @@ google_ad_height = 60;
'); + $template->assign('analyst', '{/if} + {$fterr.1} {$fterr.3} - + - Annuler un - Annuler tous +{/foreach} + {if $Vchaine}Aucune unité dans la file d'attente{/if} +
+ +

Arbre des technologies


+

Chantier terrestre

+ +{foreach from=$unite item=unite} + + + + +{/foreach} +
+ + Unité terrestre + {$unite.description} + + +
+ {$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}

+
+
+ + +
+
+
+
+
+{include file='game/footer.tpl'} \ No newline at end of file diff --git a/includes/onyx/templates/templates/game/defenses.tpl b/includes/onyx/templates/templates/game/defenses.tpl index 8be340f..c818117 100644 --- a/includes/onyx/templates/templates/game/defenses.tpl +++ b/includes/onyx/templates/templates/game/defenses.tpl @@ -15,7 +15,7 @@ {foreach from=$defenses item=defense} - + Image {$defense.description} diff --git a/includes/onyx/templates/templates/game/description.tpl b/includes/onyx/templates/templates/game/description.tpl new file mode 100644 index 0000000..b6102ce --- /dev/null +++ b/includes/onyx/templates/templates/game/description.tpl @@ -0,0 +1,69 @@ +{include file='game/header.tpl'} +
+

Détails {$type} : {$nom}

+ + + + + + + + + + + + + + + + + + +
{$nom}
Actuellement : {if $type != 'vaisseaux' && $type != 'terrestre'}niveau{/if} {$niveau}{if $type == 'vaisseaux' || $type == 'terrestre'} unités{/if}
{$description}
+ + + + + + + +{if $ressourcesNext.0} + + + + +{/if} +{if $ressourcesNext.1} + + + + +{/if} +{if $ressourcesNext.2} + + + + +{/if} + + + + + +
Coûts {if $type == 'vaisseaux' || $type == 'terrestre'}unité{else}prochain niveau{/if}
{$nomsressources.0}{$ressourcesNext.0}
{$nomsressources.1}{$ressourcesNext.1}
{$nomsressources.2}{$ressourcesNext.2}
Temps{$ressourcesNext.3}
+
+ + + + + + + + + + + +
Requiert
{$etat}
+
+
+{include file='game/footer.tpl'} \ No newline at end of file diff --git a/includes/onyx/templates/templates/game/flotte1.tpl b/includes/onyx/templates/templates/game/flotte1.tpl index b0602f8..4ef0f26 100644 --- a/includes/onyx/templates/templates/game/flotte1.tpl +++ b/includes/onyx/templates/templates/game/flotte1.tpl @@ -8,12 +8,12 @@ {foreach from=$flottesEC item=flotteEC} - {$flotteEC.1} + {$flotteEC.1|escape} {$flotteEC.2} {$flotteEC.3} - {$flotteEC.4} + {$flotteEC.4|escape} {$flotteEC.5} - {$flotteEC.6} + {$flotteEC.6|escape} {$flotteEC.7} {/foreach} diff --git a/includes/onyx/templates/templates/game/flotte2.tpl b/includes/onyx/templates/templates/game/flotte2.tpl index 9bcd8e0..8b9ee29 100644 --- a/includes/onyx/templates/templates/game/flotte2.tpl +++ b/includes/onyx/templates/templates/game/flotte2.tpl @@ -3,7 +3,7 @@

Paramètres généraux

-
+
::


Pour vous repérer plus facilement entre vos différentes flottes, donnez-lui un nom.
diff --git a/includes/onyx/templates/templates/game/footer.tpl b/includes/onyx/templates/templates/game/footer.tpl index d7dd5d2..ff114f7 100644 --- a/includes/onyx/templates/templates/game/footer.tpl +++ b/includes/onyx/templates/templates/game/footer.tpl @@ -1,21 +1,8 @@ - +