diff --git a/.drone.yml b/.drone.yml index 7500fbe..af479b3 100644 --- a/.drone.yml +++ b/.drone.yml @@ -8,6 +8,12 @@ platform: arch: amd64 steps: +- name: lint + image: php:7.2-alpine + commands: + - curl -L https://cs.symfony.com/download/php-cs-fixer-v2.phar -o php-cs-fixer.phar + - php php-cs-fixer.phar fix htdocs --dry-run --using-cache=no --verbose --stop-on-violation + - php php-cs-fixer.phar fix onyx2 --dry-run --using-cache=no --verbose --stop-on-violation - name: publish image: plugins/docker settings: diff --git a/htdocs/admin.php b/htdocs/admin.php index 223d7b2..10c8969 100644 --- a/htdocs/admin.php +++ b/htdocs/admin.php @@ -7,119 +7,111 @@ require_once(trim(file_get_contents('./.onyx'))); require_once("common.php"); //Chargement de tout le nécessaire pour le jeu //On vérifie si le client est connecté ou non sur le site -if (isset($SESS) && isset($SESS->values['connected']) && $SESS->values['connected'] && !empty($SESS->values['id']) && !empty($SESS->level) && $SESS->level >= 3) -{ - function infoPlan($galaxie, $ss, $pos, $info) - { - $base = new BDD(); - $resultat = $base->unique_query("SELECT * FROM planete WHERE galaxie = '$galaxie' AND ss = '$ss' AND position= '$pos';"); - $base->deconnexion(); - return $resultat[$info]; - } +if (isset($SESS) && isset($SESS->values['connected']) && $SESS->values['connected'] && !empty($SESS->values['id']) && !empty($SESS->level) && $SESS->level >= 3) { + function infoPlan($galaxie, $ss, $pos, $info) + { + $base = new BDD(); + $resultat = $base->unique_query("SELECT * FROM planete WHERE galaxie = '$galaxie' AND ss = '$ss' AND position= '$pos';"); + $base->deconnexion(); + return $resultat[$info]; + } - //Passage des valeurs générales au template - $titre = "Administration"; - $template->assign('page', 'admin'); - $template->assign('menu', $VAR['menu']); - $template->assign('premiere_page', $VAR['first_page']); - $template->assign('race', $SESS->values['race']); - $template->assign("tpsdejeu", "un certain temps"); + //Passage des valeurs générales au template + $titre = "Administration"; + $template->assign('page', 'admin'); + $template->assign('menu', $VAR['menu']); + $template->assign('premiere_page', $VAR['first_page']); + $template->assign('race', $SESS->values['race']); + $template->assign("tpsdejeu", "un certain temps"); - if (!empty($SESS->values['souscontrole'])) - { - $pagea = 'erreur'; + if (!empty($SESS->values['souscontrole'])) { + $pagea = 'erreur'; - $SESS->values['id'] = $SESS->values['souscontrole'][0]; - $SESS->values['idPlan'] = $SESS->values['souscontrole'][1]; - $SESS->values['souscontrole'] = null; - $SESS->put(); + $SESS->values['id'] = $SESS->values['souscontrole'][0]; + $SESS->values['idPlan'] = $SESS->values['souscontrole'][1]; + $SESS->values['souscontrole'] = null; + $SESS->put(); - $template->assign('message', 'Droits rétablis avec succès !
'); - } - else - { - $id_user = $SESS->values['id']; + $template->assign('message', 'Droits rétablis avec succès !
'); + } else { + $id_user = $SESS->values['id']; - if (!isset($_GET['p'])) - $_GET['p'] = ''; - if ($SESS->level >= 5) - { - switch($_GET['p']) - { - case 'djoueurs': - include("admin/supprimer_joueur.php"); - break; - case 'bandeau': - include("admin/bandeau.php"); - break; - case 'demarrage': - include("admin/demarrage.php"); - break; - case 'version': - include("admin/version.php"); - break; - case 'inscription': - include("admin/inscription.php"); - break; - case 'njoueur': - include("server/njoueur.php"); - break; - case 'mail_mass': - include("admin/mail_mass.php"); - break; - case 'bdd': - include("admin/bdd.php"); - break; - case 'proxy': - include("admin/proxy.php"); - break; - } - } - if (empty($pagea)) - { - switch($_GET['p']) - { - case 'courrier': - include("admin/mail.php"); - break; - case 'vip': - include("admin/ip.php"); - break; - case 'vflottes': - include("admin/flottes.php"); - break; - case 'vplanetes': - include("admin/planete.php"); - break; - case 'vjoueurs': - include("admin/joueur.php"); - break; - case 'valliances': - include("admin/alliance.php"); - break; - case 'snalliances': - include("admin/snalliances.php"); - break; - case 'vrapports': - include("admin/rapport.php"); - break; - case 'sjoueurs': - include("admin/sanction_joueur.php"); - break; - case 'cjoueurs': - include("admin/prendre_controle.php"); - break; - default: - include("admin/accueil.php"); - break; - } - } - } + if (!isset($_GET['p'])) { + $_GET['p'] = ''; + } + if ($SESS->level >= 5) { + switch ($_GET['p']) { + case 'djoueurs': + include("admin/supprimer_joueur.php"); + break; + case 'bandeau': + include("admin/bandeau.php"); + break; + case 'demarrage': + include("admin/demarrage.php"); + break; + case 'version': + include("admin/version.php"); + break; + case 'inscription': + include("admin/inscription.php"); + break; + case 'njoueur': + include("server/njoueur.php"); + break; + case 'mail_mass': + include("admin/mail_mass.php"); + break; + case 'bdd': + include("admin/bdd.php"); + break; + case 'proxy': + include("admin/proxy.php"); + break; + } + } + if (empty($pagea)) { + switch ($_GET['p']) { + case 'courrier': + include("admin/mail.php"); + break; + case 'vip': + include("admin/ip.php"); + break; + case 'vflottes': + include("admin/flottes.php"); + break; + case 'vplanetes': + include("admin/planete.php"); + break; + case 'vjoueurs': + include("admin/joueur.php"); + break; + case 'valliances': + include("admin/alliance.php"); + break; + case 'snalliances': + include("admin/snalliances.php"); + break; + case 'vrapports': + include("admin/rapport.php"); + break; + case 'sjoueurs': + include("admin/sanction_joueur.php"); + break; + case 'cjoueurs': + include("admin/prendre_controle.php"); + break; + default: + include("admin/accueil.php"); + break; + } + } + } - $template->assign('titre', $titre); - $template->assign('pagea', $pagea); - $template->display('admin/'.$pagea.'.tpl'); + $template->assign('titre', $titre); + $template->assign('pagea', $pagea); + $template->display('admin/'.$pagea.'.tpl'); +} else { + header('Location: '.$VAR['first_page']); } -else - header('Location: '.$VAR['first_page']); -?> \ No newline at end of file diff --git a/htdocs/ajax_chat.php b/htdocs/ajax_chat.php index 0039c8f..bcdfe61 100644 --- a/htdocs/ajax_chat.php +++ b/htdocs/ajax_chat.php @@ -13,36 +13,30 @@ require_once("donnees.php"); $SESS = new Session(); //On vérifie si le client est connecté sur le site -if (isset($SESS) && isset($SESS->values['connected']) && $SESS->values['connected'] && !empty($SESS->values['id']) && !empty($SESS->values['race']) && !empty($SESS->level) && isset($SESS->values['idPlan']) && isset($SESS->values['idAsteroide'])) -{ - include_once("Class/user.php"); - $user = new User($SESS->values['id']); - if (!empty($user->id_alliance)) - { - if (isset($_POST['message'])) - { - $message = htmlentities(trim(gpc("message", "post"))); - if (!empty($message) || $message == "0") - { - $bdd = new BDD(); - $bdd->escape($message); - $bdd->query("INSERT INTO $table_alliances_chat (id_alliance, emetteur, timestamp, message) VALUES (".$user->id_alliance.", ".$user->id_user.", ".time().", '$message');"); - $bdd->deconnexion(); - } - } - else - { - if (!empty($_GET['time'])) - $time = intval(gpc("time"))." ORDER BY timestamp DESC"; - else - $time = "0 ORDER BY timestamp DESC LIMIT 15"; +if (isset($SESS) && isset($SESS->values['connected']) && $SESS->values['connected'] && !empty($SESS->values['id']) && !empty($SESS->values['race']) && !empty($SESS->level) && isset($SESS->values['idPlan']) && isset($SESS->values['idAsteroide'])) { + include_once("Class/user.php"); + $user = new User($SESS->values['id']); + if (!empty($user->id_alliance)) { + if (isset($_POST['message'])) { + $message = htmlentities(trim(gpc("message", "post"))); + if (!empty($message) || $message == "0") { + $bdd = new BDD(); + $bdd->escape($message); + $bdd->query("INSERT INTO $table_alliances_chat (id_alliance, emetteur, timestamp, message) VALUES (".$user->id_alliance.", ".$user->id_user.", ".time().", '$message');"); + $bdd->deconnexion(); + } + } else { + if (!empty($_GET['time'])) { + $time = intval(gpc("time"))." ORDER BY timestamp DESC"; + } else { + $time = "0 ORDER BY timestamp DESC LIMIT 15"; + } - $bdd = new BDD(); - $messages = $bdd->query("SELECT C.*, U.pseudo FROM $table_alliances_chat C INNER JOIN $table_user U ON U.id = C.emetteur WHERE C.id_alliance = ".$user->id_alliance." AND C.timestamp > $time;"); - $bdd->deconnexion(); + $bdd = new BDD(); + $messages = $bdd->query("SELECT C.*, U.pseudo FROM $table_alliances_chat C INNER JOIN $table_user U ON U.id = C.emetteur WHERE C.id_alliance = ".$user->id_alliance." AND C.timestamp > $time;"); + $bdd->deconnexion(); - header("X-JSON: ".json_encode($messages)); - } - } + header("X-JSON: ".json_encode($messages)); + } + } } -?> \ No newline at end of file diff --git a/htdocs/ajax_flotte.php b/htdocs/ajax_flotte.php index 49d84f1..669ac90 100644 --- a/htdocs/ajax_flotte.php +++ b/htdocs/ajax_flotte.php @@ -2,140 +2,150 @@ define("INDEX", 1); $chrono_start = microtime(); $onyx = @file_get_contents('./.onyx') or die("Configuration introuvable."); -define("_FCORE",trim($onyx)); +define("_FCORE", trim($onyx)); require(_FCORE."../game/Class/JSON.php"); require_once(_FCORE."common.php"); if (isset($sess) && isset($sess->values['connected']) && $sess->values['connected'] && !empty($sess->values['id']) && !empty($sess->level) && !empty($sess->values['idPlan'])) { - $json = new Services_JSON(); - $nbtrajet = 2; + $json = new Services_JSON(); + $nbtrajet = 2; - if (empty($config['flottes']) && $sess->level <= 1) { - $datas = array( - 'root' => array( - 'destination' => '::', - 'temps' => '-', - 'deblok' => 'Les flottes sont désactivés pour le moment.', - 'conso' => '-', - 'tactique' => '', - 'places' => '' - ) - ); - header("X-JSON: ".$json->encode($datas)); - exit; - } + if (empty($config['flottes']) && $sess->level <= 1) { + $datas = array( + 'root' => array( + 'destination' => '::', + 'temps' => '-', + 'deblok' => 'Les flottes sont désactivés pour le moment.', + 'conso' => '-', + 'tactique' => '', + 'places' => '' + ) + ); + header("X-JSON: ".$json->encode($datas)); + exit; + } - $destin = gpc('fav_dest', 'post'); + $destin = gpc('fav_dest', 'post'); - $chapeau = new bdd(); - $chapeau->connexion(); - $idPlan = $sess->values['idPlan']; - $queryPlanete = $chapeau->unique_query("SELECT * FROM $table_planete WHERE id = '$idPlan'"); - if (!empty($destin)) { - $chapeau->escape($destin); - $queryPlaneteRapid = $chapeau->unique_query("SELECT nom_planete, galaxie, ss, position FROM $table_planete WHERE id = $destin;"); - if ($queryPlaneteRapid) $destinRapid = '['.$queryPlaneteRapid['galaxie'].':'.$queryPlaneteRapid['ss'].':'.$queryPlaneteRapid['position'].']'; - } - if (!isset($destinRapid)) $destinRapid = '::'; - $start_galaxie = $queryPlanete['galaxie']; - $start_ss = $queryPlanete['ss']; - $start_position = $queryPlanete['position']; + $chapeau = new bdd(); + $chapeau->connexion(); + $idPlan = $sess->values['idPlan']; + $queryPlanete = $chapeau->unique_query("SELECT * FROM $table_planete WHERE id = '$idPlan'"); + if (!empty($destin)) { + $chapeau->escape($destin); + $queryPlaneteRapid = $chapeau->unique_query("SELECT nom_planete, galaxie, ss, position FROM $table_planete WHERE id = $destin;"); + if ($queryPlaneteRapid) { + $destinRapid = '['.$queryPlaneteRapid['galaxie'].':'.$queryPlaneteRapid['ss'].':'.$queryPlaneteRapid['position'].']'; + } + } + if (!isset($destinRapid)) { + $destinRapid = '::'; + } + $start_galaxie = $queryPlanete['galaxie']; + $start_ss = $queryPlanete['ss']; + $start_position = $queryPlanete['position']; - $met = gpc('met', 'post'); - $cri = gpc('cri', 'post'); - $hyd = gpc('hyd', 'post'); - if (!empty($sess->values['flcontenu']) && $met+$cri+$hyd >= 0 && $met >= 0 && $cri >= 0 && $hyd >= 0) $places = $sess->values['flcontenu'] - ($met+$cri+$hyd); - else $places = 'inconnu'; + $met = gpc('met', 'post'); + $cri = gpc('cri', 'post'); + $hyd = gpc('hyd', 'post'); + if (!empty($sess->values['flcontenu']) && $met+$cri+$hyd >= 0 && $met >= 0 && $cri >= 0 && $hyd >= 0) { + $places = $sess->values['flcontenu'] - ($met+$cri+$hyd); + } else { + $places = 'inconnu'; + } - if (empty($sess->values['fltime']) || $sess->values['fltime'] + 600 < time() || empty($sess->values['flnbvais']) || empty($sess->values['flvitesse']) && isset($sess->values['auth_level'])) - $datas = array( - 'root' => array( - 'destination' => $destinRapid, - 'temps' => '-', - 'deblok' => 'Une erreur est survenue lors de la création de la flotte. Veuillez recommencer', - 'conso' => '-', - 'tactique' => '', - 'places' => separerNombres($places) - ) - ); - elseif (empty($_POST['nom']) || preg_replace('@[^a-zA-Z0-9_ ]@i', '', $_POST['nom']) != $_POST['nom']) - $datas = array( - 'root' => array( - 'destination' => $destinRapid, - 'temps' => '-', - 'deblok' => 'Nom de la flotte incorrect !', - 'conso' => '-', - 'tactique' => '', - 'places' => separerNombres($places) - ) - ); - elseif ($_POST['galaxie'] > MAX_AMAS || $_POST['ss'] > MAX_SYSTEME || $_POST['pos'] > MAX_PLANETE || $_POST['galaxie'] < 0 || $_POST['ss'] < 1 || $_POST['pos'] < 1 || ($_POST['galaxie'] < 1 && $sess->values['auth_level'] < 6)) - $datas = array( - 'root' => array( - 'destination' => $destinRapid, - 'temps' => 'Lieu inaccessible', - 'deblok' => 'Corrigez la destination !', - 'conso' => '-', - 'tactique' => '', - 'places' => separerNombres($places) - ) - ); - else { - $_POST['vitesse'] /= 100; - $temps = vais_tempsDeplacement($start_galaxie,$start_ss,$start_position,$_POST['galaxie'],$_POST['ss'],$_POST['pos'],$sess->values['flvitesse'],$_POST['vitesse'],$sess->values['flpreparation'],$sess->values['flchauffe']); - if ($temps <= 0) $temps = 454; - $conso = vais_conso($temps, $sess->values['flnbvais'])*$_POST['vitesse']/45; - $places -= ceil($conso*$nbtrajet); - $tactique = ''; - if ($_POST['mission'] == '1') { - $tactique = ''; + //On récupère le niveau actuel de la technologie Commandement militaire + $id_user = $sess->values['id']; + $table = $config['db_prefix'].'user'; + $queryUser = $chapeau->unique_query("SELECT * FROM $table WHERE id = '$id_user'"); + $lvltechno = $queryUser['tactique']; + $tactiquedef = $queryUser['combatAT_tactique']; - if ($lvltechno < 1) { //Si on a pas le niveau, on ne peux pas envoyer la flotte - $datas = array( - 'root' => array( - 'destination' => $destinRapid, - 'temps' => affTemp(floor($temps)), - 'deblok' => 'Vous ne pouvez pas attaquer sans un minimum de connaissances militaires !', - 'conso' => separerNombres(ceil($conso*$nbtrajet)), - 'tactique' => '', - 'places' => separerNombres($places) - ) - ); - header("X-JSON: ".$json->encode($datas)); - exit; - } - else { - for($i=1 ; $i<=$lvltechno ; $i++) { - if ($tactiquedef == $i) $tactique .= ''; - else $tactique .= ''; - } - } - $tactique .= '
'; - } - $cds = sha1('flotte'.$conso.'ß10'.time().'|HB;'.rand(10,99).$temps); - $sess->values['flcds'] = $cds; - $sess->put(); - $datas = array( - 'root' => array( - 'destination' => $destinRapid, - 'temps' => affTemp(floor($temps)), - 'deblok' => '', - 'conso' => separerNombres(ceil($conso*2)), - 'tactique' => $tactique, - 'places' => separerNombres($places) - ) - ); - } + if ($lvltechno < 1) { //Si on a pas le niveau, on ne peux pas envoyer la flotte + $datas = array( + 'root' => array( + 'destination' => $destinRapid, + 'temps' => affTemp(floor($temps)), + 'deblok' => 'Vous ne pouvez pas attaquer sans un minimum de connaissances militaires !', + 'conso' => separerNombres(ceil($conso*$nbtrajet)), + 'tactique' => '', + 'places' => separerNombres($places) + ) + ); + header("X-JSON: ".$json->encode($datas)); + exit; + } else { + for ($i=1 ; $i<=$lvltechno ; $i++) { + if ($tactiquedef == $i) { + $tactique .= ''; + } else { + $tactique .= ''; + } + } + } + $tactique .= '
'; + } + $cds = sha1('flotte'.$conso.'ß10'.time().'|HB;'.rand(10, 99).$temps); + $sess->values['flcds'] = $cds; + $sess->put(); + $datas = array( + 'root' => array( + 'destination' => $destinRapid, + 'temps' => affTemp(floor($temps)), + 'deblok' => '', + 'conso' => separerNombres(ceil($conso*2)), + 'tactique' => $tactique, + 'places' => separerNombres($places) + ) + ); + } - $chapeau->deconnexion(); - header("X-JSON: ".$json->encode($datas)); + $chapeau->deconnexion(); + header("X-JSON: ".$json->encode($datas)); } -?> \ No newline at end of file diff --git a/htdocs/arbre.php b/htdocs/arbre.php index 75c4e98..b26afb4 100644 --- a/htdocs/arbre.php +++ b/htdocs/arbre.php @@ -4,7 +4,7 @@ define("INDEX", 1); //Définition de la constante anti-hacking $chrono_start = microtime(); //Inclusion de l'API Onyx $onyx = @file_get_contents('./.onyx') or die("Configuration introuvable."); -define("_FCORE",str_replace('/onyx2/load.php', '/onyx/', trim($onyx))); +define("_FCORE", str_replace('/onyx2/load.php', '/onyx/', trim($onyx))); require_once(_FCORE."common.php"); $race = 'humain'; require_once(_FCORE."../game/noms.php"); @@ -12,30 +12,24 @@ require_once(_FCORE."../game/vars.php"); $tree = array(); -foreach($technologiesCALC as $keyB => $branche) - { - print "

Branche : ".$technologiesVAR[$keyB]."

"; - foreach($branche as $keyT => $tech) - { - print $tech[0].' : '.$technolo[$keyB][$keyT]."
"; - if ($tech[1] > 0) - { - print 'Requiert :'; - foreach($branche as $keyR => $req) - { - if ($req[0]&$tech[1]) - print ' '.$technolo[$keyB][$keyR].','; - } - print '
'; - } - else - { - print 'Ne requiert aucune technologie
'; - $tree[] = array($tech); - } - print "
"; - } - } +foreach ($technologiesCALC as $keyB => $branche) { + print "

Branche : ".$technologiesVAR[$keyB]."

"; + foreach ($branche as $keyT => $tech) { + print $tech[0].' : '.$technolo[$keyB][$keyT]."
"; + if ($tech[1] > 0) { + print 'Requiert :'; + foreach ($branche as $keyR => $req) { + if ($req[0]&$tech[1]) { + print ' '.$technolo[$keyB][$keyR].','; + } + } + print '
'; + } else { + print 'Ne requiert aucune technologie
'; + $tree[] = array($tech); + } + print "
"; + } +} echo("\n"); -?> \ No newline at end of file diff --git a/htdocs/bourse.php b/htdocs/bourse.php index 63fcddb..2429f79 100644 --- a/htdocs/bourse.php +++ b/htdocs/bourse.php @@ -2,19 +2,24 @@ define("INDEX", 1); $chrono_start = microtime(); $onyx = @file_get_contents('./.onyx') or die("Configuration introuvable."); -define("_FCORE",trim($onyx)); +define("_FCORE", trim($onyx)); require_once(_FCORE."kernel.php"); require_once(_FCORE."../game/tables.php"); $action = intval(gpc('a')); -if (isset($sess->values['race'])) $race = $sess->values['race']; -else $race = gpc('r'); +if (isset($sess->values['race'])) { + $race = $sess->values['race']; +} else { + $race = gpc('r'); +} $bdd = new BDD(); $bdd->connexion(); $act = $bdd->unique_query("SELECT nom FROM $table_bourse WHERE id = $action;"); $bdd->deconnexion(); -if (empty($act)) exit; +if (empty($act)) { + exit; +} $values = array(); $values_label = array(); @@ -23,82 +28,94 @@ $values_abscisse = array(); //Extraction des derniers pourcentages $filename = ''; $i = 6; -while(!is_file($filename)) { - $i++; - if ($i > 14) break; - $filename = _FCORE."../game/cache/bourse/".$action.".".strftime('%Y%m%d', time() - 86400 * $i).".bourse"; +while (!is_file($filename)) { + $i++; + if ($i > 14) { + break; + } + $filename = _FCORE."../game/cache/bourse/".$action.".".strftime('%Y%m%d', time() - 86400 * $i).".bourse"; } if (!is_file($filename)) { - $i = 7; - while(!is_file($filename)) { - $i--; - if ($i < 0) break; - $filename = _FCORE."../game/cache/bourse/".$action.".".strftime('%Y%m%d', time() - 86400 * $i).".bourse"; - } + $i = 7; + while (!is_file($filename)) { + $i--; + if ($i < 0) { + break; + } + $filename = _FCORE."../game/cache/bourse/".$action.".".strftime('%Y%m%d', time() - 86400 * $i).".bourse"; + } } if (is_file($filename)) { - $handle = fopen($filename, "r"); - while (!feof($handle)) { - $r = fgets($handle); - if (preg_match('#;#', $r)) $last = $r; - } - fclose($handle); - $calc = $last = explode(';', $last); + $handle = fopen($filename, "r"); + while (!feof($handle)) { + $r = fgets($handle); + if (preg_match('#;#', $r)) { + $last = $r; + } + } + fclose($handle); + $calc = $last = explode(';', $last); +} else { + $calc = $last = array(1, 1, 1); } -else $calc = $last = array(1, 1, 1); -for($i = 6; $i >= 0; $i--){ - $filename = _FCORE."../game/cache/bourse/".$action.".".strftime('%Y%m%d', time() - 86400 * $i).".bourse"; - if (is_file($filename)) { - $handle = fopen($filename, "r"); - while (!feof($handle)) { - $r = fgets($handle); - if (preg_match('#;#', $r)) $last = $r; - } - fclose($handle); - $last = explode(';', $last); - } - $evolution = intval(($last[1]/$calc[1] - 1) * 100); - $values[] = $evolution; - if ($evolution >= 0 ) $evolution = '+'.$evolution; - $values_label[] = $evolution.'%'; - $values_abscisse[] = ucfirst(strftime('%a', time() - 86400 * $i)); +for ($i = 6; $i >= 0; $i--) { + $filename = _FCORE."../game/cache/bourse/".$action.".".strftime('%Y%m%d', time() - 86400 * $i).".bourse"; + if (is_file($filename)) { + $handle = fopen($filename, "r"); + while (!feof($handle)) { + $r = fgets($handle); + if (preg_match('#;#', $r)) { + $last = $r; + } + } + fclose($handle); + $last = explode(';', $last); + } + $evolution = intval(($last[1]/$calc[1] - 1) * 100); + $values[] = $evolution; + if ($evolution >= 0) { + $evolution = '+'.$evolution; + } + $values_label[] = $evolution.'%'; + $values_abscisse[] = ucfirst(strftime('%a', time() - 86400 * $i)); } //* -require_once ("../jpgraph/jpgraph.php"); -require_once ("../jpgraph/jpgraph_line.php"); +require_once("../jpgraph/jpgraph.php"); +require_once("../jpgraph/jpgraph_line.php"); -if ($race != "humain" && $race != "covenant") $race = "humain"; +if ($race != "humain" && $race != "covenant") { + $race = "humain"; +} $graph = new Graph(282, 200); $graph->SetScale("textlin"); -$graph->img->SetMargin(40,20,20,40); +$graph->img->SetMargin(40, 20, 20, 40); $lineplot=new LinePlot($values); $lineplot->mark->SetType(MARK_UTRIANGLE); $lineplot->value->show(); -$lineplot->value->SetFont(FF_FONT1,FS_BOLD); +$lineplot->value->SetFont(FF_FONT1, FS_BOLD); $lineplot->value->SetFormat('%0.1f'); //Définition des couleurs $graph->SetBackgroundImage(_FCORE."../game/bourse/".$race.".png", BGIMG_COPY); if ($race == "covenant") { - $graph->yaxis->SetColor("#FFFFFF"); - $graph->xaxis->SetColor("white"); - $lineplot->SetFillColor("pink@0.8"); - $lineplot->value->SetColor('#FF0000'); - $graph->yaxis->title->SetColor("white"); - $graph->title->SetColor("white"); - $lineplot->SetColor("#c00000"); -} -else { - $graph->yaxis->SetColor("#00DD00"); - $lineplot->SetFillColor("cyan@0.8"); - $lineplot->value->SetColor('#FF0000'); - $graph->yaxis->title->SetColor("white"); - $graph->title->SetColor("white"); - $lineplot->SetColor("#3bb3ff"); + $graph->yaxis->SetColor("#FFFFFF"); + $graph->xaxis->SetColor("white"); + $lineplot->SetFillColor("pink@0.8"); + $lineplot->value->SetColor('#FF0000'); + $graph->yaxis->title->SetColor("white"); + $graph->title->SetColor("white"); + $lineplot->SetColor("#c00000"); +} else { + $graph->yaxis->SetColor("#00DD00"); + $lineplot->SetFillColor("cyan@0.8"); + $lineplot->value->SetColor('#FF0000'); + $graph->yaxis->title->SetColor("white"); + $graph->title->SetColor("white"); + $lineplot->SetColor("#3bb3ff"); } @@ -107,19 +124,19 @@ $graph->title->Set($act['nom']); $graph->yaxis->title->Set("Evolution (%)"); $graph->xaxis->SetTickLabels($values_abscisse); -$graph->title->SetFont(FF_FONT1,FS_BOLD); -$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD); -$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD); +$graph->title->SetFont(FF_FONT1, FS_BOLD); +$graph->yaxis->title->SetFont(FF_FONT1, FS_BOLD); +$graph->xaxis->title->SetFont(FF_FONT1, FS_BOLD); $lineplot->SetWeight(2); $graph->Stroke(); exit; //*/ -require_once (_FCORE."../artichow/LinePlot.class.php"); +require_once(_FCORE."../artichow/LinePlot.class.php"); $graph = new Graph(282, 200); -$graph->setAntiAliasing(FALSE); +$graph->setAntiAliasing(false); $graph->border->setColor(new Color(210, 210, 210)); $graph->title->set($act['nom']); $graph->title->setFont(new TuffyBold(14)); @@ -140,11 +157,11 @@ $plot->setBackgroundColor(new Color(240, 240, 240)); $plot->setFillColor(new Color(180, 180, 180, 75)); $plot->label->set($values_label); $plot->label->setBackgroundGradient( - new LinearGradient( - new Color(250, 250, 250, 10), - new Color(255, 200, 200, 30), - 0 - ) + new LinearGradient( + new Color(250, 250, 250, 10), + new Color(255, 200, 200, 30), + 0 + ) ); $plot->label->border->setColor(new Color(20, 20, 20, 20)); $plot->label->setPadding(3, 1, 1, 0); @@ -154,13 +171,12 @@ $plot->xAxis->setLabelText($values_abscisse); // On ajoute 5 % d'espace à gauche et à droite de la courbe. // On ne change pas l'espace du haut et du bas de la courbe. $plot->setSpace( - 5, /* Gauche */ + 5, /* Gauche */ 5, /* Droite */ - NULL, /* Haut */ - NULL /* Bas */ + null, /* Haut */ + null /* Bas */ ); $graph->add($plot); $graph->draw(); -?> \ No newline at end of file diff --git a/htdocs/bourser.php b/htdocs/bourser.php index d7692f0..186429e 100644 --- a/htdocs/bourser.php +++ b/htdocs/bourser.php @@ -9,27 +9,40 @@ require_once("common.php"); //Chargement de tout le nécessaire pour le jeu require_once("function.php"); //Inclusion des fonctions principales require_once("tables.php"); //Inclusion des noms des tables de base de données correspondant à l'architecture du serveur -function nomR($string, $race){ - if ($race == "covenant") { - if ($string == 1) return "Cristal"; - elseif ($string == 2) return "Ions"; - else return "Metal"; - } - else { - if ($string == 1) return "Cristal"; - elseif ($string == 2) return "Hydrogene"; - else return "Metal"; - } +function nomR($string, $race) +{ + if ($race == "covenant") { + if ($string == 1) { + return "Cristal"; + } elseif ($string == 2) { + return "Ions"; + } else { + return "Metal"; + } + } else { + if ($string == 1) { + return "Cristal"; + } elseif ($string == 2) { + return "Hydrogene"; + } else { + return "Metal"; + } + } } $action = intval(gpc('a')); -if (isset($sess->values['race'])) $race = $sess->values['race']; -else $race = gpc('r'); +if (isset($sess->values['race'])) { + $race = $sess->values['race']; +} else { + $race = gpc('r'); +} $bdd = new BDD(); $act = $bdd->unique_query("SELECT id, graph, dispo FROM $table_bourse_ressources WHERE id = $action;"); $bdd->deconnexion(); -if (empty($act)) exit; +if (empty($act)) { + exit; +} $values = array(); $values_label = array(); @@ -37,50 +50,54 @@ $values_abscisse = array(); $act['graph'] = unserialize($act['graph']); -for($i = 1; $i < 8; $i++){ - if (!isset($act['graph'][(date('w')+$i)%7])) $values[] = 0; - else $values[] = ceil(pow($act['graph'][(date('w')+$i)%7], -0.1) * 20000)/10; +for ($i = 1; $i < 8; $i++) { + if (!isset($act['graph'][(date('w')+$i)%7])) { + $values[] = 0; + } else { + $values[] = ceil(pow($act['graph'][(date('w')+$i)%7], -0.1) * 20000)/10; + } } -for($i = 6; $i >= 0; $i--){ - $values_label[] = $values[$i]; - $values_abscisse[] = ucfirst(strftime('%a', time() - 86400 * $i)); +for ($i = 6; $i >= 0; $i--) { + $values_label[] = $values[$i]; + $values_abscisse[] = ucfirst(strftime('%a', time() - 86400 * $i)); } //* -require_once ("jpgraph/jpgraph.php"); -require_once ("jpgraph/jpgraph_line.php"); +require_once("jpgraph/jpgraph.php"); +require_once("jpgraph/jpgraph_line.php"); -if ($race != "humain" && $race != "covenant") $race = "humain"; +if ($race != "humain" && $race != "covenant") { + $race = "humain"; +} $graph = new Graph(282, 200); $graph->SetScale("textlin"); -$graph->img->SetMargin(40,20,20,40); +$graph->img->SetMargin(40, 20, 20, 40); $lineplot=new LinePlot($values); $lineplot->mark->SetType(MARK_UTRIANGLE); $lineplot->value->show(); -$lineplot->value->SetFont(FF_FONT1,FS_BOLD); +$lineplot->value->SetFont(FF_FONT1, FS_BOLD); //$lineplot->value->SetFormat('%0f'); //Définition des couleurs $graph->SetBackgroundImage(ONYX."include/content/bourse/".$race.".png", BGIMG_COPY); if ($race == "covenant") { - $graph->yaxis->SetColor("#FFFFFF"); - $graph->xaxis->SetColor("white"); - $lineplot->SetFillColor("pink@0.8"); - $lineplot->value->SetColor('#FF0000'); - $graph->yaxis->title->SetColor("white"); - $graph->title->SetColor("white"); - $lineplot->SetColor("#c00000"); -} -else { - $graph->yaxis->SetColor("#00DD00"); - $lineplot->SetFillColor("cyan@0.8"); - $lineplot->value->SetColor('#FF0000'); - $graph->yaxis->title->SetColor("white"); - $graph->title->SetColor("white"); - $lineplot->SetColor("#3bb3ff"); + $graph->yaxis->SetColor("#FFFFFF"); + $graph->xaxis->SetColor("white"); + $lineplot->SetFillColor("pink@0.8"); + $lineplot->value->SetColor('#FF0000'); + $graph->yaxis->title->SetColor("white"); + $graph->title->SetColor("white"); + $lineplot->SetColor("#c00000"); +} else { + $graph->yaxis->SetColor("#00DD00"); + $lineplot->SetFillColor("cyan@0.8"); + $lineplot->value->SetColor('#FF0000'); + $graph->yaxis->title->SetColor("white"); + $graph->title->SetColor("white"); + $lineplot->SetColor("#3bb3ff"); } $act['nom'] = nomR($act['id'], $race); @@ -90,11 +107,10 @@ $graph->title->Set($act['nom']); $graph->yaxis->title->Set("Evolution (%)"); $graph->xaxis->SetTickLabels($values_abscisse); -$graph->title->SetFont(FF_FONT1,FS_BOLD); -$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD); -$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD); +$graph->title->SetFont(FF_FONT1, FS_BOLD); +$graph->yaxis->title->SetFont(FF_FONT1, FS_BOLD); +$graph->xaxis->title->SetFont(FF_FONT1, FS_BOLD); $lineplot->SetWeight(2); $graph->Stroke(); -?> \ No newline at end of file diff --git a/htdocs/captcha/image.php b/htdocs/captcha/image.php index c737c6a..60abd07 100644 --- a/htdocs/captcha/image.php +++ b/htdocs/captcha/image.php @@ -6,12 +6,14 @@ require_once(trim(file_get_contents('./.onyx'))); $SESS = new Session(); //On défini la configuration -if(!isset($_GET['nbr_chiffres']) || $_GET['nbr_chiffres'] < 5) - $nbr_chiffres = mt_rand(7, 9); // Nombre de chiffres qui formerons le nombre par défaut -else - $nbr_chiffres = intval(gpc('nbr_chiffres')); // Si l'on met dans l'adresse un ?nbr_chiffres=X +if (!isset($_GET['nbr_chiffres']) || $_GET['nbr_chiffres'] < 5) { + $nbr_chiffres = mt_rand(7, 9); +} // Nombre de chiffres qui formerons le nombre par défaut +else { + $nbr_chiffres = intval(gpc('nbr_chiffres')); +} // Si l'on met dans l'adresse un ?nbr_chiffres=X -header ("Content-type: image/png"); +header("Content-type: image/png"); //Création de l'image à partir d'un fond $_img = imagecreatefromgif('fond_verif_img.gif'); @@ -19,23 +21,30 @@ $_img = imagecreatefromgif('fond_verif_img.gif'); //$arriere_plan = imagecolorallocate($_img, 0, 0, 0); // Au cas où on utiliserai pas d'image de fond, on utilise cette couleur là. //On définit les autres couleurs $couleur = mt_rand(0, 4); - if ($couleur == 0) $avant_plan = imagecolorallocate($_img, rand(250,225), rand(0,25), rand(0,25)); - elseif ($couleur == 1) $avant_plan = imagecolorallocate($_img, rand(0,25), rand(250,225), rand(0,25)); + if ($couleur == 0) { + $avant_plan = imagecolorallocate($_img, rand(250, 225), rand(0, 25), rand(0, 25)); + } elseif ($couleur == 1) { + $avant_plan = imagecolorallocate($_img, rand(0, 25), rand(250, 225), rand(0, 25)); + } // elseif ($couleur == 2) $avant_plan = imagecolorallocate($_img, rand(0,55), rand(0,55), rand(250,255)); - elseif ($couleur == 3) $avant_plan = imagecolorallocate($_img, rand(0,25), rand(250,225), rand(250,225)); - elseif ($couleur == 4) $avant_plan = imagecolorallocate($_img, rand(250,225), rand(0,25), rand(250,225)); - elseif ($couleur == 5) $avant_plan = imagecolorallocate($_img, rand(250,225), rand(250,225), rand(0,25)); - else $avant_plan = imagecolorallocate($_img, rand(200,225), rand(200,225), rand(200,225)); + elseif ($couleur == 3) { + $avant_plan = imagecolorallocate($_img, rand(0, 25), rand(250, 225), rand(250, 225)); + } elseif ($couleur == 4) { + $avant_plan = imagecolorallocate($_img, rand(250, 225), rand(0, 25), rand(250, 225)); + } elseif ($couleur == 5) { + $avant_plan = imagecolorallocate($_img, rand(250, 225), rand(250, 225), rand(0, 25)); + } else { + $avant_plan = imagecolorallocate($_img, rand(200, 225), rand(200, 225), rand(200, 225)); + } //Définition de la liste des caractères $caracteres = "2345678azertypsdfhjkmwxcbn?"; $nb_caracteres = strlen($caracteres)-1; $captcha = ""; -for($i = 0; $i < $nbr_chiffres; $i++) -{ - $alea = mt_rand(0, $nb_caracteres); - $captcha .= $caracteres[$alea]; +for ($i = 0; $i < $nbr_chiffres; $i++) { + $alea = mt_rand(0, $nb_caracteres); + $captcha .= $caracteres[$alea]; } $SESS->values['_captcha'] = strtolower($captcha); @@ -49,10 +58,10 @@ unset($chiffre, $i, $caractere, $nbr_chiffres, $nb_caracteres, $caracteres); $fontfile = './2.TTF'; //imagestring($_img, 5, 18, 8, $nombre, $avant_plan); -if ($fontfile == './0.TTF') - ImageTTFText($_img, 20, 2, 0, 23, $avant_plan, $fontfile, strtoupper($captcha)); -else - ImageTTFText($_img, 20, mt_rand(1,5), rand(1,7), 30, $avant_plan, $fontfile, $captcha); +if ($fontfile == './0.TTF') { + ImageTTFText($_img, 20, 2, 0, 23, $avant_plan, $fontfile, strtoupper($captcha)); +} else { + ImageTTFText($_img, 20, mt_rand(1, 5), rand(1, 7), 30, $avant_plan, $fontfile, $captcha); +} imagepng($_img); -?> diff --git a/htdocs/index.php b/htdocs/index.php index c3bfecb..e385f1b 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -8,355 +8,334 @@ require_once(trim(file_get_contents('./.onyx'))); require_once("common.php"); //Chargement de tout le nécessaire pour le jeu //On vérifie si le client est connecté sur le site -if (isset($SESS) && !(empty($SESS->values["connected"]) && empty($SESS->values['id']) && empty($SESS->values['race']) && empty($SESS->level)) && isset($SESS->values['idPlan']) && isset($SESS->values['idAsteroide'])) -{ - //Si un nouveau joueur cherche à se connecter du même endroit, on déconnecte le joueur en cours avant - $HB_login = gpc('l'); - if (!empty($HB_login) && strtolower($HB_login) != strtolower(trouvNom($SESS->values['id']))) - { - require("server/logout.php"); - } - elseif (!empty($HB_login)) - { - redirection("./".$VAR["first_page"]); - exit; - } - //Déconnexion de secours - elseif (isset($_GET["logout"])) - { - require("server/logout.php"); - redirection("./".$VAR["first_page"]); - } - unset($HB_login); +if (isset($SESS) && !(empty($SESS->values["connected"]) && empty($SESS->values['id']) && empty($SESS->values['race']) && empty($SESS->level)) && isset($SESS->values['idPlan']) && isset($SESS->values['idAsteroide'])) { + //Si un nouveau joueur cherche à se connecter du même endroit, on déconnecte le joueur en cours avant + $HB_login = gpc('l'); + if (!empty($HB_login) && strtolower($HB_login) != strtolower(trouvNom($SESS->values['id']))) { + require("server/logout.php"); + } elseif (!empty($HB_login)) { + redirection("./".$VAR["first_page"]); + exit; + } + //Déconnexion de secours + elseif (isset($_GET["logout"])) { + require("server/logout.php"); + redirection("./".$VAR["first_page"]); + } + unset($HB_login); - $race = $SESS->values["race"]; - $securePlanete = array(); + $race = $SESS->values["race"]; + $securePlanete = array(); - //Inclusion des formules - require_once("donnees.php"); - //On inclus les différentes classes - include_once("Class/exceptionHB.php"); - include_once("Class/user.php"); - include_once("Class/surface.php"); - include_once("Class/planete.php"); - include_once("Class/asteroide.php"); - include_once("Class/flotte.php"); + //Inclusion des formules + require_once("donnees.php"); + //On inclus les différentes classes + include_once("Class/exceptionHB.php"); + include_once("Class/user.php"); + include_once("Class/surface.php"); + include_once("Class/planete.php"); + include_once("Class/asteroide.php"); + include_once("Class/flotte.php"); - //Récupération d'informations au sujet de l'utilisateur - $id_user = $SESS->values["id"]; - $ip = $_SERVER["REMOTE_ADDR"]; + //Récupération d'informations au sujet de l'utilisateur + $id_user = $SESS->values["id"]; + $ip = $_SERVER["REMOTE_ADDR"]; - //On commence l'envoie des données requise pour les templates - $template->assign("menu", array_map("url", $VAR["menu"])); //Envoie des liens du menu latéral - $template->assign("auth_level", $SESS->level); //Envoie du niveau d'accès de l'utilisateur - $template->assign("race", $race); + //On commence l'envoie des données requise pour les templates + $template->assign("menu", array_map("url", $VAR["menu"])); //Envoie des liens du menu latéral + $template->assign("auth_level", $SESS->level); //Envoie du niveau d'accès de l'utilisateur + $template->assign("race", $race); - //Connexion à la base de données ou reconnexion si la classe existe - if (isset($bdd)) - $bdd->reconnexion(); - else - $bdd = new BDD(); + //Connexion à la base de données ou reconnexion si la classe existe + if (isset($bdd)) { + $bdd->reconnexion(); + } else { + $bdd = new BDD(); + } - //Recherche de multicompte - $multi = $bdd->query("SELECT U.pseudo, R.id_util FROM $table_registre_identification R INNER JOIN $table_user U ON U.id = R.id_util WHERE R.ip = '$ip' GROUP BY R.ip, R.id_util HAVING R.id_util != $id_user;"); + //Recherche de multicompte + $multi = $bdd->query("SELECT U.pseudo, R.id_util FROM $table_registre_identification R INNER JOIN $table_user U ON U.id = R.id_util WHERE R.ip = '$ip' GROUP BY R.ip, R.id_util HAVING R.id_util != $id_user;"); - //On gère les demande de changement de planète - if (isset($_POST["planete"])) - { - if (preg_match("#A#", $_POST["planete"])) - { - $idAsteroideTest = intval(substr(gpc("planete", "post"), 1)); - if ($bdd->unique_query("SELECT id FROM $table_alliances WHERE id = $idAsteroideTest;") && $bdd->unique_query("SELECT id FROM $table_user WHERE id = $id_user AND id_alliance = $idAsteroideTest;")) - { - $SESS->values["idPlan"] = 0; - $SESS->values["idAsteroide"] = $idAsteroideTest; - $SESS->values["isolement"] = 0; - $SESS->put(); - $template->assign("page","vp"); - $template->display("game/vp.tpl"); - exit; - } - unset($idAsteroideTest); - } - else - { - $idPlanTest = intval(gpc("planete", "post")); - if ($bdd->unique_query("SELECT id FROM $table_planete WHERE id_user = $id_user AND id = $idPlanTest;")) - { - $SESS->values["idPlan"] = $idPlanTest; - $SESS->values["idAsteroide"] = 0; - $SESS->values["isolement"] = 0; - $SESS->put(); - $template->assign("page","vp"); - $template->display("game/vp.tpl"); - exit; - } - unset($idPlanTest); - } - } - $idPlan = $SESS->values["idPlan"]; - $idAsteroide = $SESS->values["idAsteroide"]; + //On gère les demande de changement de planète + if (isset($_POST["planete"])) { + if (preg_match("#A#", $_POST["planete"])) { + $idAsteroideTest = intval(substr(gpc("planete", "post"), 1)); + if ($bdd->unique_query("SELECT id FROM $table_alliances WHERE id = $idAsteroideTest;") && $bdd->unique_query("SELECT id FROM $table_user WHERE id = $id_user AND id_alliance = $idAsteroideTest;")) { + $SESS->values["idPlan"] = 0; + $SESS->values["idAsteroide"] = $idAsteroideTest; + $SESS->values["isolement"] = 0; + $SESS->put(); + $template->assign("page", "vp"); + $template->display("game/vp.tpl"); + exit; + } + unset($idAsteroideTest); + } else { + $idPlanTest = intval(gpc("planete", "post")); + if ($bdd->unique_query("SELECT id FROM $table_planete WHERE id_user = $id_user AND id = $idPlanTest;")) { + $SESS->values["idPlan"] = $idPlanTest; + $SESS->values["idAsteroide"] = 0; + $SESS->values["isolement"] = 0; + $SESS->put(); + $template->assign("page", "vp"); + $template->display("game/vp.tpl"); + exit; + } + unset($idPlanTest); + } + } + $idPlan = $SESS->values["idPlan"]; + $idAsteroide = $SESS->values["idAsteroide"]; - $queryMail1 = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = $id_user AND expediteur != false AND vu = '1';"); - $queryMail2 = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = $id_user AND expediteur = false AND vu = '1';"); - $queryMail = array($queryMail1["nombre"], $queryMail2["nombre"]); - $queryPlanetes = $bdd->query("SELECT * FROM $table_planete WHERE id_user = $id_user ORDER BY id ASC;"); + $queryMail1 = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = $id_user AND expediteur != false AND vu = '1';"); + $queryMail2 = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = $id_user AND expediteur = false AND vu = '1';"); + $queryMail = array($queryMail1["nombre"], $queryMail2["nombre"]); + $queryPlanetes = $bdd->query("SELECT * FROM $table_planete WHERE id_user = $id_user ORDER BY id ASC;"); - $bdd->deconnexion(); - unset($queryMail1, $queryMail2); + $bdd->deconnexion(); + unset($queryMail1, $queryMail2); - //Chargement de la planète/astéroide actuel - if ($idPlan == 0 && $idAsteroide == 0) - { - trigger_error('Planète et Asteroïde nul, deconnexion du joueur '.$id_user,E_USER_ERROR); - include("server/logout.php"); - exit; - } - elseif ($idPlan == 0) - { - define('SURFACE', 'asteroide'); - $planete = new Asteroide($idAsteroide); - $planete->actualiser(); - //On charge les permissions de l'utilisateur pour l'alliance - $planete->loadPermissions($planete->fondateur); - } - else - { - define('SURFACE', 'planete'); - $planete = new Planete($idPlan); - $planete->actualiser(); - } - unset($ip, $idAsteroide, $idPlan); + //Chargement de la planète/astéroide actuel + if ($idPlan == 0 && $idAsteroide == 0) { + trigger_error('Planète et Asteroïde nul, deconnexion du joueur '.$id_user, E_USER_ERROR); + include("server/logout.php"); + exit; + } elseif ($idPlan == 0) { + define('SURFACE', 'asteroide'); + $planete = new Asteroide($idAsteroide); + $planete->actualiser(); + //On charge les permissions de l'utilisateur pour l'alliance + $planete->loadPermissions($planete->fondateur); + } else { + define('SURFACE', 'planete'); + $planete = new Planete($idPlan); + $planete->actualiser(); + } + unset($ip, $idAsteroide, $idPlan); - //On vérifie que le joueur ne soit pas en mode vacances forcé - if ($planete->mv > 0) - { - $SESS->close(); - redirection($config["first_page"]."?mvf"); - exit; - } + //On vérifie que le joueur ne soit pas en mode vacances forcé + if ($planete->mv > 0) { + $SESS->close(); + redirection($config["first_page"]."?mvf"); + exit; + } - //NOMS ET FLOTTES - include("flottes.php"); + //NOMS ET FLOTTES + include("flottes.php"); - //Envoie d'informations au template - $template->assign("alertMail", $queryMail); - $template->assign("planete", $planete); - $template->assign("planetes", $queryPlanetes); + //Envoie d'informations au template + $template->assign("alertMail", $queryMail); + $template->assign("planete", $planete); + $template->assign("planetes", $queryPlanetes); - //Calcul du temps de jeu - $tpsdejeu = time() - $planete->last_visite; - $heur = floor($tpsdejeu/3600); - $min = floor(($tpsdejeu%3600)/60); - if ($heur > 0) - $min = $heur." h ".$min; - $template->assign("tpsdejeu", $min." min"); - unset($tpsdejeu, $heur, $min, $queryMail); + //Calcul du temps de jeu + $tpsdejeu = time() - $planete->last_visite; + $heur = floor($tpsdejeu/3600); + $min = floor(($tpsdejeu%3600)/60); + if ($heur > 0) { + $min = $heur." h ".$min; + } + $template->assign("tpsdejeu", $min." min"); + unset($tpsdejeu, $heur, $min, $queryMail); - //Récupération de la page demandée - $p = gpc('p'); + //Récupération de la page demandée + $p = gpc('p'); - //Vérification de l'isolement de la planète - if ((empty($SESS->values['isolement']) || time() >= $SESS->values['isolement']) && $p != 'operateur' && $p != 'demarrage' && $p != 'avertmulti' && $p != 'chat' && $p != 'rename' && $p != 'accueil' && $p != 'arbre' && $p != 'prochainement' && $p != 'options' && $p != 'messagerie' && $p != 'envoyer' && $p != 'classement' && $p != 'bugs' && $p != 'deconnexion') - { - //TODO Si la planète est en isolement total, faire un autre message - if ($planete->isolement()) - { - $template->assign("titre", "Planète isolée"); - erreur("Impossible de rentrer en contact avec cette planète.
Réessayez vers ".date('H:i', $planete->isolement[1])); - } - else - { - $SESS->values["isolement"] = $planete->isolement[0]; - $SESS->put(); - } - } + //Vérification de l'isolement de la planète + if ((empty($SESS->values['isolement']) || time() >= $SESS->values['isolement']) && $p != 'operateur' && $p != 'demarrage' && $p != 'avertmulti' && $p != 'chat' && $p != 'rename' && $p != 'accueil' && $p != 'arbre' && $p != 'prochainement' && $p != 'options' && $p != 'messagerie' && $p != 'envoyer' && $p != 'classement' && $p != 'bugs' && $p != 'deconnexion') { + //TODO Si la planète est en isolement total, faire un autre message + if ($planete->isolement()) { + $template->assign("titre", "Planète isolée"); + erreur("Impossible de rentrer en contact avec cette planète.
Réessayez vers ".date('H:i', $planete->isolement[1])); + } else { + $SESS->values["isolement"] = $planete->isolement[0]; + $SESS->put(); + } + } - if (isset($SESS->values["avert"]) && $p != "avertmulti" && $p != "demarrage") - include("server/avert.php"); - else - { - switch($p) - { - case "batiments": - include("game/batiments.php"); - break; - case "caserne": - include("game/caserne.php"); - break; - case "chantierspatial": - include("game/chantierspatial.php"); - break; - case "chantierterrestre": - include("game/chantierterrestre.php"); - break; - case "laboratoire": - include("game/laboratoire.php"); - break; - case "arbre": - include("game/arbre.php"); - break; - case "description": - include("game/description.php"); - break; - case "ressources": - include("game/ressources.php"); - break; - case "diplomatie": - include("game/diplomatie.php"); - break; - case "gestion": - include("game/gestion.php"); - break; - case "marche": - include("game/marche.php"); - break; - case "flotte": - include("game/flotte.php"); - break; - case "carte": - include("game/carte.php"); - break; - case "alliances": - include("game/alliance.php"); - break; + if (isset($SESS->values["avert"]) && $p != "avertmulti" && $p != "demarrage") { + include("server/avert.php"); + } else { + switch ($p) { + case "batiments": + include("game/batiments.php"); + break; + case "caserne": + include("game/caserne.php"); + break; + case "chantierspatial": + include("game/chantierspatial.php"); + break; + case "chantierterrestre": + include("game/chantierterrestre.php"); + break; + case "laboratoire": + include("game/laboratoire.php"); + break; + case "arbre": + include("game/arbre.php"); + break; + case "description": + include("game/description.php"); + break; + case "ressources": + include("game/ressources.php"); + break; + case "diplomatie": + include("game/diplomatie.php"); + break; + case "gestion": + include("game/gestion.php"); + break; + case "marche": + include("game/marche.php"); + break; + case "flotte": + include("game/flotte.php"); + break; + case "carte": + include("game/carte.php"); + break; + case "alliances": + include("game/alliance.php"); + break; - case "rename": - include("game/rename.php"); - break; - case "messagerie": - include("server/messagerie.php"); - break; - case "alli_messagerie": - include("game/alliances/messagerie.php"); - break; - case "options": - case "changeopt": - include("server/options.php"); - break; - case "amis": - include("server/amis.php"); - break; - case "destinationsrapides": - include("server/destinrapid.php"); - break; - case "chat": - $page = 'chat'; $titre = 'Chat'; - break; - case "alli_chat": - include("game/alliances/chat.php"); - break; - case "aide": - case "faq": - include("server/aide.php"); - break; + case "rename": + include("game/rename.php"); + break; + case "messagerie": + include("server/messagerie.php"); + break; + case "alli_messagerie": + include("game/alliances/messagerie.php"); + break; + case "options": + case "changeopt": + include("server/options.php"); + break; + case "amis": + include("server/amis.php"); + break; + case "destinationsrapides": + include("server/destinrapid.php"); + break; + case "chat": + $page = 'chat'; $titre = 'Chat'; + break; + case "alli_chat": + include("game/alliances/chat.php"); + break; + case "aide": + case "faq": + include("server/aide.php"); + break; - case "operateur": - include("server/operateur.php"); - break; - case "prochainement": - $page = "prochainement"; - $titre = "Prochainement"; - break; - case "version": - include("server/version.php"); - break; - case "demarrage": - include("server/demarrage.php"); - break; - case "avertmulti": - include("server/avertmulti.php"); - break; + case "operateur": + include("server/operateur.php"); + break; + case "prochainement": + $page = "prochainement"; + $titre = "Prochainement"; + break; + case "version": + include("server/version.php"); + break; + case "demarrage": + include("server/demarrage.php"); + break; + case "avertmulti": + include("server/avertmulti.php"); + break; - case "pilori": - include("server/pilori.php"); - break; - case "conditions": - include("server/conditions.php"); - break; - case "regles": - include("game/regles.php"); - break; + case "pilori": + include("server/pilori.php"); + break; + case "conditions": + include("server/conditions.php"); + break; + case "regles": + include("game/regles.php"); + break; - case "deconnexion": - case "logout": - include("server/logout.php"); - break; - default: - include("game/accueil.php"); - } - } - //On supprime les dernières variables inutiles pour la suite - unset($planete, $SESS, $bdd, $VAR, $queryPlanetes, $_POST, $_GET, $LANG); + case "deconnexion": + case "logout": + include("server/logout.php"); + break; + default: + include("game/accueil.php"); + } + } + //On supprime les dernières variables inutiles pour la suite + unset($planete, $SESS, $bdd, $VAR, $queryPlanetes, $_POST, $_GET, $LANG); - //Inclusion de la pub et du footer - include("pub.php"); + //Inclusion de la pub et du footer + include("pub.php"); - $template->assign("page", $page); - if (isset($titre)) - $template->assign("titre", $titre); + $template->assign("page", $page); + if (isset($titre)) { + $template->assign("titre", $titre); + } - $template->display("game/".$page.".tpl"); + $template->display("game/".$page.".tpl"); } //Si le client n'est pas connecté au site -else -{ - include("server/connexion.php"); +else { + include("server/connexion.php"); - $p = gpc('p'); - switch($p){ - //Serveur principal - /* case "validation": - include('game/validation.php'); - break; - case "inscription": - include('game/inscription.php'); - break; - case "oubliemdp": - redirection('http://halo-battle.fr/'); - break;*/ - //Serveur de jeu + $p = gpc('p'); + switch ($p) { + //Serveur principal + /* case "validation": + include('game/validation.php'); + break; + case "inscription": + include('game/inscription.php'); + break; + case "oubliemdp": + redirection('http://halo-battle.fr/'); + break;*/ + //Serveur de jeu case "inscription": - include('server/inscription.php'); - break; + include('server/inscription.php'); + break; case "validation": - include('server/validation.php'); - break; - case "classement": - include(_FCORE."../game/classement.php"); - break; - case "njoueur": - include("server/njoueur.php"); - break; - case "inscription": - redirection('http://halo-battle.s-fr.com/?p=inscription'); - exit; - break; - case "oubliemdp": - include("server/oubliemdp.php"); - break; - case "pilori": - include("server/pilori.php"); - break; - //Tous serveurs - case "conditions": - include("server/conditions.php"); - break; - case "regles": - include("server/regles.php"); - break; - case "changeopt": - erreur("Vous devez être connecté pour affectuer cette action !"); - case "connexion": - default: - $page = 'mini'; - break; - //default: - //$page = 'mini'; - // redirection('?p=connexion'); - // exit; - } - $template->display('cms/'.$page.'.tpl'); + include('server/validation.php'); + break; + case "classement": + include(_FCORE."../game/classement.php"); + break; + case "njoueur": + include("server/njoueur.php"); + break; + case "inscription": + redirection('http://halo-battle.s-fr.com/?p=inscription'); + exit; + break; + case "oubliemdp": + include("server/oubliemdp.php"); + break; + case "pilori": + include("server/pilori.php"); + break; + //Tous serveurs + case "conditions": + include("server/conditions.php"); + break; + case "regles": + include("server/regles.php"); + break; + case "changeopt": + erreur("Vous devez être connecté pour affectuer cette action !"); + // no break + case "connexion": + default: + $page = 'mini'; + break; + //default: + //$page = 'mini'; + // redirection('?p=connexion'); + // exit; + } + $template->display('cms/'.$page.'.tpl'); } -?> \ No newline at end of file diff --git a/htdocs/integrite.php b/htdocs/integrite.php index 9dadecd..d928fc9 100644 --- a/htdocs/integrite.php +++ b/htdocs/integrite.php @@ -5,139 +5,133 @@

Vérification de l'intégrité des fichiers


'; - } +if (is_file('checkSum.php')) { + print ' Touvé ...'; + $SUM = sha1(file_get_contents('checkSum.php')); + print ' Données chargées avec succès

'; +} print 'Vérification du fichier de validation ...'; -if (sha1(sha1_file(__FILE__)) != $SUM) +if (sha1(sha1_file(__FILE__)) != $SUM) { die(' INVALIDE !
Arrêt du processus de validation !'); -else +} else { print ' Valide

'; +} print 'Recherche du fichier de sauvegarde ...'; -if (is_file(FILE_SAV) && !isset($_GET['erase'])) +if (is_file(FILE_SAV) && !isset($_GET['erase'])) { + function parcourDir($dir, $sums) { - function parcourDir($dir, $sums) - { - if (isset($_GET['v'])) - print "
Parcours du dossier à la recherche de nouveaux fichiers : ".$dir; + if (isset($_GET['v'])) { + print "
Parcours du dossier à la recherche de nouveaux fichiers : ".$dir; + } - $new = 0; - $pointeur = opendir($dir); - while ($fichier = readdir($pointeur)) - { - if($fichier == '.' || $fichier == '..' || $fichier == '.svn' || preg_match("#~#", $fichier)) - continue; - - if(is_dir($dir.$fichier) && is_readable($dir.$fichier)) - $new += parcourDir($dir.$fichier.'/', $sums); - - elseif(is_file($dir.$fichier)) - { - if (!isset($sums[$dir.$fichier])) - { - $new++; - print "".$dir.$fichier."Nouveau fichier !"; - } - } - } - closedir($pointeur); - - return $new; + $new = 0; + $pointeur = opendir($dir); + while ($fichier = readdir($pointeur)) { + if ($fichier == '.' || $fichier == '..' || $fichier == '.svn' || preg_match("#~#", $fichier)) { + continue; } - - print ' Trouvé

'; - - if (isset($_GET["check"])) - { - print 'Contrôle de la somme de la dernière validation ...'; - if (sha1(sha1_file(FILE_SAV).'<^>'.sha1_file(__FILE__).sha1_file('checkSum.php')) == $_GET["check"]) - print ' Authentique

'; - else - die (' Invalide !
Arrêt du processus de vérification !'); + + if (is_dir($dir.$fichier) && is_readable($dir.$fichier)) { + $new += parcourDir($dir.$fichier.'/', $sums); + } elseif (is_file($dir.$fichier)) { + if (!isset($sums[$dir.$fichier])) { + $new++; + print "".$dir.$fichier."Nouveau fichier !"; + } } - else - print 'Les résultats présentés ci-dessus ne peuvent pas être authentifiés sans la somme d\'un précédent contrôle, rien ne dit que les fichiers de validation n\'ont pas été modifiés !

'; - - $start = unserialize(file_get_contents(FILE_SAV)); - - print ' Vérification des fichiers ...'; - print ''; - $alerte = 0; - foreach($start as $key => $sum) - { - if (!is_file($key)) - { - $alerte++; - if (!isset($_GET['a'])) - print ""; - } - elseif (sha1_file($key) != $sum) - { - $alerte++; - print ""; - } - elseif (isset($_GET['v'])) - print ""; - } - $newFiles = parcourDir(dir_start, $start); - print '
Nom du fichierDétails
".$key."Fichier supprimé !
".$key."Alerte de différence de somme !
".$key."Ok
'; - - print '
Fin de la vérification : '.$alerte.' alerte(s) sur '.count($start).' fichier(s). '.$newFiles.' nouveau(x) fichier(s).'; - - print '

Contôle de la prochaine validation : '.sha1(sha1_file(FILE_SAV).'<^>'.sha1_file(__FILE__).sha1_file('checkSum.php')); + } + closedir($pointeur); + + return $new; } -else - { - if (isset($_GET['erase']) && $_GET['erase'] == $SUM) - print ' Trouvé
Détection d\'une demande d\'effacement

'; - elseif (!is_file(FILE_SAV)) - //print ' Introuvable

'; - die (' Introuvable

Arrêt de la vérification.'); - else - die(' ?

Impossible de déterminer l\'origine de la requête !
Arrêt de la vérification.'); - function extractDir($dir) - { - $sums = array(); + print ' Trouvé

'; - if (isset($_GET['v'])) - print "
Génération des sommes de fichiers pour le dossier : ".$dir; + if (isset($_GET["check"])) { + print 'Contrôle de la somme de la dernière validation ...'; + if (sha1(sha1_file(FILE_SAV).'<^>'.sha1_file(__FILE__).sha1_file('checkSum.php')) == $_GET["check"]) { + print ' Authentique

'; + } else { + die(' Invalide !
Arrêt du processus de vérification !'); + } + } else { + print 'Les résultats présentés ci-dessus ne peuvent pas être authentifiés sans la somme d\'un précédent contrôle, rien ne dit que les fichiers de validation n\'ont pas été modifiés !

'; + } - $pointeur = opendir($dir); - while ($fichier = readdir($pointeur)) - { - if($fichier == '.' || $fichier == '..' || $fichier == '.svn' || preg_match("#~#", $fichier)) - continue; - - if(is_dir($dir.$fichier) && is_readable($dir.$fichier)) - $sums = array_merge($sums, extractDir($dir.$fichier.'/')); - - elseif(is_file($dir.$fichier)) - $sums[$dir.$fichier] = sha1_file($dir.$fichier); - } - closedir($pointeur); - - return $sums; + $start = unserialize(file_get_contents(FILE_SAV)); + + print ' Vérification des fichiers ...'; + print ''; + $alerte = 0; + foreach ($start as $key => $sum) { + if (!is_file($key)) { + $alerte++; + if (!isset($_GET['a'])) { + print ""; } + } elseif (sha1_file($key) != $sum) { + $alerte++; + print ""; + } elseif (isset($_GET['v'])) { + print ""; + } + } + $newFiles = parcourDir(dir_start, $start); + print '
Nom du fichierDétails
".$key."Fichier supprimé !
".$key."Alerte de différence de somme !
".$key."Ok
'; - print 'Génération du tableau ...'; + print '
Fin de la vérification : '.$alerte.' alerte(s) sur '.count($start).' fichier(s). '.$newFiles.' nouveau(x) fichier(s).'; + + print '

Contôle de la prochaine validation : '.sha1(sha1_file(FILE_SAV).'<^>'.sha1_file(__FILE__).sha1_file('checkSum.php')); +} else { + if (isset($_GET['erase']) && $_GET['erase'] == $SUM) { + print ' Trouvé
Détection d\'une demande d\'effacement

'; + } elseif (!is_file(FILE_SAV)) { + //print ' Introuvable

'; + die(' Introuvable

Arrêt de la vérification.'); + } else { + die(' ?

Impossible de déterminer l\'origine de la requête !
Arrêt de la vérification.'); + } + + function extractDir($dir) + { $sums = array(); - - $sums = extractDir(dir_start); - print "Écriture du fichier.
"; - file_put_contents(FILE_SAV, serialize($sums)); - print "Fin de l'opération.
"; + if (isset($_GET['v'])) { + print "
Génération des sommes de fichiers pour le dossier : ".$dir; + } + + $pointeur = opendir($dir); + while ($fichier = readdir($pointeur)) { + if ($fichier == '.' || $fichier == '..' || $fichier == '.svn' || preg_match("#~#", $fichier)) { + continue; + } + + if (is_dir($dir.$fichier) && is_readable($dir.$fichier)) { + $sums = array_merge($sums, extractDir($dir.$fichier.'/')); + } elseif (is_file($dir.$fichier)) { + $sums[$dir.$fichier] = sha1_file($dir.$fichier); + } + } + closedir($pointeur); + + return $sums; } + + print 'Génération du tableau ...'; + $sums = array(); + + $sums = extractDir(dir_start); + + print "Écriture du fichier.
"; + file_put_contents(FILE_SAV, serialize($sums)); + print "Fin de l'opération.
"; +} ?> \ No newline at end of file diff --git a/htdocs/lectlog.php b/htdocs/lectlog.php index 21a31f0..05fd9a6 100644 --- a/htdocs/lectlog.php +++ b/htdocs/lectlog.php @@ -1,4 +1,4 @@ - + .: Halo-Battle :: Lecteur de log :.