Ajout d'une étape de linting dans DroneCi (#3)

Corrige un doublons laissé par le rebase semi-manuel

Ajout d'une étape de linting dans DroneCi

Fix linting

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

View file

@ -8,6 +8,12 @@ platform:
arch: amd64 arch: amd64
steps: 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 - name: publish
image: plugins/docker image: plugins/docker
settings: settings:

View file

@ -7,119 +7,111 @@ require_once(trim(file_get_contents('./.onyx')));
require_once("common.php"); //Chargement de tout le nécessaire pour le jeu 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 //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) 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)
function infoPlan($galaxie, $ss, $pos, $info) {
{ $base = new BDD();
$base = new BDD(); $resultat = $base->unique_query("SELECT * FROM planete WHERE galaxie = '$galaxie' AND ss = '$ss' AND position= '$pos';");
$resultat = $base->unique_query("SELECT * FROM planete WHERE galaxie = '$galaxie' AND ss = '$ss' AND position= '$pos';"); $base->deconnexion();
$base->deconnexion(); return $resultat[$info];
return $resultat[$info]; }
}
//Passage des valeurs générales au template //Passage des valeurs générales au template
$titre = "Administration"; $titre = "Administration";
$template->assign('page', 'admin'); $template->assign('page', 'admin');
$template->assign('menu', $VAR['menu']); $template->assign('menu', $VAR['menu']);
$template->assign('premiere_page', $VAR['first_page']); $template->assign('premiere_page', $VAR['first_page']);
$template->assign('race', $SESS->values['race']); $template->assign('race', $SESS->values['race']);
$template->assign("tpsdejeu", "un certain temps"); $template->assign("tpsdejeu", "un certain temps");
if (!empty($SESS->values['souscontrole'])) if (!empty($SESS->values['souscontrole'])) {
{ $pagea = 'erreur';
$pagea = 'erreur';
$SESS->values['id'] = $SESS->values['souscontrole'][0]; $SESS->values['id'] = $SESS->values['souscontrole'][0];
$SESS->values['idPlan'] = $SESS->values['souscontrole'][1]; $SESS->values['idPlan'] = $SESS->values['souscontrole'][1];
$SESS->values['souscontrole'] = null; $SESS->values['souscontrole'] = null;
$SESS->put(); $SESS->put();
$template->assign('message', 'Droits rétablis avec succès !<br />'); $template->assign('message', 'Droits rétablis avec succès !<br />');
} } else {
else $id_user = $SESS->values['id'];
{
$id_user = $SESS->values['id'];
if (!isset($_GET['p'])) if (!isset($_GET['p'])) {
$_GET['p'] = ''; $_GET['p'] = '';
if ($SESS->level >= 5) }
{ if ($SESS->level >= 5) {
switch($_GET['p']) switch ($_GET['p']) {
{ case 'djoueurs':
case 'djoueurs': include("admin/supprimer_joueur.php");
include("admin/supprimer_joueur.php"); break;
break; case 'bandeau':
case 'bandeau': include("admin/bandeau.php");
include("admin/bandeau.php"); break;
break; case 'demarrage':
case 'demarrage': include("admin/demarrage.php");
include("admin/demarrage.php"); break;
break; case 'version':
case 'version': include("admin/version.php");
include("admin/version.php"); break;
break; case 'inscription':
case 'inscription': include("admin/inscription.php");
include("admin/inscription.php"); break;
break; case 'njoueur':
case 'njoueur': include("server/njoueur.php");
include("server/njoueur.php"); break;
break; case 'mail_mass':
case 'mail_mass': include("admin/mail_mass.php");
include("admin/mail_mass.php"); break;
break; case 'bdd':
case 'bdd': include("admin/bdd.php");
include("admin/bdd.php"); break;
break; case 'proxy':
case 'proxy': include("admin/proxy.php");
include("admin/proxy.php"); break;
break; }
} }
} if (empty($pagea)) {
if (empty($pagea)) switch ($_GET['p']) {
{ case 'courrier':
switch($_GET['p']) include("admin/mail.php");
{ break;
case 'courrier': case 'vip':
include("admin/mail.php"); include("admin/ip.php");
break; break;
case 'vip': case 'vflottes':
include("admin/ip.php"); include("admin/flottes.php");
break; break;
case 'vflottes': case 'vplanetes':
include("admin/flottes.php"); include("admin/planete.php");
break; break;
case 'vplanetes': case 'vjoueurs':
include("admin/planete.php"); include("admin/joueur.php");
break; break;
case 'vjoueurs': case 'valliances':
include("admin/joueur.php"); include("admin/alliance.php");
break; break;
case 'valliances': case 'snalliances':
include("admin/alliance.php"); include("admin/snalliances.php");
break; break;
case 'snalliances': case 'vrapports':
include("admin/snalliances.php"); include("admin/rapport.php");
break; break;
case 'vrapports': case 'sjoueurs':
include("admin/rapport.php"); include("admin/sanction_joueur.php");
break; break;
case 'sjoueurs': case 'cjoueurs':
include("admin/sanction_joueur.php"); include("admin/prendre_controle.php");
break; break;
case 'cjoueurs': default:
include("admin/prendre_controle.php"); include("admin/accueil.php");
break; break;
default: }
include("admin/accueil.php"); }
break; }
}
}
}
$template->assign('titre', $titre); $template->assign('titre', $titre);
$template->assign('pagea', $pagea); $template->assign('pagea', $pagea);
$template->display('admin/'.$pagea.'.tpl'); $template->display('admin/'.$pagea.'.tpl');
} else {
header('Location: '.$VAR['first_page']);
} }
else
header('Location: '.$VAR['first_page']);
?>

View file

@ -13,36 +13,30 @@ require_once("donnees.php");
$SESS = new Session(); $SESS = new Session();
//On vérifie si le client est connecté sur le site //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'])) 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");
include_once("Class/user.php"); $user = new User($SESS->values['id']);
$user = new User($SESS->values['id']); if (!empty($user->id_alliance)) {
if (!empty($user->id_alliance)) if (isset($_POST['message'])) {
{ $message = htmlentities(trim(gpc("message", "post")));
if (isset($_POST['message'])) if (!empty($message) || $message == "0") {
{ $bdd = new BDD();
$message = htmlentities(trim(gpc("message", "post"))); $bdd->escape($message);
if (!empty($message) || $message == "0") $bdd->query("INSERT INTO $table_alliances_chat (id_alliance, emetteur, timestamp, message) VALUES (".$user->id_alliance.", ".$user->id_user.", ".time().", '$message');");
{ $bdd->deconnexion();
$bdd = new BDD(); }
$bdd->escape($message); } else {
$bdd->query("INSERT INTO $table_alliances_chat (id_alliance, emetteur, timestamp, message) VALUES (".$user->id_alliance.", ".$user->id_user.", ".time().", '$message');"); if (!empty($_GET['time'])) {
$bdd->deconnexion(); $time = intval(gpc("time"))." ORDER BY timestamp DESC";
} } else {
} $time = "0 ORDER BY timestamp DESC LIMIT 15";
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(); $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;"); $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->deconnexion();
header("X-JSON: ".json_encode($messages)); header("X-JSON: ".json_encode($messages));
} }
} }
} }
?>

View file

@ -2,140 +2,150 @@
define("INDEX", 1); define("INDEX", 1);
$chrono_start = microtime(); $chrono_start = microtime();
$onyx = @file_get_contents('./.onyx') or die("Configuration introuvable."); $onyx = @file_get_contents('./.onyx') or die("Configuration introuvable.");
define("_FCORE",trim($onyx)); define("_FCORE", trim($onyx));
require(_FCORE."../game/Class/JSON.php"); require(_FCORE."../game/Class/JSON.php");
require_once(_FCORE."common.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'])) { 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(); $json = new Services_JSON();
$nbtrajet = 2; $nbtrajet = 2;
if (empty($config['flottes']) && $sess->level <= 1) { if (empty($config['flottes']) && $sess->level <= 1) {
$datas = array( $datas = array(
'root' => array( 'root' => array(
'destination' => '<input class="dest" type="text" id="amas" name="amas" maxlength="2" value="'.gpc('galaxie', 'post').'" />:<input class="dest" type="text" id="ss" name="ss" maxlength="2" value="'.gpc('ss', 'post').'" />:<input class="dest" type="text" id="plan" name="pos" maxlength="2" value="'.gpc('pos', 'post').'" />', 'destination' => '<input class="dest" type="text" id="amas" name="amas" maxlength="2" value="'.gpc('galaxie', 'post').'" />:<input class="dest" type="text" id="ss" name="ss" maxlength="2" value="'.gpc('ss', 'post').'" />:<input class="dest" type="text" id="plan" name="pos" maxlength="2" value="'.gpc('pos', 'post').'" />',
'temps' => '-', 'temps' => '-',
'deblok' => '<span style="color: #FF0000;"><b>Les flottes sont désactivés pour le moment.</b></span>', 'deblok' => '<span style="color: #FF0000;"><b>Les flottes sont désactivés pour le moment.</b></span>',
'conso' => '-', 'conso' => '-',
'tactique' => '', 'tactique' => '',
'places' => '' 'places' => ''
) )
); );
header("X-JSON: ".$json->encode($datas)); header("X-JSON: ".$json->encode($datas));
exit; exit;
} }
$destin = gpc('fav_dest', 'post'); $destin = gpc('fav_dest', 'post');
$chapeau = new bdd(); $chapeau = new bdd();
$chapeau->connexion(); $chapeau->connexion();
$idPlan = $sess->values['idPlan']; $idPlan = $sess->values['idPlan'];
$queryPlanete = $chapeau->unique_query("SELECT * FROM $table_planete WHERE id = '$idPlan'"); $queryPlanete = $chapeau->unique_query("SELECT * FROM $table_planete WHERE id = '$idPlan'");
if (!empty($destin)) { if (!empty($destin)) {
$chapeau->escape($destin); $chapeau->escape($destin);
$queryPlaneteRapid = $chapeau->unique_query("SELECT nom_planete, galaxie, ss, position FROM $table_planete WHERE id = $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'].']<input type="hidden" id="amas" name="amas" maxlength="2" value="'.$queryPlaneteRapid['galaxie'].'" /><input type="hidden" id="ss" name="ss" maxlength="2" value="'.$queryPlaneteRapid['ss'].'" /><input type="hidden" id="plan" name="pos" maxlength="2" value="'.$queryPlaneteRapid['position'].'" />'; if ($queryPlaneteRapid) {
} $destinRapid = '['.$queryPlaneteRapid['galaxie'].':'.$queryPlaneteRapid['ss'].':'.$queryPlaneteRapid['position'].']<input type="hidden" id="amas" name="amas" maxlength="2" value="'.$queryPlaneteRapid['galaxie'].'" /><input type="hidden" id="ss" name="ss" maxlength="2" value="'.$queryPlaneteRapid['ss'].'" /><input type="hidden" id="plan" name="pos" maxlength="2" value="'.$queryPlaneteRapid['position'].'" />';
if (!isset($destinRapid)) $destinRapid = '<input class="dest" type="text" id="amas" name="amas" maxlength="2" value="'.gpc('galaxie', 'post').'" />:<input class="dest" type="text" id="ss" name="ss" maxlength="2" value="'.gpc('ss', 'post').'" />:<input class="dest" type="text" id="plan" name="pos" maxlength="2" value="'.gpc('pos', 'post').'" />'; }
$start_galaxie = $queryPlanete['galaxie']; }
$start_ss = $queryPlanete['ss']; if (!isset($destinRapid)) {
$start_position = $queryPlanete['position']; $destinRapid = '<input class="dest" type="text" id="amas" name="amas" maxlength="2" value="'.gpc('galaxie', 'post').'" />:<input class="dest" type="text" id="ss" name="ss" maxlength="2" value="'.gpc('ss', 'post').'" />:<input class="dest" type="text" id="plan" name="pos" maxlength="2" value="'.gpc('pos', 'post').'" />';
}
$start_galaxie = $queryPlanete['galaxie'];
$start_ss = $queryPlanete['ss'];
$start_position = $queryPlanete['position'];
$met = gpc('met', 'post'); $met = gpc('met', 'post');
$cri = gpc('cri', 'post'); $cri = gpc('cri', 'post');
$hyd = gpc('hyd', '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); if (!empty($sess->values['flcontenu']) && $met+$cri+$hyd >= 0 && $met >= 0 && $cri >= 0 && $hyd >= 0) {
else $places = 'inconnu'; $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'])) 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( $datas = array(
'root' => array( 'root' => array(
'destination' => $destinRapid, 'destination' => $destinRapid,
'temps' => '-', 'temps' => '-',
'deblok' => '<b>Une erreur est survenue lors de la création de la flotte. Veuillez recommencer</b>', 'deblok' => '<b>Une erreur est survenue lors de la création de la flotte. Veuillez recommencer</b>',
'conso' => '-', 'conso' => '-',
'tactique' => '', 'tactique' => '',
'places' => separerNombres($places) 'places' => separerNombres($places)
) )
); );
elseif (empty($_POST['nom']) || preg_replace('@[^a-zA-Z0-9_ ]@i', '', $_POST['nom']) != $_POST['nom']) } elseif (empty($_POST['nom']) || preg_replace('@[^a-zA-Z0-9_ ]@i', '', $_POST['nom']) != $_POST['nom']) {
$datas = array( $datas = array(
'root' => array( 'root' => array(
'destination' => $destinRapid, 'destination' => $destinRapid,
'temps' => '-', 'temps' => '-',
'deblok' => '<b>Nom de la flotte incorrect !</b>', 'deblok' => '<b>Nom de la flotte incorrect !</b>',
'conso' => '-', 'conso' => '-',
'tactique' => '', 'tactique' => '',
'places' => separerNombres($places) '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)) } 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( $datas = array(
'root' => array( 'root' => array(
'destination' => $destinRapid, 'destination' => $destinRapid,
'temps' => '<span style="color: #FF0000;"><b>Lieu inaccessible</b></span>', 'temps' => '<span style="color: #FF0000;"><b>Lieu inaccessible</b></span>',
'deblok' => '<b>Corrigez la destination !</b>', 'deblok' => '<b>Corrigez la destination !</b>',
'conso' => '-', 'conso' => '-',
'tactique' => '', 'tactique' => '',
'places' => separerNombres($places) 'places' => separerNombres($places)
) )
); );
else { } else {
$_POST['vitesse'] /= 100; $_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']); $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; if ($temps <= 0) {
$conso = vais_conso($temps, $sess->values['flnbvais'])*$_POST['vitesse']/45; $temps = 454;
$places -= ceil($conso*$nbtrajet); }
$tactique = ''; $conso = vais_conso($temps, $sess->values['flnbvais'])*$_POST['vitesse']/45;
if ($_POST['mission'] == '1') { $places -= ceil($conso*$nbtrajet);
$tactique = '<label for="selecttactique">Tactique d\'attaque :</label><select id="selecttactique" name="tactique">'; $tactique = '';
//On récupère le niveau actuel de la technologie Commandement militaire if ($_POST['mission'] == '1') {
$id_user = $sess->values['id']; $tactique = '<label for="selecttactique">Tactique d\'attaque :</label><select id="selecttactique" name="tactique">';
$table = $config['db_prefix'].'user'; //On récupère le niveau actuel de la technologie Commandement militaire
$queryUser = $chapeau->unique_query("SELECT * FROM $table WHERE id = '$id_user'"); $id_user = $sess->values['id'];
$lvltechno = $queryUser['tactique']; $table = $config['db_prefix'].'user';
$tactiquedef = $queryUser['combatAT_tactique']; $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 if ($lvltechno < 1) { //Si on a pas le niveau, on ne peux pas envoyer la flotte
$datas = array( $datas = array(
'root' => array( 'root' => array(
'destination' => $destinRapid, 'destination' => $destinRapid,
'temps' => affTemp(floor($temps)), 'temps' => affTemp(floor($temps)),
'deblok' => '<b>Vous ne pouvez pas attaquer sans un minimum de connaissances militaires !</b>', 'deblok' => '<b>Vous ne pouvez pas attaquer sans un minimum de connaissances militaires !</b>',
'conso' => separerNombres(ceil($conso*$nbtrajet)), 'conso' => separerNombres(ceil($conso*$nbtrajet)),
'tactique' => '', 'tactique' => '',
'places' => separerNombres($places) 'places' => separerNombres($places)
) )
); );
header("X-JSON: ".$json->encode($datas)); header("X-JSON: ".$json->encode($datas));
exit; exit;
} } else {
else { for ($i=1 ; $i<=$lvltechno ; $i++) {
for($i=1 ; $i<=$lvltechno ; $i++) { if ($tactiquedef == $i) {
if ($tactiquedef == $i) $tactique .= '<option value="'.$i.'" selected>'.txtTactique($i).'</option>'; $tactique .= '<option value="'.$i.'" selected>'.txtTactique($i).'</option>';
else $tactique .= '<option value="'.$i.'">'.txtTactique($i).'</option>'; } else {
} $tactique .= '<option value="'.$i.'">'.txtTactique($i).'</option>';
} }
$tactique .= '</select><br />'; }
} }
$cds = sha1('flotte'.$conso.'ß10'.time().'|HB;'.rand(10,99).$temps); $tactique .= '</select><br />';
$sess->values['flcds'] = $cds; }
$sess->put(); $cds = sha1('flotte'.$conso.'ß10'.time().'|HB;'.rand(10, 99).$temps);
$datas = array( $sess->values['flcds'] = $cds;
'root' => array( $sess->put();
'destination' => $destinRapid, $datas = array(
'temps' => affTemp(floor($temps)), 'root' => array(
'deblok' => '<input type="hidden" name="cds" value="'.$cds.'" /><input type="submit" value="GO" class="submit" />', 'destination' => $destinRapid,
'conso' => separerNombres(ceil($conso*2)), 'temps' => affTemp(floor($temps)),
'tactique' => $tactique, 'deblok' => '<input type="hidden" name="cds" value="'.$cds.'" /><input type="submit" value="GO" class="submit" />',
'places' => separerNombres($places) 'conso' => separerNombres(ceil($conso*2)),
) 'tactique' => $tactique,
); 'places' => separerNombres($places)
} )
);
}
$chapeau->deconnexion(); $chapeau->deconnexion();
header("X-JSON: ".$json->encode($datas)); header("X-JSON: ".$json->encode($datas));
} }
?>

View file

@ -4,7 +4,7 @@ define("INDEX", 1); //Définition de la constante anti-hacking
$chrono_start = microtime(); $chrono_start = microtime();
//Inclusion de l'API Onyx //Inclusion de l'API Onyx
$onyx = @file_get_contents('./.onyx') or die("Configuration introuvable."); $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"); require_once(_FCORE."common.php");
$race = 'humain'; $race = 'humain';
require_once(_FCORE."../game/noms.php"); require_once(_FCORE."../game/noms.php");
@ -12,30 +12,24 @@ require_once(_FCORE."../game/vars.php");
$tree = array(); $tree = array();
foreach($technologiesCALC as $keyB => $branche) foreach ($technologiesCALC as $keyB => $branche) {
{ print "<h3><ins>Branche :</ins> ".$technologiesVAR[$keyB]."</h3>";
print "<h3><ins>Branche :</ins> ".$technologiesVAR[$keyB]."</h3>"; foreach ($branche as $keyT => $tech) {
foreach($branche as $keyT => $tech) print $tech[0].' : '.$technolo[$keyB][$keyT]."<br />";
{ if ($tech[1] > 0) {
print $tech[0].' : '.$technolo[$keyB][$keyT]."<br />"; print '<em><ins>Requiert :</ins>';
if ($tech[1] > 0) foreach ($branche as $keyR => $req) {
{ if ($req[0]&$tech[1]) {
print '<em><ins>Requiert :</ins>'; print ' '.$technolo[$keyB][$keyR].',';
foreach($branche as $keyR => $req) }
{ }
if ($req[0]&$tech[1]) print '</em><br />';
print ' '.$technolo[$keyB][$keyR].','; } else {
} print '<em>Ne requiert aucune technologie</em><br />';
print '</em><br />'; $tree[] = array($tech);
} }
else print "<br />";
{ }
print '<em>Ne requiert aucune technologie</em><br />'; }
$tree[] = array($tech);
}
print "<br />";
}
}
echo("\n<!--Page générée en : ".round((array_sum(explode(' ', microtime()))) - (array_sum(explode(' ', $chrono_start))), 4)." secondes.-->"); echo("\n<!--Page générée en : ".round((array_sum(explode(' ', microtime()))) - (array_sum(explode(' ', $chrono_start))), 4)." secondes.-->");
?>

View file

@ -2,19 +2,24 @@
define("INDEX", 1); define("INDEX", 1);
$chrono_start = microtime(); $chrono_start = microtime();
$onyx = @file_get_contents('./.onyx') or die("Configuration introuvable."); $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."kernel.php");
require_once(_FCORE."../game/tables.php"); require_once(_FCORE."../game/tables.php");
$action = intval(gpc('a')); $action = intval(gpc('a'));
if (isset($sess->values['race'])) $race = $sess->values['race']; if (isset($sess->values['race'])) {
else $race = gpc('r'); $race = $sess->values['race'];
} else {
$race = gpc('r');
}
$bdd = new BDD(); $bdd = new BDD();
$bdd->connexion(); $bdd->connexion();
$act = $bdd->unique_query("SELECT nom FROM $table_bourse WHERE id = $action;"); $act = $bdd->unique_query("SELECT nom FROM $table_bourse WHERE id = $action;");
$bdd->deconnexion(); $bdd->deconnexion();
if (empty($act)) exit; if (empty($act)) {
exit;
}
$values = array(); $values = array();
$values_label = array(); $values_label = array();
@ -23,82 +28,94 @@ $values_abscisse = array();
//Extraction des derniers pourcentages //Extraction des derniers pourcentages
$filename = ''; $filename = '';
$i = 6; $i = 6;
while(!is_file($filename)) { while (!is_file($filename)) {
$i++; $i++;
if ($i > 14) break; if ($i > 14) {
$filename = _FCORE."../game/cache/bourse/".$action.".".strftime('%Y%m%d', time() - 86400 * $i).".bourse"; break;
}
$filename = _FCORE."../game/cache/bourse/".$action.".".strftime('%Y%m%d', time() - 86400 * $i).".bourse";
} }
if (!is_file($filename)) { if (!is_file($filename)) {
$i = 7; $i = 7;
while(!is_file($filename)) { while (!is_file($filename)) {
$i--; $i--;
if ($i < 0) break; if ($i < 0) {
$filename = _FCORE."../game/cache/bourse/".$action.".".strftime('%Y%m%d', time() - 86400 * $i).".bourse"; break;
} }
$filename = _FCORE."../game/cache/bourse/".$action.".".strftime('%Y%m%d', time() - 86400 * $i).".bourse";
}
} }
if (is_file($filename)) { if (is_file($filename)) {
$handle = fopen($filename, "r"); $handle = fopen($filename, "r");
while (!feof($handle)) { while (!feof($handle)) {
$r = fgets($handle); $r = fgets($handle);
if (preg_match('#;#', $r)) $last = $r; if (preg_match('#;#', $r)) {
} $last = $r;
fclose($handle); }
$calc = $last = explode(';', $last); }
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--){ for ($i = 6; $i >= 0; $i--) {
$filename = _FCORE."../game/cache/bourse/".$action.".".strftime('%Y%m%d', time() - 86400 * $i).".bourse"; $filename = _FCORE."../game/cache/bourse/".$action.".".strftime('%Y%m%d', time() - 86400 * $i).".bourse";
if (is_file($filename)) { if (is_file($filename)) {
$handle = fopen($filename, "r"); $handle = fopen($filename, "r");
while (!feof($handle)) { while (!feof($handle)) {
$r = fgets($handle); $r = fgets($handle);
if (preg_match('#;#', $r)) $last = $r; if (preg_match('#;#', $r)) {
} $last = $r;
fclose($handle); }
$last = explode(';', $last); }
} fclose($handle);
$evolution = intval(($last[1]/$calc[1] - 1) * 100); $last = explode(';', $last);
$values[] = $evolution; }
if ($evolution >= 0 ) $evolution = '+'.$evolution; $evolution = intval(($last[1]/$calc[1] - 1) * 100);
$values_label[] = $evolution.'%'; $values[] = $evolution;
$values_abscisse[] = ucfirst(strftime('%a', time() - 86400 * $i)); 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.php");
require_once ("../jpgraph/jpgraph_line.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 = new Graph(282, 200);
$graph->SetScale("textlin"); $graph->SetScale("textlin");
$graph->img->SetMargin(40,20,20,40); $graph->img->SetMargin(40, 20, 20, 40);
$lineplot=new LinePlot($values); $lineplot=new LinePlot($values);
$lineplot->mark->SetType(MARK_UTRIANGLE); $lineplot->mark->SetType(MARK_UTRIANGLE);
$lineplot->value->show(); $lineplot->value->show();
$lineplot->value->SetFont(FF_FONT1,FS_BOLD); $lineplot->value->SetFont(FF_FONT1, FS_BOLD);
$lineplot->value->SetFormat('%0.1f'); $lineplot->value->SetFormat('%0.1f');
//Définition des couleurs //Définition des couleurs
$graph->SetBackgroundImage(_FCORE."../game/bourse/".$race.".png", BGIMG_COPY); $graph->SetBackgroundImage(_FCORE."../game/bourse/".$race.".png", BGIMG_COPY);
if ($race == "covenant") { if ($race == "covenant") {
$graph->yaxis->SetColor("#FFFFFF"); $graph->yaxis->SetColor("#FFFFFF");
$graph->xaxis->SetColor("white"); $graph->xaxis->SetColor("white");
$lineplot->SetFillColor("pink@0.8"); $lineplot->SetFillColor("pink@0.8");
$lineplot->value->SetColor('#FF0000'); $lineplot->value->SetColor('#FF0000');
$graph->yaxis->title->SetColor("white"); $graph->yaxis->title->SetColor("white");
$graph->title->SetColor("white"); $graph->title->SetColor("white");
$lineplot->SetColor("#c00000"); $lineplot->SetColor("#c00000");
} } else {
else { $graph->yaxis->SetColor("#00DD00");
$graph->yaxis->SetColor("#00DD00"); $lineplot->SetFillColor("cyan@0.8");
$lineplot->SetFillColor("cyan@0.8"); $lineplot->value->SetColor('#FF0000');
$lineplot->value->SetColor('#FF0000'); $graph->yaxis->title->SetColor("white");
$graph->yaxis->title->SetColor("white"); $graph->title->SetColor("white");
$graph->title->SetColor("white"); $lineplot->SetColor("#3bb3ff");
$lineplot->SetColor("#3bb3ff");
} }
@ -107,19 +124,19 @@ $graph->title->Set($act['nom']);
$graph->yaxis->title->Set("Evolution (%)"); $graph->yaxis->title->Set("Evolution (%)");
$graph->xaxis->SetTickLabels($values_abscisse); $graph->xaxis->SetTickLabels($values_abscisse);
$graph->title->SetFont(FF_FONT1,FS_BOLD); $graph->title->SetFont(FF_FONT1, FS_BOLD);
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD); $graph->yaxis->title->SetFont(FF_FONT1, FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD); $graph->xaxis->title->SetFont(FF_FONT1, FS_BOLD);
$lineplot->SetWeight(2); $lineplot->SetWeight(2);
$graph->Stroke(); $graph->Stroke();
exit; exit;
//*/ //*/
require_once (_FCORE."../artichow/LinePlot.class.php"); require_once(_FCORE."../artichow/LinePlot.class.php");
$graph = new Graph(282, 200); $graph = new Graph(282, 200);
$graph->setAntiAliasing(FALSE); $graph->setAntiAliasing(false);
$graph->border->setColor(new Color(210, 210, 210)); $graph->border->setColor(new Color(210, 210, 210));
$graph->title->set($act['nom']); $graph->title->set($act['nom']);
$graph->title->setFont(new TuffyBold(14)); $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->setFillColor(new Color(180, 180, 180, 75));
$plot->label->set($values_label); $plot->label->set($values_label);
$plot->label->setBackgroundGradient( $plot->label->setBackgroundGradient(
new LinearGradient( new LinearGradient(
new Color(250, 250, 250, 10), new Color(250, 250, 250, 10),
new Color(255, 200, 200, 30), new Color(255, 200, 200, 30),
0 0
) )
); );
$plot->label->border->setColor(new Color(20, 20, 20, 20)); $plot->label->border->setColor(new Color(20, 20, 20, 20));
$plot->label->setPadding(3, 1, 1, 0); $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 ajoute 5 % d'espace à gauche et à droite de la courbe.
// On ne change pas l'espace du haut et du bas de la courbe. // On ne change pas l'espace du haut et du bas de la courbe.
$plot->setSpace( $plot->setSpace(
5, /* Gauche */ 5, /* Gauche */
5, /* Droite */ 5, /* Droite */
NULL, /* Haut */ null, /* Haut */
NULL /* Bas */ null /* Bas */
); );
$graph->add($plot); $graph->add($plot);
$graph->draw(); $graph->draw();
?>

View file

@ -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("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 require_once("tables.php"); //Inclusion des noms des tables de base de données correspondant à l'architecture du serveur
function nomR($string, $race){ function nomR($string, $race)
if ($race == "covenant") { {
if ($string == 1) return "Cristal"; if ($race == "covenant") {
elseif ($string == 2) return "Ions"; if ($string == 1) {
else return "Metal"; return "Cristal";
} } elseif ($string == 2) {
else { return "Ions";
if ($string == 1) return "Cristal"; } else {
elseif ($string == 2) return "Hydrogene"; return "Metal";
else return "Metal"; }
} } else {
if ($string == 1) {
return "Cristal";
} elseif ($string == 2) {
return "Hydrogene";
} else {
return "Metal";
}
}
} }
$action = intval(gpc('a')); $action = intval(gpc('a'));
if (isset($sess->values['race'])) $race = $sess->values['race']; if (isset($sess->values['race'])) {
else $race = gpc('r'); $race = $sess->values['race'];
} else {
$race = gpc('r');
}
$bdd = new BDD(); $bdd = new BDD();
$act = $bdd->unique_query("SELECT id, graph, dispo FROM $table_bourse_ressources WHERE id = $action;"); $act = $bdd->unique_query("SELECT id, graph, dispo FROM $table_bourse_ressources WHERE id = $action;");
$bdd->deconnexion(); $bdd->deconnexion();
if (empty($act)) exit; if (empty($act)) {
exit;
}
$values = array(); $values = array();
$values_label = array(); $values_label = array();
@ -37,50 +50,54 @@ $values_abscisse = array();
$act['graph'] = unserialize($act['graph']); $act['graph'] = unserialize($act['graph']);
for($i = 1; $i < 8; $i++){ for ($i = 1; $i < 8; $i++) {
if (!isset($act['graph'][(date('w')+$i)%7])) $values[] = 0; if (!isset($act['graph'][(date('w')+$i)%7])) {
else $values[] = ceil(pow($act['graph'][(date('w')+$i)%7], -0.1) * 20000)/10; $values[] = 0;
} else {
$values[] = ceil(pow($act['graph'][(date('w')+$i)%7], -0.1) * 20000)/10;
}
} }
for($i = 6; $i >= 0; $i--){ for ($i = 6; $i >= 0; $i--) {
$values_label[] = $values[$i]; $values_label[] = $values[$i];
$values_abscisse[] = ucfirst(strftime('%a', time() - 86400 * $i)); $values_abscisse[] = ucfirst(strftime('%a', time() - 86400 * $i));
} }
//* //*
require_once ("jpgraph/jpgraph.php"); require_once("jpgraph/jpgraph.php");
require_once ("jpgraph/jpgraph_line.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 = new Graph(282, 200);
$graph->SetScale("textlin"); $graph->SetScale("textlin");
$graph->img->SetMargin(40,20,20,40); $graph->img->SetMargin(40, 20, 20, 40);
$lineplot=new LinePlot($values); $lineplot=new LinePlot($values);
$lineplot->mark->SetType(MARK_UTRIANGLE); $lineplot->mark->SetType(MARK_UTRIANGLE);
$lineplot->value->show(); $lineplot->value->show();
$lineplot->value->SetFont(FF_FONT1,FS_BOLD); $lineplot->value->SetFont(FF_FONT1, FS_BOLD);
//$lineplot->value->SetFormat('%0f'); //$lineplot->value->SetFormat('%0f');
//Définition des couleurs //Définition des couleurs
$graph->SetBackgroundImage(ONYX."include/content/bourse/".$race.".png", BGIMG_COPY); $graph->SetBackgroundImage(ONYX."include/content/bourse/".$race.".png", BGIMG_COPY);
if ($race == "covenant") { if ($race == "covenant") {
$graph->yaxis->SetColor("#FFFFFF"); $graph->yaxis->SetColor("#FFFFFF");
$graph->xaxis->SetColor("white"); $graph->xaxis->SetColor("white");
$lineplot->SetFillColor("pink@0.8"); $lineplot->SetFillColor("pink@0.8");
$lineplot->value->SetColor('#FF0000'); $lineplot->value->SetColor('#FF0000');
$graph->yaxis->title->SetColor("white"); $graph->yaxis->title->SetColor("white");
$graph->title->SetColor("white"); $graph->title->SetColor("white");
$lineplot->SetColor("#c00000"); $lineplot->SetColor("#c00000");
} } else {
else { $graph->yaxis->SetColor("#00DD00");
$graph->yaxis->SetColor("#00DD00"); $lineplot->SetFillColor("cyan@0.8");
$lineplot->SetFillColor("cyan@0.8"); $lineplot->value->SetColor('#FF0000');
$lineplot->value->SetColor('#FF0000'); $graph->yaxis->title->SetColor("white");
$graph->yaxis->title->SetColor("white"); $graph->title->SetColor("white");
$graph->title->SetColor("white"); $lineplot->SetColor("#3bb3ff");
$lineplot->SetColor("#3bb3ff");
} }
$act['nom'] = nomR($act['id'], $race); $act['nom'] = nomR($act['id'], $race);
@ -90,11 +107,10 @@ $graph->title->Set($act['nom']);
$graph->yaxis->title->Set("Evolution (%)"); $graph->yaxis->title->Set("Evolution (%)");
$graph->xaxis->SetTickLabels($values_abscisse); $graph->xaxis->SetTickLabels($values_abscisse);
$graph->title->SetFont(FF_FONT1,FS_BOLD); $graph->title->SetFont(FF_FONT1, FS_BOLD);
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD); $graph->yaxis->title->SetFont(FF_FONT1, FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD); $graph->xaxis->title->SetFont(FF_FONT1, FS_BOLD);
$lineplot->SetWeight(2); $lineplot->SetWeight(2);
$graph->Stroke(); $graph->Stroke();
?>

View file

@ -6,12 +6,14 @@ require_once(trim(file_get_contents('./.onyx')));
$SESS = new Session(); $SESS = new Session();
//On défini la configuration //On défini la configuration
if(!isset($_GET['nbr_chiffres']) || $_GET['nbr_chiffres'] < 5) 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 $nbr_chiffres = mt_rand(7, 9);
else } // Nombre de chiffres qui formerons le nombre par défaut
$nbr_chiffres = intval(gpc('nbr_chiffres')); // Si l'on met dans l'adresse un ?nbr_chiffres=X 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 //Création de l'image à partir d'un fond
$_img = imagecreatefromgif('fond_verif_img.gif'); $_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à. //$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 //On définit les autres couleurs
$couleur = mt_rand(0, 4); $couleur = mt_rand(0, 4);
if ($couleur == 0) $avant_plan = imagecolorallocate($_img, rand(250,225), rand(0,25), rand(0,25)); if ($couleur == 0) {
elseif ($couleur == 1) $avant_plan = imagecolorallocate($_img, rand(0,25), rand(250,225), rand(0,25)); $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 == 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 == 3) {
elseif ($couleur == 4) $avant_plan = imagecolorallocate($_img, rand(250,225), rand(0,25), rand(250,225)); $avant_plan = imagecolorallocate($_img, rand(0, 25), rand(250, 225), rand(250, 225));
elseif ($couleur == 5) $avant_plan = imagecolorallocate($_img, rand(250,225), rand(250,225), rand(0,25)); } elseif ($couleur == 4) {
else $avant_plan = imagecolorallocate($_img, rand(200,225), rand(200,225), rand(200,225)); $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 //Définition de la liste des caractères
$caracteres = "2345678azertypsdfhjkmwxcbn?"; $caracteres = "2345678azertypsdfhjkmwxcbn?";
$nb_caracteres = strlen($caracteres)-1; $nb_caracteres = strlen($caracteres)-1;
$captcha = ""; $captcha = "";
for($i = 0; $i < $nbr_chiffres; $i++) for ($i = 0; $i < $nbr_chiffres; $i++) {
{ $alea = mt_rand(0, $nb_caracteres);
$alea = mt_rand(0, $nb_caracteres); $captcha .= $caracteres[$alea];
$captcha .= $caracteres[$alea];
} }
$SESS->values['_captcha'] = strtolower($captcha); $SESS->values['_captcha'] = strtolower($captcha);
@ -49,10 +58,10 @@ unset($chiffre, $i, $caractere, $nbr_chiffres, $nb_caracteres, $caracteres);
$fontfile = './2.TTF'; $fontfile = './2.TTF';
//imagestring($_img, 5, 18, 8, $nombre, $avant_plan); //imagestring($_img, 5, 18, 8, $nombre, $avant_plan);
if ($fontfile == './0.TTF') if ($fontfile == './0.TTF') {
ImageTTFText($_img, 20, 2, 0, 23, $avant_plan, $fontfile, strtoupper($captcha)); ImageTTFText($_img, 20, 2, 0, 23, $avant_plan, $fontfile, strtoupper($captcha));
else } else {
ImageTTFText($_img, 20, mt_rand(1,5), rand(1,7), 30, $avant_plan, $fontfile, $captcha); ImageTTFText($_img, 20, mt_rand(1, 5), rand(1, 7), 30, $avant_plan, $fontfile, $captcha);
}
imagepng($_img); imagepng($_img);
?>

View file

@ -8,355 +8,334 @@ require_once(trim(file_get_contents('./.onyx')));
require_once("common.php"); //Chargement de tout le nécessaire pour le jeu require_once("common.php"); //Chargement de tout le nécessaire pour le jeu
//On vérifie si le client est connecté sur le site //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'])) 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
//Si un nouveau joueur cherche à se connecter du même endroit, on déconnecte le joueur en cours avant $HB_login = gpc('l');
$HB_login = gpc('l'); if (!empty($HB_login) && strtolower($HB_login) != strtolower(trouvNom($SESS->values['id']))) {
if (!empty($HB_login) && strtolower($HB_login) != strtolower(trouvNom($SESS->values['id']))) require("server/logout.php");
{ } elseif (!empty($HB_login)) {
require("server/logout.php"); redirection("./".$VAR["first_page"]);
} exit;
elseif (!empty($HB_login)) }
{ //Déconnexion de secours
redirection("./".$VAR["first_page"]); elseif (isset($_GET["logout"])) {
exit; require("server/logout.php");
} redirection("./".$VAR["first_page"]);
//Déconnexion de secours }
elseif (isset($_GET["logout"])) unset($HB_login);
{
require("server/logout.php");
redirection("./".$VAR["first_page"]);
}
unset($HB_login);
$race = $SESS->values["race"]; $race = $SESS->values["race"];
$securePlanete = array(); $securePlanete = array();
//Inclusion des formules //Inclusion des formules
require_once("donnees.php"); require_once("donnees.php");
//On inclus les différentes classes //On inclus les différentes classes
include_once("Class/exceptionHB.php"); include_once("Class/exceptionHB.php");
include_once("Class/user.php"); include_once("Class/user.php");
include_once("Class/surface.php"); include_once("Class/surface.php");
include_once("Class/planete.php"); include_once("Class/planete.php");
include_once("Class/asteroide.php"); include_once("Class/asteroide.php");
include_once("Class/flotte.php"); include_once("Class/flotte.php");
//Récupération d'informations au sujet de l'utilisateur //Récupération d'informations au sujet de l'utilisateur
$id_user = $SESS->values["id"]; $id_user = $SESS->values["id"];
$ip = $_SERVER["REMOTE_ADDR"]; $ip = $_SERVER["REMOTE_ADDR"];
//On commence l'envoie des données requise pour les templates //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("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("auth_level", $SESS->level); //Envoie du niveau d'accès de l'utilisateur
$template->assign("race", $race); $template->assign("race", $race);
//Connexion à la base de données ou reconnexion si la classe existe //Connexion à la base de données ou reconnexion si la classe existe
if (isset($bdd)) if (isset($bdd)) {
$bdd->reconnexion(); $bdd->reconnexion();
else } else {
$bdd = new BDD(); $bdd = new BDD();
}
//Recherche de multicompte //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;"); $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 //On gère les demande de changement de planète
if (isset($_POST["planete"])) if (isset($_POST["planete"])) {
{ if (preg_match("#A#", $_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;")) {
$idAsteroideTest = intval(substr(gpc("planete", "post"), 1)); $SESS->values["idPlan"] = 0;
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["idAsteroide"] = $idAsteroideTest;
{ $SESS->values["isolement"] = 0;
$SESS->values["idPlan"] = 0; $SESS->put();
$SESS->values["idAsteroide"] = $idAsteroideTest; $template->assign("page", "vp");
$SESS->values["isolement"] = 0; $template->display("game/vp.tpl");
$SESS->put(); exit;
$template->assign("page","vp"); }
$template->display("game/vp.tpl"); unset($idAsteroideTest);
exit; } else {
} $idPlanTest = intval(gpc("planete", "post"));
unset($idAsteroideTest); if ($bdd->unique_query("SELECT id FROM $table_planete WHERE id_user = $id_user AND id = $idPlanTest;")) {
} $SESS->values["idPlan"] = $idPlanTest;
else $SESS->values["idAsteroide"] = 0;
{ $SESS->values["isolement"] = 0;
$idPlanTest = intval(gpc("planete", "post")); $SESS->put();
if ($bdd->unique_query("SELECT id FROM $table_planete WHERE id_user = $id_user AND id = $idPlanTest;")) $template->assign("page", "vp");
{ $template->display("game/vp.tpl");
$SESS->values["idPlan"] = $idPlanTest; exit;
$SESS->values["idAsteroide"] = 0; }
$SESS->values["isolement"] = 0; unset($idPlanTest);
$SESS->put(); }
$template->assign("page","vp"); }
$template->display("game/vp.tpl"); $idPlan = $SESS->values["idPlan"];
exit; $idAsteroide = $SESS->values["idAsteroide"];
}
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';"); $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';"); $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"]); $queryMail = array($queryMail1["nombre"], $queryMail2["nombre"]);
$queryPlanetes = $bdd->query("SELECT * FROM $table_planete WHERE id_user = $id_user ORDER BY id ASC;"); $queryPlanetes = $bdd->query("SELECT * FROM $table_planete WHERE id_user = $id_user ORDER BY id ASC;");
$bdd->deconnexion(); $bdd->deconnexion();
unset($queryMail1, $queryMail2); unset($queryMail1, $queryMail2);
//Chargement de la planète/astéroide actuel //Chargement de la planète/astéroide actuel
if ($idPlan == 0 && $idAsteroide == 0) if ($idPlan == 0 && $idAsteroide == 0) {
{ trigger_error('Planète et Asteroïde nul, deconnexion du joueur '.$id_user, E_USER_ERROR);
trigger_error('Planète et Asteroïde nul, deconnexion du joueur '.$id_user,E_USER_ERROR); include("server/logout.php");
include("server/logout.php"); exit;
exit; } elseif ($idPlan == 0) {
} define('SURFACE', 'asteroide');
elseif ($idPlan == 0) $planete = new Asteroide($idAsteroide);
{ $planete->actualiser();
define('SURFACE', 'asteroide'); //On charge les permissions de l'utilisateur pour l'alliance
$planete = new Asteroide($idAsteroide); $planete->loadPermissions($planete->fondateur);
$planete->actualiser(); } else {
//On charge les permissions de l'utilisateur pour l'alliance define('SURFACE', 'planete');
$planete->loadPermissions($planete->fondateur); $planete = new Planete($idPlan);
} $planete->actualiser();
else }
{ unset($ip, $idAsteroide, $idPlan);
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é //On vérifie que le joueur ne soit pas en mode vacances forcé
if ($planete->mv > 0) if ($planete->mv > 0) {
{ $SESS->close();
$SESS->close(); redirection($config["first_page"]."?mvf");
redirection($config["first_page"]."?mvf"); exit;
exit; }
}
//NOMS ET FLOTTES //NOMS ET FLOTTES
include("flottes.php"); include("flottes.php");
//Envoie d'informations au template //Envoie d'informations au template
$template->assign("alertMail", $queryMail); $template->assign("alertMail", $queryMail);
$template->assign("planete", $planete); $template->assign("planete", $planete);
$template->assign("planetes", $queryPlanetes); $template->assign("planetes", $queryPlanetes);
//Calcul du temps de jeu //Calcul du temps de jeu
$tpsdejeu = time() - $planete->last_visite; $tpsdejeu = time() - $planete->last_visite;
$heur = floor($tpsdejeu/3600); $heur = floor($tpsdejeu/3600);
$min = floor(($tpsdejeu%3600)/60); $min = floor(($tpsdejeu%3600)/60);
if ($heur > 0) if ($heur > 0) {
$min = $heur." h ".$min; $min = $heur." h ".$min;
$template->assign("tpsdejeu", $min." min"); }
unset($tpsdejeu, $heur, $min, $queryMail); $template->assign("tpsdejeu", $min." min");
unset($tpsdejeu, $heur, $min, $queryMail);
//Récupération de la page demandée //Récupération de la page demandée
$p = gpc('p'); $p = gpc('p');
//Vérification de l'isolement de la planète //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') 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
//TODO Si la planète est en isolement total, faire un autre message if ($planete->isolement()) {
if ($planete->isolement()) $template->assign("titre", "Planète isolée");
{ erreur("Impossible de rentrer en contact avec cette planète.<br />Réessayez vers ".date('H:i', $planete->isolement[1]));
$template->assign("titre", "Planète isolée"); } else {
erreur("Impossible de rentrer en contact avec cette planète.<br />Réessayez vers ".date('H:i', $planete->isolement[1])); $SESS->values["isolement"] = $planete->isolement[0];
} $SESS->put();
else }
{ }
$SESS->values["isolement"] = $planete->isolement[0];
$SESS->put();
}
}
if (isset($SESS->values["avert"]) && $p != "avertmulti" && $p != "demarrage") if (isset($SESS->values["avert"]) && $p != "avertmulti" && $p != "demarrage") {
include("server/avert.php"); include("server/avert.php");
else } else {
{ switch ($p) {
switch($p) case "batiments":
{ include("game/batiments.php");
case "batiments": break;
include("game/batiments.php"); case "caserne":
break; include("game/caserne.php");
case "caserne": break;
include("game/caserne.php"); case "chantierspatial":
break; include("game/chantierspatial.php");
case "chantierspatial": break;
include("game/chantierspatial.php"); case "chantierterrestre":
break; include("game/chantierterrestre.php");
case "chantierterrestre": break;
include("game/chantierterrestre.php"); case "laboratoire":
break; include("game/laboratoire.php");
case "laboratoire": break;
include("game/laboratoire.php"); case "arbre":
break; include("game/arbre.php");
case "arbre": break;
include("game/arbre.php"); case "description":
break; include("game/description.php");
case "description": break;
include("game/description.php"); case "ressources":
break; include("game/ressources.php");
case "ressources": break;
include("game/ressources.php"); case "diplomatie":
break; include("game/diplomatie.php");
case "diplomatie": break;
include("game/diplomatie.php"); case "gestion":
break; include("game/gestion.php");
case "gestion": break;
include("game/gestion.php"); case "marche":
break; include("game/marche.php");
case "marche": break;
include("game/marche.php"); case "flotte":
break; include("game/flotte.php");
case "flotte": break;
include("game/flotte.php"); case "carte":
break; include("game/carte.php");
case "carte": break;
include("game/carte.php"); case "alliances":
break; include("game/alliance.php");
case "alliances": break;
include("game/alliance.php");
break;
case "rename": case "rename":
include("game/rename.php"); include("game/rename.php");
break; break;
case "messagerie": case "messagerie":
include("server/messagerie.php"); include("server/messagerie.php");
break; break;
case "alli_messagerie": case "alli_messagerie":
include("game/alliances/messagerie.php"); include("game/alliances/messagerie.php");
break; break;
case "options": case "options":
case "changeopt": case "changeopt":
include("server/options.php"); include("server/options.php");
break; break;
case "amis": case "amis":
include("server/amis.php"); include("server/amis.php");
break; break;
case "destinationsrapides": case "destinationsrapides":
include("server/destinrapid.php"); include("server/destinrapid.php");
break; break;
case "chat": case "chat":
$page = 'chat'; $titre = 'Chat'; $page = 'chat'; $titre = 'Chat';
break; break;
case "alli_chat": case "alli_chat":
include("game/alliances/chat.php"); include("game/alliances/chat.php");
break; break;
case "aide": case "aide":
case "faq": case "faq":
include("server/aide.php"); include("server/aide.php");
break; break;
case "operateur": case "operateur":
include("server/operateur.php"); include("server/operateur.php");
break; break;
case "prochainement": case "prochainement":
$page = "prochainement"; $page = "prochainement";
$titre = "Prochainement"; $titre = "Prochainement";
break; break;
case "version": case "version":
include("server/version.php"); include("server/version.php");
break; break;
case "demarrage": case "demarrage":
include("server/demarrage.php"); include("server/demarrage.php");
break; break;
case "avertmulti": case "avertmulti":
include("server/avertmulti.php"); include("server/avertmulti.php");
break; break;
case "pilori": case "pilori":
include("server/pilori.php"); include("server/pilori.php");
break; break;
case "conditions": case "conditions":
include("server/conditions.php"); include("server/conditions.php");
break; break;
case "regles": case "regles":
include("game/regles.php"); include("game/regles.php");
break; break;
case "deconnexion": case "deconnexion":
case "logout": case "logout":
include("server/logout.php"); include("server/logout.php");
break; break;
default: default:
include("game/accueil.php"); include("game/accueil.php");
} }
} }
//On supprime les dernières variables inutiles pour la suite //On supprime les dernières variables inutiles pour la suite
unset($planete, $SESS, $bdd, $VAR, $queryPlanetes, $_POST, $_GET, $LANG); unset($planete, $SESS, $bdd, $VAR, $queryPlanetes, $_POST, $_GET, $LANG);
//Inclusion de la pub et du footer //Inclusion de la pub et du footer
include("pub.php"); include("pub.php");
$template->assign("page", $page); $template->assign("page", $page);
if (isset($titre)) if (isset($titre)) {
$template->assign("titre", $titre); $template->assign("titre", $titre);
}
$template->display("game/".$page.".tpl"); $template->display("game/".$page.".tpl");
} }
//Si le client n'est pas connecté au site //Si le client n'est pas connecté au site
else else {
{ include("server/connexion.php");
include("server/connexion.php");
$p = gpc('p'); $p = gpc('p');
switch($p){ switch ($p) {
//Serveur principal //Serveur principal
/* case "validation": /* case "validation":
include('game/validation.php'); include('game/validation.php');
break; break;
case "inscription": case "inscription":
include('game/inscription.php'); include('game/inscription.php');
break; break;
case "oubliemdp": case "oubliemdp":
redirection('http://halo-battle.fr/'); redirection('http://halo-battle.fr/');
break;*/ break;*/
//Serveur de jeu //Serveur de jeu
case "inscription": case "inscription":
include('server/inscription.php'); include('server/inscription.php');
break; break;
case "validation": case "validation":
include('server/validation.php'); include('server/validation.php');
break; break;
case "classement": case "classement":
include(_FCORE."../game/classement.php"); include(_FCORE."../game/classement.php");
break; break;
case "njoueur": case "njoueur":
include("server/njoueur.php"); include("server/njoueur.php");
break; break;
case "inscription": case "inscription":
redirection('http://halo-battle.s-fr.com/?p=inscription'); redirection('http://halo-battle.s-fr.com/?p=inscription');
exit; exit;
break; break;
case "oubliemdp": case "oubliemdp":
include("server/oubliemdp.php"); include("server/oubliemdp.php");
break; break;
case "pilori": case "pilori":
include("server/pilori.php"); include("server/pilori.php");
break; break;
//Tous serveurs //Tous serveurs
case "conditions": case "conditions":
include("server/conditions.php"); include("server/conditions.php");
break; break;
case "regles": case "regles":
include("server/regles.php"); include("server/regles.php");
break; break;
case "changeopt": case "changeopt":
erreur("Vous devez être connecté pour affectuer cette action !"); erreur("Vous devez être connecté pour affectuer cette action !");
case "connexion": // no break
default: case "connexion":
$page = 'mini'; default:
break; $page = 'mini';
//default: break;
//$page = 'mini'; //default:
// redirection('?p=connexion'); //$page = 'mini';
// exit; // redirection('?p=connexion');
} // exit;
$template->display('cms/'.$page.'.tpl'); }
$template->display('cms/'.$page.'.tpl');
} }
?>

View file

@ -5,139 +5,133 @@
<body> <body>
<h2>V&eacute;rification de l'int&eacute;grit&eacute; des fichiers</h2> <h2>V&eacute;rification de l'int&eacute;grit&eacute; des fichiers</h2>
<?php <?php
define ('FILE_SAV', "../onyx2/cache/checksum.php"); define('FILE_SAV', "../onyx2/cache/checksum.php");
define ('dir_start', "../"); define('dir_start', "../");
print 'Chargement du fichier de comparaison ...'; print 'Chargement du fichier de comparaison ...';
if (is_file('checkSum.php')) if (is_file('checkSum.php')) {
{ print ' Touv&eacute; ...';
print ' Touv&eacute; ...'; $SUM = sha1(file_get_contents('checkSum.php'));
$SUM = sha1(file_get_contents('checkSum.php')); print ' Donn&eacute;es charg&eacute;es avec succ&egrave;s<br /><br />';
print ' Donn&eacute;es charg&eacute;es avec succ&egrave;s<br /><br />'; }
}
print 'V&eacute;rification du fichier de validation ...'; print 'V&eacute;rification du fichier de validation ...';
if (sha1(sha1_file(__FILE__)) != $SUM) if (sha1(sha1_file(__FILE__)) != $SUM) {
die(' INVALIDE !<br />Arr&ecirc;t du processus de validation !'); die(' INVALIDE !<br />Arr&ecirc;t du processus de validation !');
else } else {
print ' Valide<br /><br />'; print ' Valide<br /><br />';
}
print 'Recherche du fichier de sauvegarde ...'; 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 "<br />Parcours du dossier &agrave; la recherche de nouveaux fichiers : ".$dir;
if (isset($_GET['v'])) }
print "<br />Parcours du dossier &agrave; la recherche de nouveaux fichiers : ".$dir;
$new = 0; $new = 0;
$pointeur = opendir($dir); $pointeur = opendir($dir);
while ($fichier = readdir($pointeur)) while ($fichier = readdir($pointeur)) {
{ if ($fichier == '.' || $fichier == '..' || $fichier == '.svn' || preg_match("#~#", $fichier)) {
if($fichier == '.' || $fichier == '..' || $fichier == '.svn' || preg_match("#~#", $fichier)) continue;
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 "<tr style=\"background: #00FFFF;\"><td>".$dir.$fichier."</td><td style=\"text-align: center;\">Nouveau fichier !</td></tr>";
}
}
}
closedir($pointeur);
return $new;
} }
print ' Trouv&eacute;<br /><br />'; if (is_dir($dir.$fichier) && is_readable($dir.$fichier)) {
$new += parcourDir($dir.$fichier.'/', $sums);
if (isset($_GET["check"])) } elseif (is_file($dir.$fichier)) {
{ if (!isset($sums[$dir.$fichier])) {
print 'Contr&ocirc;le de la somme de la derni&egrave;re validation ...'; $new++;
if (sha1(sha1_file(FILE_SAV).'<^>'.sha1_file(__FILE__).sha1_file('checkSum.php')) == $_GET["check"]) print "<tr style=\"background: #00FFFF;\"><td>".$dir.$fichier."</td><td style=\"text-align: center;\">Nouveau fichier !</td></tr>";
print ' <span style="color: #00FF00;">Authentique</span><br /><br />'; }
else
die (' Invalide !<br />Arr&ecirc;t du processus de v&eacute;rification !');
} }
else }
print '<span style="color: #FF0000; font-weigth: bold;">Les r&eacute;sultats pr&eacute;sent&eacute;s ci-dessus ne peuvent pas &ecirc;tre authentifi&eacute;s sans la somme d\'un pr&eacute;c&eacute;dent contr&ocirc;le, rien ne dit que les fichiers de validation n\'ont pas &eacute;t&eacute; modifi&eacute;s !</span><br /><br />'; closedir($pointeur);
$start = unserialize(file_get_contents(FILE_SAV)); return $new;
print ' V&eacute;rification des fichiers ...';
print '<table border="1" style=""><tr><th>Nom du fichier</th><th>D&eacute;tails</th></tr>';
$alerte = 0;
foreach($start as $key => $sum)
{
if (!is_file($key))
{
$alerte++;
if (!isset($_GET['a']))
print "<tr style=\"background: #FFCC00;\"><td>".$key."</td><td style=\"text-align: center;\">Fichier supprim&eacute; !</td></tr>";
}
elseif (sha1_file($key) != $sum)
{
$alerte++;
print "<tr style=\"background: #FF0000;\"><td>".$key."</td><td style=\"text-align: center;\">Alerte de diff&eacute;rence de somme !</td></tr>";
}
elseif (isset($_GET['v']))
print "<tr style=\"background: #00FF00;\"><td>".$key."</td><td style=\"text-align: center;\">Ok</td></tr>";
}
$newFiles = parcourDir(dir_start, $start);
print '</table>';
print '<br />Fin de la v&eacute;rification : '.$alerte.' alerte(s) sur '.count($start).' fichier(s). '.$newFiles.' nouveau(x) fichier(s).';
print '<br /><br />Cont&ocirc;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&eacute;<br />D&eacute;tection d\'une demande d\'effacement<br /><br />';
elseif (!is_file(FILE_SAV))
//print ' Introuvable<br /><br />';
die (' Introuvable<br /><br />Arr&ecirc;t de la v&eacute;rification.');
else
die(' ?<br /><br />Impossible de d&eacute;terminer l\'origine de la requ&ecirc;te !<br />Arr&ecirc;t de la v&eacute;rification.');
function extractDir($dir) print ' Trouv&eacute;<br /><br />';
{
$sums = array();
if (isset($_GET['v'])) if (isset($_GET["check"])) {
print "<br />G&eacute;n&eacute;ration des sommes de fichiers pour le dossier : ".$dir; print 'Contr&ocirc;le de la somme de la derni&egrave;re validation ...';
if (sha1(sha1_file(FILE_SAV).'<^>'.sha1_file(__FILE__).sha1_file('checkSum.php')) == $_GET["check"]) {
print ' <span style="color: #00FF00;">Authentique</span><br /><br />';
} else {
die(' Invalide !<br />Arr&ecirc;t du processus de v&eacute;rification !');
}
} else {
print '<span style="color: #FF0000; font-weigth: bold;">Les r&eacute;sultats pr&eacute;sent&eacute;s ci-dessus ne peuvent pas &ecirc;tre authentifi&eacute;s sans la somme d\'un pr&eacute;c&eacute;dent contr&ocirc;le, rien ne dit que les fichiers de validation n\'ont pas &eacute;t&eacute; modifi&eacute;s !</span><br /><br />';
}
$pointeur = opendir($dir); $start = unserialize(file_get_contents(FILE_SAV));
while ($fichier = readdir($pointeur))
{ print ' V&eacute;rification des fichiers ...';
if($fichier == '.' || $fichier == '..' || $fichier == '.svn' || preg_match("#~#", $fichier)) print '<table border="1" style=""><tr><th>Nom du fichier</th><th>D&eacute;tails</th></tr>';
continue; $alerte = 0;
foreach ($start as $key => $sum) {
if(is_dir($dir.$fichier) && is_readable($dir.$fichier)) if (!is_file($key)) {
$sums = array_merge($sums, extractDir($dir.$fichier.'/')); $alerte++;
if (!isset($_GET['a'])) {
elseif(is_file($dir.$fichier)) print "<tr style=\"background: #FFCC00;\"><td>".$key."</td><td style=\"text-align: center;\">Fichier supprim&eacute; !</td></tr>";
$sums[$dir.$fichier] = sha1_file($dir.$fichier);
}
closedir($pointeur);
return $sums;
} }
} elseif (sha1_file($key) != $sum) {
$alerte++;
print "<tr style=\"background: #FF0000;\"><td>".$key."</td><td style=\"text-align: center;\">Alerte de diff&eacute;rence de somme !</td></tr>";
} elseif (isset($_GET['v'])) {
print "<tr style=\"background: #00FF00;\"><td>".$key."</td><td style=\"text-align: center;\">Ok</td></tr>";
}
}
$newFiles = parcourDir(dir_start, $start);
print '</table>';
print 'G&eacute;n&eacute;ration du tableau ...'; print '<br />Fin de la v&eacute;rification : '.$alerte.' alerte(s) sur '.count($start).' fichier(s). '.$newFiles.' nouveau(x) fichier(s).';
print '<br /><br />Cont&ocirc;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&eacute;<br />D&eacute;tection d\'une demande d\'effacement<br /><br />';
} elseif (!is_file(FILE_SAV)) {
//print ' Introuvable<br /><br />';
die(' Introuvable<br /><br />Arr&ecirc;t de la v&eacute;rification.');
} else {
die(' ?<br /><br />Impossible de d&eacute;terminer l\'origine de la requ&ecirc;te !<br />Arr&ecirc;t de la v&eacute;rification.');
}
function extractDir($dir)
{
$sums = array(); $sums = array();
$sums = extractDir(dir_start);
print "&Eacute;criture du fichier.<br />"; if (isset($_GET['v'])) {
file_put_contents(FILE_SAV, serialize($sums)); print "<br />G&eacute;n&eacute;ration des sommes de fichiers pour le dossier : ".$dir;
print "Fin de l'op&eacute;ration.<br />"; }
$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&eacute;n&eacute;ration du tableau ...';
$sums = array();
$sums = extractDir(dir_start);
print "&Eacute;criture du fichier.<br />";
file_put_contents(FILE_SAV, serialize($sums));
print "Fin de l'op&eacute;ration.<br />";
}
?> ?>
</body> </body>
</html> </html>

View file

@ -1,4 +1,4 @@
<html> <html>
<head> <head>
<title>.: Halo-Battle :: Lecteur de log :.</title> <title>.: Halo-Battle :: Lecteur de log :.</title>
<style> <style>
@ -13,52 +13,50 @@
<?php <?php
define('dir', '../onyx2/log'); define('dir', '../onyx2/log');
if(!is_dir(dir)) if (!is_dir(dir)) {
die('Dossier introuvable !'); die('Dossier introuvable !');
if (empty($_GET['file']) || is_dir(dir.$_GET['file']))
{
if (!empty($_GET['file']) && str_replace("..", '' , $_GET['file']) != $_GET['file'])
die('Accès au fichier non autorisé !');
elseif (empty($_GET['file']))
$_GET['file'] = '';
$pointeur = opendir(dir.$_GET['file']);
print 'Dossier en cours : '.dir.$_GET['file'].'<br /><br />';
while ($fichier = readdir($pointeur))
{
if($fichier == '.' || $fichier == '..')
continue;
print '<a href="?file='.$_GET['file'].'/'.$fichier.'">'.$fichier.'</a><br />';
}
} }
else
{
if (!empty($_GET['file']) && str_replace("..", '' , $_GET['file']) != $_GET['file'])
die('Accès au fichier non autorisé !');
$file = dir.$_GET['file'];
print '<h3><ins>Fichier :</ins> '.$file.'</h3><hr />'; if (empty($_GET['file']) || is_dir(dir.$_GET['file'])) {
if (!empty($_GET['file']) && str_replace("..", '', $_GET['file']) != $_GET['file']) {
die('Accès au fichier non autorisé !');
} elseif (empty($_GET['file'])) {
$_GET['file'] = '';
}
if(!is_file($file)) $pointeur = opendir(dir.$_GET['file']);
die('Fichier introuvable !'); print 'Dossier en cours : '.dir.$_GET['file'].'<br /><br />';
while ($fichier = readdir($pointeur)) {
if ($fichier == '.' || $fichier == '..') {
continue;
}
$fichier = @fopen($file,'r+'); print '<a href="?file='.$_GET['file'].'/'.$fichier.'">'.$fichier.'</a><br />';
$contenu_log = fread($fichier,filesize($file)); }
fclose($fichier); } else {
if (!empty($_GET['file']) && str_replace("..", '', $_GET['file']) != $_GET['file']) {
die('Accès au fichier non autorisé !');
}
$file = dir.$_GET['file'];
$exp = "#\[(\d{2}/\d{2}/\d{2} \d{2}:\d{2}:\d{2})\] (\\w{6,13}) : ([^\[]{0,1000}) \[(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\] \[(\w{3,4})\] \[/([^\[]{1,200})\] \[([^\[]{0,200})\] \[([^\[]{0,75})\]#ui"; print '<h3><ins>Fichier :</ins> '.$file.'</h3><hr />';
preg_match_all($exp,htmlentities(trim(str_replace("\n", ' ', $contenu_log))),$m); if (!is_file($file)) {
die('Fichier introuvable !');
}
if (empty($m[0][0])) $fichier = @fopen($file, 'r+');
{ $contenu_log = fread($fichier, filesize($file));
print '<pre>'.$contenu_log.'</pre>'; fclose($fichier);
}
else $exp = "#\[(\d{2}/\d{2}/\d{2} \d{2}:\d{2}:\d{2})\] (\\w{6,13}) : ([^\[]{0,1000}) \[(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\] \[(\w{3,4})\] \[/([^\[]{1,200})\] \[([^\[]{0,200})\] \[([^\[]{0,75})\]#ui";
{
print '<table border="1"> preg_match_all($exp, htmlentities(trim(str_replace("\n", ' ', $contenu_log))), $m);
if (empty($m[0][0])) {
print '<pre>'.$contenu_log.'</pre>';
} else {
print '<table border="1">
<thead> <thead>
<tr> <tr>
<th>Date</th> <th>Date</th>
@ -68,44 +66,45 @@ else
</tr> </tr>
</thead> </thead>
<tbody>'; <tbody>';
foreach($m[0] as $key => $lign) foreach ($m[0] as $key => $lign) {
{ if (preg_match('#array#', $m[3][$key])) {
if (preg_match('#array#', $m[3][$key])) $exp = "#array \(( '(.{1,10})' =&gt; '([^',]{0,1000})',)( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?#ui";
{
$exp = "#array \(( '(.{1,10})' =&gt; '([^',]{0,1000})',)( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?( '(.{1,10})' =&gt; '([^',]{0,1000})',)?#ui";
preg_match_all($exp,$m[3][$key],$mArray); preg_match_all($exp, $m[3][$key], $mArray);
$m[3][$key] = ''; $m[3][$key] = '';
foreach($mArray as $k => $lign) foreach ($mArray as $k => $lign) {
{ if ($k == 0 || $k%3 == 1) {
if ($k == 0 || $k%3 == 1) continue;
continue; }
if ($lign[0] == "") if ($lign[0] == "") {
break; break;
if ($k%3 == 2) }
$m[3][$key] .= '<b>'.$lign[0].' : </b>'; if ($k%3 == 2) {
else $m[3][$key] .= '<b>'.$lign[0].' : </b>';
$m[3][$key] .= (strlen($lign[0])>80?'<acronym title="'.$lign[0].'">'.substr($lign[0],0,77).'...</acronym>':$lign[0]).'<br />'; } else {
} $m[3][$key] .= (strlen($lign[0])>80?'<acronym title="'.$lign[0].'">'.substr($lign[0], 0, 77).'...</acronym>':$lign[0]).'<br />';
} }
}
}
if ($m[2][$key] == "ERREUR") if ($m[2][$key] == "ERREUR") {
print '<tr style="background: #FF0000;">'; print '<tr style="background: #FF0000;">';
elseif ($m[2][$key] == "AVERTISSEMENT") } elseif ($m[2][$key] == "AVERTISSEMENT") {
print '<tr style="background: #FFCC00;">'; print '<tr style="background: #FFCC00;">';
else } else {
print '<tr>'; print '<tr>';
print ' }
print '
<td>'.$m[1][$key].'<br />'.$m[5][$key].'</td> <td>'.$m[1][$key].'<br />'.$m[5][$key].'</td>
<td>'.$m[2][$key].'<br />'.(strlen($m[6][$key])>30?'<acronym title="'.$m[6][$key].'">'.substr($m[6][$key],0,27).'...</acronym>':$m[6][$key]).'</td> <td>'.$m[2][$key].'<br />'.(strlen($m[6][$key])>30?'<acronym title="'.$m[6][$key].'">'.substr($m[6][$key], 0, 27).'...</acronym>':$m[6][$key]).'</td>
<td>'.$m[3][$key].'</td> <td>'.$m[3][$key].'</td>
<td><acronym title="'.$m[7][$key].'">'.$m[4][$key].'</acronym><br />'.$m[8][$key].'</td> <td><acronym title="'.$m[7][$key].'">'.$m[4][$key].'</acronym><br />'.$m[8][$key].'</td>
</tr>'; </tr>';
} }
print '</tbody></table>'; print '</tbody></table>';
} }
} }
?> ?>
</body> </body>

View file

@ -2,7 +2,7 @@
//Définition de la constante anti-hacking //Définition de la constante anti-hacking
define("INDEX", 1); define("INDEX", 1);
define("DEBUG", false); define("DEBUG", false);
define("xCSRF",true); //On annule la vérification des attaques CSRF car on sait que toutes les requêtes viennent d'un autre serveur, deplus les risques sont minimes define("xCSRF", true); //On annule la vérification des attaques CSRF car on sait que toutes les requêtes viennent d'un autre serveur, deplus les risques sont minimes
//Inclusion de l'API Onyx //Inclusion de l'API Onyx
require_once(trim(file_get_contents('./.onyx'))); require_once(trim(file_get_contents('./.onyx')));
@ -10,236 +10,250 @@ require_once("common.php"); //Chargement de tout le nécessaire pour le jeu
function separerNombres($int) function separerNombres($int)
{ {
return number_format(floor($int), 0, ',', ' '); return number_format(floor($int), 0, ',', ' ');
} }
$id = gpc('i'); $id = gpc('i');
if (!is_numeric($id)) $id = 0; if (!is_numeric($id)) {
$id = 0;
}
$f = gpc('f'); $f = gpc('f');
$s = gpc('s'); $s = gpc('s');
header ("Content-type: image/png"); header("Content-type: image/png");
if (file_exists(ONYX."cache/signatures/".$id.".".$f.$s.".sign") && time() - filemtime(ONYX."cache/signatures/".$id.".".$f.$s.".sign") < 36000) { if (file_exists(ONYX."cache/signatures/".$id.".".$f.$s.".sign") && time() - filemtime(ONYX."cache/signatures/".$id.".".$f.$s.".sign") < 36000) {
readfile(ONYX."cache/signatures/".$id.".".$f.$s.".sign"); readfile(ONYX."cache/signatures/".$id.".".$f.$s.".sign");
} else {
$fontfile = ONYX."include/content/signatures/ARIAL.TTF";
$bdd = new BDD();
$bdd->escape($id);
$joueur = $bdd->unique_query("SELECT $table_user.pseudo, $table_user.auth_level, $table_user.race, $table_user.place_points, $table_user.points, $table_user.batiments, $table_user.flotte, $table_alliances.tag, $table_alliances.nom FROM $table_user INNER JOIN $table_alliances ON $table_user.id_alliance = $table_alliances.id WHERE $table_user.id = $id;");
if ($joueur == false) {
$joueur = $bdd->unique_query("SELECT pseudo, auth_level, race, place_points, points, batiments, flotte FROM $table_user WHERE id = $id;");
}
$nomjoueur = $joueur['pseudo'];
$raid = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = '$nomjoueur' AND contenu LIKE '<b>Le combat contre % est termi%';");
$transport = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE contenu LIKE 'Les vaisseaux de $nomjoueur %';");
$bdd->deconnexion();
if (!empty($s) && $joueur['auth_level'] >= 1) {
switch ($s) {
case 1:
$img = 'mixte1userbarju7.png';
$_img = imagecreatefrompng(ONYX."include/content/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
)
);
break;
default:
$img = 'mixte1userbarju7.png';
$_img = imagecreatefrompng(ONYX."include/content/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
)
);
}
if ($joueur['race'] == 'covenant') {
$_imgavatar = imagecreatefrompng(ONYX."include/content/signatures/covi.png");
} else {
$_imgavatar = imagecreatefrompng(ONYX."include/content/signatures/hum.png");
}
} elseif ($joueur['race'] == 'covenant') {
switch ($f) {
case 1:
$img = 'userbarallicopygs1.png';
$_img = imagecreatefrompng(ONYX."include/content/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
)
);
break;
default:
$img = 'covenantuserbarus1.png';
$_img = imagecreatefrompng(ONYX."include/content/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 0, 0, 0);
$infos = array(
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($transport['nombre'])
),
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($joueur['batiments'])
)
);
}
$_imgavatar = imagecreatefrompng(ONYX."include/content/signatures/covi.png");
} else {
switch ($f) {
case 1:
$img = 'userbarallicopygs1.png';
$_img = imagecreatefrompng(ONYX."include/content/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
)
);
break;
default:
$img = 'humainuserbarhz2.png';
$_img = imagecreatefrompng(ONYX."include/content/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
//$contenu = imagecolorallocate($_img, 160, 160, 0);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
)
);
}
$_imgavatar = imagecreatefrompng(ONYX."include/content/signatures/hum.png");
}
$blanc = imagecolorallocate($_img, 255, 255, 255);
$noir = imagecolorallocate($_img, 0, 0, 0);
$rouge = imagecolorallocate($_img, 255, 0, 0);
$vert = imagecolorallocate($_img, 0, 255, 0);
$bleu = imagecolorallocate($_img, 0, 0, 255);
$jaune = imagecolorallocate($_img, 255, 255, 0);
if ($joueur == false) {
ImageTTFText($_img, 20, -20, 123, 17, $rouge, $fontfile, 'Joueur introuvable !');
if (file_exists(ONYX."/cache/signatures/".$id.".".$f.$s.".sign")) {
unlink(ONYX."/cache/signatures/".$id.".".$f.$s.".sign");
}
} else {
if ($joueur['auth_level'] > 4) {
ImageTTFText($_img, 12, 0, 45, 23, $vert, $fontfile, ucfirst($joueur['pseudo']));
} elseif ($joueur['auth_level'] >= 1) {
ImageTTFText($_img, 12, 0, 45, 23, $jaune, $fontfile, ucfirst($joueur['pseudo']));
} else {
ImageTTFText($_img, 12, 0, 45, 23, $entete, $fontfile, ucfirst($joueur['pseudo']));
}
ImageTTFText($_img, 12, 0, 255, 23, $entete, $fontfile, $VAR['serveur_name']);
if (isset($joueur['tag'])) {
if (empty($joueur['place_points'])) {
ImageTTFText($_img, 11, 0, 32, 47, $contenu, $fontfile, "Classement : Non classé");
} else {
ImageTTFText($_img, 11, 0, 32, 47, $contenu, $fontfile, "Classement : ".separerNombres($joueur['place_points']).($joueur['place_points']==1?'er':'ème'));
}
ImageTTFText($_img, 11, 0, 32, 64, $contenu, $fontfile, "Points : ".separerNombres($joueur['points']));
ImageTTFText($_img, 11, 0, 32, 82, $contenu, $fontfile, "Alliance : [".$joueur['tag']."] ".substr($joueur['nom'], 0, 9).(strlen($joueur['nom'])>9?'...':''));
} else {
if (empty($joueur['place_points'])) {
ImageTTFText($_img, 11, 0, 32, 55, $contenu, $fontfile, "Classement : Non classé");
} else {
ImageTTFText($_img, 11, 0, 32, 55, $contenu, $fontfile, "Classement : ".separerNombres($joueur['place_points']).($joueur['place_points']==1?'er':'ème'));
}
ImageTTFText($_img, 11, 0, 32, 75, $contenu, $fontfile, "Points : ".separerNombres($joueur['points']));
}
ImageTTFText($_img, 12, 0, 272, 51, $infos[0][0], $fontfile, $infos[0][1]);
ImageTTFText($_img, 12, 0, 272, 78, $infos[1][0], $fontfile, $infos[1][1]);
ImageTTFText($_img, 12, 0, 355, 50, $infos[2][0], $fontfile, $infos[2][1]);
ImageTTFText($_img, 12, 0, 355, 78, $infos[3][0], $fontfile, $infos[3][1]);
}
imagecopy($_img, $_imgavatar, 435, 0, 0, 0, 98, 100);
imagealphablending($_img, false);
imagesavealpha($_img, true);
if ($joueur == false) {
imagepng($_img);
} else {
imagepng($_img, ONYX."cache/signatures/".$id.".".$f.$s.".sign");
readfile(ONYX."cache/signatures/".$id.".".$f.$s.".sign");
}
} }
else {
$fontfile = ONYX."include/content/signatures/ARIAL.TTF";
$bdd = new BDD();
$bdd->escape($id);
$joueur = $bdd->unique_query("SELECT $table_user.pseudo, $table_user.auth_level, $table_user.race, $table_user.place_points, $table_user.points, $table_user.batiments, $table_user.flotte, $table_alliances.tag, $table_alliances.nom FROM $table_user INNER JOIN $table_alliances ON $table_user.id_alliance = $table_alliances.id WHERE $table_user.id = $id;");
if ($joueur == false) $joueur = $bdd->unique_query("SELECT pseudo, auth_level, race, place_points, points, batiments, flotte FROM $table_user WHERE id = $id;");
$nomjoueur = $joueur['pseudo'];
$raid = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = '$nomjoueur' AND contenu LIKE '<b>Le combat contre % est termi%';");
$transport = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE contenu LIKE 'Les vaisseaux de $nomjoueur %';");
$bdd->deconnexion();
if (!empty($s) && $joueur['auth_level'] >= 1){
switch($s){
case 1:
$img = 'mixte1userbarju7.png';
$_img = imagecreatefrompng(ONYX."include/content/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
)
);
break;
default:
$img = 'mixte1userbarju7.png';
$_img = imagecreatefrompng(ONYX."include/content/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
)
);
}
if ($joueur['race'] == 'covenant') $_imgavatar = imagecreatefrompng(ONYX."include/content/signatures/covi.png");
else $_imgavatar = imagecreatefrompng(ONYX."include/content/signatures/hum.png");
}
elseif ($joueur['race'] == 'covenant') {
switch($f){
case 1:
$img = 'userbarallicopygs1.png';
$_img = imagecreatefrompng(ONYX."include/content/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
)
);
break;
default:
$img = 'covenantuserbarus1.png';
$_img = imagecreatefrompng(ONYX."include/content/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 0, 0, 0);
$infos = array(
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($transport['nombre'])
),
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($joueur['batiments'])
)
);
}
$_imgavatar = imagecreatefrompng(ONYX."include/content/signatures/covi.png");
}
else {
switch($f){
case 1:
$img = 'userbarallicopygs1.png';
$_img = imagecreatefrompng(ONYX."include/content/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
)
);
break;
default:
$img = 'humainuserbarhz2.png';
$_img = imagecreatefrompng(ONYX."include/content/signatures/".$img);
$entete = imagecolorallocate($_img, 255, 255, 255);
//$contenu = imagecolorallocate($_img, 160, 160, 0);
$contenu = imagecolorallocate($_img, 255, 255, 255);
$infos = array(
array(
imagecolorallocate($_img, 0, 0, 0),
separerNombres($raid['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['flotte'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($transport['nombre'])
),
array(
imagecolorallocate($_img, 255, 255, 255),
separerNombres($joueur['batiments'])
)
);
}
$_imgavatar = imagecreatefrompng(ONYX."include/content/signatures/hum.png");
}
$blanc = imagecolorallocate($_img, 255, 255, 255);
$noir = imagecolorallocate($_img, 0, 0, 0);
$rouge = imagecolorallocate($_img, 255, 0, 0);
$vert = imagecolorallocate($_img, 0, 255, 0);
$bleu = imagecolorallocate($_img, 0, 0, 255);
$jaune = imagecolorallocate($_img, 255, 255, 0);
if ($joueur == false) {
ImageTTFText($_img, 20, -20, 123, 17, $rouge, $fontfile, 'Joueur introuvable !');
if (file_exists(ONYX."/cache/signatures/".$id.".".$f.$s.".sign")) unlink(ONYX."/cache/signatures/".$id.".".$f.$s.".sign");
}
else {
if ($joueur['auth_level'] > 4) ImageTTFText($_img, 12, 0, 45, 23, $vert, $fontfile, ucfirst($joueur['pseudo']));
elseif ($joueur['auth_level'] >= 1) ImageTTFText($_img, 12, 0, 45, 23, $jaune, $fontfile, ucfirst($joueur['pseudo']));
else ImageTTFText($_img, 12, 0, 45, 23, $entete, $fontfile, ucfirst($joueur['pseudo']));
ImageTTFText($_img, 12, 0, 255, 23, $entete, $fontfile, $VAR['serveur_name']);
if (isset($joueur['tag'])) {
if (empty($joueur['place_points'])) ImageTTFText($_img, 11, 0, 32, 47, $contenu, $fontfile, "Classement : Non classé");
else ImageTTFText($_img, 11, 0, 32, 47, $contenu, $fontfile, "Classement : ".separerNombres($joueur['place_points']).($joueur['place_points']==1?'er':'ème'));
ImageTTFText($_img, 11, 0, 32, 64, $contenu, $fontfile, "Points : ".separerNombres($joueur['points']));
ImageTTFText($_img, 11, 0, 32, 82, $contenu, $fontfile, "Alliance : [".$joueur['tag']."] ".substr($joueur['nom'],0,9).(strlen($joueur['nom'])>9?'...':''));
}
else {
if (empty($joueur['place_points'])) ImageTTFText($_img, 11, 0, 32, 55, $contenu, $fontfile, "Classement : Non classé");
else ImageTTFText($_img, 11, 0, 32, 55, $contenu, $fontfile, "Classement : ".separerNombres($joueur['place_points']).($joueur['place_points']==1?'er':'ème'));
ImageTTFText($_img, 11, 0, 32, 75, $contenu, $fontfile, "Points : ".separerNombres($joueur['points']));
}
ImageTTFText($_img, 12, 0, 272, 51, $infos[0][0], $fontfile, $infos[0][1]);
ImageTTFText($_img, 12, 0, 272, 78, $infos[1][0], $fontfile, $infos[1][1]);
ImageTTFText($_img, 12, 0, 355, 50, $infos[2][0], $fontfile, $infos[2][1]);
ImageTTFText($_img, 12, 0, 355, 78, $infos[3][0], $fontfile, $infos[3][1]);
}
imagecopy($_img, $_imgavatar, 435, 0, 0, 0, 98, 100);
imagealphablending($_img, false);
imagesavealpha($_img, true);
if ($joueur == false) imagepng($_img);
else {
imagepng($_img, ONYX."cache/signatures/".$id.".".$f.$s.".sign");
readfile(ONYX."cache/signatures/".$id.".".$f.$s.".sign");
}
}
?>

View file

@ -31,4 +31,3 @@ $SESS->put();
$file->DEBUG__print(); $file->DEBUG__print();
var_dump($planete->vaisseaux); var_dump($planete->vaisseaux);
var_dump($planete->modif); var_dump($planete->modif);
?>

View file

@ -23,4 +23,3 @@ $planete2->position = 2;
$vaisseaux = array(1); $vaisseaux = array(1);
print Flotte::calc_deplacement($planete1, 1, 1, 2, 1, $vaisseaux, 123456789); print Flotte::calc_deplacement($planete1, 1, 1, 2, 1, $vaisseaux, 123456789);
?>

View file

@ -9,4 +9,3 @@ require_once("common.php"); //Chargement de tout le nécessaire pour le jeu
require_once("donnees.php"); require_once("donnees.php");
var_dump(bourse_calcPrixBase("640623608", 4000, 2)); var_dump(bourse_calcPrixBase("640623608", 4000, 2));
?>

View file

@ -11,4 +11,3 @@ require_once("common.php"); //Chargement de tout le nécessaire pour le jeu
var_dump(check_mdp("AzErTyUiOp")); var_dump(check_mdp("AzErTyUiOp"));
?>

View file

@ -9,16 +9,14 @@ require_once("common.php"); //Chargement de tout le nécessaire pour le jeu
function traiterfichier($uri, &$list) function traiterfichier($uri, &$list)
{ {
$fp = fopen($uri, "r"); $fp = fopen($uri, "r");
while (!feof($fp)) while (!feof($fp)) {
{ $buffer = fgets($fp);
$buffer = fgets($fp); if (preg_match("#^([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})#", $buffer, $match)) {
if (preg_match("#^([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})#", $buffer, $match)) var_dump($match);
{ }
var_dump($match); }
} fclose($fp);
}
fclose($fp);
} }
$list = array(); $list = array();
@ -33,4 +31,3 @@ $bdd->query("INSERT INTO proxy_list VALUES ('".implode("'),('", $list)."');");
$bdd->deconnexion(); $bdd->deconnexion();
print "Procédure terminée, ".count($list)." proxys listés."; print "Procédure terminée, ".count($list)." proxys listés.";
?>

View file

@ -4,4 +4,3 @@ $referer = "http://beta.halo-battle.fr/";
var_dump($referer, preg_match("#^http://(\w{1,4}\.)?halo-battle\.(fr|net|com|org|us|en)#", $referer, $osef), $osef); var_dump($referer, preg_match("#^http://(\w{1,4}\.)?halo-battle\.(fr|net|com|org|us|en)#", $referer, $osef), $osef);
//var_dump($referer, preg_match("#^http://[\.|www\.|beta\.]halo-battle\.[fr|net|com|org|us|en|]#ui", $osef), $osef); //var_dump($referer, preg_match("#^http://[\.|www\.|beta\.]halo-battle\.[fr|net|com|org|us|en|]#ui", $osef), $osef);
?>

View file

@ -1,14 +1,14 @@
<?php <?php
if(!defined('ONYX')) exit; if (!defined('ONYX')) {
exit;
}
$___profile['db'] = 'hb_game'; $___profile['db'] = 'hb_game';
if (getenv("MYSQL_HOST") === False) { if (getenv("MYSQL_HOST") === false) {
$___profile['host'] = 'localhost'; $___profile['host'] = 'localhost';
} else { } else {
$___profile['host'] = getenv("MYSQL_HOST"); $___profile['host'] = getenv("MYSQL_HOST");
} }
$___profile['user'] = 'hb'; $___profile['user'] = 'hb';
$___profile['pass'] = 'hb'; $___profile['pass'] = 'hb';
?>

View file

@ -3,208 +3,198 @@ require_once("Class/Donnees/interface.php");
class dAlliancesBatiments implements Donnees class dAlliancesBatiments implements Donnees
{ {
public static function metal($id, $niveau, surface $planete) public static function metal($id, $niveau, surface $planete)
{ {
switch($id) switch ($id) {
{ case 0:
case 0: $metal = ceil(pow(1.5, $niveau)*68);
$metal = ceil(pow(1.5, $niveau)*68); break;
break; case 1:
case 1: $metal = ceil(pow(1.6, $niveau)*53);
$metal = ceil(pow(1.6, $niveau)*53); break;
break; case 2:
case 2: $metal = ceil(pow(1.5, $niveau)*242);
$metal = ceil(pow(1.5, $niveau)*242); break;
break; case 3:
case 3: $metal = ceil(pow(1.5, $niveau)*92);
$metal = ceil(pow(1.5, $niveau)*92); break;
break; case 4:
case 4: $metal = ceil(pow(1.73, $niveau)*800);
$metal = ceil(pow(1.73, $niveau)*800); break;
break; case 5:
case 5: $metal = ceil(pow(2, $niveau)*750);
$metal = ceil(pow(2, $niveau)*750); break;
break; default:
default: trigger_error("Batiment d'alliance ".$id." introuvable dans les données", E_USER_ERROR);
trigger_error("Batiment d'alliance ".$id." introuvable dans les données", E_USER_ERROR); }
}
return $metal; return $metal;
} }
public static function cristal($id, $niveau, surface $planete) public static function cristal($id, $niveau, surface $planete)
{ {
switch($id) switch ($id) {
{ case 0:
case 0: $cristal = ceil(pow(1.5, $niveau)*17);
$cristal = ceil(pow(1.5, $niveau)*17); break;
break; case 1:
case 1: $cristal = ceil(pow(1.6, $niveau)*27);
$cristal = ceil(pow(1.6, $niveau)*27); break;
break; case 2:
case 2: $cristal = ceil(pow(1.5, $niveau)*72);
$cristal = ceil(pow(1.5, $niveau)*72); break;
break; case 3:
case 3: $cristal = ceil(pow(1.5, $niveau)*37);
$cristal = ceil(pow(1.5, $niveau)*37); break;
break; case 4:
case 4: $cristal = ceil(pow(1.73, $niveau)*420);
$cristal = ceil(pow(1.73, $niveau)*420); break;
break; case 5:
case 5: $cristal = ceil(pow(2, $niveau)*500);
$cristal = ceil(pow(2, $niveau)*500); break;
break; default:
default: trigger_error("Batiment d'alliance ".$id." introuvable dans les données", E_USER_ERROR);
trigger_error("Batiment d'alliance ".$id." introuvable dans les données", E_USER_ERROR); }
}
return $cristal; return $cristal;
} }
public static function hydrogene($id, $niveau, surface $planete) public static function hydrogene($id, $niveau, surface $planete)
{ {
switch($id) switch ($id) {
{ case 0:
case 0: $hydrogene = 0;
$hydrogene = 0; break;
break; case 1:
case 1: $hydrogene = 0;
$hydrogene = 0; break;
break; case 2:
case 2: $hydrogene = 0;
$hydrogene = 0; break;
break; case 3:
case 3: $hydrogene = 0;
$hydrogene = 0; break;
break; case 4:
case 4: $hydrogene = ceil(pow(1.68, $niveau)*285);
$hydrogene = ceil(pow(1.68, $niveau)*285); break;
break; case 5:
case 5: $hydrogene = 0;
$hydrogene = 0; break;
break; default:
default: trigger_error("Batiment d'alliance ".$id." introuvable dans les données", E_USER_ERROR);
trigger_error("Batiment d'alliance ".$id." introuvable dans les données", E_USER_ERROR); }
}
return $hydrogene; return $hydrogene;
} }
public static function credits($id, $niveau, surface $planete) public static function credits($id, $niveau, surface $planete)
{ {
switch($id) switch ($id) {
{ case 0:
case 0: $credits = ceil(pow(1.68, $niveau)*25);
$credits = ceil(pow(1.68, $niveau)*25); break;
break; case 1:
case 1: $credits = ceil(pow(1.68, $niveau)*85);
$credits = ceil(pow(1.68, $niveau)*85); break;
break; case 2:
case 2: $credits = ceil(pow(1.68, $niveau)*185);
$credits = ceil(pow(1.68, $niveau)*185); break;
break; case 3:
case 3: $credits = ceil(pow(1.68, $niveau)*285);
$credits = ceil(pow(1.68, $niveau)*285); break;
break; case 4:
case 4: $credits = ceil(pow(1.68, $niveau)*385);
$credits = ceil(pow(1.68, $niveau)*385); break;
break; case 5:
case 5: $credits = ceil(pow(1.68, $niveau)*485);
$credits = ceil(pow(1.68, $niveau)*485); break;
break; default:
default: trigger_error("Batiment d'alliance ".$id." introuvable dans les données", E_USER_ERROR);
trigger_error("Batiment d'alliance ".$id." introuvable dans les données", E_USER_ERROR); }
}
return $credits; return $credits;
} }
public static function temps($id, $niveau, surface $planete) public static function temps($id, $niveau, surface $planete)
{ {
switch($id) switch ($id) {
{ case 0:
case 0: $sec = pow(1.5, $niveau)*6;
$sec = pow(1.5, $niveau)*6; break;
break; case 1:
case 1: $sec = pow(1.55, $niveau)*6;
$sec = pow(1.55, $niveau)*6; break;
break; case 2:
case 2: $sec = pow(1.624, $niveau)*6;
$sec = pow(1.624, $niveau)*6; break;
break; case 3:
case 3: $sec = pow(1.597, $niveau)*6;
$sec = pow(1.597, $niveau)*6; break;
break; case 4:
case 4: $sec = pow(1.7, $niveau)*6;
$sec = pow(1.7, $niveau)*6; break;
break; case 5:
case 5: $sec = ceil(pow(2, $niveau)*720);
$sec = ceil(pow(2, $niveau)*720); break;
break; default:
default: trigger_error("Batiment d'alliance ".$id." introuvable dans les données", E_USER_ERROR);
trigger_error("Batiment d'alliance ".$id." introuvable dans les données", E_USER_ERROR); }
}
//Accélération du temps de construction //Accélération du temps de construction
$sec /= VITESSE; $sec /= VITESSE;
return $sec; return $sec;
} }
public static function image($id, surface $planete) public static function image($id, surface $planete)
{ {
if ($planete->race == "covenant") if ($planete->race == "covenant") {
{ switch ($id) {
switch($id) case 0:
{ //return "batimentcovieux4.jpg";
case 0: break;
//return "batimentcovieux4.jpg"; }
break; return Donnees::image_covenant_default;
} } elseif ($planete->race == "humain") {
return Donnees::image_covenant_default; switch ($id) {
} case 0:
elseif ($planete->race == "humain") //return "batimentcovieux4.jpg";
{ break;
switch($id) }
{ return Donnees::image_humain_default;
case 0: } else {
//return "batimentcovieux4.jpg"; trigger_error("Impossible de trouver la race pour ".$planete->race, E_USER_ERROR);
break; }
} }
return Donnees::image_humain_default;
}
else
trigger_error("Impossible de trouver la race pour ".$planete->race, E_USER_ERROR);
}
public static function needed($id, surface $planete, $print = false) public static function needed($id, surface $planete, $print = false)
{ {
$neededAlliancesBatiments = $neededAlliancesBatiments =
array( array(
0, 0,
array( array(
array('batiments', 0, 1) array('batiments', 0, 1)
), ),
array( array(
array('batiments', 0, 3) array('batiments', 0, 3)
), ),
array( array(
array('batiments', 0, 5) array('batiments', 0, 5)
), ),
array( array(
array('batiments', 0, 4) array('batiments', 0, 4)
), ),
array( array(
array('batiments', 0, 2) array('batiments', 0, 2)
) )
); );
if ($print) if ($print) {
return dDonnees::print_neededCheck($neededAlliancesBatiments[$id], $planete); return dDonnees::print_neededCheck($neededAlliancesBatiments[$id], $planete);
else } else {
return dDonnees::neededCheck($neededAlliancesBatiments[$id], $planete); return dDonnees::neededCheck($neededAlliancesBatiments[$id], $planete);
} }
}
} }
?>

View file

@ -3,515 +3,489 @@ require_once("Class/Donnees/interface.php");
class dBatiments implements Donnees class dBatiments implements Donnees
{ {
public static function metal($id, $niveau, surface $planete) public static function metal($id, $niveau, surface $planete)
{ {
switch($id) switch ($id) {
{ case 0:
case 0: $metal = ceil(pow(1.5, $niveau)*68);
$metal = ceil(pow(1.5, $niveau)*68); break;
break; case 1:
case 1: $metal = ceil(pow(1.6, $niveau)*53);
$metal = ceil(pow(1.6, $niveau)*53); break;
break; case 2:
case 2: $metal = ceil(pow(1.5, $niveau)*242);
$metal = ceil(pow(1.5, $niveau)*242); break;
break; case 3:
case 3: $metal = ceil(pow(1.5, $niveau)*92);
$metal = ceil(pow(1.5, $niveau)*92); break;
break; case 4:
case 4: //$metal = ceil(pow(1.73, $niveau)*800);
//$metal = ceil(pow(1.73, $niveau)*800); $metal = ceil(pow(3, $niveau)*5000);
$metal = ceil(pow(3, $niveau)*5000); break;
break; case 5:
case 5: $metal = ceil(pow(2, $niveau)*750);
$metal = ceil(pow(2, $niveau)*750); break;
break; case 6:
case 6: $metal = ceil(pow(2, $niveau)*200);
$metal = ceil(pow(2, $niveau)*200); break;
break; case 7:
case 7: $metal = ceil(pow(2, $niveau)*520);
$metal = ceil(pow(2, $niveau)*520); break;
break; case 8:
case 8: $metal = ceil(pow(2, $niveau)*600);
$metal = ceil(pow(2, $niveau)*600); break;
break; case 9:
case 9: $metal = ceil(pow(2, $niveau)*200);
$metal = ceil(pow(2, $niveau)*200); break;
break; case 10:
case 10: $metal = ceil(pow(2, $niveau)*400);
$metal = ceil(pow(2, $niveau)*400); break;
break; case 11:
case 11: $metal = ceil(pow