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

@ -1,5 +1,8 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$page = 'accueil';
$titre = 'Accueil';
@ -10,30 +13,26 @@ $bdd->reconnexion();
//On regarde si le joueur a une flotte en vue
$radar = array();
$detect = 86400;
foreach($queryPlanetes as $planeteJoueur)
{
$end_id = $planeteJoueur['id'];
$radar[] = array($bdd->query("SELECT F.mission, F.start_planete, F.start_time, F.end_time, F.start_time + F.end_time - ".time()." AS arrive_time, P.nom_planete, P.galaxie as start_galaxie, P.ss as start_ss, P.position as start_position, U.pseudo FROM $table_flottes F INNER JOIN $table_planete P ON P.id = F.start_planete INNER JOIN $table_user U ON U.id = P.id_user WHERE F.statut != '1' AND F.end_planete = '$end_id' AND F.id_user != $id_user AND F.start_time + F.end_time - ".time()." <= $detect;"), array($planeteJoueur['nom_planete'], $planeteJoueur['galaxie'], $planeteJoueur['ss'], $planeteJoueur['position']));
}
foreach ($queryPlanetes as $planeteJoueur) {
$end_id = $planeteJoueur['id'];
$radar[] = array($bdd->query("SELECT F.mission, F.start_planete, F.start_time, F.end_time, F.start_time + F.end_time - ".time()." AS arrive_time, P.nom_planete, P.galaxie as start_galaxie, P.ss as start_ss, P.position as start_position, U.pseudo FROM $table_flottes F INNER JOIN $table_planete P ON P.id = F.start_planete INNER JOIN $table_user U ON U.id = P.id_user WHERE F.statut != '1' AND F.end_planete = '$end_id' AND F.id_user != $id_user AND F.start_time + F.end_time - ".time()." <= $detect;"), array($planeteJoueur['nom_planete'], $planeteJoueur['galaxie'], $planeteJoueur['ss'], $planeteJoueur['position']));
}
$bdd->deconnexion();
$template->assign('radar',$radar);
$template->assign('radar', $radar);
//$template->assign('alliance', $alli);
unset($nbPlan, $end_id, $radar, $alli);
if (SURFACE == "planete") {
//Affichage des informations sur la planète
$template->assign('diametre', $planete->cases * 92);
$template->assign('points', $planete->points);
$template->assign('fileBat', $planete->file_bat->printFile($planete));
$template->assign('fileCas', $planete->file_cas->printFile($planete));
$template->assign('fileVais', $planete->file_vais->printFile($planete));
$template->assign('fileTer', $planete->file_ter->printFile($planete));
$template->assign('fileTech', $planete->file_tech->printFile($planete));
//Affichage des informations sur la planète
$template->assign('diametre', $planete->cases * 92);
$template->assign('points', $planete->points);
$template->assign('fileBat', $planete->file_bat->printFile($planete));
$template->assign('fileCas', $planete->file_cas->printFile($planete));
$template->assign('fileVais', $planete->file_vais->printFile($planete));
$template->assign('fileTer', $planete->file_ter->printFile($planete));
$template->assign('fileTech', $planete->file_tech->printFile($planete));
} else {
//On charge l'utilisateur pour récupérer son pseudo et l'afficher sur la page d'accueil
$planete->fondateur = new User($planete->fondateur);
$planete->loadDetails();
}
else
{
//On charge l'utilisateur pour récupérer son pseudo et l'afficher sur la page d'accueil
$planete->fondateur = new User($planete->fondateur);
$planete->loadDetails();
}
?>

View file

@ -1,20 +1,20 @@
<?php
if(!defined('ONYX')) exit;
if (!defined('ONYX')) {
exit;
}
if (!empty($_GET['v']))
if (!empty($_GET['v'])) {
include('game/alliances/voir.php');
elseif (!empty($_GET['signer']))
} elseif (!empty($_GET['signer'])) {
include('game/alliances/signer.php');
elseif (!empty($planete->id_alliance))
{
$SESS->values['idPlan'] = 0;
$SESS->values['idAsteroide'] = $planete->id_alliance;
$SESS->values['isolement'] = 0;
$SESS->put();
redirection("?p=accueil");
}
elseif (!empty($_GET['postuler']))
} elseif (!empty($planete->id_alliance)) {
$SESS->values['idPlan'] = 0;
$SESS->values['idAsteroide'] = $planete->id_alliance;
$SESS->values['isolement'] = 0;
$SESS->put();
redirection("?p=accueil");
} elseif (!empty($_GET['postuler'])) {
include('game/alliances/postuler.php');
else
} else {
include('game/alliances/sans.php');
?>
}

View file

@ -1,17 +1,17 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$planete->loadDetails();
if (!empty($planete->url_chat))
{
//On vérifie que le joueur ait les permissions requises
if ($planete->permissions_alliance &256)
$page = "alliance/chat_irc";
else
erreur("Vous n'avez pas le grade requis pour accéder au chat de l'alliance.");
if (!empty($planete->url_chat)) {
//On vérifie que le joueur ait les permissions requises
if ($planete->permissions_alliance &256) {
$page = "alliance/chat_irc";
} else {
erreur("Vous n'avez pas le grade requis pour accéder au chat de l'alliance.");
}
} else {
$page = "alliance/chat_ajax";
}
else
{
$page = "alliance/chat_ajax";
}
?>

View file

@ -1,310 +1,277 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$gestion = strtolower(gpc("g"));
if ($gestion == "grades")
{
$page = 'alliance/gestion_grades';
if ($gestion == "grades") {
$page = 'alliance/gestion_grades';
//On vérifie que le joueur ait les permissions pour modifier les grades
if (!($planete->permissions_alliance &128))
erreur("Vous n'avez pas le grade nécessaire pour modifier les grades !");
//On vérifie que le joueur ait les permissions pour modifier les grades
if (!($planete->permissions_alliance &128)) {
erreur("Vous n'avez pas le grade nécessaire pour modifier les grades !");
}
$id = intval(gpc("i"));
$del = intval(gpc("d"));
$id = intval(gpc("i"));
$del = intval(gpc("d"));
if (!empty($id) && gpc("nom", "post"))
{
$nom = gpc("nom", "post");
$auth = intval(gpc("gbats", "post")) + intval(gpc("gvais", "post"))*2 + intval(gpc("gflot", "post"))*4 + intval(gpc("gdipl", "post"))*8 + intval(gpc("gcred", "post"))*16 + intval(gpc("gmemb", "post"))*32 + intval(gpc("gwing", "post"))*64 + intval(gpc("galli", "post"))*128 + intval(gpc("gchat", "post"))*256 + intval(gpc("gmess", "post"))*512;
if (!empty($id) && gpc("nom", "post")) {
$nom = gpc("nom", "post");
$auth = intval(gpc("gbats", "post")) + intval(gpc("gvais", "post"))*2 + intval(gpc("gflot", "post"))*4 + intval(gpc("gdipl", "post"))*8 + intval(gpc("gcred", "post"))*16 + intval(gpc("gmemb", "post"))*32 + intval(gpc("gwing", "post"))*64 + intval(gpc("galli", "post"))*128 + intval(gpc("gchat", "post"))*256 + intval(gpc("gmess", "post"))*512;
$bdd->reconnexion();
$bdd->escape($nom);
$bdd->query("UPDATE $table_alliances_grade SET nom = '$nom', auth = $auth WHERE id = $id AND id_alliance = ".$planete->id.";");
$bdd->deconnexion();
$bdd->reconnexion();
$bdd->escape($nom);
$bdd->query("UPDATE $table_alliances_grade SET nom = '$nom', auth = $auth WHERE id = $id AND id_alliance = ".$planete->id.";");
$bdd->deconnexion();
header('Location: ?p=gestion&g=grades');
exit;
}
elseif (gpc("nom", "post"))
{
$nom = gpc("nom", "post");
$auth = intval(gpc("gbats", "post")) + intval(gpc("gvais", "post"))*2 + intval(gpc("gflot", "post"))*4 + intval(gpc("gdipl", "post"))*8 + intval(gpc("gcred", "post"))*16 + intval(gpc("gmemb", "post"))*32 + intval(gpc("gwing", "post"))*64 + intval(gpc("galli", "post"))*128;
header('Location: ?p=gestion&g=grades');
exit;
} elseif (gpc("nom", "post")) {
$nom = gpc("nom", "post");
$auth = intval(gpc("gbats", "post")) + intval(gpc("gvais", "post"))*2 + intval(gpc("gflot", "post"))*4 + intval(gpc("gdipl", "post"))*8 + intval(gpc("gcred", "post"))*16 + intval(gpc("gmemb", "post"))*32 + intval(gpc("gwing", "post"))*64 + intval(gpc("galli", "post"))*128;
$bdd->reconnexion();
$bdd->escape($nom);
$bdd->query("INSERT INTO $table_alliances_grade (id_alliance, nom, auth) VALUES (".$planete->id.", '$nom', $auth);");
$bdd->deconnexion();
$bdd->reconnexion();
$bdd->escape($nom);
$bdd->query("INSERT INTO $table_alliances_grade (id_alliance, nom, auth) VALUES (".$planete->id.", '$nom', $auth);");
$bdd->deconnexion();
header('Location: ?p=gestion&g=grades');
exit;
}
elseif (!empty($id))
{
$bdd->reconnexion();
$grade = $bdd->unique_query("SELECT id, nom, auth FROM $table_alliances_grade WHERE id_alliance = ".$planete->id." AND id = $id;");
$bdd->deconnexion();
$template->assign("grade_mod", $grade);
}
elseif (!empty($del))
{
$bdd->reconnexion();
$grade = $bdd->query("DELETE FROM $table_alliances_grade WHERE id_alliance = ".$planete->id." AND id = $del;");
$bdd->deconnexion();
header('Location: ?p=gestion&g=grades');
exit;
} elseif (!empty($id)) {
$bdd->reconnexion();
$grade = $bdd->unique_query("SELECT id, nom, auth FROM $table_alliances_grade WHERE id_alliance = ".$planete->id." AND id = $id;");
$bdd->deconnexion();
$template->assign("grade_mod", $grade);
} elseif (!empty($del)) {
$bdd->reconnexion();
$grade = $bdd->query("DELETE FROM $table_alliances_grade WHERE id_alliance = ".$planete->id." AND id = $del;");
$bdd->deconnexion();
header('Location: ?p=gestion&g=grades');
exit;
}
header('Location: ?p=gestion&g=grades');
exit;
}
$bdd->reconnexion();
$grades = $bdd->query("SELECT id, id_alliance, nom, auth FROM $table_alliances_grade WHERE id_alliance = ".$planete->id.";");
$bdd->deconnexion();
$template->assign("grades", $grades);
$bdd->reconnexion();
$grades = $bdd->query("SELECT id, id_alliance, nom, auth FROM $table_alliances_grade WHERE id_alliance = ".$planete->id.";");
$bdd->deconnexion();
$template->assign("grades", $grades);
unset($grades, $id, $del);
}
unset($grades, $id, $del);
} elseif ($gestion == "alliance" || ($gestion == "wings" && !empty($planete->wing))) {
$page = 'alliance/gestion_alliance';
elseif ($gestion == "alliance" || ($gestion == "wings" && !empty($planete->wing)))
{
$page = 'alliance/gestion_alliance';
//On vérifie que le joueur ait les permissions pour modifier les grades
if (!($planete->permissions_alliance &128)) {
erreur("Vous n'avez pas le grade nécessaire pour modifier les paramètres de l'alliance !");
}
//On vérifie que le joueur ait les permissions pour modifier les grades
if (!($planete->permissions_alliance &128))
erreur("Vous n'avez pas le grade nécessaire pour modifier les paramètres de l'alliance !");
if (isset($_POST["asteroide_name"])) {
$asteroide_name = gpc("asteroide_name", "post");
$planete->nom_asteroide = $asteroide_name;
$planete->modif[] = "nom_asteroide";
} elseif (isset($_POST["texte_interne"])) {
$texte_interne = gpc("texte_interne", "post");
$defcon = intval(gpc("defcon", "post"));
$defcon_txt = gpc("defcon_txt", "post");
if (isset($_POST["asteroide_name"]))
{
$asteroide_name = gpc("asteroide_name", "post");
$planete->nom_asteroide = $asteroide_name;
$planete->modif[] = "nom_asteroide";
}
elseif (isset($_POST["texte_interne"]))
{
$texte_interne = gpc("texte_interne", "post");
$defcon = intval(gpc("defcon", "post"));
$defcon_txt = gpc("defcon_txt", "post");
$bdd->reconnexion();
$bdd->escape($texte_interne);
$bdd->escape($defcon_txt);
$bdd->query("UPDATE $table_alliances SET texte_interne = '$texte_interne', defcon = $defcon, defcon_txt = '$defcon_txt' WHERE id = ".$planete->id.";");
$bdd->deconnexion();
} elseif (isset($_POST["url_forum"])) {
$url_forum = gpc("url_forum", "post");
$url_chat = gpc("url_chat", "post");
$port_chat = intval(gpc("port_chat", "post"));
$chan_chat = gpc("chan_chat", "post");
$pass_chat = gpc("pass_chat", "post");
$bdd->reconnexion();
$bdd->escape($texte_interne);
$bdd->escape($defcon_txt);
$bdd->query("UPDATE $table_alliances SET texte_interne = '$texte_interne', defcon = $defcon, defcon_txt = '$defcon_txt' WHERE id = ".$planete->id.";");
$bdd->deconnexion();
}
elseif (isset($_POST["url_forum"]))
{
$url_forum = gpc("url_forum", "post");
$url_chat = gpc("url_chat", "post");
$port_chat = intval(gpc("port_chat", "post"));
$chan_chat = gpc("chan_chat", "post");
$pass_chat = gpc("pass_chat", "post");
$bdd->reconnexion();
$bdd->escape($url_forum);
$bdd->escape($url_chat);
$bdd->escape($chan_chat);
$bdd->escape($pass_chat);
$bdd->query("UPDATE $table_alliances SET url_forum = '$url_forum', url_chat = '$url_chat', port_chat = $port_chat, chan_chat = '$chan_chat', pass_chat = '$pass_chat' WHERE id = ".$planete->id.";");
$bdd->deconnexion();
} elseif (isset($_POST["message_inscription"])) {
$etatinscriptions = intval(gpc("etatinscriptions", "post"));
$message_inscription = gpc("message_inscription", "post");
$presentation = gpc("presentation", "post");
$bdd->reconnexion();
$bdd->escape($url_forum);
$bdd->escape($url_chat);
$bdd->escape($chan_chat);
$bdd->escape($pass_chat);
$bdd->query("UPDATE $table_alliances SET url_forum = '$url_forum', url_chat = '$url_chat', port_chat = $port_chat, chan_chat = '$chan_chat', pass_chat = '$pass_chat' WHERE id = ".$planete->id.";");
$bdd->deconnexion();
}
elseif (isset($_POST["message_inscription"]))
{
$etatinscriptions = intval(gpc("etatinscriptions", "post"));
$message_inscription = gpc("message_inscription", "post");
$presentation = gpc("presentation", "post");
$bdd->reconnexion();
$bdd->escape($url_forum);
$bdd->escape($url_chat);
$bdd->escape($chan_chat);
$bdd->query("UPDATE $table_alliances SET etatinscriptions = '$etatinscriptions', message_inscription = '$message_inscription', presentation = '$presentation' WHERE id = ".$planete->id.";");
$bdd->deconnexion();
} elseif (isset($_POST["newfondateur"]) && $planete->fondateur == $planete->id_user) {
//On vérifie que le joueur demandé existe bien et fasse bien parti de l'alliance
$bdd->reconnexion();
$membre = $bdd->unique_query("SELECT id_alliance FROM $table_user WHERE id != ".intval(gpc('newfondateur', 'post')).";");
$bdd->deconnexion();
$bdd->reconnexion();
$bdd->escape($url_forum);
$bdd->escape($url_chat);
$bdd->escape($chan_chat);
$bdd->query("UPDATE $table_alliances SET etatinscriptions = '$etatinscriptions', message_inscription = '$message_inscription', presentation = '$presentation' WHERE id = ".$planete->id.";");
$bdd->deconnexion();
}
elseif (isset($_POST["newfondateur"]) && $planete->fondateur == $planete->id_user)
{
//On vérifie que le joueur demandé existe bien et fasse bien parti de l'alliance
$bdd->reconnexion();
$membre = $bdd->unique_query("SELECT id_alliance FROM $table_user WHERE id != ".intval(gpc('newfondateur', 'post')).";");
$bdd->deconnexion();
if (!empty($membre)) {
$planete->fondateur = intval(gpc('newfondateur', 'post'));
$planete->modif[] = "fondateur";
erreur("Fondateur changé avec succès.", "green");
} else {
erreur("Impossible de donner les droits de fondateur à ce joueur !");
}
}
if (!empty($membre))
{
$planete->fondateur = intval(gpc('newfondateur', 'post'));
$planete->modif[] = "fondateur";
erreur("Fondateur changé avec succès.", "green");
}
else
erreur("Impossible de donner les droits de fondateur à ce joueur !");
}
$planete->loadDetails();
$planete->loadDetails();
//On charge la liste des utilisateurs de l'alliance si besoin
$bdd->reconnexion();
$membres = $bdd->query("SELECT id, pseudo FROM $table_user WHERE id_alliance = ".$planete->id." AND id != ".$planete->fondateur.";");
$bdd->deconnexion();
$template->assign("membres", $membres);
unset($membres);
} elseif ($gestion == "wings") {
$page = 'alliance/gestion_wing';
//On charge la liste des utilisateurs de l'alliance si besoin
$bdd->reconnexion();
$membres = $bdd->query("SELECT id, pseudo FROM $table_user WHERE id_alliance = ".$planete->id." AND id != ".$planete->fondateur.";");
$bdd->deconnexion();
$template->assign("membres", $membres);
unset($membres);
}
elseif ($gestion == "wings")
{
$page = 'alliance/gestion_wing';
//On vérifie que le joueur ait les permissions pour modifier les grades
if (!($planete->permissions_alliance &64)) {
erreur("Vous n'avez pas le grade nécessaire pour gérer les wings !");
}
//On vérifie que le joueur ait les permissions pour modifier les grades
if (!($planete->permissions_alliance &64))
erreur("Vous n'avez pas le grade nécessaire pour gérer les wings !");
if (!empty($_POST["nom"])) {
$fondateur = gpc("fondateur", "post");
$nom = gpc("nom", "post");
$tag = strtoupper(gpc("tag", "post"));
$bdd->reconnexion();
$bdd->escape($fondateur);
$bdd->escape($nom);
$bdd->escape($tag);
$user = $bdd->unique_query("SELECT id, pseudo FROM $table_user WHERE pseudo = '$fondateur' AND id_alliance = 0;");
$alliances = $bdd->query("SELECT id FROM $table_alliances WHERE nom_alliance = '$nom' OR tag = '$tag';");
$wings = $bdd->unique_query("SELECT COUNT(id) AS nb FROM $table_alliances WHERE galaxie = ".$planete->galaxie." AND ss = ".$planete->ss.";");
$bdd->deconnexion();
if (!empty($_POST["nom"]))
{
$fondateur = gpc("fondateur", "post");
$nom = gpc("nom", "post");
$tag = strtoupper(gpc("tag", "post"));
$bdd->reconnexion();
$bdd->escape($fondateur);
$bdd->escape($nom);
$bdd->escape($tag);
$user = $bdd->unique_query("SELECT id, pseudo FROM $table_user WHERE pseudo = '$fondateur' AND id_alliance = 0;");
$alliances = $bdd->query("SELECT id FROM $table_alliances WHERE nom_alliance = '$nom' OR tag = '$tag';");
$wings = $bdd->unique_query("SELECT COUNT(id) AS nb FROM $table_alliances WHERE galaxie = ".$planete->galaxie." AND ss = ".$planete->ss.";");
$bdd->deconnexion();
if (!empty($alliances)) {
erreur("Une alliance porte déjà ce nom ou ce tag. Veuillez en choisir un autre.");
} elseif (!empty($user)) {
$race = gpc("race", "post");
if (!preg_match("#^[A-Za-z0-9èéàùûüôöç'_ -]{5,24}$#ui", $nom)) {
erreur("Le nom d'alliance que vous avez choisi n'est pas valide :<br />il doit avoir entre 5 et 24 caractères (certains accents sont autorisés, mais aucun caractères spéciaux) !", "red");
} elseif (!preg_match("#^[A-Za-z0-9]{3,5}$#ui", $tag)) {
erreur("Le tag de wing que vous avez choisi n'est pas valide :<br />il doit avoir entre 3 et 5 lettres (sans accents) ou chiffres !", "red");
} elseif ($race != "humain" && $race != "covenant") {
erreur("La race de la wing est incorrecte !");
}
if (!empty($alliances))
erreur("Une alliance porte déjà ce nom ou ce tag. Veuillez en choisir un autre.");
elseif (!empty($user))
{
$race = gpc("race", "post");
if (!preg_match("#^[A-Za-z0-9èéàùûüôöç'_ -]{5,24}$#ui", $nom))
erreur("Le nom d'alliance que vous avez choisi n'est pas valide :<br />il doit avoir entre 5 et 24 caractères (certains accents sont autorisés, mais aucun caractères spéciaux) !", "red");
elseif (!preg_match("#^[A-Za-z0-9]{3,5}$#ui", $tag))
erreur("Le tag de wing que vous avez choisi n'est pas valide :<br />il doit avoir entre 3 et 5 lettres (sans accents) ou chiffres !", "red");
elseif ($race != "humain" && $race != "covenant")
erreur("La race de la wing est incorrecte !");
$bdd->reconnexion();
$bdd->escape($race);
$bdd->query("INSERT INTO $table_alliances (race, sante, nom_alliance, tag, galaxie, ss, wing) VALUES ('$race', 1, '$nom', '$tag', ".$planete->galaxie.", ".$planete->ss.", ".$wings['nb'].")");
$affected = $bdd->affected();
$bdd->deconnexion();
$bdd->reconnexion();
$bdd->escape($race);
$bdd->query("INSERT INTO $table_alliances (race, sante, nom_alliance, tag, galaxie, ss, wing) VALUES ('$race', 1, '$nom', '$tag', ".$planete->galaxie.", ".$planete->ss.", ".$wings['nb'].")");
$affected = $bdd->affected();
$bdd->deconnexion();
if ($affected)
{
send_mp($user['id'], "Création d'une wing pour l'alliance [".$planete->tag."] ".$planete->nom_alliance, "L'alliance [".$planete->tag."] ".$planete->nom_alliance." vous propose de devenir capitaine de la wing [".$tag."] ".$nom.".<br /><br />Si vous acceptez le poste, cliquez sur le lien suivant : <a href=\"\">ce lien</a>");
erreur("Un message vient d'être envoyé à ".$user["pseudo"].". Lorsqu'il aura accepté son poste, la création de la wing sera terminée et les premiers membres pourront s'y inscrire.", "green");
}
else
erreur("Une erreur s'est produite lors de la création de la wing. Si le problème percisite, contacter un opérateur.");
}
else
erreur("Impossible de trouver le nom de ce joueur. Vérifiez que celui-ci n'appartient actuellement à aucune alliance.<br />Impossible de créer une wing sans fondateur valide.");
}
if ($affected) {
send_mp($user['id'], "Création d'une wing pour l'alliance [".$planete->tag."] ".$planete->nom_alliance, "L'alliance [".$planete->tag."] ".$planete->nom_alliance." vous propose de devenir capitaine de la wing [".$tag."] ".$nom.".<br /><br />Si vous acceptez le poste, cliquez sur le lien suivant : <a href=\"\">ce lien</a>");
erreur("Un message vient d'être envoyé à ".$user["pseudo"].". Lorsqu'il aura accepté son poste, la création de la wing sera terminée et les premiers membres pourront s'y inscrire.", "green");
} else {
erreur("Une erreur s'est produite lors de la création de la wing. Si le problème percisite, contacter un opérateur.");
}
} else {
erreur("Impossible de trouver le nom de ce joueur. Vérifiez que celui-ci n'appartient actuellement à aucune alliance.<br />Impossible de créer une wing sans fondateur valide.");
}
}
//On charge la liste des wings
$bdd->reconnexion();
$wings = $bdd->query("SELECT A.id, A.race, A.nom_alliance, A.tag, COUNT(U.id) AS nbMembres, V.id AS id_fondateur, V.pseudo AS pseudo_fondateur FROM $table_alliances A LEFT JOIN $table_user U ON U.id_alliance = A.id LEFT JOIN $table_user V ON V.id = A.fondateur WHERE galaxie = ".$planete->galaxie." AND ss = ".$planete->ss." AND wing != 0 GROUP BY A.id;");
$bdd->deconnexion();
$template->assign("wings", $wings);
unset($wings);
}
else
{
$page = 'alliance/gestion_membres';
$gestion = "membres";
//On charge la liste des wings
$bdd->reconnexion();
$wings = $bdd->query("SELECT A.id, A.race, A.nom_alliance, A.tag, COUNT(U.id) AS nbMembres, V.id AS id_fondateur, V.pseudo AS pseudo_fondateur FROM $table_alliances A LEFT JOIN $table_user U ON U.id_alliance = A.id LEFT JOIN $table_user V ON V.id = A.fondateur WHERE galaxie = ".$planete->galaxie." AND ss = ".$planete->ss." AND wing != 0 GROUP BY A.id;");
$bdd->deconnexion();
$template->assign("wings", $wings);
unset($wings);
} else {
$page = 'alliance/gestion_membres';
$gestion = "membres";
//On vérifie que le joueur ait les permissions pour modifier les grades
if (!($planete->permissions_alliance &32))
erreur("Vous n'avez pas le grade nécessaire pour modifier les membres !");
//On vérifie que le joueur ait les permissions pour modifier les grades
if (!($planete->permissions_alliance &32)) {
erreur("Vous n'avez pas le grade nécessaire pour modifier les membres !");
}
//Acceptation ou refus des postulants
if (!empty($_GET["pa"]))
{
$id = intval(gpc("pa"));
$bdd->reconnexion();
$user = $bdd->unique_query("SELECT U.id_alliance, U.pseudo, U.id AS id_user FROM $table_alliances_attente A INNER JOIN $table_user U ON A.id_user = U.id WHERE A.id_alliance = ".$planete->id." AND A.id = $id;");
//Acceptation ou refus des postulants
if (!empty($_GET["pa"])) {
$id = intval(gpc("pa"));
$bdd->reconnexion();
$user = $bdd->unique_query("SELECT U.id_alliance, U.pseudo, U.id AS id_user FROM $table_alliances_attente A INNER JOIN $table_user U ON A.id_user = U.id WHERE A.id_alliance = ".$planete->id." AND A.id = $id;");
if (empty($user))
{
$bdd->deconnexion();
erreur("Impossible de trouver la candidature. Si le problème perciste, contactez un opérateur.");
}
elseif (!empty($user['id_alliance']))
{
$bdd->deconnexion();
erreur("Le joueur pour lequel vous souhaitez valider la condidature est actuellement dans une autre alliance. Vous ne pouvez donc pas l'accepter immédiatement.");
}
else
{
$bdd->query("UPDATE $table_user SET id_alliance = ".$planete->id.", id_grade_alliance = 0 WHERE id = ".$user["id_user"].";");
if ($bdd->affected())
{
$bdd->query("DELETE FROM $table_alliances_attente WHERE id_alliance = ".$planete->id." AND id = $id;");
$bdd->deconnexion();
send_mp($user["id_user"], "Candidature pour l'alliance [".$planete->tag."] ".$planete->nom_alliance, "Félicitations vous faites maintenant parti de l'alliance [".$planete->tag."] ".$planete->nom_alliance.".<br /><br />Après examen de votre candidature, le responsable du recrutement a jugé bon de vous accepter au sein de l'alliance.<br />Vous en faites donc désormais parti. Il ne vous reste plus qu'à vous démarquer pour monter dans les grades.<br /><br />Bon jeu !");
erreur("Membre ajouté à l'alliance avec succès.<br />Un message privé vient de lui être envoyé afin de l'informer de la nouvelle.", "green");
}
else
{
$bdd->deconnexion();
erreur("Une erreur s'est produite lors de l'ajout du joueur dans les membres de l'alliance.<br />Si le problème perciste, contactez un opérateur.");
}
}
}
elseif (!empty($_GET["pr"]))
{
$id = intval(gpc("pr"));
$bdd->reconnexion();
$user = $bdd->unique_query("SELECT U.id AS id_user FROM $table_alliances_attente A INNER JOIN $table_user U ON A.id_user = U.id WHERE A.id_alliance = ".$planete->id." AND A.id = $id;");
$bdd->query("DELETE FROM $table_alliances_attente WHERE id_alliance = ".$planete->id." AND id = $id;");
$bdd->deconnexion();
if (empty($user)) {
$bdd->deconnexion();
erreur("Impossible de trouver la candidature. Si le problème perciste, contactez un opérateur.");
} elseif (!empty($user['id_alliance'])) {
$bdd->deconnexion();
erreur("Le joueur pour lequel vous souhaitez valider la condidature est actuellement dans une autre alliance. Vous ne pouvez donc pas l'accepter immédiatement.");
} else {
$bdd->query("UPDATE $table_user SET id_alliance = ".$planete->id.", id_grade_alliance = 0 WHERE id = ".$user["id_user"].";");
if ($bdd->affected()) {
$bdd->query("DELETE FROM $table_alliances_attente WHERE id_alliance = ".$planete->id." AND id = $id;");
$bdd->deconnexion();
send_mp($user["id_user"], "Candidature pour l'alliance [".$planete->tag."] ".$planete->nom_alliance, "Félicitations vous faites maintenant parti de l'alliance [".$planete->tag."] ".$planete->nom_alliance.".<br /><br />Après examen de votre candidature, le responsable du recrutement a jugé bon de vous accepter au sein de l'alliance.<br />Vous en faites donc désormais parti. Il ne vous reste plus qu'à vous démarquer pour monter dans les grades.<br /><br />Bon jeu !");
erreur("Membre ajouté à l'alliance avec succès.<br />Un message privé vient de lui être envoyé afin de l'informer de la nouvelle.", "green");
} else {
$bdd->deconnexion();
erreur("Une erreur s'est produite lors de l'ajout du joueur dans les membres de l'alliance.<br />Si le problème perciste, contactez un opérateur.");
}
}
} elseif (!empty($_GET["pr"])) {
$id = intval(gpc("pr"));
$bdd->reconnexion();
$user = $bdd->unique_query("SELECT U.id AS id_user FROM $table_alliances_attente A INNER JOIN $table_user U ON A.id_user = U.id WHERE A.id_alliance = ".$planete->id." AND A.id = $id;");
$bdd->query("DELETE FROM $table_alliances_attente WHERE id_alliance = ".$planete->id." AND id = $id;");
$bdd->deconnexion();
send_mp($user["id_user"], "Candidature pour l'alliance [".$planete->tag."] ".$planete->nom_alliance, "Nous avons le regret de vous annoncer que l'alliance [".$planete->tag."] ".$planete->nom_alliance." a refusé votre candidature.<br /><br />Après examen de votre candidature, le responsable du recrutement a jugé bon de vous écarter de l'alliance.<br />Pour plus d'informations, veuillez contacter directement le responsable du recrutement.");
erreur("Candidature refusée.<br />Un message privé vient d'être envoyé au joueur afin de l'informer de la nouvelle.", "orange");
}
//Gestion des exclusions de l'alliance
elseif (!empty($_GET["u"]))
{
$id = intval(gpc("u"));
if ($planete->fondateur == $id)
erreur("Vous ne pouvez pas exclure le fondateur de sa propre alliance.<br />En cas de problème avec le fondateur, veuillez contacter un opérateur.");
$bdd->reconnexion();
$bdd->query("UPDATE $table_user SET id_alliance = 0, id_grade_alliance = 0 WHERE id_alliance = ".$planete->id." AND id = $id;");
$bdd->deconnexion();
send_mp($user["id_user"], "Candidature pour l'alliance [".$planete->tag."] ".$planete->nom_alliance, "Nous avons le regret de vous annoncer que l'alliance [".$planete->tag."] ".$planete->nom_alliance." a refusé votre candidature.<br /><br />Après examen de votre candidature, le responsable du recrutement a jugé bon de vous écarter de l'alliance.<br />Pour plus d'informations, veuillez contacter directement le responsable du recrutement.");
erreur("Candidature refusée.<br />Un message privé vient d'être envoyé au joueur afin de l'informer de la nouvelle.", "orange");
}
//Gestion des exclusions de l'alliance
elseif (!empty($_GET["u"])) {
$id = intval(gpc("u"));
if ($planete->fondateur == $id) {
erreur("Vous ne pouvez pas exclure le fondateur de sa propre alliance.<br />En cas de problème avec le fondateur, veuillez contacter un opérateur.");
}
$bdd->reconnexion();
$bdd->query("UPDATE $table_user SET id_alliance = 0, id_grade_alliance = 0 WHERE id_alliance = ".$planete->id." AND id = $id;");
$bdd->deconnexion();
if ($bdd->affected())
{
send_mp($id, "Exclusion de votre alliance [".$planete->tag."] ".$planete->nom_alliance, "Vous vennez d'être exclus de votre alliance [".$planete->tag."] ".$planete->nom_alliance."<br />Pour plus d'informations, veuillez contacter directement le responsable du recrutement.");
erreur("Membre renvoyé.<br />Un message privé vient de lui être envoyé afin de l'informer de la nouvelle.", "orange");
}
else
erreur("Membre introuvable !");
}
if ($bdd->affected()) {
send_mp($id, "Exclusion de votre alliance [".$planete->tag."] ".$planete->nom_alliance, "Vous vennez d'être exclus de votre alliance [".$planete->tag."] ".$planete->nom_alliance."<br />Pour plus d'informations, veuillez contacter directement le responsable du recrutement.");
erreur("Membre renvoyé.<br />Un message privé vient de lui être envoyé afin de l'informer de la nouvelle.", "orange");
} else {
erreur("Membre introuvable !");
}
}
$id = intval(gpc("i"));
if (!empty($id))
{
$grade = intval(gpc('grade', 'post'));
$id = intval(gpc("i"));
if (!empty($id)) {
$grade = intval(gpc('grade', 'post'));
$bdd->reconnexion();
$gradet = $bdd->unique_query("SELECT id FROM $table_alliances_grade WHERE id_alliance = ".$planete->id." AND id = $grade;");
if (!empty($gradet) || $grade == 0)
$bdd->query("UPDATE $table_user SET id_grade_alliance = $grade WHERE id_alliance = ".$planete->id." AND id = $id;");
$bdd->deconnexion();
$bdd->reconnexion();
$gradet = $bdd->unique_query("SELECT id FROM $table_alliances_grade WHERE id_alliance = ".$planete->id." AND id = $grade;");
if (!empty($gradet) || $grade == 0) {
$bdd->query("UPDATE $table_user SET id_grade_alliance = $grade WHERE id_alliance = ".$planete->id." AND id = $id;");
}
$bdd->deconnexion();
header('Location: ?p=gestion&g=membres');
exit;
}
header('Location: ?p=gestion&g=membres');
exit;
}
$bdd->reconnexion();
$membres = $bdd->query("SELECT id, pseudo, race, last_visite, id_grade_alliance FROM $table_user WHERE id_alliance = ".$planete->id.";");
$grades = $bdd->query("SELECT id, id_alliance, nom, auth FROM $table_alliances_grade WHERE id_alliance = ".$planete->id.";");
$postulants = $bdd->query("SELECT A.id, A.timestamp, A.message, U.pseudo, U.id AS id_user FROM $table_alliances_attente A INNER JOIN $table_user U ON A.id_user = U.id WHERE A.id_alliance = ".$planete->id.";");
$bdd->deconnexion();
$template->assign("membres", $membres);
$template->assign("grades", $grades);
$template->assign("postulants", $postulants);
$bdd->reconnexion();
$membres = $bdd->query("SELECT id, pseudo, race, last_visite, id_grade_alliance FROM $table_user WHERE id_alliance = ".$planete->id.";");
$grades = $bdd->query("SELECT id, id_alliance, nom, auth FROM $table_alliances_grade WHERE id_alliance = ".$planete->id.";");
$postulants = $bdd->query("SELECT A.id, A.timestamp, A.message, U.pseudo, U.id AS id_user FROM $table_alliances_attente A INNER JOIN $table_user U ON A.id_user = U.id WHERE A.id_alliance = ".$planete->id.";");
$bdd->deconnexion();
$template->assign("membres", $membres);
$template->assign("grades", $grades);
$template->assign("postulants", $postulants);
unset($membres, $grades, $grade, $id, $postulants);
unset($membres, $grades, $grade, $id, $postulants);
}
$template->assign("onglet", $gestion);
unset($gestion);
?>

View file

@ -1,94 +1,93 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$page = 'messagerie';
$titre = 'Messagerie d\'alliance';
$template->assign("link_P", "alli_messagerie");
$template->assign("titreR", $titre);
//On interdit l'accès à la messagerie en cas de prise de contrôle d'un joueur
if (!empty($sess->values['souscontrole'][0]))
erreur('Vous êtes en mode prise de contrôle, vous ne pouvez pas accèder aux messages privés des joueurs.');
if (!empty($sess->values['souscontrole'][0])) {
erreur('Vous êtes en mode prise de contrôle, vous ne pouvez pas accèder aux messages privés des joueurs.');
}
if ($id = intval(gpc('avertir')))
{
$bdd->reconnexion();
$bdd->query("UPDATE $table_alliances_mail SET statut = 1 WHERE destinataire = ".$planete->id." AND id = $id;");
if ($bdd->affected())
erreur('La demande de vérification de contenu par les opérateurs a été transmise avec succès.', 'green', '?p=messagerie');
else
erreur('Une demande est déjà en cours ou vous n\'êtes pas autorisé à avertir ce message.', 'red', '?p=messagerie');
$bdd->deconnexion();
if ($id = intval(gpc('avertir'))) {
$bdd->reconnexion();
$bdd->query("UPDATE $table_alliances_mail SET statut = 1 WHERE destinataire = ".$planete->id." AND id = $id;");
if ($bdd->affected()) {
erreur('La demande de vérification de contenu par les opérateurs a été transmise avec succès.', 'green', '?p=messagerie');
} else {
erreur('Une demande est déjà en cours ou vous n\'êtes pas autorisé à avertir ce message.', 'red', '?p=messagerie');
}
$bdd->deconnexion();
}
//On récupére l'onglet demandé
$onglet = gpc('n');
$template->assign('onglet', $onglet);
if ($onglet == "rapports")
{
//Demande de supression des messages
if (!empty($_POST))
{
$bdd->reconnexion();
foreach($_POST as $value)
$bdd->query("UPDATE $table_alliances_mail SET vu = 's' WHERE destinataire = ".$planete->id." AND id = ".intval($value).";");
$bdd->deconnexion();
if ($onglet == "rapports") {
//Demande de supression des messages
if (!empty($_POST)) {
$bdd->reconnexion();
foreach ($_POST as $value) {
$bdd->query("UPDATE $table_alliances_mail SET vu = 's' WHERE destinataire = ".$planete->id." AND id = ".intval($value).";");
}
$bdd->deconnexion();
header('Location: ?p=messagerie&n='.$onglet);
exit;
}
header('Location: ?p=messagerie&n='.$onglet);
exit;
}
$bdd->reconnexion();
$data = $bdd->query("SELECT * FROM $table_alliances_mail WHERE destinataire = ".$planete->id." AND expediteur = false AND vu != 's' ORDER BY id DESC;");
$bdd->query("UPDATE $table_alliances_mail SET vu = 0 WHERE destinataire = ".$planete->id." AND expediteur = false AND vu != 's';");
$bdd->deconnexion();
$bdd->reconnexion();
$data = $bdd->query("SELECT * FROM $table_alliances_mail WHERE destinataire = ".$planete->id." AND expediteur = false AND vu != 's' ORDER BY id DESC;");
$bdd->query("UPDATE $table_alliances_mail SET vu = 0 WHERE destinataire = ".$planete->id." AND expediteur = false AND vu != 's';");
$bdd->deconnexion();
$template->assign('messages', $data);
}
elseif ($onglet == "send")
{
$bdd->reconnexion();
$data = $bdd->query("SELECT M.*, U.pseudo AS destinataire FROM $table_alliances_mail M INNER JOIN $table_user U ON U.id = M.destinataire WHERE M.expediteur = ".$planete->id." ORDER BY M.id DESC;");
$bdd->deconnexion();
$template->assign('messages', $data);
} elseif ($onglet == "send") {
$bdd->reconnexion();
$data = $bdd->query("SELECT M.*, U.pseudo AS destinataire FROM $table_alliances_mail M INNER JOIN $table_user U ON U.id = M.destinataire WHERE M.expediteur = ".$planete->id." ORDER BY M.id DESC;");
$bdd->deconnexion();
$template->assign('messages', $data);
}
elseif ($onglet == "envoyer")
{
$page = 'envoyer';
$titre = 'Envoyer un message';
$template->assign('messages', $data);
} elseif ($onglet == "envoyer") {
$page = 'envoyer';
$titre = 'Envoyer un message';
if (!empty($_POST['objet']) && !empty($_POST['destinataire']) && !empty($_POST['message']))
{
$utils = explode(';', gpc('destinataire', 'post'));
$nbutil = count($utils);
if (!empty($_POST['objet']) && !empty($_POST['destinataire']) && !empty($_POST['message'])) {
$utils = explode(';', gpc('destinataire', 'post'));
$nbutil = count($utils);
$time = time();
$message = htmlspecialchars(gpc('message', 'post'));
$objet = htmlspecialchars(gpc('objet', 'post'));
$time = time();
$message = htmlspecialchars(gpc('message', 'post'));
$objet = htmlspecialchars(gpc('objet', 'post'));
if (strlen($message) > 99999)
erreur('Le contenu de votre message est trop long. Limite : 99 999 caractères.');
if (empty($utils))
erreur('Aucun utilisateur sélectionné.');
if (strlen($message) > 99999) {
erreur('Le contenu de votre message est trop long. Limite : 99 999 caractères.');
}
if (empty($utils)) {
erreur('Aucun utilisateur sélectionné.');
}
$bdd->reconnexion();
$bdd->escape($message);
$bdd->escape($objet);
$bdd->reconnexion();
$bdd->escape($message);
$bdd->escape($objet);
$introuv = array();
foreach($utils as $util)
{
if (empty($util))
continue;
$util = trim($util);
$bdd->escape($util);
$introuv = array();
foreach ($utils as $util) {
if (empty($util)) {
continue;
}
$util = trim($util);
$bdd->escape($util);
if ($util != $planete->pseudo && $env = $bdd->unique_query("SELECT id, pseudo, mail, envoyerMail FROM $table_user WHERE pseudo = '$util';"))
{
$bdd->query("INSERT INTO $table_alliances_mail (destinataire, expediteur, sujet, contenu, temps) VALUES(".$env['id'].", ".$planete->id_user.", '$objet', '$message', $time);");
if ($env["envoyerMail"]& 2 && !empty($env["mail"]))
send_mail($env["mail"], "Halo-Battle :: Nouveau message privé", 'Bonjour '.$env["pseudo"].',
if ($util != $planete->pseudo && $env = $bdd->unique_query("SELECT id, pseudo, mail, envoyerMail FROM $table_user WHERE pseudo = '$util';")) {
$bdd->query("INSERT INTO $table_alliances_mail (destinataire, expediteur, sujet, contenu, temps) VALUES(".$env['id'].", ".$planete->id_user.", '$objet', '$message', $time);");
if ($env["envoyerMail"]& 2 && !empty($env["mail"])) {
send_mail($env["mail"], "Halo-Battle :: Nouveau message privé", 'Bonjour '.$env["pseudo"].',
Vous recevez ce courriel suite à l\'arrivée d\'un nouveau message privé reçu sur votre compte de jeu du serveur '.$VAR['serveur_name'].'. Le sujet de ce message est : "'.$objet.'" et a été envoyé par '.$planete->pseudo.'. Vous pouvez utiliser le lien suivant pour voir le message ou vous connecter.
@ -98,74 +97,76 @@ elseif ($onglet == "envoyer")
A bientôt dans Halo-Battle,
Le Staff');
}
else
$introuv[] = htmlentities($util);
}
$bdd->deconnexion();
}
} else {
$introuv[] = htmlentities($util);
}
}
$bdd->deconnexion();
if (!empty($introuv[0]))
erreur('Impossible de trouver le/les destinataire(s) suivant(s) : '.implode(', ', $introuv).'.<br />Les autres ont bien reçu votre message.', "red", '?p=messagerie&n=envoyer');
else
erreur('Votre message a été envoyé avec succès.', "green", '?p=messagerie');
}
if (!empty($introuv[0])) {
erreur('Impossible de trouver le/les destinataire(s) suivant(s) : '.implode(', ', $introuv).'.<br />Les autres ont bien reçu votre message.', "red", '?p=messagerie&n=envoyer');
} else {
erreur('Votre message a été envoyé avec succès.', "green", '?p=messagerie');
}
}
$amis = array();
$amisn = array();
$bdd->reconnexion();
foreach($planete->amis as $ami) {
$res = $bdd->unique_query("SELECT pseudo FROM $table_user WHERE id = ".$ami.";");
if ($res != false) {
$amis[] = $res['pseudo'];
$amisn[] = $ami;
}
}
$bdd->deconnexion();
$template->assign('amis', $amis);
$template->assign('amisn', $amisn);
$amis = array();
$amisn = array();
$bdd->reconnexion();
foreach ($planete->amis as $ami) {
$res = $bdd->unique_query("SELECT pseudo FROM $table_user WHERE id = ".$ami.";");
if ($res != false) {
$amis[] = $res['pseudo'];
$amisn[] = $ami;
}
}
$bdd->deconnexion();
$template->assign('amis', $amis);
$template->assign('amisn', $amisn);
if (isset($_GET['d'])) $template->assign('destinataire', gpc('d'));
if (isset($_GET['o'])) $template->assign('objet', gpc('o'));
}
else
{
//Demande de supression des messages
if (!empty($_POST))
{
$bdd->reconnexion();
foreach($_POST as $value)
$bdd->query("DELETE FROM $table_alliances_mail WHERE destinataire = ".$planete->id_user." AND id = ".intval($value).";");
$bdd->deconnexion();
if (isset($_GET['d'])) {
$template->assign('destinataire', gpc('d'));
}
if (isset($_GET['o'])) {
$template->assign('objet', gpc('o'));
}
} else {
//Demande de supression des messages
if (!empty($_POST)) {
$bdd->reconnexion();
foreach ($_POST as $value) {
$bdd->query("DELETE FROM $table_alliances_mail WHERE destinataire = ".$planete->id_user." AND id = ".intval($value).";");
}
$bdd->deconnexion();
header('Location: ?p=messagerie&n='.$onglet);
exit;
}
header('Location: ?p=messagerie&n='.$onglet);
exit;
}
if ($SESS->level >= 3)
{
$bdd->reconnexion();
$data = $bdd->query("SELECT M.*, U.pseudo AS expediteur FROM $table_alliances_mail M INNER JOIN $table_user U ON U.id = M.expediteur WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC;");
$bdd->query("UPDATE $table_alliances_mail M SET vu = 0 WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC;");
$bdd->deconnexion();
}
else
{
$bdd->reconnexion();
//Calcul du nombre total de message enregistré
$nbmax = $bdd->query("SELECT COUNT(id) as nb FROM $table_alliances_mail M WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC;");
$data = $bdd->query("SELECT M.*, U.pseudo AS expediteur FROM $table_alliances_mail M INNER JOIN $table_user U ON U.id = M.expediteur WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC LIMIT 50;");
$bdd->query("UPDATE $table_alliances_mail M SET vu = 0 WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC LIMIT 50;");
$bdd->deconnexion();
}
if ($SESS->level >= 3) {
$bdd->reconnexion();
$data = $bdd->query("SELECT M.*, U.pseudo AS expediteur FROM $table_alliances_mail M INNER JOIN $table_user U ON U.id = M.expediteur WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC;");
$bdd->query("UPDATE $table_alliances_mail M SET vu = 0 WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC;");
$bdd->deconnexion();
} else {
$bdd->reconnexion();
//Calcul du nombre total de message enregistré
$nbmax = $bdd->query("SELECT COUNT(id) as nb FROM $table_alliances_mail M WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC;");
$data = $bdd->query("SELECT M.*, U.pseudo AS expediteur FROM $table_alliances_mail M INNER JOIN $table_user U ON U.id = M.expediteur WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC LIMIT 50;");
$bdd->query("UPDATE $table_alliances_mail M SET vu = 0 WHERE M.destinataire = ".$planete->id_user." AND M.expediteur != false ORDER BY M.id DESC LIMIT 50;");
$bdd->deconnexion();
}
if ($SESS->level < 3 && $nbmax > $bdd->num_rows)
$template->assign('avertissement', '<p style="color: red;"><b>Vous avez des messages en attente de réception. Libérez de la place dans votre messagerie pour les afficher.</b></p>');
if ($SESS->level < 3 && $nbmax > $bdd->num_rows) {
$template->assign('avertissement', '<p style="color: red;"><b>Vous avez des messages en attente de réception. Libérez de la place dans votre messagerie pour les afficher.</b></p>');
}
$template->assign('messages', $data);
$template->assign('messages', $data);
}
unset($onglet, $data, $nbmax);
if ($bdd->num_rows)
$template->assign('IM', $bdd->num_rows);
?>
if ($bdd->num_rows) {
$template->assign('IM', $bdd->num_rows);
}

View file

@ -1,37 +1,39 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$id = intval(gpc('postuler'));
$message = gpc('motivation', 'post');
$page = 'alliance/nm_postuler';
if (!empty($message))
{
$bdd->reconnexion();
$bdd->escape($message);
$postul = $bdd->unique_query("SELECT id FROM $table_alliances_attente WHERE id_alliance = $id AND id_membre = ".$planete->id_user." LIMIT 1;");
if (empty($postul))
$bdd->query("INSERT INTO $table_alliances_attente (id_alliance, id_user, timestamp, message) VALUES ($id, ".$planete->id_user.", ".time().", '$message');");
$bdd->deconnexion();
if (empty($postul))
erreur("Votre demande d'adhésion a été envoyée avec succès, vous aurez une réponse dès qu'un dirigeant de l'alliance se connectera.", "green", $VAR["menu"]["alliance"]."&v=".$id, 5000);
else
redirection($VAR["menu"]["alliance"]."&postuler=".$id);
if (!empty($message)) {
$bdd->reconnexion();
$bdd->escape($message);
$postul = $bdd->unique_query("SELECT id FROM $table_alliances_attente WHERE id_alliance = $id AND id_membre = ".$planete->id_user." LIMIT 1;");
if (empty($postul)) {
$bdd->query("INSERT INTO $table_alliances_attente (id_alliance, id_user, timestamp, message) VALUES ($id, ".$planete->id_user.", ".time().", '$message');");
}
else
{
$bdd->reconnexion();
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = $id;");
$postul = $bdd->unique_query("SELECT id FROM $table_alliances_attente WHERE id_alliance = $id AND id_membre = ".$planete->id_user." LIMIT 1;");
$bdd->deconnexion();
$bdd->deconnexion();
if (!empty($postul))
erreur("Vous avez déjà une candidature en cours pour cette alliance !", "red", $VAR["menu"]["alliance"]."&v=".$id, 3000);
elseif (!empty($alliance))
$template->assign("alliance", $alliance);
else
redirection($VAR["menu"]["alliance"]);
if (empty($postul)) {
erreur("Votre demande d'adhésion a été envoyée avec succès, vous aurez une réponse dès qu'un dirigeant de l'alliance se connectera.", "green", $VAR["menu"]["alliance"]."&v=".$id, 5000);
} else {
redirection($VAR["menu"]["alliance"]."&postuler=".$id);
}
?>
} else {
$bdd->reconnexion();
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = $id;");
$postul = $bdd->unique_query("SELECT id FROM $table_alliances_attente WHERE id_alliance = $id AND id_membre = ".$planete->id_user." LIMIT 1;");
$bdd->deconnexion();
if (!empty($postul)) {
erreur("Vous avez déjà une candidature en cours pour cette alliance !", "red", $VAR["menu"]["alliance"]."&v=".$id, 3000);
} elseif (!empty($alliance)) {
$template->assign("alliance", $alliance);
} else {
redirection($VAR["menu"]["alliance"]);
}
}

View file

@ -1,129 +1,120 @@
<?php
if(!defined('ONYX')) exit;
if (!defined('ONYX')) {
exit;
}
$act = gpc('q');
if ($act == "fonder")
{
$bdd->reconnexion();
//On regarde si le joueur n'est pas déjà en train de fonder une alliance
if (!$alli = $bdd->query("SELECT id FROM $table_alliances_creation WHERE fondateur = ".$planete->id_user." OR signatures LIKE '%;".$planete->id_user.";%';"))
{
$bdd->deconnexion();
$page = 'alliance/nm_fonder';
if ($act == "fonder") {
$bdd->reconnexion();
//On regarde si le joueur n'est pas déjà en train de fonder une alliance
if (!$alli = $bdd->query("SELECT id FROM $table_alliances_creation WHERE fondateur = ".$planete->id_user." OR signatures LIKE '%;".$planete->id_user.";%';")) {
$bdd->deconnexion();
$page = 'alliance/nm_fonder';
$nom = gpc('nom', 'post');
$tag = gpc('tag', 'post');
if (!empty($nom) || !empty($tag))
{
//Vérifications
if (!preg_match("#^[A-Za-z0-9èéàùûüôöç'_ -]{5,42}$#ui", $nom))
erreur("Le nom d'alliance que vous avez choisi n'est pas valide :<br />il doit avoir entre 5 et 42 caractères (certains accents sont autorisés, mais aucun caractères spéciaux) !", "red");
elseif (!preg_match("#^[A-Za-z0-9]{3,5}$#ui", $tag))
erreur("Le tag d'alliance que vous avez choisi n'est pas valide :<br />il doit avoir entre 3 et 5 lettres (sans accents) ou chiffres !", "red");
$nom = gpc('nom', 'post');
$tag = gpc('tag', 'post');
if (!empty($nom) || !empty($tag)) {
//Vérifications
if (!preg_match("#^[A-Za-z0-9èéàùûüôöç'_ -]{5,42}$#ui", $nom)) {
erreur("Le nom d'alliance que vous avez choisi n'est pas valide :<br />il doit avoir entre 5 et 42 caractères (certains accents sont autorisés, mais aucun caractères spéciaux) !", "red");
} elseif (!preg_match("#^[A-Za-z0-9]{3,5}$#ui", $tag)) {
erreur("Le tag d'alliance que vous avez choisi n'est pas valide :<br />il doit avoir entre 3 et 5 lettres (sans accents) ou chiffres !", "red");
}
$lien = sha1($tag.'Hb$'.$nom.'☺Ø'.$planete->id_user.'‘«'.$planete->race);
$lien = sha1($tag.'Hb$'.$nom.'☺Ø'.$planete->id_user.'‘«'.$planete->race);
$bdd->reconnexion();
$bdd->escape($nom);
$bdd->escape($tag);
$utilise = $bdd->query("SELECT id FROM $table_alliances WHERE nom_alliance = '$nom' OR tag = '$tag' OR fondateur = ".$planete->id_user." UNION SELECT id FROM $table_alliances_creation WHERE nom_alliance = '$nom' OR tag = '$tag' OR fondateur = ".$planete->id_user.";");
if (empty($utilise))
$bdd->query("INSERT INTO $table_alliances_creation (tag, nom_alliance, fondateur, lien) VALUES ('$tag', '$nom', ".$planete->id_user.", '$lien');");
$bdd->deconnexion();
$bdd->reconnexion();
$bdd->escape($nom);
$bdd->escape($tag);
$utilise = $bdd->query("SELECT id FROM $table_alliances WHERE nom_alliance = '$nom' OR tag = '$tag' OR fondateur = ".$planete->id_user." UNION SELECT id FROM $table_alliances_creation WHERE nom_alliance = '$nom' OR tag = '$tag' OR fondateur = ".$planete->id_user.";");
if (empty($utilise)) {
$bdd->query("INSERT INTO $table_alliances_creation (tag, nom_alliance, fondateur, lien) VALUES ('$tag', '$nom', ".$planete->id_user.", '$lien');");
}
$bdd->deconnexion();
if (!empty($utilise))
erreur("Le nom ou le tag que vous avez choisi est déjà utilisé par une alliance.", "red");
else
{
send_mp($planete->id_user, "Fondation de votre alliance !", 'Pour terminer la création de votre alliance, trouvez au moins '.nb_signatures.' joueurs de cette galaxie sans alliance pour leur faire signer votre traité de fondation d\'alliance.<br /><br />Lien de signature :<br /><a href="'.$VAR["menu"]["alliance"].'&amp;signer='.$lien.'">http://'.$_SERVER['HTTP_HOST'].'/'.$VAR["first_page"].''.$VAR["menu"]["alliance"].'&amp;signer='.$lien.'</a>');
erreur('Votre alliance a bien &eacute;t&eacute; cr&eacute;&eacute;e.<br />Il ne vous reste plus qu\'à trouver au moins '.nb_signatures.' signatures pour finir la création de votre alliance.<br /><br />Le lien permettant à vos quatres personnes de signer est <a href="'.$VAR["menu"]["alliance"].'&amp;signer='.$lien.'">http://'.$_SERVER['HTTP_HOST'].'/'.$VAR["first_page"].''.$VAR["menu"]["alliance"].'&amp;signer='.$lien.'</a>', "green");
}
}
unset($nom, $tag);
}
else
{
$page = 'alliance/nm_statut';
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances_creation WHERE id = ".$alli[0]["id"].";");
if (!empty($utilise)) {
erreur("Le nom ou le tag que vous avez choisi est déjà utilisé par une alliance.", "red");
} else {
send_mp($planete->id_user, "Fondation de votre alliance !", 'Pour terminer la création de votre alliance, trouvez au moins '.nb_signatures.' joueurs de cette galaxie sans alliance pour leur faire signer votre traité de fondation d\'alliance.<br /><br />Lien de signature :<br /><a href="'.$VAR["menu"]["alliance"].'&amp;signer='.$lien.'">http://'.$_SERVER['HTTP_HOST'].'/'.$VAR["first_page"].''.$VAR["menu"]["alliance"].'&amp;signer='.$lien.'</a>');
erreur('Votre alliance a bien &eacute;t&eacute; cr&eacute;&eacute;e.<br />Il ne vous reste plus qu\'à trouver au moins '.nb_signatures.' signatures pour finir la création de votre alliance.<br /><br />Le lien permettant à vos quatres personnes de signer est <a href="'.$VAR["menu"]["alliance"].'&amp;signer='.$lien.'">http://'.$_SERVER['HTTP_HOST'].'/'.$VAR["first_page"].''.$VAR["menu"]["alliance"].'&amp;signer='.$lien.'</a>', "green");
}
}
unset($nom, $tag);
} else {
$page = 'alliance/nm_statut';
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances_creation WHERE id = ".$alli[0]["id"].";");
$signatures = explode(';', substr($alliance["signatures"], 1), -1);
$signaturesExport = implode(' OR id = ', $signatures);
$pseudos = $bdd->query("SELECT pseudo FROM $table_user WHERE id = ".$signaturesExport.";");
$bdd->deconnexion();
$signatures = explode(';', substr($alliance["signatures"], 1), -1);
$signaturesExport = implode(' OR id = ', $signatures);
$pseudos = $bdd->query("SELECT pseudo FROM $table_user WHERE id = ".$signaturesExport.";");
$bdd->deconnexion();
if (gpc('r') == "quit")
{
if ($alliance["fondateur"] == $planete->id_user)
{
$bdd->reconnexion();
$bdd->query("DELETE FROM $table_alliances_creation WHERE id = ".$alli[0]["id"].";");
$bdd->deconnexion();
if (gpc('r') == "quit") {
if ($alliance["fondateur"] == $planete->id_user) {
$bdd->reconnexion();
$bdd->query("DELETE FROM $table_alliances_creation WHERE id = ".$alli[0]["id"].";");
$bdd->deconnexion();
foreach ($signatures as $id_user)
{
send_mp($id_user, "Annulation de la fondation de votre alliance !", "Le fondateur de l'alliance pour laquelle vous avez signée vient d'annuler sa création.");
}
foreach ($signatures as $id_user) {
send_mp($id_user, "Annulation de la fondation de votre alliance !", "Le fondateur de l'alliance pour laquelle vous avez signée vient d'annuler sa création.");
}
send_mp($planete->id_user, "Annulation de la fondation de votre alliance !", "Vous vennez d'annuler la création de votre alliance.");
erreur("Votre alliance vient d'être supprimée", "green");
}
else
{
$keys = array_keys($signatures, $planete->id_user);
foreach ($keys as $key)
unset($signatures[$key]);
send_mp($planete->id_user, "Annulation de la fondation de votre alliance !", "Vous vennez d'annuler la création de votre alliance.");
erreur("Votre alliance vient d'être supprimée", "green");
} else {
$keys = array_keys($signatures, $planete->id_user);
foreach ($keys as $key) {
unset($signatures[$key]);
}
$signatures = ";".implode(';', $signatures).";";
$bdd->reconnexion();
$bdd->escape($signatures);
$bdd->query("UPDATE $table_alliances_creation SET signatures = '$signatures' WHERE id = ".$alliance["id"].";");
$bdd->deconnexion();
$signatures = ";".implode(';', $signatures).";";
$bdd->reconnexion();
$bdd->escape($signatures);
$bdd->query("UPDATE $table_alliances_creation SET signatures = '$signatures' WHERE id = ".$alliance["id"].";");
$bdd->deconnexion();
send_mp($planete->id_user, "Annulation de la signature pour votre alliance !", "Vous vennez d'annuler votre signature pour l'alliance ".$alliance["nom"]);
erreur("Votre signature a été rayée.", "green");
}
}
send_mp($planete->id_user, "Annulation de la signature pour votre alliance !", "Vous vennez d'annuler votre signature pour l'alliance ".$alliance["nom"]);
erreur("Votre signature a été rayée.", "green");
}
}
$template->assign("alliance", $alliance);
$template->assign("signatures", $signatures);
$template->assign("pseudos", $pseudos);
$template->assign("nbSignatures", count($signatures));
}
$template->assign("alliance", $alliance);
$template->assign("signatures", $signatures);
$template->assign("pseudos", $pseudos);
$template->assign("nbSignatures", count($signatures));
}
} elseif (!empty($_POST['search_tag']) || !empty($_POST['search_nom'])) {
$page = 'alliance/nm_search';
$tag = gpc('search_tag', 'post');
$nom = str_replace("*", "%", gpc('search_nom', 'post'));
$bdd->reconnexion();
$bdd->escape($tag);
$bdd->escape($nom);
$rech1 = $bdd->query("SELECT id, tag, nom_alliance, race, etat_inscription FROM $table_alliances WHERE tag LIKE '$tag%' AND nom_alliance LIKE '%$nom%';");
$rech2 = $bdd->query("SELECT lien AS id, tag, nom_alliance, 0 AS race, 2 AS etat_inscription FROM $table_alliances_creation WHERE tag LIKE '$tag%' AND nom_alliance LIKE '%$nom%';");
$bdd->deconnexion();
if (!empty($rech1) && !empty($rech2)) {
$recherche = array_merge($rech1, $rech2);
} elseif (!empty($rech2)) {
$recherche = $rech2;
} else {
$recherche = $rech1;
}
if ($bdd->num_rows == 1) {
redirection($VAR["menu"]["alliance"]."&v=".$recherche[0]['id']);
} elseif ($bdd->num_rows == 0) {
erreur("Aucune alliance ne correspond à ces critères de recherche", "", $VAR["menu"]["alliance"]);
}
$template->assign("recherches", $recherche);
unset($nom, $tag, $recherche);
} else {
$bdd->reconnexion();
$template->assign("fondation", $bdd->query("SELECT id FROM $table_alliances_creation WHERE fondateur = ".$planete->id_user." OR signatures LIKE '%;".$planete->id_user.";%';"));
$page = 'alliance/nm_accueil';
}
elseif (!empty($_POST['search_tag']) || !empty($_POST['search_nom']))
{
$page = 'alliance/nm_search';
$tag = gpc('search_tag', 'post');
$nom = str_replace("*", "%", gpc('search_nom', 'post'));
$bdd->reconnexion();
$bdd->escape($tag);
$bdd->escape($nom);
$rech1 = $bdd->query("SELECT id, tag, nom_alliance, race, etat_inscription FROM $table_alliances WHERE tag LIKE '$tag%' AND nom_alliance LIKE '%$nom%';");
$rech2 = $bdd->query("SELECT lien AS id, tag, nom_alliance, 0 AS race, 2 AS etat_inscription FROM $table_alliances_creation WHERE tag LIKE '$tag%' AND nom_alliance LIKE '%$nom%';");
$bdd->deconnexion();
if (!empty($rech1) && !empty($rech2))
$recherche = array_merge($rech1, $rech2);
elseif (!empty($rech2))
$recherche = $rech2;
else
$recherche = $rech1;
if ($bdd->num_rows == 1)
redirection($VAR["menu"]["alliance"]."&v=".$recherche[0]['id']);
elseif ($bdd->num_rows == 0)
erreur("Aucune alliance ne correspond à ces critères de recherche", "", $VAR["menu"]["alliance"]);
$template->assign("recherches", $recherche);
unset($nom, $tag, $recherche);
}
else
{
$bdd->reconnexion();
$template->assign("fondation", $bdd->query("SELECT id FROM $table_alliances_creation WHERE fondateur = ".$planete->id_user." OR signatures LIKE '%;".$planete->id_user.";%';"));
$page = 'alliance/nm_accueil';
}
?>

View file

@ -1,98 +1,93 @@
<?php
if(!defined('ONYX')) exit;
if (!defined('ONYX')) {
exit;
}
$hash = gpc('signer');
$page = 'alliance/nm_signer';
if (!empty($planete->id_alliance))
erreur("Vous êtes déjà dans une alliance, vous ne pouvez pas ratifier d'alliance !", "red");
elseif (!empty($_POST["sign"]))
{
if (trim(strtolower(gpc("sign", "post"))) == "oui")
{
$hash = intval($hash);
$bdd->reconnexion();
$ratifier = $bdd->unique_query("SELECT id, fondateur, signatures FROM $table_alliances_creation WHERE signatures LIKE '%;".$planete->id_user.";%' LIMIT 1;");
if (!empty($ratifier))
{
$ratifier["signatures"] = explode(';', substr($ratifier["signatures"], 1), -1);
unset($ratifier["signatures"][array_search($planete->id_user, $ratifier["signatures"])]);
if (count($ratifier["signatures"]) == 0)
$ratifier["signatures"] = "";
else
$ratifier["signatures"] = ';'.implode(';', $ratifier["signatures"]).';';
$bdd->escape($ratifier["signatures"]);
$bdd->query("UPDATE $table_alliances_creation SET signatures = '".$ratifier["signatures"]."' WHERE id = ".$ratifier["id"].";");
}
if (!empty($planete->id_alliance)) {
erreur("Vous êtes déjà dans une alliance, vous ne pouvez pas ratifier d'alliance !", "red");
} elseif (!empty($_POST["sign"])) {
if (trim(strtolower(gpc("sign", "post"))) == "oui") {
$hash = intval($hash);
$bdd->reconnexion();
$ratifier = $bdd->unique_query("SELECT id, fondateur, signatures FROM $table_alliances_creation WHERE signatures LIKE '%;".$planete->id_user.";%' LIMIT 1;");
if (!empty($ratifier)) {
$ratifier["signatures"] = explode(';', substr($ratifier["signatures"], 1), -1);
unset($ratifier["signatures"][array_search($planete->id_user, $ratifier["signatures"])]);
if (count($ratifier["signatures"]) == 0) {
$ratifier["signatures"] = "";
} else {
$ratifier["signatures"] = ';'.implode(';', $ratifier["signatures"]).';';
}
$bdd->escape($ratifier["signatures"]);
$bdd->query("UPDATE $table_alliances_creation SET signatures = '".$ratifier["signatures"]."' WHERE id = ".$ratifier["id"].";");
}
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances_creation WHERE id = $hash;");
if (!empty($alliance["signatures"]))
$alliance["signatures"] = explode(';', substr($alliance["signatures"], 1), -1);
else
$alliance["signatures"] = array();
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances_creation WHERE id = $hash;");
if (!empty($alliance["signatures"])) {
$alliance["signatures"] = explode(';', substr($alliance["signatures"], 1), -1);
} else {
$alliance["signatures"] = array();
}
$alliance["signatures"][] = $planete->id_user;
$newnb = count($alliance["signatures"]);
$alliance["signatures"] = ';'.implode(';', $alliance["signatures"]).';';
$bdd->escape($alliance["signatures"]);
$bdd->query("UPDATE $table_alliances_creation SET signatures = '".$alliance["signatures"]."' WHERE id = $hash;");
if (debut_d_univers) //Si on est en début d'univers, on recherche une planète du joueur fondateur
$planete_fondateur = $bdd->unique_query("SELECT id FROM $table_planete WHERE id_user = ".$alliance["fondateur"]." ORDER BY id ASC LIMIT 1;");
$bdd->deconnexion();
if ($newnb >= nb_signatures)
{
if (debut_d_univers && $newnb == nb_signatures && empty($planete_fondateur->vaisseaux[2]))
{
//On donne un vaisseau de colonisation au fondateur
$planete_fondateur = new Planete($planete_fondateur["id"]);
$planete_fondateur->vaisseaux[2]++;
unset($planete_fondateur);
$alliance["signatures"][] = $planete->id_user;
$newnb = count($alliance["signatures"]);
$alliance["signatures"] = ';'.implode(';', $alliance["signatures"]).';';
$bdd->escape($alliance["signatures"]);
$bdd->query("UPDATE $table_alliances_creation SET signatures = '".$alliance["signatures"]."' WHERE id = $hash;");
if (debut_d_univers) { //Si on est en début d'univers, on recherche une planète du joueur fondateur
$planete_fondateur = $bdd->unique_query("SELECT id FROM $table_planete WHERE id_user = ".$alliance["fondateur"]." ORDER BY id ASC LIMIT 1;");
}
$bdd->deconnexion();
if ($newnb >= nb_signatures) {
if (debut_d_univers && $newnb == nb_signatures && empty($planete_fondateur->vaisseaux[2])) {
//On donne un vaisseau de colonisation au fondateur
$planete_fondateur = new Planete($planete_fondateur["id"]);
$planete_fondateur->vaisseaux[2]++;
unset($planete_fondateur);
send_mp($alliance["fondateur"], "Nouvelle signature pour votre alliance !", $planete->pseudo." vient de ratifier votre alliance, portant ainsi à ".$newnb." le nombre de signatures.<br /><br />Vous avez suffisamment de signatures pour coloniser un astéroïde. Pour vous féliciter, le conseil intergalactique a décidé de vous offrir un vaisseau de colonisation pour aller coloniser un astéroide afin d'implanter votre alliance.");
}
else
//TODO refaire un message plus RP
send_mp($alliance["fondateur"], "Nouvelle signature pour votre alliance !", $planete->pseudo." vient de ratifier votre alliance, portant ainsi à ".$newnb." le nombre de signatures.<br /><br />Vous avez suffisamment de signatures pour coloniser un astéroïde. Envoyez-en un dès maintenant !");
}
else
send_mp($alliance["fondateur"], "Nouvelle signature pour votre alliance !", $planete->pseudo." vient de ratifier votre alliance, portant ainsi à ".$newnb." le nombre de signatures.");
send_mp($alliance["fondateur"], "Nouvelle signature pour votre alliance !", $planete->pseudo." vient de ratifier votre alliance, portant ainsi à ".$newnb." le nombre de signatures.<br /><br />Vous avez suffisamment de signatures pour coloniser un astéroïde. Pour vous féliciter, le conseil intergalactique a décidé de vous offrir un vaisseau de colonisation pour aller coloniser un astéroide afin d'implanter votre alliance.");
} else {
//TODO refaire un message plus RP
send_mp($alliance["fondateur"], "Nouvelle signature pour votre alliance !", $planete->pseudo." vient de ratifier votre alliance, portant ainsi à ".$newnb." le nombre de signatures.<br /><br />Vous avez suffisamment de signatures pour coloniser un astéroïde. Envoyez-en un dès maintenant !");
}
} else {
send_mp($alliance["fondateur"], "Nouvelle signature pour votre alliance !", $planete->pseudo." vient de ratifier votre alliance, portant ainsi à ".$newnb." le nombre de signatures.");
}
erreur("Votre signature a bien été prise en compte !", "green");
}
else
redirection($VAR["menu"]["alliance"]);
erreur("Votre signature a bien été prise en compte !", "green");
} else {
redirection($VAR["menu"]["alliance"]);
}
} else {
$bdd->reconnexion();
$bdd->escape($hash);
$fonder = $bdd->unique_query("SELECT * FROM $table_alliances_creation WHERE fondateur = ".$planete->id_user." LIMIT 1;");
if (!empty($fonder)) {
$bdd->deconnexion();
erreur("Vous ne pouvez pas ratifier d'alliance car vous en fonder actuellement une !", "red");
}
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances_creation WHERE lien = '$hash';");
$ratifier = $bdd->unique_query("SELECT * FROM $table_alliances_creation WHERE signatures LIKE '%;".$planete->id_user.";%' LIMIT 1;");
$bdd->deconnexion();
if (!empty($alliance) && sha1($alliance['tag'].'Hb$'.$alliance['nom_alliance'].'☺Ø'.$alliance['fondateur'].'‘«'.$planete->race) == $hash) {
if (!empty($alliance["signatures"])) {
$alliance["signatures"] = explode(';', substr($alliance["signatures"], 1), -1);
if (in_array($planete->id_user, $alliance["signatures"])) {
erreur("Vous avez déjà ratifier cette alliance !");
}
$alliance["nbsignatures"] = count($alliance["signatures"]);
} else {
$alliance["nbsignatures"] = 0;
}
$template->assign("alliance", $alliance);
$template->assign("ratifier", $ratifier);
} elseif (!empty($alliance)) {
erreur("Impossible de ratifier cette alliance.<br />Vous n'êtes peut-être pas de la même race que le fondateur.", 'red', $VAR["menu"]["alliance"], 4000);
} else {
erreur("Vous ne pouvez plus signer pour cette alliance !", 'red', $_SERVER["HTTP_REFERER"], 4000);
}
}
else
{
$bdd->reconnexion();
$bdd->escape($hash);
$fonder = $bdd->unique_query("SELECT * FROM $table_alliances_creation WHERE fondateur = ".$planete->id_user." LIMIT 1;");
if (!empty($fonder))
{
$bdd->deconnexion();
erreur("Vous ne pouvez pas ratifier d'alliance car vous en fonder actuellement une !", "red");
}
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances_creation WHERE lien = '$hash';");
$ratifier = $bdd->unique_query("SELECT * FROM $table_alliances_creation WHERE signatures LIKE '%;".$planete->id_user.";%' LIMIT 1;");
$bdd->deconnexion();
if (!empty($alliance) && sha1($alliance['tag'].'Hb$'.$alliance['nom_alliance'].'☺Ø'.$alliance['fondateur'].'‘«'.$planete->race) == $hash)
{
if (!empty($alliance["signatures"]))
{
$alliance["signatures"] = explode(';', substr($alliance["signatures"], 1), -1);
if (in_array($planete->id_user, $alliance["signatures"]))
erreur("Vous avez déjà ratifier cette alliance !");
$alliance["nbsignatures"] = count($alliance["signatures"]);
}
else
$alliance["nbsignatures"] = 0;
$template->assign("alliance", $alliance);
$template->assign("ratifier", $ratifier);
}
elseif (!empty($alliance))
erreur("Impossible de ratifier cette alliance.<br />Vous n'êtes peut-être pas de la même race que le fondateur.", 'red', $VAR["menu"]["alliance"], 4000);
else
erreur("Vous ne pouvez plus signer pour cette alliance !", 'red', $_SERVER["HTTP_REFERER"], 4000);
}
?>

View file

@ -1,5 +1,8 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$id = intval(gpc('v'));
$page = 'alliance/view';
@ -7,19 +10,19 @@ $page = 'alliance/view';
$bdd->reconnexion();
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = $id;");
$nbmembres = $bdd->unique_query("SELECT COUNT(id) AS nbmembres FROM $table_user WHERE id_alliance = $id;");
if ($planete->id_alliance == $id)
if ($planete->id_alliance == $id) {
$grade = $bdd->unique_query("SELECT nom FROM $table_alliances_grade WHERE id = ".$planete->id_grade_alliance.";");
}
$bdd->deconnexion();
if (!empty($alliance))
{
$template->assign("alliance", $alliance);
$template->assign("nbmembres", $nbmembres['nbmembres']);
if (empty($grade))
$template->assign("grade", "Invité");
else
$template->assign("grade", $grade["nom"]);
if (!empty($alliance)) {
$template->assign("alliance", $alliance);
$template->assign("nbmembres", $nbmembres['nbmembres']);
if (empty($grade)) {
$template->assign("grade", "Invité");
} else {
$template->assign("grade", $grade["nom"]);
}
else
} else {
redirection($VAR["menu"]["alliance"]);
?>
}

View file

@ -1,44 +1,46 @@
<?php
if(!defined('INDEX')) { header('Location: ./'.$VAR['first_page']); exit; }
if (!defined('INDEX')) {
header('Location: ./'.$VAR['first_page']);
exit;
}
$page = 'arbre';
$titre = 'Arbre des technologies';
if (empty($_GET['q']))
$_GET['q'] = '';
if (empty($_GET['q'])) {
$_GET['q'] = '';
}
$template->assign('defaut', gpc('q'));
//Récupération et vérification de la race voulue ou définition d'une race par défaut
if (empty($_GET['r']) || (gpc('r') != 'humain' && gpc('r') != 'covenant'))
$_GET['r'] = $planete->race;
if (empty($_GET['r']) || (gpc('r') != 'humain' && gpc('r') != 'covenant')) {
$_GET['r'] = $planete->race;
}
$race = gpc('r');
$template->assign('raceAff', $race);
if (SURFACE == "asteroide")
{
$TEMP_liste = array();
foreach($planete->batiments as $id => $batiment)
{
if (!empty($LANG[$race]["alli_batiments"]["noms_sing"][$id]))
$TEMP_liste[$id] = array(
'niveau' => $batiment,
'etat' => dAlliancesBatiments::needed($id, $planete, true)
);
}
$template->assign('batiments', $TEMP_liste);
}
else
{
$TEMP_liste = array();
foreach($planete->batiments as $id => $batiment)
{
if (!empty($LANG[$race]["batiments"]["noms_sing"][$id]))
$TEMP_liste[$id] = array(
'niveau' => $batiment,
'etat' => dBatiments::needed($id, $planete, true)
);
}
$template->assign('batiments', $TEMP_liste);
if (SURFACE == "asteroide") {
$TEMP_liste = array();
foreach ($planete->batiments as $id => $batiment) {
if (!empty($LANG[$race]["alli_batiments"]["noms_sing"][$id])) {
$TEMP_liste[$id] = array(
'niveau' => $batiment,
'etat' => dAlliancesBatiments::needed($id, $planete, true)
);
}
}
$template->assign('batiments', $TEMP_liste);
} else {
$TEMP_liste = array();
foreach ($planete->batiments as $id => $batiment) {
if (!empty($LANG[$race]["batiments"]["noms_sing"][$id])) {
$TEMP_liste[$id] = array(
'niveau' => $batiment,
'etat' => dBatiments::needed($id, $planete, true)
);
}
}
$template->assign('batiments', $TEMP_liste);
}
/*
@ -55,37 +57,36 @@ else
$template->assign('technologies',$TEMP_technologies);
*/
$TEMP_liste = array();
foreach($planete->casernes as $id => $unite)
{
if (!empty($LANG[$race]["caserne"]["noms_sing"][$id]))
$TEMP_liste[$id] = array(
'niveau' => $unite,
'etat' => dCaserne::needed($id, $planete, true)
);
foreach ($planete->casernes as $id => $unite) {
if (!empty($LANG[$race]["caserne"]["noms_sing"][$id])) {
$TEMP_liste[$id] = array(
'niveau' => $unite,
'etat' => dCaserne::needed($id, $planete, true)
);
}
}
$template->assign('caserne', $TEMP_liste);
$TEMP_liste = array();
foreach($planete->terrestres as $id => $unite)
{
if (!empty($LANG[$race]["terrestre"]["noms_sing"][$id]))
$TEMP_liste[$id] = array(
'niveau' => $unite,
'etat' => dTerrestre::needed($id, $planete, true)
);
foreach ($planete->terrestres as $id => $unite) {
if (!empty($LANG[$race]["terrestre"]["noms_sing"][$id])) {
$TEMP_liste[$id] = array(
'niveau' => $unite,
'etat' => dTerrestre::needed($id, $planete, true)
);
}
}
$template->assign('unites', $TEMP_liste);
$TEMP_liste = array();
foreach($planete->vaisseaux as $id => $unite)
{
if (!empty($LANG[$race]["vaisseaux"]["noms_sing"][$id]))
$TEMP_liste[$id] = array(
'niveau' => $unite,
'etat' => dSpatial::needed($id, $planete, true)
);
foreach ($planete->vaisseaux as $id => $unite) {
if (!empty($LANG[$race]["vaisseaux"]["noms_sing"][$id])) {
$TEMP_liste[$id] = array(
'niveau' => $unite,
'etat' => dSpatial::needed($id, $planete, true)
);
}
}
$template->assign('vaisseaux', $TEMP_liste);
unset($TEMP_liste, $id, $unite);
?>

View file

@ -1,97 +1,92 @@
<?php
if(!defined('ONYX'))
exit;
if (!defined('ONYX')) {
exit;
}
$titre = 'Bâtiments';
//Si l'on est sur un astéroide, on vérifie que le joueur ait les permissions nécessaire
if (SURFACE == "asteroide" && !($planete->permissions_alliance &1))
erreur("Vous n'avez pas le grade requis pour vous occuper des bâtiments de l'astéroide.");
if (SURFACE == "asteroide" && !($planete->permissions_alliance &1)) {
erreur("Vous n'avez pas le grade requis pour vous occuper des bâtiments de l'astéroide.");
}
//Lancement d'une nouvelle construction
if (isset($_GET['c']))
{
//On vérifie qu'il n'y ait pas de technologie en cours de recherche si l'on veut améliorer le centre de recherche
if(gpc('c') == 6 && $planete->file_tech->hasObject())
erreur('Une technologie est en cours de recherche dans votre laboratoire, vous ne pouvez pas faire de travaux !');
if (isset($_GET['c'])) {
//On vérifie qu'il n'y ait pas de technologie en cours de recherche si l'on veut améliorer le centre de recherche
if (gpc('c') == 6 && $planete->file_tech->hasObject()) {
erreur('Une technologie est en cours de recherche dans votre laboratoire, vous ne pouvez pas faire de travaux !');
}
$planete->file_bat->addObjet(intval(gpc('c')), 1, $planete);
$planete->file_bat->addObjet(intval(gpc('c')), 1, $planete);
redirection($VAR['menu']['batiments']);
redirection($VAR['menu']['batiments']);
}
//Lancement d'une déconstruction
if (isset($_GET['d']))
{
//On vérifie qu'il n'y ait pas de technologie en cours de recherche si l'on veut améliorer le centre de recherche
if($_GET['d'] == 6 && $planete->file_tech->hasObject())
erreur('Une technologie est en cours de recherche dans votre laboratoire, vous ne pouvez pas faire de travaux !');
if (isset($_GET['d'])) {
//On vérifie qu'il n'y ait pas de technologie en cours de recherche si l'on veut améliorer le centre de recherche
if ($_GET['d'] == 6 && $planete->file_tech->hasObject()) {
erreur('Une technologie est en cours de recherche dans votre laboratoire, vous ne pouvez pas faire de travaux !');
}
$planete->file_bat->addDemolition(intval(gpc('d')), 1, $planete);
$planete->file_bat->addDemolition(intval(gpc('d')), 1, $planete);
redirection($VAR['menu']['batiments']);
redirection($VAR['menu']['batiments']);
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($_GET['b']))
{
$planete->file_bat->delObjet(intval(gpc('b')), 1, intval(gpc('a')), $planete);
if (isset($_GET['a']) && isset($_GET['b'])) {
$planete->file_bat->delObjet(intval(gpc('b')), 1, intval(gpc('a')), $planete);
redirection($VAR['menu']['batiments']);
redirection($VAR['menu']['batiments']);
}
if (SURFACE == "planete")
{
$page = 'batiments';
$TEMP_liste = array();
foreach($planete->batiments as $i => $niveau)
{
//On vérifie le type par rapport à l'onglet
if (isset($_GET["n"]) && !(intval($_GET["n"])& dBatiments::type($i)))
continue;
if (SURFACE == "planete") {
$page = 'batiments';
$TEMP_liste = array();
foreach ($planete->batiments as $i => $niveau) {
//On vérifie le type par rapport à l'onglet
if (isset($_GET["n"]) && !(intval($_GET["n"])& dBatiments::type($i))) {
continue;
}
//Si l'on est pas sur la planète mère, on désactive le laboratoire
if ($i == 6 && $queryPlanetes[0]['id'] != $planete->id)
continue;
//Si l'on est pas sur la planète mère, on désactive le laboratoire
if ($i == 6 && $queryPlanetes[0]['id'] != $planete->id) {
continue;
}
if (!empty($LANG[$planete->race]['batiments']['noms_sing'][$i]) && dBatiments::needed($i, $planete))
{
$TEMP_liste[] = array (
'id' => $i,
'image' => dBatiments::image($i, $planete),
'niveau' => $niveau,
'nec_metal' => dBatiments::metal($i, $niveau+1, $planete),
'nec_cristal' => dBatiments::cristal($i, $niveau+1, $planete),
'nec_hydrogene' => dBatiments::hydrogene($i, $niveau+1, $planete),
'temps' => sec(dBatiments::temps($i, $niveau+1, $planete)),
'enfile' => $planete->file_bat->objectInFile($i)
);
}
}
}
else
{
$page = 'batiments_alli';
$TEMP_liste = array();
foreach($planete->batiments as $i => $niveau)
{
if (!empty($LANG[$planete->race]['alli_batiments']['noms_sing'][$i]) && dAlliancesBatiments::needed($i, $planete) && $niveau < 6)
{
$TEMP_liste[] = array (
'id' => $i,
'image' => dAlliancesBatiments::image($i, $planete),
'niveau' => $niveau,
'nec_metal' => dAlliancesBatiments::metal($i, $niveau+1, $planete),
'nec_cristal' => dAlliancesBatiments::cristal($i, $niveau+1, $planete),
'nec_hydrogene' => dAlliancesBatiments::hydrogene($i, $niveau+1, $planete),
'nec_credits' => dAlliancesBatiments::credits($i, $niveau+1, $planete),
'temps' => sec(dAlliancesBatiments::temps($i, $niveau+1, $planete)),
'enfile' => $planete->file_bat->objectInFile($i)
);
}
}
if (!empty($LANG[$planete->race]['batiments']['noms_sing'][$i]) && dBatiments::needed($i, $planete)) {
$TEMP_liste[] = array(
'id' => $i,
'image' => dBatiments::image($i, $planete),
'niveau' => $niveau,
'nec_metal' => dBatiments::metal($i, $niveau+1, $planete),
'nec_cristal' => dBatiments::cristal($i, $niveau+1, $planete),
'nec_hydrogene' => dBatiments::hydrogene($i, $niveau+1, $planete),
'temps' => sec(dBatiments::temps($i, $niveau+1, $planete)),
'enfile' => $planete->file_bat->objectInFile($i)
);
}
}
} else {
$page = 'batiments_alli';
$TEMP_liste = array();
foreach ($planete->batiments as $i => $niveau) {
if (!empty($LANG[$planete->race]['alli_batiments']['noms_sing'][$i]) && dAlliancesBatiments::needed($i, $planete) && $niveau < 6) {
$TEMP_liste[] = array(
'id' => $i,
'image' => dAlliancesBatiments::image($i, $planete),
'niveau' => $niveau,
'nec_metal' => dAlliancesBatiments::metal($i, $niveau+1, $planete),
'nec_cristal' => dAlliancesBatiments::cristal($i, $niveau+1, $planete),
'nec_hydrogene' => dAlliancesBatiments::hydrogene($i, $niveau+1, $planete),
'nec_credits' => dAlliancesBatiments::credits($i, $niveau+1, $planete),
'temps' => sec(dAlliancesBatiments::temps($i, $niveau+1, $planete)),
'enfile' => $planete->file_bat->objectInFile($i)
);
}
}
}
$template->assign('batiments', $TEMP_liste);
$template->assign('onglet', gpc("n"));
$template->assign('files', $planete->file_bat->printFile($planete));
unset($TEMP_liste, $niveau, $i);
?>

View file

@ -1,63 +1,64 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$page = 'carte';
$titre = 'Carte spatiale';
//Récupération d'un numéro d'amas à regarder
if (isset($_GET['amas']))
$g = intval(gpc('amas'));
elseif (isset($_GET['galaxie']))
$g = intval(gpc('galaxie'));
else
$g = $planete->galaxie;
if (isset($_GET['amas'])) {
$g = intval(gpc('amas'));
} elseif (isset($_GET['galaxie'])) {
$g = intval(gpc('galaxie'));
} else {
$g = $planete->galaxie;
}
//Validation du numéro de l'amas
if ($planete->auth_level >= 5 && $g <= 0)
$g = 0;
elseif ($g < 1)
$g = 1;
if ($g > $VAR['nb_amas'])
$g = 1;
if ($planete->auth_level >= 5 && $g <= 0) {
$g = 0;
} elseif ($g < 1) {
$g = 1;
}
if ($g > $VAR['nb_amas']) {
$g = 1;
}
//Récupération d'un numéro de système à regarder
if (isset($_GET['systeme']))
$s = intval(gpc('systeme'));
elseif (isset($_GET['ss']))
$s = intval(gpc('ss'));
else
$s = $planete->ss;
if (isset($_GET['systeme'])) {
$s = intval(gpc('systeme'));
} elseif (isset($_GET['ss'])) {
$s = intval(gpc('ss'));
} else {
$s = $planete->ss;
}
//Validation du numéro de système
if ($s < 1)
$s = 1;
if ($s > $VAR['nb_systeme'])
$s = $VAR['nb_systeme'];
if ($s < 1) {
$s = 1;
}
if ($s > $VAR['nb_systeme']) {
$s = $VAR['nb_systeme'];
}
//Calcul des prochains amas et systèmes
if ($s == 1 && $g > 1)
{
$Gmu = $g - 1;
$Smu = $VAR['nb_systeme'];
if ($s == 1 && $g > 1) {
$Gmu = $g - 1;
$Smu = $VAR['nb_systeme'];
} elseif ($s == 1) {
$Gmu = 15;
$Smu = $VAR['nb_systeme'];
} else {
$Gmu = $g;
$Smu = $s - 1;
}
elseif ($s == 1)
{
$Gmu = 15;
$Smu = $VAR['nb_systeme'];
}
else
{
$Gmu = $g;
$Smu = $s - 1;
}
if ($s == $VAR['nb_systeme'])
{
$Gpu = $g + 1;
$Spu = 1;
}
else
{
$Gpu = $g;
$Spu = $s + 1;
if ($s == $VAR['nb_systeme']) {
$Gpu = $g + 1;
$Spu = 1;
} else {
$Gpu = $g;
$Spu = $s + 1;
}
//Erreur au cas où la zone soit trop lointaine par rapport au niveau de la technologie
@ -66,37 +67,32 @@ else
//Génération de la carte à afficher
$TEMP_carte = array();
for ($i = 1; $i <= $VAR['nb_planete']; $i++)
{
//Cas d'un système à astéroïde
if ($s%5 == 2 && $i == ceil($VAR['nb_planete']/2))
{
$bdd->reconnexion();
$d = $bdd->unique_query("SELECT race, nom_asteroide, debris_met, debris_cri, nom_alliance, image, tag, fondateur FROM $table_alliances WHERE galaxie = $g AND ss = $s;");
$bdd->deconnexion();
if($d)
$TEMP_carte[] = array('A', $d['nom_asteroide'], $d['debris_met'], $d['debris_cri'], $d['race'], $d['nom_alliance'], $d['tag'], $d['image'], 0);
else
$TEMP_carte[] = array('A');
}
for ($i = 1; $i <= $VAR['nb_planete']; $i++) {
//Cas d'un système à astéroïde
if ($s%5 == 2 && $i == ceil($VAR['nb_planete']/2)) {
$bdd->reconnexion();
$d = $bdd->unique_query("SELECT race, nom_asteroide, debris_met, debris_cri, nom_alliance, image, tag, fondateur FROM $table_alliances WHERE galaxie = $g AND ss = $s;");
$bdd->deconnexion();
if ($d) {
$TEMP_carte[] = array('A', $d['nom_asteroide'], $d['debris_met'], $d['debris_cri'], $d['race'], $d['nom_alliance'], $d['tag'], $d['image'], 0);
} else {
$TEMP_carte[] = array('A');
}
}
$bdd->reconnexion();
$resultat = $bdd->query("SELECT id FROM $table_planete WHERE galaxie = $g AND ss = $s AND position = $i;");
if($resultat)
{
$d = $bdd->unique_query("SELECT P.nom_planete, P.image, P.debris_met, P.debris_cri, U.pseudo, U.race, U.politique, U.id_alliance, A.tag FROM $table_planete P INNER JOIN $table_user U ON U.id = P.id_user LEFT OUTER JOIN $table_alliances A ON A.id = U.id_alliance WHERE P.galaxie = $g AND P.ss = $s AND P.position = $i;");
$bdd->deconnexion();
$bdd->reconnexion();
$resultat = $bdd->query("SELECT id FROM $table_planete WHERE galaxie = $g AND ss = $s AND position = $i;");
if ($resultat) {
$d = $bdd->unique_query("SELECT P.nom_planete, P.image, P.debris_met, P.debris_cri, U.pseudo, U.race, U.politique, U.id_alliance, A.tag FROM $table_planete P INNER JOIN $table_user U ON U.id = P.id_user LEFT OUTER JOIN $table_alliances A ON A.id = U.id_alliance WHERE P.galaxie = $g AND P.ss = $s AND P.position = $i;");
$bdd->deconnexion();
$TEMP_carte[] = array($i, $d['nom_planete'], $d['debris_met'], $d['debris_cri'], $d['race'], $d['pseudo'], $d['tag'], $d['image'], $d['politique']);
}
else
{
$bdd->deconnexion();
$TEMP_carte[] = array($i);
}
$TEMP_carte[] = array($i, $d['nom_planete'], $d['debris_met'], $d['debris_cri'], $d['race'], $d['pseudo'], $d['tag'], $d['image'], $d['politique']);
} else {
$bdd->deconnexion();
$TEMP_carte[] = array($i);
}
}
$template->assign('carte', $TEMP_carte);
$template->assign('position', array($g, $s, $Gpu, $Spu, $Gmu, $Smu));
unset($TEMP_carte, $g, $s, $Gpu, $Spu, $Gmu, $Smu, $resultat, $d, $i);
?>

View file

@ -1,51 +1,52 @@
<?php
if(!defined('ONYX'))
exit;
if (!defined('ONYX')) {
exit;
}
$page = 'caserne';
$titre = $LANG[$planete->race]['batiments']['noms_sing'][9];
//Vérification que le joueur ait bien une caserne avant d'afficher la page
if ($planete->batiments[9] <= 0)
erreur('Vous devez d\'abord construire une '.$LANG[$planete->race]['batiments']['noms_sing'][9], "red", '?p=batiments', 3500);
if ($planete->batiments[9] <= 0) {
erreur('Vous devez d\'abord construire une '.$LANG[$planete->race]['batiments']['noms_sing'][9], "red", '?p=batiments', 3500);
}
$lieu = intval(gpc("k"));
if ($lieu >= $planete->batiments[9] || $lieu < 0)
$lieu = 0;
if ($lieu >= $planete->batiments[9] || $lieu < 0) {
$lieu = 0;
}
//Lancement d'un nouvel entrainement
if (isset($_GET['c']) && ($id = intval(gpc('c'))) >= 0 && $nbc = floor(gpc('cas'.$id, 'post')))
{
$planete->file_cas->addObjet($id, $nbc, $planete, $lieu);
if (isset($_GET['c']) && ($id = intval(gpc('c'))) >= 0 && $nbc = floor(gpc('cas'.$id, 'post'))) {
$planete->file_cas->addObjet($id, $nbc, $planete, $lieu);
redirection($VAR['menu']['caserne']."&k=".$lieu);
redirection($VAR['menu']['caserne']."&k=".$lieu);
}
//Annulation d'un entrainement
if (isset($_GET['a']) && isset($_GET['b']))
{
$n = intval(gpc('s'));
if (empty($n)) $n = 1;
$planete->file_cas->delObjet(intval(gpc('b')), $n, intval(gpc('a')), $planete);
if (isset($_GET['a']) && isset($_GET['b'])) {
$n = intval(gpc('s'));
if (empty($n)) {
$n = 1;
}
$planete->file_cas->delObjet(intval(gpc('b')), $n, intval(gpc('a')), $planete);
redirection($VAR['menu']['caserne']."&k=".$lieu);
redirection($VAR['menu']['caserne']."&k=".$lieu);
}
$TEMP_liste = array();
foreach($planete->casernes as $i => $nombre)
{
if (!empty($LANG[$planete->race]['caserne']['noms_sing'][$i]) && dCaserne::needed($i, $planete))
{
$TEMP_liste[] = array (
'id' => $i,
'image' => dCaserne::image($i, $planete),
'nombre' => $nombre,
'nec_metal' => dCaserne::metal($i, 1, $planete),
'nec_cristal' => dCaserne::cristal($i, 1, $planete),
'nec_hydrogene' => dCaserne::hydrogene($i, 1, $planete),
'temps' => sec(dCaserne::temps($i, 1, $planete)),
'enfile' => $planete->file_cas->objectInFile($i)
);
}
foreach ($planete->casernes as $i => $nombre) {
if (!empty($LANG[$planete->race]['caserne']['noms_sing'][$i]) && dCaserne::needed($i, $planete)) {
$TEMP_liste[] = array(
'id' => $i,
'image' => dCaserne::image($i, $planete),
'nombre' => $nombre,
'nec_metal' => dCaserne::metal($i, 1, $planete),
'nec_cristal' => dCaserne::cristal($i, 1, $planete),
'nec_hydrogene' => dCaserne::hydrogene($i, 1, $planete),
'temps' => sec(dCaserne::temps($i, 1, $planete)),
'enfile' => $planete->file_cas->objectInFile($i)
);
}
}
$template->assign('unites', $TEMP_liste);
@ -53,4 +54,3 @@ $template->assign('lieu', $lieu);
$template->assign('files', $planete->file_cas->printFile($planete));
unset($TEMP_liste, $i, $n, $niveau);
?>

View file

@ -1,69 +1,70 @@
<?php
if(!defined('ONYX'))
exit;
if (!defined('ONYX')) {
exit;
}
$page = 'chantierspatial';
if (SURFACE == "planete")
$titre = ucfirst($LANG[$planete->race]['batiments']['noms_sing'][8]);
else
$titre = ucfirst($LANG[$planete->race]['alli_batiments']['noms_sing'][3]);
if (SURFACE == "planete") {
$titre = ucfirst($LANG[$planete->race]['batiments']['noms_sing'][8]);
} else {
$titre = ucfirst($LANG[$planete->race]['alli_batiments']['noms_sing'][3]);
}
//Si l'on est sur un astéroide, on vérifie que le joueur ait les permissions nécessaire
if (SURFACE == "asteroide" && !($planete->permissions_alliance &2))
erreur("Vous n'avez pas le grade requis pour vous occuper des vaisseaux de l'astéroide.");
if (SURFACE == "asteroide" && !($planete->permissions_alliance &2)) {
erreur("Vous n'avez pas le grade requis pour vous occuper des vaisseaux de l'astéroide.");
}
//Vérification que le joueur ait bien un labo avant d'afficher la page
if (SURFACE == "planete" && $planete->batiments[8] <= 0)
erreur('Vous devez d\'abord construire un '.$LANG[$planete->race]['batiments']['noms_sing'][8], "red", '?p=batiments', 3500);
elseif(SURFACE == "asteroide" && $planete->batiments[3] <= 0)
erreur('Vous devez d\'abord construire une '.$LANG[$planete->race]['alli_batiments']['noms_sing'][3], "red", '?p=batiments', 3500);
if (SURFACE == "planete")
{
$lieu = intval(gpc("k"));
if ($lieu >= $planete->batiments[8] || $lieu < 0)
$lieu = 0;
if (SURFACE == "planete" && $planete->batiments[8] <= 0) {
erreur('Vous devez d\'abord construire un '.$LANG[$planete->race]['batiments']['noms_sing'][8], "red", '?p=batiments', 3500);
} elseif (SURFACE == "asteroide" && $planete->batiments[3] <= 0) {
erreur('Vous devez d\'abord construire une '.$LANG[$planete->race]['alli_batiments']['noms_sing'][3], "red", '?p=batiments', 3500);
}
elseif (SURFACE == "asteroide")
{
$lieu = intval(gpc("k"));
if ($lieu >= $planete->batiments[3] || $lieu < 0)
$lieu = 0;
if (SURFACE == "planete") {
$lieu = intval(gpc("k"));
if ($lieu >= $planete->batiments[8] || $lieu < 0) {
$lieu = 0;
}
} elseif (SURFACE == "asteroide") {
$lieu = intval(gpc("k"));
if ($lieu >= $planete->batiments[3] || $lieu < 0) {
$lieu = 0;
}
}
//Lancement d'une nouvelle construction
if (isset($_GET['v']) && ($id = intval(gpc('v'))) >= 0 && $nbv = floor(gpc('vais'.$id, 'post')))
{
$planete->file_vais->addObjet($id, $nbv, $planete, $lieu);
if (isset($_GET['v']) && ($id = intval(gpc('v'))) >= 0 && $nbv = floor(gpc('vais'.$id, 'post'))) {
$planete->file_vais->addObjet($id, $nbv, $planete, $lieu);
redirection($VAR['menu']['chantierspatial']."&k=".$lieu);
redirection($VAR['menu']['chantierspatial']."&k=".$lieu);
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($_GET['b']))
{
$n = intval(gpc('s'));
if (empty($n)) $n = 1;
$planete->file_vais->delObjet(intval(gpc('b')), $n, intval(gpc('a')), $planete);
if (isset($_GET['a']) && isset($_GET['b'])) {
$n = intval(gpc('s'));
if (empty($n)) {
$n = 1;
}
$planete->file_vais->delObjet(intval(gpc('b')), $n, intval(gpc('a')), $planete);
redirection($VAR['menu']['chantierspatial']."&k=".$lieu);
redirection($VAR['menu']['chantierspatial']."&k=".$lieu);
}
$TEMP_liste = array();
foreach($planete->vaisseaux as $i => $nombre)
{
if (!empty($LANG[$planete->race]['vaisseaux']['noms_sing'][$i]) && dSpatial::needed($i, $planete))
{
$TEMP_liste[] = array (
'id' => $i,
'image' => dSpatial::image($i, $planete),
'nombre' => $nombre,
'nec_metal' => dSpatial::metal($i, 1, $planete),
'nec_cristal' => dSpatial::cristal($i, 1, $planete),
'nec_hydrogene' => dSpatial::hydrogene($i, 1, $planete),
'temps' => sec(dSpatial::temps($i, 1, $planete)),
'enfile' => $planete->file_vais->objectInFile($i)
);
}
foreach ($planete->vaisseaux as $i => $nombre) {
if (!empty($LANG[$planete->race]['vaisseaux']['noms_sing'][$i]) && dSpatial::needed($i, $planete)) {
$TEMP_liste[] = array(
'id' => $i,
'image' => dSpatial::image($i, $planete),
'nombre' => $nombre,
'nec_metal' => dSpatial::metal($i, 1, $planete),
'nec_cristal' => dSpatial::cristal($i, 1, $planete),
'nec_hydrogene' => dSpatial::hydrogene($i, 1, $planete),
'temps' => sec(dSpatial::temps($i, 1, $planete)),
'enfile' => $planete->file_vais->objectInFile($i)
);
}
}
$template->assign('vaisseaux', $TEMP_liste);
@ -71,4 +72,3 @@ $template->assign('lieu', $lieu);
$template->assign('files', $planete->file_vais->printFile($planete));
unset($TEMP_liste, $i, $n, $niveau);
?>

View file

@ -1,58 +1,60 @@
<?php
if(!defined('ONYX'))
exit;
if (!defined('ONYX')) {
exit;
}
$page = $p;
$onglet = gpc('n');
if (!empty($onglet))
$template->assign('onglet', $onglet);
else
$template->assign('onglet', "unites");
if (!empty($onglet)) {
$template->assign('onglet', $onglet);
} else {
$template->assign('onglet', "unites");
}
$titre = ucfirst($LANG[$planete->race]['batiments']['noms_sing'][7]);
//Vérification que le joueur ait bien un labo avant d'afficher la page
if ($planete->batiments[7] <= 0)
erreur('Vous devez d\'abord construire un '.$LANG[$planete->race]['batiments']['noms_sing'][7], "red", '?p=batiments', 3500);
if ($planete->batiments[7] <= 0) {
erreur('Vous devez d\'abord construire un '.$LANG[$planete->race]['batiments']['noms_sing'][7], "red", '?p=batiments', 3500);
}
$lieu = intval(gpc("k"));
if ($lieu >= $planete->batiments[7] || $lieu < 0)
$lieu = 0;
if ($lieu >= $planete->batiments[7] || $lieu < 0) {
$lieu = 0;
}
//Lancement d'une nouvelle construction
if (isset($_GET['v']) && ($id = intval(gpc('v'))) >= 0 && $nbv = floor(gpc('terr'.$id, 'post')))
{
$planete->file_ter->addObjet($id, $nbv, $planete, $lieu);
if (isset($_GET['v']) && ($id = intval(gpc('v'))) >= 0 && $nbv = floor(gpc('terr'.$id, 'post'))) {
$planete->file_ter->addObjet($id, $nbv, $planete, $lieu);
redirection($VAR['menu'][$p].'&k='.$lieu.'&n='.$onglet);
redirection($VAR['menu'][$p].'&k='.$lieu.'&n='.$onglet);
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($_GET['b']))
{
$n = intval(gpc('s'));
if (empty($n)) $n = 1;
$planete->file_ter->delObjet(intval(gpc('b')), $n, intval(gpc('a')), $planete);
if (isset($_GET['a']) && isset($_GET['b'])) {
$n = intval(gpc('s'));
if (empty($n)) {
$n = 1;
}
$planete->file_ter->delObjet(intval(gpc('b')), $n, intval(gpc('a')), $planete);
redirection($VAR['menu'][$p].'&k='.$lieu.'&n='.$onglet);
redirection($VAR['menu'][$p].'&k='.$lieu.'&n='.$onglet);
}
$TEMP_liste = array();
foreach($planete->terrestres as $i => $nombre)
{
$type = dTerrestre::type($i);
foreach ($planete->terrestres as $i => $nombre) {
$type = dTerrestre::type($i);
if (!empty($LANG[$planete->race]['terrestre']['noms_sing'][$i]) && (($onglet == "defenses" && !$type) || ($onglet != "defenses" && $type)) && dTerrestre::needed($i, $planete))
{
$TEMP_liste[] = array (
'id' => $i,
'image' => dTerrestre::image($i, $planete),
'nombre' => $nombre,
'nec_metal' => dTerrestre::metal($i, 1, $planete),
'nec_cristal' => dTerrestre::cristal($i, 1, $planete),
'nec_hydrogene' => dTerrestre::hydrogene($i, 1, $planete),
'temps' => sec(dTerrestre::temps($i, 1, $planete)),
'enfile' => $planete->file_ter->objectInFile($i)
);
}
if (!empty($LANG[$planete->race]['terrestre']['noms_sing'][$i]) && (($onglet == "defenses" && !$type) || ($onglet != "defenses" && $type)) && dTerrestre::needed($i, $planete)) {
$TEMP_liste[] = array(
'id' => $i,
'image' => dTerrestre::image($i, $planete),
'nombre' => $nombre,
'nec_metal' => dTerrestre::metal($i, 1, $planete),
'nec_cristal' => dTerrestre::cristal($i, 1, $planete),
'nec_hydrogene' => dTerrestre::hydrogene($i, 1, $planete),
'temps' => sec(dTerrestre::temps($i, 1, $planete)),
'enfile' => $planete->file_ter->objectInFile($i)
);
}
}
$template->assign('unites', $TEMP_liste);
@ -60,4 +62,3 @@ $template->assign('lieu', $lieu);
$template->assign('files', $planete->file_ter->printFile($planete));
unset($TEMP_liste, $i, $n, $niveau, $onglet, $type);
?>

View file

@ -1,153 +1,133 @@
<?php
if(!defined('INDEX') || SURFACE != "planete") { header('Location: ./'.$VAR['first_page']); exit; }
if (!defined('INDEX') || SURFACE != "planete") {
header('Location: ./'.$VAR['first_page']);
exit;
}
$page = 'description';
$titre = 'D&eacute;tails';
function tableauProd($ibat,$nivo)
function tableauProd($ibat, $nivo)
{
$return = array();
$c = $nivo-2 < 1 ? 1 : $nivo-2;
$a = $c + 6;
$return = array();
$c = $nivo-2 < 1 ? 1 : $nivo-2;
$a = $c + 6;
if ($ibat == 0)
{
for ($c; $c < $a; $c++)
{
$production = ceil(pow(1.1, $c) * 52 * $c);
$production_diff = ceil(pow(1.1, $c) * 52 * $c) - ceil(pow(1.1, $nivo) * 52 * $nivo);
if ($ibat == 0) {
for ($c; $c < $a; $c++) {
$production = ceil(pow(1.1, $c) * 52 * $c);
$production_diff = ceil(pow(1.1, $c) * 52 * $c) - ceil(pow(1.1, $nivo) * 52 * $nivo);
$energie = ceil(exp(0.28*$c)*10);
$energie_diff = ceil(exp(0.28*$c)*10) - ceil(exp(0.28*$nivo)*10);
$energie = ceil(exp(0.28*$c)*10);
$energie_diff = ceil(exp(0.28*$c)*10) - ceil(exp(0.28*$nivo)*10);
$return[] = array($c, $production, $energie, $production_diff, $energie_diff);
}
}
elseif ($ibat == 1)
{
for ($c; $c < $a; $c++)
{
$production = ceil(pow(1.1, $c) * 34 * $c);
$production_diff = ceil(pow(1.1, $c) * 34 * $c) - ceil(pow(1.1, $nivo) * 52 * $nivo);
$return[] = array($c, $production, $energie, $production_diff, $energie_diff);
}
} elseif ($ibat == 1) {
for ($c; $c < $a; $c++) {
$production = ceil(pow(1.1, $c) * 34 * $c);
$production_diff = ceil(pow(1.1, $c) * 34 * $c) - ceil(pow(1.1, $nivo) * 52 * $nivo);
$energie = ceil(exp(0.28*$c)*10);
$energie_diff = ceil(exp(0.28*$c)*10) - ceil(exp(0.28*$nivo)*10);
$energie = ceil(exp(0.28*$c)*10);
$energie_diff = ceil(exp(0.28*$c)*10) - ceil(exp(0.28*$nivo)*10);
$return[] = array($c, $production, $energie, $production_diff, $energie_diff);
}
}
elseif ($ibat == 2)
{
for ($c; $c < $a; $c++)
{
$production = ceil(pow(1.1, $c) * 21 * ($c + 0.7));
$production_diff = ceil(pow(1.1, $c) * 21 * ($c + 0.7)) - ceil(pow(1.1, $nivo) * 21 * ($nivo + 0.7));
$return[] = array($c, $production, $energie, $production_diff, $energie_diff);
}
} elseif ($ibat == 2) {
for ($c; $c < $a; $c++) {
$production = ceil(pow(1.1, $c) * 21 * ($c + 0.7));
$production_diff = ceil(pow(1.1, $c) * 21 * ($c + 0.7)) - ceil(pow(1.1, $nivo) * 21 * ($nivo + 0.7));
$energie = ceil(exp(0.2849*$c)*13);
$energie_diff = ceil(exp(0.2849*$c)*13) - ceil(exp(0.2849*$nivo)*13);
$energie = ceil(exp(0.2849*$c)*13);
$energie_diff = ceil(exp(0.2849*$c)*13) - ceil(exp(0.2849*$nivo)*13);
$return[] = array($c, $production, $energie, $production_diff, $energie_diff);
}
}
elseif ($ibat == 3)
{
for ($c; $c < $a; $c++)
{
$production = ceil(exp(0.28*$c)*22);
$production_diff = ceil(exp(0.28*$c)*22) - ceil(exp(0.28*$nivo)*22);
$return[] = array($c, $production, $energie, $production_diff, $energie_diff);
}
} elseif ($ibat == 3) {
for ($c; $c < $a; $c++) {
$production = ceil(exp(0.28*$c)*22);
$production_diff = ceil(exp(0.28*$c)*22) - ceil(exp(0.28*$nivo)*22);
$return[] = array($c, $production, 0, $production_diff, 0);
}
}
elseif ($ibat == 4) {
for ($c; $c < $a; $c++)
{
$production = ceil(exp(0.297*$c)*25);
$production_diff = ceil(exp(0.297*$c)*25) - ceil(exp(0.297*$nivo)*25);
$return[] = array($c, $production, 0, $production_diff, 0);
}
} elseif ($ibat == 4) {
for ($c; $c < $a; $c++) {
$production = ceil(exp(0.297*$c)*25);
$production_diff = ceil(exp(0.297*$c)*25) - ceil(exp(0.297*$nivo)*25);
$energie = ceil(pow(1.34,($c-1)) * 9);
$energie_diff = ceil(pow(1.34,($c-1)) * 9) - ceil(pow(1.34,($nivo-1)) * 9);
$energie = ceil(pow(1.34, ($c-1)) * 9);
$energie_diff = ceil(pow(1.34, ($c-1)) * 9) - ceil(pow(1.34, ($nivo-1)) * 9);
$return[] = array($c, $production, $energie, $production_diff, $energie_diff);
}
}
else
return false;
$return[] = array($c, $production, $energie, $production_diff, $energie_diff);
}
} else {
return false;
}
return $return;
return $return;
}
if (empty($_GET['r']) || ($_GET['r'] != 'humain' && $_GET['r'] != 'covenant'))
$_GET['r'] = $planete->race;
if (empty($_GET['r']) || ($_GET['r'] != 'humain' && $_GET['r'] != 'covenant')) {
$_GET['r'] = $planete->race;
}
$race = gpc('r');
$template->assign('raceAff', $race);
if (isset($_GET['t']) && is_numeric($_GET['t']) && !empty($LANG[$race]["technologies"]["noms_sing"][$_GET['b']][$_GET['t']]))
{
$template->assign('type', 'technologies');
$b = intval(gpc('b'));
$t = intval(gpc('t'));
$template->assign('branche', $b);
$template->assign('id', $t);
if (isset($_GET['t']) && is_numeric($_GET['t']) && !empty($LANG[$race]["technologies"]["noms_sing"][$_GET['b']][$_GET['t']])) {
$template->assign('type', 'technologies');
$b = intval(gpc('b'));
$t = intval(gpc('t'));
$template->assign('branche', $b);
$template->assign('id', $t);
$template->assign('ressourcesNext', array(Donnee::creditsTechnologie($b, $t, $planete), Donnee::tempsTechnologie($b, $t, $planete)));
$template->assign('ressourcesNext', array(Donnee::creditsTechnologie($b, $t, $planete), Donnee::tempsTechnologie($b, $t, $planete)));
$template->assign('etat', Donnee::print_neededTechnologie($b, $t, $planete, $race));
$template->assign('etat', Donnee::print_neededTechnologie($b, $t, $planete, $race));
} elseif (isset($_GET['b']) && is_numeric($_GET['b']) && !empty($LANG[$race]["batiments"]["noms_sing"][$_GET['b']])) {
$template->assign('type', 'batiments');
$t = intval(gpc('b'));
$template->assign('id', $t);
$template->assign('image', dBatiments::image($t, $planete));
$template->assign('tableau_prod', tableauProd($t, $planete->batiments[$t]));
$n = $planete->batiments[$t] + 1;
$template->assign('ressourcesNext', array(dBatiments::metal($t, $n, $planete), dBatiments::cristal($t, $n, $planete), dBatiments::hydrogene($t, $n, $planete), dBatiments::temps($t, $n, $planete)));
$template->assign('etat', dBatiments::needed($t, $planete, true));
} elseif (isset($_GET['v']) && is_numeric($_GET['v']) && !empty($LANG[$race]["vaisseaux"]["noms_sing"][$_GET['v']])) {
$template->assign('type', 'vaisseaux');
$t = intval(gpc('v'));
$template->assign('id', $t);
$template->assign('image', dSpatial::image($t, $planete));
$template->assign('ressourcesNext', array(dSpatial::metal($t, 1, $planete), dSpatial::cristal($t, 1, $planete), dSpatial::hydrogene($t, 1, $planete), dSpatial::temps($t, 1, $planete)));
$template->assign('etat', dSpatial::needed($t, $planete, $race));
$template->assign('caract', array($nomvais_at[$t], $nomvais_bc[$t], $nomvais_pv[$t], $nomvais_rs[$t]));
} elseif (isset($_GET['d']) && is_numeric($_GET['d']) && !empty($LANG[$race]["terrestre"]["noms_sing"][$_GET['d']])) {
$template->assign('type', 'terrestre');
$t = gpc('d');
$template->assign('id', $t);
$template->assign('image', dTerrestre::image($t, $planete));
$template->assign('ressourcesNext', array(dTerrestre::metal($t, 1, $planete), dTerrestre::cristal($t, 1, $planete), dTerrestre::hydrogene($t, 1, $planete), dTerrestre::temps($t, 1, $planete)));
$template->assign('etat', dTerrestre::needed($t, $planete, true));
if ($t-8 >= 0) {
$t -= 8;
$template->assign('caract', array($defense_at[$t], $defense_bc[$t], $defense_pv[$t]));
}
} elseif (isset($_GET['c']) && is_numeric($_GET['c']) && !empty($LANG[$race]["caserne"]["noms_sing"][$_GET['c']])) {
$template->assign('type', 'caserne');
$t = gpc('c');
$template->assign('id', $t);
$template->assign('image', dCaserne::image($t, $planete));
$template->assign('ressourcesNext', array(dCaserne::metal($t, 1, $planete), dCaserne::cristal($t, 1, $planete), dCaserne::hydrogene($t, 1, $planete), dCaserne::temps($t, 1, $planete)));
$template->assign('etat', dCaserne::needed($t, $planete, true));
$template->assign('caract', array('!!', '!!', '!!'));
} else {
redirection('?p=accueil');
}
elseif (isset($_GET['b']) && is_numeric($_GET['b']) && !empty($LANG[$race]["batiments"]["noms_sing"][$_GET['b']]))
{
$template->assign('type', 'batiments');
$t = intval(gpc('b'));
$template->assign('id', $t);
$template->assign('image', dBatiments::image($t, $planete));
$template->assign('tableau_prod', tableauProd($t, $planete->batiments[$t]));
$n = $planete->batiments[$t] + 1;
$template->assign('ressourcesNext', array(dBatiments::metal($t, $n, $planete), dBatiments::cristal($t, $n, $planete), dBatiments::hydrogene($t, $n, $planete), dBatiments::temps($t, $n, $planete)));
$template->assign('etat', dBatiments::needed($t, $planete, true));
}
elseif (isset($_GET['v']) && is_numeric($_GET['v']) && !empty($LANG[$race]["vaisseaux"]["noms_sing"][$_GET['v']]))
{
$template->assign('type', 'vaisseaux');
$t = intval(gpc('v'));
$template->assign('id', $t);
$template->assign('image', dSpatial::image($t, $planete));
$template->assign('ressourcesNext', array(dSpatial::metal($t, 1, $planete), dSpatial::cristal($t, 1, $planete), dSpatial::hydrogene($t, 1, $planete), dSpatial::temps($t, 1, $planete)));
$template->assign('etat', dSpatial::needed($t, $planete, $race));
$template->assign('caract', array($nomvais_at[$t], $nomvais_bc[$t], $nomvais_pv[$t], $nomvais_rs[$t]));
}
elseif (isset($_GET['d']) && is_numeric($_GET['d']) && !empty($LANG[$race]["terrestre"]["noms_sing"][$_GET['d']]))
{
$template->assign('type', 'terrestre');
$t = gpc('d');
$template->assign('id', $t);
$template->assign('image', dTerrestre::image($t, $planete));
$template->assign('ressourcesNext', array(dTerrestre::metal($t, 1, $planete), dTerrestre::cristal($t, 1, $planete), dTerrestre::hydrogene($t, 1, $planete), dTerrestre::temps($t, 1, $planete)));
$template->assign('etat', dTerrestre::needed($t, $planete, true));
if ($t-8 >= 0)
{
$t -= 8;
$template->assign('caract', array($defense_at[$t], $defense_bc[$t], $defense_pv[$t]));
}
}
elseif (isset($_GET['c']) && is_numeric($_GET['c']) && !empty($LANG[$race]["caserne"]["noms_sing"][$_GET['c']]))
{
$template->assign('type', 'caserne');
$t = gpc('c');
$template->assign('id', $t);
$template->assign('image', dCaserne::image($t, $planete));
$template->assign('ressourcesNext', array(dCaserne::metal($t, 1, $planete), dCaserne::cristal($t, 1, $planete), dCaserne::hydrogene($t, 1, $planete), dCaserne::temps($t, 1, $planete)));
$template->assign('etat', dCaserne::needed($t, $planete, true));
$template->assign('caract', array('!!', '!!', '!!'));
}
else
redirection('?p=accueil');
unset($t, $race);
?>

View file

@ -1,199 +1,174 @@
<?php
if(!defined('INDEX') || SURFACE != "asteroide") { header('Location: ../'); exit; }
if (!defined('INDEX') || SURFACE != "asteroide") {
header('Location: ../');
exit;
}
$onglet = strtolower(gpc('o'));
if ($onglet == "new")
{
$page = "diplomatie/nouveau";
if ($onglet == "new") {
$page = "diplomatie/nouveau";
//On vérifie que le joueur ait les permissions pour modifier les grades
if (!($planete->permissions_alliance &8))
erreur("Vous n'avez pas le grade nécessaire pour créer des pactes !");
//On vérifie que le joueur ait les permissions pour modifier les grades
if (!($planete->permissions_alliance &8)) {
erreur("Vous n'avez pas le grade nécessaire pour créer des pactes !");
}
$type = intval(gpc("type", 'post'));
$nom_alli = gpc("nom_alli", 'post');
if (isset($_POST["type"]) && !empty($nom_alli) && $type >= 0 && $type < 5)
{
$bdd->reconnexion();
$bdd->escape($nom_alli);
$alli = $bdd->unique_query("SELECT id FROM $table_alliances WHERE nom_alliance LIKE '$nom_alli';");
if (empty($alli))
erreur("Impossible de trouver cette alliance. Vérifiez le nom !");
//On détecte tous les types de pactes en cas de guerre (pour éviter d'attaquer avec un pacte de non agression !
if ($type)
$pacte = $bdd->query("SELECT id FROM $table_alliances_pactes WHERE type = $type AND time_fin = 0 AND (accepte = 0 OR accepte = 1) AND ((id_alliance1 = ".$planete->id." AND id_alliance2 = ".$alli['id'].") OR (id_alliance2 = ".$planete->id." AND id_alliance1 = ".$alli['id']."));");
else
$pacte = $bdd->query("SELECT id FROM $table_alliances_pactes WHERE time_fin = 0 AND (accepte = 0 OR accepte = 1) AND ((id_alliance1 = ".$planete->id." AND id_alliance2 = ".$alli['id'].") OR (id_alliance2 = ".$planete->id." AND id_alliance1 = ".$alli['id']."));");
$type = intval(gpc("type", 'post'));
$nom_alli = gpc("nom_alli", 'post');
if (isset($_POST["type"]) && !empty($nom_alli) && $type >= 0 && $type < 5) {
$bdd->reconnexion();
$bdd->escape($nom_alli);
$alli = $bdd->unique_query("SELECT id FROM $table_alliances WHERE nom_alliance LIKE '$nom_alli';");
if (empty($alli)) {
erreur("Impossible de trouver cette alliance. Vérifiez le nom !");
}
//On détecte tous les types de pactes en cas de guerre (pour éviter d'attaquer avec un pacte de non agression !
if ($type) {
$pacte = $bdd->query("SELECT id FROM $table_alliances_pactes WHERE type = $type AND time_fin = 0 AND (accepte = 0 OR accepte = 1) AND ((id_alliance1 = ".$planete->id." AND id_alliance2 = ".$alli['id'].") OR (id_alliance2 = ".$planete->id." AND id_alliance1 = ".$alli['id']."));");
} else {
$pacte = $bdd->query("SELECT id FROM $table_alliances_pactes WHERE time_fin = 0 AND (accepte = 0 OR accepte = 1) AND ((id_alliance1 = ".$planete->id." AND id_alliance2 = ".$alli['id'].") OR (id_alliance2 = ".$planete->id." AND id_alliance1 = ".$alli['id']."));");
}
if (!empty($pacte) && !$type)
erreur("Avant de déclarer une guerre, veuillez abroger tous vos pactes de paix !");
elseif (!empty($pacte))
erreur("Vous avez déjà un pacte similaire avec cette alliance !");
if (!empty($pacte) && !$type) {
erreur("Avant de déclarer une guerre, veuillez abroger tous vos pactes de paix !");
} elseif (!empty($pacte)) {
erreur("Vous avez déjà un pacte similaire avec cette alliance !");
}
if ($type)
$bdd->query("INSERT INTO $table_alliances_pactes (id_alliance1, id_alliance2, type, time_creation) VALUES (".$planete->id.", ".$alli['id'].", $type, ".time().");");
else
$bdd->query("INSERT INTO $table_alliances_pactes (id_alliance1, id_alliance2, type, time_creation, accepte) VALUES (".$planete->id.", ".$alli['id'].", $type, ".time().", 1);");
$bdd->deconnexion();
if ($type) {
$bdd->query("INSERT INTO $table_alliances_pactes (id_alliance1, id_alliance2, type, time_creation) VALUES (".$planete->id.", ".$alli['id'].", $type, ".time().");");
} else {
$bdd->query("INSERT INTO $table_alliances_pactes (id_alliance1, id_alliance2, type, time_creation, accepte) VALUES (".$planete->id.", ".$alli['id'].", $type, ".time().", 1);");
}
$bdd->deconnexion();
if ($type)
erreur("La demande de pacte a bien été enregistrée.", "green");
else
erreur("La déclaration a bien été enregistrée.", "green");
}
elseif(!empty($_GET['c']))
{
$id = intval(gpc('c'));
$bdd->reconnexion();
$demand = $bdd->unique_query("SELECT id_alliance1, id_alliance2, accepte FROM $table_alliances_pactes WHERE id = $id AND (id_alliance2 = ".$planete->id." OR id_alliance1 = ".$planete->id.") AND type = 0;");
if (!isset($demand['accepte']) || ($demand['accepte'] == 1 && $planete->id == $demand['id_alliance2']) || ($demand['accepte'] == 2 && $planete->id == $demand['id_alliance1']))
{
$bdd->deconnexion();
erreur("Impossible de demander le cesser le feu, n'êtes-vous pas dans la position du demandeur !");
}
elseif ($demand['accepte'] == 0)
{
$bdd->deconnexion();
erreur("Une demande de cesser le feu est déjà en cours !");
}
elseif ($demand['accepte'] == 1)
{
$bdd->query("UPDATE $table_alliances_pactes SET accepte = 0 WHERE id = $id AND id_alliance1 = ".$planete->id." AND accepte = 1;");
$bdd->deconnexion();
if ($type) {
erreur("La demande de pacte a bien été enregistrée.", "green");
} else {
erreur("La déclaration a bien été enregistrée.", "green");
}
} elseif (!empty($_GET['c'])) {
$id = intval(gpc('c'));
$bdd->reconnexion();
$demand = $bdd->unique_query("SELECT id_alliance1, id_alliance2, accepte FROM $table_alliances_pactes WHERE id = $id AND (id_alliance2 = ".$planete->id." OR id_alliance1 = ".$planete->id.") AND type = 0;");
if (!isset($demand['accepte']) || ($demand['accepte'] == 1 && $planete->id == $demand['id_alliance2']) || ($demand['accepte'] == 2 && $planete->id == $demand['id_alliance1'])) {
$bdd->deconnexion();
erreur("Impossible de demander le cesser le feu, n'êtes-vous pas dans la position du demandeur !");
} elseif ($demand['accepte'] == 0) {
$bdd->deconnexion();
erreur("Une demande de cesser le feu est déjà en cours !");
} elseif ($demand['accepte'] == 1) {
$bdd->query("UPDATE $table_alliances_pactes SET accepte = 0 WHERE id = $id AND id_alliance1 = ".$planete->id." AND accepte = 1;");
$bdd->deconnexion();
erreur("La demande de cesser le feu a bien été transmise.", "green");
}
elseif ($demand['accepte'] == 2)
{
$bdd->query("UPDATE $table_alliances_pactes SET accepte = 0, id_alliance2 = id_alliance1, id_alliance1 = ".$planete->id." WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 2;");
$bdd->deconnexion();
erreur("La demande de cesser le feu a bien été transmise.", "green");
} elseif ($demand['accepte'] == 2) {
$bdd->query("UPDATE $table_alliances_pactes SET accepte = 0, id_alliance2 = id_alliance1, id_alliance1 = ".$planete->id." WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 2;");
$bdd->deconnexion();
erreur("La demande de cesser le feu a bien été transmise.", "green");
}
}
}
elseif ($onglet == "archives")
{
$page = "diplomatie/archives";
erreur("La demande de cesser le feu a bien été transmise.", "green");
}
}
} elseif ($onglet == "archives") {
$page = "diplomatie/archives";
$bdd->reconnexion();
$guerres = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 0 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND time_fin != 0
$bdd->reconnexion();
$guerres = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 0 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND time_fin != 0
UNION SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance1 WHERE P.type = 0 AND P.id_alliance2 = ".$planete->id." AND accepte = 1 AND time_fin != 0 ORDER BY nom_alliance DESC;");
$pna = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 1 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND time_fin != 0
$pna = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 1 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND time_fin != 0
UNION SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance1 WHERE P.type = 1 AND P.id_alliance2 = ".$planete->id." AND accepte = 1 AND time_fin != 0 ORDER BY nom_alliance DESC;");
$pc = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 2 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND time_fin != 0
$pc = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 2 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND time_fin != 0
UNION SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance1 WHERE P.type = 2 AND P.id_alliance2 = ".$planete->id." AND accepte = 1 AND time_fin != 0 ORDER BY nom_alliance DESC;");
$pm = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 3 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND time_fin != 0
$pm = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 3 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND time_fin != 0
UNION SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance1 WHERE P.type = 3 AND P.id_alliance2 = ".$planete->id." AND accepte = 1 AND time_fin != 0 ORDER BY nom_alliance DESC;");
$bdd->deconnexion();
$bdd->deconnexion();
$template->assign("pnas", $pna);
$template->assign("guerres", $guerres);
$template->assign("pcs", $pc);
$template->assign("pms", $pm);
}
elseif ($onglet == "encours")
{
$page = "diplomatie/encours";
$template->assign("pnas", $pna);
$template->assign("guerres", $guerres);
$template->assign("pcs", $pc);
$template->assign("pms", $pm);
} elseif ($onglet == "encours") {
$page = "diplomatie/encours";
$bdd->reconnexion();
$guerres = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 0 AND P.id_alliance1 = ".$planete->id." AND (time_fin = 0 OR time_fin > ".time().")
$bdd->reconnexion();
$guerres = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 0 AND P.id_alliance1 = ".$planete->id." AND (time_fin = 0 OR time_fin > ".time().")
UNION SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance1 WHERE P.type = 0 AND P.id_alliance2 = ".$planete->id." AND (time_fin = 0 OR time_fin > ".time().")
ORDER BY nom_alliance DESC;");
$pna = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 1 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND (time_fin = 0 OR time_fin > ".time().")
$pna = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 1 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND (time_fin = 0 OR time_fin > ".time().")
UNION SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance1 WHERE P.type = 1 AND P.id_alliance2 = ".$planete->id." AND accepte = 1 AND (time_fin = 0 OR time_fin > ".time().")
ORDER BY nom_alliance DESC;");
$pc = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 2 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND (time_fin = 0 OR time_fin > ".time().")
$pc = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 2 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND (time_fin = 0 OR time_fin > ".time().")
UNION SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance1 WHERE P.type = 2 AND P.id_alliance2 = ".$planete->id." AND accepte = 1 AND (time_fin = 0 OR time_fin > ".time().")
ORDER BY nom_alliance DESC;");
$pm = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 3 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND (time_fin = 0 OR time_fin > ".time().")
$pm = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.type = 3 AND P.id_alliance1 = ".$planete->id." AND accepte = 1 AND (time_fin = 0 OR time_fin > ".time().")
UNION SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance1 WHERE P.type = 3 AND P.id_alliance2 = ".$planete->id." AND accepte = 1 AND (time_fin = 0 OR time_fin > ".time().")
ORDER BY nom_alliance DESC;");
$bdd->deconnexion();
$bdd->deconnexion();
$template->assign("pnas", $pna);
$template->assign("guerres", $guerres);
$template->assign("pcs", $pc);
$template->assign("pms", $pm);
}
else
{
$onglet = "actus";
$page = "diplomatie/general";
$template->assign("pnas", $pna);
$template->assign("guerres", $guerres);
$template->assign("pcs", $pc);
$template->assign("pms", $pm);
} else {
$onglet = "actus";
$page = "diplomatie/general";
if ($planete->permissions_alliance &8)
{
if (!empty($_GET['a']))
{
$id = intval(gpc('a'));
$bdd->reconnexion();
$demand = $bdd->unique_query("SELECT type FROM $table_alliances_pactes WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 0;");
if (!isset($demand['type']))
{
$bdd->deconnexion();
erreur("Impossible de trouver le pacte !");
}
elseif ($demand['type'] == 0)
{
$bdd->query("UPDATE $table_alliances_pactes SET accepte = 1, time_fin = ".time()." WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 0;");
$bdd->deconnexion();
erreur("C'est la fin de la guerre, vous vennez d'accepter le cesser le feu !", "orange", $VAR['menu']['diplomatie']);
}
else
{
$bdd->query("UPDATE $table_alliances_pactes SET accepte = 1, time_creation = ".time()." WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 0;");
$bdd->deconnexion();
erreur("Le pacte a bien été accepté.", "green", $VAR['menu']['diplomatie']);
}
}
elseif (!empty($_GET['r']))
{
$id = intval(gpc('r'));
$bdd->reconnexion();
$demand = $bdd->unique_query("SELECT type FROM $table_alliances_pactes WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 0;");
if (!isset($demand['type']))
{
$bdd->deconnexion();
erreur("Impossible de trouver le pacte !");
}
elseif ($demand['type'] == 0)
{
$bdd->query("UPDATE $table_alliances_pactes SET accepte = 2 WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 0;");
$bdd->deconnexion();
erreur("La guerre continue, vous vennez de refuser le cesser le feu !<br />Se sera désormais à vous de proposer un cesser le feu à la fin de la guerre.", "orange", $VAR['menu']['diplomatie']);
}
else
{
$bdd->query("UPDATE $table_alliances_pactes SET accepte = 2 WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 0;");
$bdd->deconnexion();
erreur("Le pacte a bien été refusé.", "orange", $VAR['menu']['diplomatie']);
}
}
elseif (!empty($_GET['s']))
{
$id = intval(gpc('s'));
$bdd->reconnexion();
$bdd->query("UPDATE $table_alliances_pactes SET time_fin = ".time()." WHERE id = $id AND (id_alliance2 = ".$planete->id." OR id_alliance1 = ".$planete->id.") AND accepte = 1;");
$bdd->deconnexion();
if ($planete->permissions_alliance &8) {
if (!empty($_GET['a'])) {
$id = intval(gpc('a'));
$bdd->reconnexion();
$demand = $bdd->unique_query("SELECT type FROM $table_alliances_pactes WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 0;");
if (!isset($demand['type'])) {
$bdd->deconnexion();
erreur("Impossible de trouver le pacte !");
} elseif ($demand['type'] == 0) {
$bdd->query("UPDATE $table_alliances_pactes SET accepte = 1, time_fin = ".time()." WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 0;");
$bdd->deconnexion();
erreur("C'est la fin de la guerre, vous vennez d'accepter le cesser le feu !", "orange", $VAR['menu']['diplomatie']);
} else {
$bdd->query("UPDATE $table_alliances_pactes SET accepte = 1, time_creation = ".time()." WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 0;");
$bdd->deconnexion();
erreur("Le pacte a bien été accepté.", "green", $VAR['menu']['diplomatie']);
}
} elseif (!empty($_GET['r'])) {
$id = intval(gpc('r'));
$bdd->reconnexion();
$demand = $bdd->unique_query("SELECT type FROM $table_alliances_pactes WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 0;");
if (!isset($demand['type'])) {
$bdd->deconnexion();
erreur("Impossible de trouver le pacte !");
} elseif ($demand['type'] == 0) {
$bdd->query("UPDATE $table_alliances_pactes SET accepte = 2 WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 0;");
$bdd->deconnexion();
erreur("La guerre continue, vous vennez de refuser le cesser le feu !<br />Se sera désormais à vous de proposer un cesser le feu à la fin de la guerre.", "orange", $VAR['menu']['diplomatie']);
} else {
$bdd->query("UPDATE $table_alliances_pactes SET accepte = 2 WHERE id = $id AND id_alliance2 = ".$planete->id." AND accepte = 0;");
$bdd->deconnexion();
erreur("Le pacte a bien été refusé.", "orange", $VAR['menu']['diplomatie']);
}
} elseif (!empty($_GET['s'])) {
$id = intval(gpc('s'));
$bdd->reconnexion();
$bdd->query("UPDATE $table_alliances_pactes SET time_fin = ".time()." WHERE id = $id AND (id_alliance2 = ".$planete->id." OR id_alliance1 = ".$planete->id.") AND accepte = 1;");
$bdd->deconnexion();
erreur("Le pacte a bien été abrogé.", "orange", $VAR['menu']['diplomatie']);
}
}
erreur("Le pacte a bien été abrogé.", "orange", $VAR['menu']['diplomatie']);
}
}
$bdd->reconnexion();
$demand = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance1 WHERE P.id_alliance2 = ".$planete->id." AND accepte = 0 ORDER BY time_demand DESC;");
$actus_alli = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.id_alliance1 = ".$planete->id."
$bdd->reconnexion();
$demand = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance1 WHERE P.id_alliance2 = ".$planete->id." AND accepte = 0 ORDER BY time_demand DESC;");
$actus_alli = $bdd->query("SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 WHERE P.id_alliance1 = ".$planete->id."
UNION SELECT P.*, A.nom_alliance, A.tag, A.id AS alliance_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance1 WHERE P.id_alliance2 = ".$planete->id." AND P.accepte != 0
ORDER BY time_demand DESC LIMIT 5;");
$actus_world = $bdd->query("SELECT P.*, A.tag AS tag1, A.nom_alliance AS nom_alliance1, A.id AS alliance1_id, B.tag AS tag2, B.nom_alliance AS nom_alliance2, B.id AS alliance2_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 INNER JOIN $table_alliances B ON B.id = P.id_alliance1 WHERE P.accepte = 1 AND P.id_alliance1 != ".$planete->id." AND P.id_alliance2 != ".$planete->id." ORDER BY time_demand DESC LIMIT 5;");
$bdd->deconnexion();
$actus_world = $bdd->query("SELECT P.*, A.tag AS tag1, A.nom_alliance AS nom_alliance1, A.id AS alliance1_id, B.tag AS tag2, B.nom_alliance AS nom_alliance2, B.id AS alliance2_id FROM $table_alliances_pactes P INNER JOIN $table_alliances A ON A.id = P.id_alliance2 INNER JOIN $table_alliances B ON B.id = P.id_alliance1 WHERE P.accepte = 1 AND P.id_alliance1 != ".$planete->id." AND P.id_alliance2 != ".$planete->id." ORDER BY time_demand DESC LIMIT 5;");
$bdd->deconnexion();
$template->assign("demandes", $demand);
$template->assign("actus_alli", $actus_alli);
$template->assign("actus_world", $actus_world);
unset($demand);
$template->assign("demandes", $demand);
$template->assign("actus_alli", $actus_alli);
$template->assign("actus_world", $actus_world);
unset($demand);
}
$template->assign("onglet", $onglet);
unset($onglet);
?>

View file

@ -1,22 +1,29 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$titre = 'Flottes';
$page = 'flotte'; //Définition d'un nom de page inexistant, mais permet de passer le nom de l'onglet dans une erreur
include_once("Class/flotte.php");
//Création de flotte : envoi final
if (!empty($_POST['cds']) && !empty($SESS->values["prepFlottes"][$_POST['cds']]))
require('game/flottes/envoyer.php');
if (!empty($_POST['cds']) && !empty($SESS->values["prepFlottes"][$_POST['cds']])) {
require('game/flottes/envoyer.php');
}
//Restauration d'une flotte sauvegardée
elseif (isset($_GET['c']) && !empty($SESS->values["prepFlottes"][$_GET['c']]))
require('game/flottes/restaure.php');
elseif (isset($_GET['c']) && !empty($SESS->values["prepFlottes"][$_GET['c']])) {
require('game/flottes/restaure.php');
}
//Création de flotte : page 2
elseif (!empty($_POST['envoie']) || !empty($_POST['groupe']))
require('game/flottes/preparer.php');
elseif (!empty($_POST['envoie']) || !empty($_POST['groupe'])) {
require('game/flottes/preparer.php');
}
//Affichage du détail d'une flotte
elseif (!empty($_GET['n']))
require('game/flottes/details.php');
elseif (!empty($_GET['n'])) {
require('game/flottes/details.php');
}
//Affichage de la page générale
else
require('game/flottes/principal.php');
?>
else {
require('game/flottes/principal.php');
}

View file

@ -1,48 +1,46 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$idN = intval(gpc('n'));
$idN = intval(gpc('n'));
$flotteN = new Flotte($idN, false);
$flotteN->load_planete();
$flotteN = new Flotte($idN, false);
$flotteN->load_planete();
if ($flotteN->id_flotte == 0 || $flotteN->start_planete->id_user != $planete->id_user)
erreur('Impossible de trouver cette flotte !', "red", '?p=flotte', 1500);
else
{
//Changement du nom de la flotte
if (!empty($_POST['nomflotte']))
{
$nouvNom = gpc('nomflotte', 'post');
$flotteN->nom = $nouvNom;
$flotteN->addModifFlotte("nom");
if ($flotteN->id_flotte == 0 || $flotteN->start_planete->id_user != $planete->id_user) {
erreur('Impossible de trouver cette flotte !', "red", '?p=flotte', 1500);
} else {
//Changement du nom de la flotte
if (!empty($_POST['nomflotte'])) {
$nouvNom = gpc('nomflotte', 'post');
$flotteN->nom = $nouvNom;
$flotteN->addModifFlotte("nom");
redirection("?p=flotte&n=".$idN);
}
redirection("?p=flotte&n=".$idN);
}
//Annulation de la mission
if (isset($_GET['a']) && isset($SESS->values['ret_fleet']) && $_GET['a'] == $SESS->values['ret_fleet'])
{
//Calcul du temps passé depuis le lancement de la flotte
$tpsDD = time() - $flotteN->start_time;
if ($flotteN->mission == '6')
erreur('Votre flotte est déjà en train de revenir !', 'red', '?p=flotte&n='.$idN, 1500);
elseif ($flotteN->end_time > $tpsDD)
{
$bdd->query("UPDATE $table_flottes SET mission = '6', effectue = '1', end_time = $tpsDD, end_galaxie = start_galaxie, end_ss = start_ss, end_position = start_position WHERE id_user = ".$planete->id_user." AND id = $idN;");
redirection("?p=flotte&n=".$idN);
}
else
erreur('Impossible d\'annuler la mission, elle a déjà commencée.', "red", '?p=flotte&n='.$idN, 1500);
}
$SESS->values['ret_fleet'] = md5('HB.fleet_'.rand().'☺ß☻');
$SESS->put();
$template->assign('ret_fleet', $SESS->values['ret_fleet']);
$template->assign('flotte', $flotteN);
$page = 'flotten';
}
//Annulation de la mission
if (isset($_GET['a']) && isset($SESS->values['ret_fleet']) && $_GET['a'] == $SESS->values['ret_fleet']) {
//Calcul du temps passé depuis le lancement de la flotte
$tpsDD = time() - $flotteN->start_time;
if ($flotteN->mission == '6') {
erreur('Votre flotte est déjà en train de revenir !', 'red', '?p=flotte&n='.$idN, 1500);
} elseif ($flotteN->end_time > $tpsDD) {
$bdd->query("UPDATE $table_flottes SET mission = '6', effectue = '1', end_time = $tpsDD, end_galaxie = start_galaxie, end_ss = start_ss, end_position = start_position WHERE id_user = ".$planete->id_user." AND id = $idN;");
redirection("?p=flotte&n=".$idN);
} else {
erreur('Impossible d\'annuler la mission, elle a déjà commencée.', "red", '?p=flotte&n='.$idN, 1500);
}
}
$SESS->values['ret_fleet'] = md5('HB.fleet_'.rand().'☺ß☻');
$SESS->put();
$template->assign('ret_fleet', $SESS->values['ret_fleet']);
$template->assign('flotte', $flotteN);
$page = 'flotten';
}
unset($idN, $flotteN, $nouvNom, $tpsDD);
?>

View file

@ -1,5 +1,8 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
//Récupération des informations envoyées
$idPrep = gpc("cds", "post");
@ -8,10 +11,11 @@ $SESS->values["prepFlottes"][$idPrep]['nom'] = gpc('nomflotte', 'post');
$SESS->values["prepFlottes"][$idPrep]['end_galaxie'] = $end_galaxie = intval(gpc('amas', 'post'));
$SESS->values["prepFlottes"][$idPrep]['end_systeme'] = $end_ss = intval(gpc('ss', 'post'));
$end_pos = gpc('pos', 'post');
if ($end_pos != "A")
$SESS->values["prepFlottes"][$idPrep]['end_position'] = floor($end_pos);
else
$SESS->values["prepFlottes"][$idPrep]['end_position'] = $end_pos;
if ($end_pos != "A") {
$SESS->values["prepFlottes"][$idPrep]['end_position'] = floor($end_pos);
} else {
$SESS->values["prepFlottes"][$idPrep]['end_position'] = $end_pos;
}
$SESS->values["prepFlottes"][$idPrep]['embarquer'] = array($EBmetal = floor(str_replace(' ', '', gpc('metal', 'post'))), $EBcristal = floor(str_replace(' ', '', gpc('cristal', 'post'))), $EBhydrogene = floor(str_replace(' ', '', gpc('hydrogene', 'post'))));
$SESS->values["prepFlottes"][$idPrep]['mission'] = $mission = intval(gpc('mission', 'post'));
$SESS->values["prepFlottes"][$idPrep]['vitesse'] = $vitesse = intval(gpc('vitesse', 'post'));
@ -20,137 +24,140 @@ $SESS->values["prepFlottes"][$idPrep]['vitesse'] = $vitesse = intval(gpc('vitess
$SESS->put();
//Vérification du nombre de vaisseaux sur la planète
foreach ($SESS->values["prepFlottes"][$idPrep]['vaisseaux'] as $key => $vaisseau)
{
//On vérifie qu'il y a suffisamment de vaisseaux sur la planète
if ($planete->vaisseaux[$key] < $vaisseau)
erreur('Vous n\'avez pas assez de vaisseaux sur cette planète pour envoyer cette flotte !', "red", $VAR["menu"]["flotte"]);
foreach ($SESS->values["prepFlottes"][$idPrep]['vaisseaux'] as $key => $vaisseau) {
//On vérifie qu'il y a suffisamment de vaisseaux sur la planète
if ($planete->vaisseaux[$key] < $vaisseau) {
erreur('Vous n\'avez pas assez de vaisseaux sur cette planète pour envoyer cette flotte !', "red", $VAR["menu"]["flotte"]);
}
}
//Vérification des conditions de mission
if ($mission <= 0 || $mission > 7 || ($SESS->values["prepFlottes"][$idPrep]['type'] == 3 && $mission != 3 && $mission != 2))
erreur("La mission sélectionnée est incorrecte !", "red", $VAR["menu"]["flotte"]);
if ($mission <= 0 || $mission > 7 || ($SESS->values["prepFlottes"][$idPrep]['type'] == 3 && $mission != 3 && $mission != 2)) {
erreur("La mission sélectionnée est incorrecte !", "red", $VAR["menu"]["flotte"]);
}
//Vérification que le nombre de slots ne soit pas dépassé
if (slots($planete->id_user) <= 0)
erreur('Vous ne pouvez pas envoyer plus de flottes simultanément.', "red", $VAR["menu"]["flotte"]);
if (slots($planete->id_user) <= 0) {
erreur('Vous ne pouvez pas envoyer plus de flottes simultanément.', "red", $VAR["menu"]["flotte"]);
}
//Vérifications en cas de mission colonisation
if ($mission == 2)
{
//On vérifie la mission, si elle est de coloniser, il faut qu'il y ait des vaisseaux de colonisation
if ($SESS->values["prepFlottes"][$idPrep]['vaisseaux'][2] <= 0)
erreur('Vous ne pouvez pas coloniser sans vaisseau de colonisation !', "red", $VAR["menu"]["flotte"]);
if ($mission == 2) {
//On vérifie la mission, si elle est de coloniser, il faut qu'il y ait des vaisseaux de colonisation
if ($SESS->values["prepFlottes"][$idPrep]['vaisseaux'][2] <= 0) {
erreur('Vous ne pouvez pas coloniser sans vaisseau de colonisation !', "red", $VAR["menu"]["flotte"]);
}
//On vérifie qu'une colonisation d'asteroide soit bien faite par un fondateur d'alliance en cours de création
if ($end_pos == "A")
{
$bdd->reconnexion();
$resultat = $bdd->unique_query("SELECT id FROM $table_alliances_creation WHERE fondateur = ".$planete->id_user.";");
$bdd->deconnexion();
if (!$resultat)
erreur('Fonder d\'abord une alliance avant de coloniser un astéroide !', "red", $VAR["menu"]["flotte"]);
}
//On vérifie qu'une colonisation d'asteroide soit bien faite par un fondateur d'alliance en cours de création
if ($end_pos == "A") {
$bdd->reconnexion();
$resultat = $bdd->unique_query("SELECT id FROM $table_alliances_creation WHERE fondateur = ".$planete->id_user.";");
$bdd->deconnexion();
if (!$resultat) {
erreur('Fonder d\'abord une alliance avant de coloniser un astéroide !', "red", $VAR["menu"]["flotte"]);
}
}
}
//On vérifie que les attaques soient bien activées
if ($mission == 3 && !$VAR["attaques"])
erreur('Les attaques sont désactivées pour le moment. Pour plus d\'informations, <a href="'.$VAR["menu"]["forums"].'">consultez le forum</a>.', "red", $VAR["menu"]["flotte"], 5000);
if ($mission == 3 && !$VAR["attaques"]) {
erreur('Les attaques sont désactivées pour le moment. Pour plus d\'informations, <a href="'.$VAR["menu"]["forums"].'">consultez le forum</a>.', "red", $VAR["menu"]["flotte"], 5000);
}
//On vérifie la mission, si elle est de recycler, il faut qu'il y ait des reclycleurs
if ($mission == 4 && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][3] <= 0)
erreur('Vous ne pouvez pas recycler sans recycleur !', "red", $VAR["menu"]["flotte"]);
if ($mission == 4 && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][3] <= 0) {
erreur('Vous ne pouvez pas recycler sans recycleur !', "red", $VAR["menu"]["flotte"]);
}
//On vérifie la mission, si elle est d'espionner, il faut qu'il y ait des sondes
if ($mission == 5 && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][6] <= 0 && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][13] <= 0)
erreur('Vous ne pouvez pas espionner sans sonde d\'espionnage !', "red", '?p=flotte');
if ($mission == 5 && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][6] <= 0 && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][13] <= 0) {
erreur('Vous ne pouvez pas espionner sans sonde d\'espionnage !', "red", '?p=flotte');
}
//Vérification que la destination ne soit pas en dehors de la galaxie
if ($end_galaxie > $VAR['nb_amas'] || $end_ss > $VAR['nb_systeme'] || $end_galaxie < 0 || $end_ss < 1 || (($end_pos > $VAR['nb_planete'] || $end_pos < 1) && $end_pos != "A") || ($end_galaxie < 1 && $SESS->level < 6))
erreur('La destination de la flotte n\'est pas correcte.', "red", '?p=flotte');
if ($end_galaxie > $VAR['nb_amas'] || $end_ss > $VAR['nb_systeme'] || $end_galaxie < 0 || $end_ss < 1 || (($end_pos > $VAR['nb_planete'] || $end_pos < 1) && $end_pos != "A") || ($end_galaxie < 1 && $SESS->level < 6)) {
erreur('La destination de la flotte n\'est pas correcte.', "red", '?p=flotte');
}
//On vérifie que l'on possède assez de ressources
if ((!empty($EBmetal) && !$EBmetal > $planete->metal) || (!empty($EBcristal) && !$EBcristal > $planete->cristal) || (!empty($EBhydrogene) && !$EBhydrogene > $planete->hydrogene))
erreur('Vous ne pouvez pas envoyer plus de ressources que vous n\'en posséder.', "red", '?p=flotte');
if ((!empty($EBmetal) && !$EBmetal > $planete->metal) || (!empty($EBcristal) && !$EBcristal > $planete->cristal) || (!empty($EBhydrogene) && !$EBhydrogene > $planete->hydrogene)) {
erreur('Vous ne pouvez pas envoyer plus de ressources que vous n\'en posséder.', "red", '?p=flotte');
}
//On vérifie que l'on n'envoie pas des ressources négatives
if ((!empty($EBmetal) && $EBmetal < 0) || (!empty($EBcristal) && $EBcristal < 0) || (!empty($EBhydrogene) && $EBhydrogene < 0))
erreur('Vous avez spécifié des valeurs de ressources à embarquer incorrectes !', "red", '?p=flotte', 4000);
if ((!empty($EBmetal) && $EBmetal < 0) || (!empty($EBcristal) && $EBcristal < 0) || (!empty($EBhydrogene) && $EBhydrogene < 0)) {
erreur('Vous avez spécifié des valeurs de ressources à embarquer incorrectes !', "red", '?p=flotte', 4000);
}
//On vérifie la vitesse de la flotte
if (!is_numeric($vitesse) || $vitesse < 0 || $vitesse > 100)
erreur('La vitesse de votre flotte est incorrecte !', "red", '?p=flotte');
if (!is_numeric($vitesse) || $vitesse < 0 || $vitesse > 100) {
erreur('La vitesse de votre flotte est incorrecte !', "red", '?p=flotte');
}
//Recherche de la planète ou de l'astéroïde
if ($end_pos == "A")
{
$bdd->reconnexion();
$resultat = $bdd->unique_query("SELECT id, id AS id_user, debris_met, debris_cri FROM $table_alliances WHERE galaxie = $end_galaxie AND ss = $end_ss;");
$bdd->deconnexion();
}
else
{
$bdd->reconnexion();
$resultat = $bdd->unique_query("SELECT id, id_user, debris_met, debris_cri FROM $table_planete WHERE galaxie = $end_galaxie AND ss = $end_ss AND position = $end_pos;");
$bdd->deconnexion();
if ($end_pos == "A") {
$bdd->reconnexion();
$resultat = $bdd->unique_query("SELECT id, id AS id_user, debris_met, debris_cri FROM $table_alliances WHERE galaxie = $end_galaxie AND ss = $end_ss;");
$bdd->deconnexion();
} else {
$bdd->reconnexion();
$resultat = $bdd->unique_query("SELECT id, id_user, debris_met, debris_cri FROM $table_planete WHERE galaxie = $end_galaxie AND ss = $end_ss AND position = $end_pos;");
$bdd->deconnexion();
}
//On vérifie qu'il n'y ait pas une interaction entre deux multi-comptes
if (count($multi) > 1 && ($mission == 1 || $mission == 6 || $mission == 7))
{
foreach($multi as $test)
{
if ($test['id_util'] == $resultat['id_user'])
erreur('Vous ne pouvez pas avoir d\'interaction avec ce joueur pour raison de multi-compte (voir page d\'accueil).');
}
if (count($multi) > 1 && ($mission == 1 || $mission == 6 || $mission == 7)) {
foreach ($multi as $test) {
if ($test['id_util'] == $resultat['id_user']) {
erreur('Vous ne pouvez pas avoir d\'interaction avec ce joueur pour raison de multi-compte (voir page d\'accueil).');
}
}
}
if ($mission == 1 && !$resultat)
erreur('Impossible de transporter des ressources vers la planète ['.$end_galaxie.':'.$end_ss.':'.$end_pos.'] car elle est inhabitée.', "red", '?p=flotte', 4000);
elseif ($mission == 2 && $resultat)
{
if ($end_pos != "A")
erreur('La planète que vous voulez coloniser est déjà habitée.', "red", '?p=flotte', 3000);
else
erreur('L\'astéroide que vous voulez coloniser est déjà habitée.', "red", '?p=flotte', 3000);
if ($mission == 1 && !$resultat) {
erreur('Impossible de transporter des ressources vers la planète ['.$end_galaxie.':'.$end_ss.':'.$end_pos.'] car elle est inhabitée.', "red", '?p=flotte', 4000);
} elseif ($mission == 2 && $resultat) {
if ($end_pos != "A") {
erreur('La planète que vous voulez coloniser est déjà habitée.', "red", '?p=flotte', 3000);
} else {
erreur('L\'astéroide que vous voulez coloniser est déjà habitée.', "red", '?p=flotte', 3000);
}
}
//Si la mission est d'attaquer, on vérifie que le joueur cible ne soit pas ne mode vacances ou qu'il soit tout jeune
elseif ($mission == 3 && $end_pos != "A")
{
$bdd->reconnexion();
$resultatu = $bdd->unique_query("SELECT mv, time_inscription FROM $table_user WHERE id = ".$resultat['id_user'].";");
$bdd->deconnexion();
elseif ($mission == 3 && $end_pos != "A") {
$bdd->reconnexion();
$resultatu = $bdd->unique_query("SELECT mv, time_inscription FROM $table_user WHERE id = ".$resultat['id_user'].";");
$bdd->deconnexion();
if ($resultatu['mv'] > 0)
erreur('Le joueur que vous tentez d\'attaquer est actuellement en mode vacances, vous ne pouvez donc pas l\'attaquer avant son retour de vacances.', "red", '?p=flotte', 3000); //TODO Mettre le numéro du mode vacances et non > 0 !!!
elseif ($resultatu['time_inscription'] + 604800 > time())
erreur('Le joueur que vous tentez d\'attaquer s\'est inscrit récemment, laissez-lui le temps de se préparer au combat !', "red", '?p=flotte', 3000);
elseif (!$resultat)
erreur('La planète que vous tentez d\'attaquer est inhabitée.', "red", '?p=flotte');
elseif ($resultat['id_user'] == $planete->id_user)
erreur('La planète que vous tentez d\'attaquer vous appartient.', "red", '?p=flotte');
}
elseif ($mission == 4 && ($resultat['debris_met'] <= 0 || $resultat['debris_cri'] <= 0) && empty($SESS->values['forceFlotte']))
{
$SESS->values['forceFlotte'] = true;
$SESS->put();
erreur('Il n\'y a rien à recycler sur la planète ['.$end_galaxie.':'.$end_ss.':'.$end_pos.'].<br />Vous pouvez forcer le lancement de la flotte en rechargeant cette page.', "orange");
if ($resultatu['mv'] > 0) {
erreur('Le joueur que vous tentez d\'attaquer est actuellement en mode vacances, vous ne pouvez donc pas l\'attaquer avant son retour de vacances.', "red", '?p=flotte', 3000);
} //TODO Mettre le numéro du mode vacances et non > 0 !!!
elseif ($resultatu['time_inscription'] + 604800 > time()) {
erreur('Le joueur que vous tentez d\'attaquer s\'est inscrit récemment, laissez-lui le temps de se préparer au combat !', "red", '?p=flotte', 3000);
} elseif (!$resultat) {
erreur('La planète que vous tentez d\'attaquer est inhabitée.', "red", '?p=flotte');
} elseif ($resultat['id_user'] == $planete->id_user) {
erreur('La planète que vous tentez d\'attaquer vous appartient.', "red", '?p=flotte');
}
} elseif ($mission == 4 && ($resultat['debris_met'] <= 0 || $resultat['debris_cri'] <= 0) && empty($SESS->values['forceFlotte'])) {
$SESS->values['forceFlotte'] = true;
$SESS->put();
erreur('Il n\'y a rien à recycler sur la planète ['.$end_galaxie.':'.$end_ss.':'.$end_pos.'].<br />Vous pouvez forcer le lancement de la flotte en rechargeant cette page.', "orange");
}
//TODO Autoriser l'espionnage sur les planètes inhabités
elseif ($mission == 5)
{
if (!$resultat)
erreur('Impossible d\'espionner la planète ['.$end_galaxie.':'.$end_ss.':'.$end_pos.'] car elle est inhabitée.', "red", '?p=flotte', 4000);
elseif ($end_pos != "A" && $resultat['id_user'] == $planete->id_user)
erreur('La planète que vous désirez espionner vous appartient !', "red", '?p=flotte', 3000);
elseif ($mission == 5) {
if (!$resultat) {
erreur('Impossible d\'espionner la planète ['.$end_galaxie.':'.$end_ss.':'.$end_pos.'] car elle est inhabitée.', "red", '?p=flotte', 4000);
} elseif ($end_pos != "A" && $resultat['id_user'] == $planete->id_user) {
erreur('La planète que vous désirez espionner vous appartient !', "red", '?p=flotte', 3000);
}
} elseif ($mission == 6 && $resultat['id_user'] != $planete->id_user && $resultat['id_user'] != $planete->id_alliance) {
erreur('La planète sur laquelle vous désirez stationner ne vous appartient pas.', "red", '?p=flotte', 3000);
} elseif ($mission == 7 && !$resultat) {
erreur('La planète sur laquelle vous désirez donner vos vaisseaux n\'existe pas.', "red", '?p=flotte', 3000);
}
elseif ($mission == 6 && $resultat['id_user'] != $planete->id_user && $resultat['id_user'] != $planete->id_alliance)
erreur('La planète sur laquelle vous désirez stationner ne vous appartient pas.', "red", '?p=flotte', 3000);
elseif ($mission == 7 && !$resultat)
erreur('La planète sur laquelle vous désirez donner vos vaisseaux n\'existe pas.', "red", '?p=flotte', 3000);
//Création de la flotte
$flotte = new flotte();
@ -159,4 +166,3 @@ $SESS->values["prepFlottes"][$idPrep]["statut"] = 2;
$SESS->put();
erreur('Votre flotte a été envoyée avec succès.', "green", '?p=flotte', 4000);
?>

View file

@ -1,5 +1,8 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
//Génération d'un ID unique pour identifier la flotte durant sa création
$idPrep = random();
@ -9,29 +12,29 @@ $SESS->values["prepFlottes"][$idPrep] = array();
//On récupère les vaisseaux à envoyer
$nombreVaisseau = 0;
foreach ($planete->vaisseaux as $key => $vaisseau)
{
$v = gpc('v'.$key, 'post');
if (!is_numeric($v) || $v < 0)
$v = 0;
foreach ($planete->vaisseaux as $key => $vaisseau) {
$v = gpc('v'.$key, 'post');
if (!is_numeric($v) || $v < 0) {
$v = 0;
}
$SESS->values["prepFlottes"][$idPrep]['vaisseaux'][$key] = $v;
$nombreVaisseau += $v;
$SESS->values["prepFlottes"][$idPrep]['vaisseaux'][$key] = $v;
$nombreVaisseau += $v;
}
//On vérifie que l'utilisateur a bien envoyé plus d'un vaisseau
if ($nombreVaisseau <= 0)
{
unset($SESS->values["prepFlottes"][$idPrep]);
erreur('Vous devez envoyer au moins un vaisseau.', "red", '?p=flotte');
if ($nombreVaisseau <= 0) {
unset($SESS->values["prepFlottes"][$idPrep]);
erreur('Vous devez envoyer au moins un vaisseau.', "red", '?p=flotte');
}
//On définit le type de la flotte (utilisateur ou alliance)
if (!empty($_POST['envoie']))
$SESS->values["prepFlottes"][$idPrep]['type'] = 1;
elseif (!empty($_POST['groupe']))
$SESS->values["prepFlottes"][$idPrep]['type'] = 2;
else
die ('Erreur !');
if (!empty($_POST['envoie'])) {
$SESS->values["prepFlottes"][$idPrep]['type'] = 1;
} elseif (!empty($_POST['groupe'])) {
$SESS->values["prepFlottes"][$idPrep]['type'] = 2;
} else {
die('Erreur !');
}
//On enregistre les paramètres en session
$SESS->values["prepFlottes"][$idPrep]['nbVaisseaux'] = $nombreVaisseau;
@ -44,4 +47,3 @@ unset($nombreVaisseau, $key, $vaisseau, $v);
header('Location: ?p=flotte&c='.$idPrep);
exit;
?>

View file

@ -1,87 +1,89 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$page = 'flotte1';
//Demande de mise à jour des tactiques par défaut
$attaque = gpc('attaque', 'post');
$defense = gpc('defense', 'post');
if (is_numeric($attaque) && is_numeric($defense))
{
$chang = false;
if (($attaque != $planete->combatAT_tactique) && (($attaque == 1 && $planete->technologies[3] & 4096) || ($attaque == 2 && $planete->technologies[3] & 8192) || ($attaque == 3 && $planete->technologies[3] & 16384) || $attaque == 0))
{
$planete->combatAT_tactique = $attaque;
$planete->addModifUser('combatAT_tactique');
$chang = true;
}
if (($defense != $planete->combatDE_tactique) && (($defense == 1 && $planete->technologies[3] & 4096) || ($defense == 2 && $planete->technologies[3] & 8192) || ($defense == 3 && $planete->technologies[3] & 16384) || $defense == 0))
{
$planete->combatDE_tactique = $defense;
$planete->addModifUser('combatDE_tactique');
$chang = true;
}
if ($chang)
erreur('Tactiques mises à jour avec succès.', 'green', '?p=flotte', 1100);
}
unset($attaque, $defense, $chang);
//Demande de mise à jour des tactiques par défaut
$attaque = gpc('attaque', 'post');
$defense = gpc('defense', 'post');
if (is_numeric($attaque) && is_numeric($defense)) {
$chang = false;
if (($attaque != $planete->combatAT_tactique) && (($attaque == 1 && $planete->technologies[3] & 4096) || ($attaque == 2 && $planete->technologies[3] & 8192) || ($attaque == 3 && $planete->technologies[3] & 16384) || $attaque == 0)) {
$planete->combatAT_tactique = $attaque;
$planete->addModifUser('combatAT_tactique');
$chang = true;
}
if (($defense != $planete->combatDE_tactique) && (($defense == 1 && $planete->technologies[3] & 4096) || ($defense == 2 && $planete->technologies[3] & 8192) || ($defense == 3 && $planete->technologies[3] & 16384) || $defense == 0)) {
$planete->combatDE_tactique = $defense;
$planete->addModifUser('combatDE_tactique');
$chang = true;
}
if ($chang) {
erreur('Tactiques mises à jour avec succès.', 'green', '?p=flotte', 1100);
}
}
unset($attaque, $defense, $chang);
//Affichage des flottes en cours dans la galaxie
$bdd->reconnexion();
if (SURFACE == "asteroide")
$flottes = $bdd->query("SELECT id FROM $table_flottes WHERE id_alliance = ".$planete->id.";");
else
$flottes = $bdd->query("SELECT id FROM $table_flottes WHERE id_user = ".$planete->id_user.";");
$bdd->deconnexion();
//Affichage des flottes en cours dans la galaxie
$bdd->reconnexion();
if (SURFACE == "asteroide") {
$flottes = $bdd->query("SELECT id FROM $table_flottes WHERE id_alliance = ".$planete->id.";");
} else {
$flottes = $bdd->query("SELECT id FROM $table_flottes WHERE id_user = ".$planete->id_user.";");
}
$bdd->deconnexion();
//Extraction des flottes en cours
if ($flottes)
{
foreach ($flottes as $key => $flotte)
{
$flottes[$key] = new Flotte($flotte['id']);
$flottes[$key]->load_planete();
}
$template->assign('flottesEC', $flottes);
}
//Extraction des flottes en cours
if ($flottes) {
foreach ($flottes as $key => $flotte) {
$flottes[$key] = new Flotte($flotte['id']);
$flottes[$key]->load_planete();
}
$template->assign('flottesEC', $flottes);
}
//Calcul du nombre de slot disponible et vérouillage de l'envoie si besoin
if ($flottes)
$nbFlottes = count($flottes);
else
//Calcul du nombre de slot disponible et vérouillage de l'envoie si besoin
if ($flottes) {
$nbFlottes = count($flottes);
} else {
$nbFlottes = 0;
if (SURFACE == "asteroide")
{
if ($planete->batiments[2] == 1)
$slots = 1;
elseif ($planete->batiments[2] == 2)
$slots = 2;
elseif ($planete->batiments[2] == 3)
$slots = 4;
elseif ($planete->batiments[2] == 4)
$slots = 7;
elseif ($planete->batiments[2] == 5)
$slots = 14;
else
$slots = 0;
}
if (SURFACE == "asteroide") {
if ($planete->batiments[2] == 1) {
$slots = 1;
} elseif ($planete->batiments[2] == 2) {
$slots = 2;
} elseif ($planete->batiments[2] == 3) {
$slots = 4;
} elseif ($planete->batiments[2] == 4) {
$slots = 7;
} elseif ($planete->batiments[2] == 5) {
$slots = 14;
} else {
$slots = 0;
}
$slots -= $nbFlottes;
}
else
$slots = count($queryPlanetes)-$nbFlottes;
$slots -= $nbFlottes;
} else {
$slots = count($queryPlanetes)-$nbFlottes;
}
if ($slots > 0)
//$template->assign('action', '<input class="submit" name="envoie" type="submit" value="Envoyer flotte" /> <input class="submit" name="groupe" type="submit" value="Envoye groupé" />');
$template->assign('action', '<input class="submit" name="envoie" type="submit" value="Ok" />');
else
$template->assign('action', '<span class="lack">Nombre de flottes maximum simultanées atteint</span>');
if ($slots > 0) {
//$template->assign('action', '<input class="submit" name="envoie" type="submit" value="Envoyer flotte" /> <input class="submit" name="groupe" type="submit" value="Envoye groupé" />');
$template->assign('action', '<input class="submit" name="envoie" type="submit" value="Ok" />');
} else {
$template->assign('action', '<span class="lack">Nombre de flottes maximum simultanées atteint</span>');
}
$template->assign('nbflotte', $nbFlottes);
$template->assign('nbflottemax', $slots + $nbFlottes);
$template->assign('nbflotte', $nbFlottes);
$template->assign('nbflottemax', $slots + $nbFlottes);
//Affichage des flottes en préparation
if (isset($SESS->values["prepFlottes"]))
$template->assign('flottesEP', $SESS->values["prepFlottes"]);
//Affichage des flottes en préparation
if (isset($SESS->values["prepFlottes"])) {
$template->assign('flottesEP', $SESS->values["prepFlottes"]);
}
unset($nbFlottes, $slots, $flottes, $flotte, $key);
?>

View file

@ -1,33 +1,42 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
$idPrep = gpc('c');
$template->assign('idPrep', $idPrep);
$template->assign('restaure', $SESS->values["prepFlottes"][$idPrep]);
foreach ($SESS->values["prepFlottes"][$idPrep]['vaisseaux'] as $key => $vaisseau)
{
//On vérifie qu'il y a suffisamment de vaisseaux sur la planète
if ($planete->vaisseaux[$key] < $vaisseau)
erreur('Vous n\'avez pas assez de vaisseaux sur cette planète pour envoyer cette flotte !', "red", '?p=flotte');
foreach ($SESS->values["prepFlottes"][$idPrep]['vaisseaux'] as $key => $vaisseau) {
//On vérifie qu'il y a suffisamment de vaisseaux sur la planète
if ($planete->vaisseaux[$key] < $vaisseau) {
erreur('Vous n\'avez pas assez de vaisseaux sur cette planète pour envoyer cette flotte !', "red", '?p=flotte');
}
}
//Génération de la liste de mission possible avec les vaisseaux de la flotte
$missions = array();
if ($SESS->values["prepFlottes"][$idPrep]['type'] == 1)
$missions = array(6 => "Stationner", 7 => "Donner des vaisseaux", 1 => "Transporter");
if ($SESS->values["prepFlottes"][$idPrep]['vaisseaux'][2])
$missions[2] = "Coloniser";
if ($planete->technologies[7]& 16 && $VAR["attaques"])
$missions[3] = "Attaquer";
if ($SESS->values["prepFlottes"][$idPrep]['type'] == 1 && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][3])
$missions[4] = "Recycler";
if ($SESS->values["prepFlottes"][$idPrep]['type'] == 1 && ($SESS->values["prepFlottes"][$idPrep]['vaisseaux'][6] || $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][13]))
$missions[5] = "Espionner";
if ($SESS->values["prepFlottes"][$idPrep]['type'] == 1) {
$missions = array(6 => "Stationner", 7 => "Donner des vaisseaux", 1 => "Transporter");
}
if ($SESS->values["prepFlottes"][$idPrep]['vaisseaux'][2]) {
$missions[2] = "Coloniser";
}
if ($planete->technologies[7]& 16 && $VAR["attaques"]) {
$missions[3] = "Attaquer";
}
if ($SESS->values["prepFlottes"][$idPrep]['type'] == 1 && $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][3]) {
$missions[4] = "Recycler";
}
if ($SESS->values["prepFlottes"][$idPrep]['type'] == 1 && ($SESS->values["prepFlottes"][$idPrep]['vaisseaux'][6] || $SESS->values["prepFlottes"][$idPrep]['vaisseaux'][13])) {
$missions[5] = "Espionner";
}
//S'il n'y a aucun choix de mission possible, on abandonne
if (count($missions) == 0)
erreur('Aucune mission disponible !', "red", '?p=flotte');
if (count($missions) == 0) {
erreur('Aucune mission disponible !', "red", '?p=flotte');
}
$template->assign('missions', $missions);
$template->assign('scripth', '<script src="js/prototype.js" type="text/javascript"></script>');
@ -37,20 +46,23 @@ $page = 'flotte2';
//Récupération des destinations favorites et des colonies
$favoris = array();
include_once("Class/tinyplanete.php");
foreach ($planete->destinationsFavoris as $fav)
{
$fav_Planete = new TinyPlanete($fav);
if (!empty($fav_Planete->nom_planete)) $favoris[$fav_Planete->id] = $fav_Planete->nom_planete;
else $favoris[$fav_Planete->id] = '['.$fav_Planete->galaxie.':'.$fav_Planete->ss.':'.$fav_Planete->position.']';
foreach ($planete->destinationsFavoris as $fav) {
$fav_Planete = new TinyPlanete($fav);
if (!empty($fav_Planete->nom_planete)) {
$favoris[$fav_Planete->id] = $fav_Planete->nom_planete;
} else {
$favoris[$fav_Planete->id] = '['.$fav_Planete->galaxie.':'.$fav_Planete->ss.':'.$fav_Planete->position.']';
}
}
$favorisC = array();
foreach ($queryPlanetes as $fav)
{
if (!empty($fav['nom_planete'])) $favorisC[$fav['id']] = $fav['nom_planete'];
else $favorisC[$fav['id']] = '['.$fav['galaxie'].':'.$fav['ss'].':'.$fav['position'].']';
foreach ($queryPlanetes as $fav) {
if (!empty($fav['nom_planete'])) {
$favorisC[$fav['id']] = $fav['nom_planete'];
} else {
$favorisC[$fav['id']] = '['.$fav['galaxie'].':'.$fav['ss'].':'.$fav['position'].']';
}
}
$template->assign('favoris', $favoris);
$template->assign('favorisColonies', $favorisC);
unset($idPrep, $missions, $fav, $vaisseau, $key, $favorisC, $favoris);
?>

View file

@ -1,56 +1,58 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
if (!defined('INDEX')) {
header('Location: ../');
exit;
}
//Si l'on est sur un astéroïde, on charge la page de gestion d'alliance !
if (SURFACE == "asteroide")
include("game/alliances/gestion.php");
else
{
$page = 'gestion';
$titre = 'Gestion';
if (SURFACE == "asteroide") {
include("game/alliances/gestion.php");
} else {
$page = 'gestion';
$titre = 'Gestion';
//Demande de changement de politique
$politique = gpc('politique', 'post');
if (is_numeric($politique))
{
//On annule le changement politique si le dernier a eu lieu dans la semaine.
if ($planete->politique_lastchange > time() - 604800)
erreur("La population de votre empire planètaire vient d'entrer dans une phase de révolution contre le changement de régime.<br />Pour ne pas perdre votre place au sommet de l'empire, le système politique n'a pas été changé.");
if (($planete->technologies[3] & 2048 && ($politique == 3 || $politique == 2 || $politique == 1) || $politique == 0) && $planete->politique != $politique)
{
$planete->politique = $politique;
$planete->politique_lastchange = time();
$planete->addModifUser("politique");
$planete->addModifUser("politique_lastchange");
erreur("Le changement politique a bien été pris en compte par la population de vos différentes planètes.", "green");
}
elseif ($planete->politique == $politique)
erreur("Ce système politique est actuellement en vigueur.", "orange");
else
erreur("Impossible de choisir ce système politique !");
}
//Demande de changement de politique
$politique = gpc('politique', 'post');
if (is_numeric($politique)) {
//On annule le changement politique si le dernier a eu lieu dans la semaine.
if ($planete->politique_lastchange > time() - 604800) {
erreur("La population de votre empire planètaire vient d'entrer dans une phase de révolution contre le changement de régime.<br />Pour ne pas perdre votre place au sommet de l'empire, le système politique n'a pas été changé.");
}
if (($planete->technologies[3] & 2048 && ($politique == 3 || $politique == 2 || $politique == 1) || $politique == 0) && $planete->politique != $politique) {
$planete->politique = $politique;
$planete->politique_lastchange = time();
$planete->addModifUser("politique");
$planete->addModifUser("politique_lastchange");
erreur("Le changement politique a bien été pris en compte par la population de vos différentes planètes.", "green");
} elseif ($planete->politique == $politique) {
erreur("Ce système politique est actuellement en vigueur.", "orange");
} else {
erreur("Impossible de choisir ce système politique !");
}
}
if (SURFACE == "planete")
$template->assign('planeteEC', array(
'id' => $planete->id,
'metal' => $planete->metal,
'cristal' => $planete->cristal,
'hydrogene' => $planete->hydrogene,
'energie' => $planete->energie,
'population' => $planete->population,
)
);
if (SURFACE == "planete") {
$template->assign(
'planeteEC',
array(
'id' => $planete->id,
'metal' => $planete->metal,
'cristal' => $planete->cristal,
'hydrogene' => $planete->hydrogene,
'energie' => $planete->energie,
'population' => $planete->population,
)
);
}
$politiques = array('Anarchie');
if ($planete->technologies[3] & 2048)
{
$politiques[] = 'Fascisme (Mouvement Frieden)';
$politiques[] = 'Communisme (Mouvement Koslovic)';
$politiques[] = 'Démocratie (Administration coloniale)';
}
$template->assign('politiques', $politiques);
$template->assign('moraldetails', $politiques);
$politiques = array('Anarchie');
if ($planete->technologies[3] & 2048) {
$politiques[] = 'Fascisme (Mouvement Frieden)';
$politiques[] = 'Communisme (Mouvement Koslovic)';
$politiques[] = 'Démocratie (Administration coloniale)';
}
$template->assign('politiques', $politiques);
$template->assign('moraldetails', $politiques);
unset($politiques, $politiques, $politique);
unset($politiques, $politiques, $politique);
}
?>

View file

@ -1,5 +1,8 @@
<?php
if(!defined('INDEX') || SURFACE != "planete") { header("Location: ./".$VAR["first_page"]); exit; }
if (!defined('INDEX') || SURFACE != "planete") {
header("Location: ./".$VAR["first_page"]);
exit;
}
$page = "laboratoire";
$titre = ucfirst($LANG[$race]["batiments"]["noms_sing"][6]);
@ -7,125 +10,130 @@ $titre = ucfirst($LANG[$race]["batiments"]["noms_sing"][6]);
Transformation des niveaux XML en tableau//
for($n = 0; $n < 7; $n++)
{
foreach ($LANG[$planete->race]["technologies"]["niveau"][$n] as $key => $b)
{
$LANG[$planete->race]["technologies"]["niveau"][$n][$key] = intval($b);
}
foreach ($LANG[$planete->race]["technologies"]["niveau"][$n] as $key => $b)
{
$LANG[$planete->race]["technologies"]["niveau"][$n][$key] = intval($b);
}
print var_export($LANG[$planete->race]["technologies"]["niveau"][$n], true);
print var_export($LANG[$planete->race]["technologies"]["niveau"][$n], true);
}
exit;
//*/
//Si l'on est pas sur la planète mère, on bloque le laboratoire
if ($queryPlanetes[0]["id"] != $planete->id)
erreur("Vous devez être sur votre planète mère pour faire des recherches dans le ".$LANG[$race]["batiments"]["noms_sing"][6]);
if ($queryPlanetes[0]["id"] != $planete->id) {
erreur("Vous devez être sur votre planète mère pour faire des recherches dans le ".$LANG[$race]["batiments"]["noms_sing"][6]);
}
//Vérification que le joueur ait bien un labo avant d'afficher la page
if ($planete->batiments[6] <= 0)
erreur("Vous devez d'abord construire un ".$LANG[$race]["batiments"]["noms_sing"][6], "red", "?p=batiments", 3500);
if ($planete->batiments[6] <= 0) {
erreur("Vous devez d'abord construire un ".$LANG[$race]["batiments"]["noms_sing"][6], "red", "?p=batiments", 3500);
}
//On vérifie la branche demandée
if (isset($_GET["n"]) && is_numeric($_GET["n"]) && isset($planete->technologies[$_GET["n"]]))
$onglet = gpc("n");
else
$onglet = 0;
if (isset($_GET["n"]) && is_numeric($_GET["n"]) && isset($planete->technologies[$_GET["n"]])) {
$onglet = gpc("n");
} else {
$onglet = 0;
}
//Lancement d'une nouvelle recherche
if (isset($_GET["n"]) && isset($_GET["t"])) {
//On vérifie que le laboratoire ne soit pas en construction
if($planete->file_bat->objectInFile(6))
erreur("Votre ".$LANG[$race]["batiments"]["noms_sing"][6]." est en travaux, vous ne pouvez pas faire de recherches pendant ce temps !");
//On vérifie que le laboratoire ne soit pas en construction
if ($planete->file_bat->objectInFile(6)) {
erreur("Votre ".$LANG[$race]["batiments"]["noms_sing"][6]." est en travaux, vous ne pouvez pas faire de recherches pendant ce temps !");
}
$planete->file_tech->addObjet(intval(gpc("n")), intval(gpc("t")), $planete);
$planete->file_tech->addObjet(intval(gpc("n")), intval(gpc("t")), $planete);
redirection($VAR["menu"]["laboratoire"]);
redirection($VAR["menu"]["laboratoire"]);
}
//Annulation d'une nouvelle recherche
if (isset($_GET["a"]) && isset($_GET["b"]))
{
$planete->file_tech->delObjet(intval(gpc("b")), 1, intval(gpc("a")), $planete);
if (isset($_GET["a"]) && isset($_GET["b"])) {
$planete->file_tech->delObjet(intval(gpc("b")), 1, intval(gpc("a")), $planete);
redirection($VAR["menu"]["laboratoire"]);
redirection($VAR["menu"]["laboratoire"]);
}
function traiterBranche($onglet, $branche, $start = false)
{
global $LANG, $planete, $template;
global $LANG, $planete, $template;
if ($start)
$return = "<dl id=\"arbre\">";
else
$return = "<dl>";
if ($start) {
$return = "<dl id=\"arbre\">";
} else {
$return = "<dl>";
}
foreach($branche as $key => $b)
{
if (is_array($b))
{
$return .= "<dd>";
$return .= traiterBranche($onglet, $b);
$return .= "</dd>";
}
else
{
//On recherche s'il s'agit d'une technologie à niveau multiple
if ((dTechnologies::idToBit($b) & $planete->technologies[$onglet]) && isset($LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b+1]) && $LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b] == $LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b+1])
{
if ((dTechnologies::idToBit($b+1) & $planete->technologies[$onglet]) && isset($LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b+2]) && $LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b] == $LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b+2])
$b = $b + 2;
else
$b = $b + 1;
}
foreach ($branche as $key => $b) {
if (is_array($b)) {
$return .= "<dd>";
$return .= traiterBranche($onglet, $b);
$return .= "</dd>";
} else {
//On recherche s'il s'agit d'une technologie à niveau multiple
if ((dTechnologies::idToBit($b) & $planete->technologies[$onglet]) && isset($LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b+1]) && $LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b] == $LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b+1]) {
if ((dTechnologies::idToBit($b+1) & $planete->technologies[$onglet]) && isset($LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b+2]) && $LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b] == $LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b+2]) {
$b = $b + 2;
} else {
$b = $b + 1;
}
}
if ($key >= 1)
$return .= "</dl><dl>";
if ($key >= 1) {
$return .= "</dl><dl>";
}
if (dTechnologies::idToBit($b) & $planete->technologies[$onglet])
$return .= '<dt><a href="#">';
else
$return .= '<dt class="lack"><a href="?p=laboratoire&amp;n='.$onglet.'&amp;t='.$b.'">';
if (dTechnologies::idToBit($b) & $planete->technologies[$onglet]) {
$return .= '<dt><a href="#">';
} else {
$return .= '<dt class="lack"><a href="?p=laboratoire&amp;n='.$onglet.'&amp;t='.$b.'">';
}
$return .= $LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b].'</a><div><img src="'.$template->get_template_vars("url_images").'images/technologies/'.dTechnologies::image(array($onglet, $b), $planete).'" width="50" height="50" alt="'.$LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b].'" /><p><strong>Niveau :</strong> ';
if (($niv = dTechnologies::niveau($onglet, $b)) > 0)
{
if (dTechnologies::idToBit($b) & $planete->technologies[$onglet])
$return .= $niv;
else
$return .= ($niv-1);
}
else
$return .= "unique";
$return .= $LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b].'</a><div><img src="'.$template->get_template_vars("url_images").'images/technologies/'.dTechnologies::image(array($onglet, $b), $planete).'" width="50" height="50" alt="'.$LANG[$planete->race]["technologies"]["noms_sing"][$onglet][$b].'" /><p><strong>Niveau :</strong> ';
if (($niv = dTechnologies::niveau($onglet, $b)) > 0) {
if (dTechnologies::idToBit($b) & $planete->technologies[$onglet]) {
$return .= $niv;
} else {
$return .= ($niv-1);
}
} else {
$return .= "unique";
}
if (!(dTechnologies::idToBit($b) & $planete->technologies[$onglet]))
{
if (($r = dTechnologies::metal($onglet, $b, $planete)) > 0)
$return .= "<br /><strong>Coût ".$LANG[$planete->race]["ressources"]["noms"][0]." :</strong> ".$r;
if (($r = dTechnologies::cristal($onglet, $b, $planete)) > 0)
$return .= "<br /><strong>Coût ".$LANG[$planete->race]["ressources"]["noms"][1]." :</strong> ".$r;
if (($r = dTechnologies::hydrogene($onglet, $b, $planete)) > 0)
$return .= "<br /><strong>Coût ".$LANG[$planete->race]["ressources"]["noms"][2]." :</strong> ".$r;
if (($r = dTechnologies::credits($onglet, $b, $planete)) > 0)
$return .= "<br /><strong>Coût ".$LANG[$planete->race]["ressources"]["noms"][4]." :</strong> ".$r;
if (!(dTechnologies::idToBit($b) & $planete->technologies[$onglet])) {
if (($r = dTechnologies::metal($onglet, $b, $planete)) > 0) {
$return .= "<br /><strong>Coût ".$LANG[$planete->race]["ressources"]["noms"][0]." :</strong> ".$r;
}
if (($r = dTechnologies::cristal($onglet, $b, $planete)) > 0) {
$return .= "<br /><strong>Coût ".$LANG[$planete->race]["ressources"]["noms"][1]." :</strong> ".$r;
}
if (($r = dTechnologies::hydrogene($onglet, $b, $planete)) > 0) {
$return .= "<br /><strong>Coût ".$LANG[$planete->race]["ressources"]["noms"][2]." :</strong> ".$r;
}
if (($r = dTechnologies::credits($onglet, $b, $planete)) > 0) {
$return .= "<br /><strong>Coût ".$LANG[$planete->race]["ressources"]["noms"][4]." :</strong> ".$r;
}
$return .= "<br /><strong>Temps :</strong> ".sec(dTechnologies::temps($onglet, $b, $planete));
}
$return .= "<br /><strong>Temps :</strong> ".sec(dTechnologies::temps($onglet, $b, $planete));
}
$return .= "</p></div></dt>";
}
}
$return .= "</p></div></dt>";
}
}
return $return."</dl>";
return $return."</dl>";
}
if ($onglet == 1 || $onglet == 2)
$template->assign("arbre", traiterBranche(1, dTechnologies::type(1, $planete->race), true)."<br />".traiterBranche(2, dTechnologies::type(2, $planete->race), true));
elseif ($onglet == 5 || $onglet == 6)
$template->assign("arbre", traiterBranche(5, dTechnologies::type(5, $planete->race), true)."<br />".traiterBranche(6, dTechnologies::type(6, $planete->race), true));
else
$template->assign("arbre", traiterBranche($onglet, dTechnologies::type($onglet, $planete->race), true));
if ($onglet == 1 || $onglet == 2) {
$template->assign("arbre", traiterBranche(1, dTechnologies::type(1, $planete->race), true)."<br />".traiterBranche(2, dTechnologies::type(2, $planete->race), true));
} elseif ($onglet == 5 || $onglet == 6) {
$template->assign("arbre", traiterBranche(5, dTechnologies::type(5, $planete->race), true)."<br />".traiterBranche(6, dTechnologies::type(6, $planete->race), true));
} else {
$template->assign("arbre", traiterBranche($onglet, dTechnologies::type($onglet, $planete->race), true));
}
$template->assign("onglet", $onglet);
$template->assign("files", $planete->file_tech->printFile($planete));
unset($TEMP_liste, $niveau, $i);
?>

View file

@ -1,190 +1,199 @@
<?php
if(!defined('INDEX') || SURFACE != "planete") { header('Location: ./'.$VAR['first_page']); exit; }
if (!defined('INDEX') || SURFACE != "planete") {
header('Location: ./'.$VAR['first_page']);
exit;
}
$titre = 'Bourse';
//Récupération des données
$ressource = intval(gpc("ressource", "post"));
if ($ressource == 0)
$var = 'metal';
elseif ($ressource == 1)
$var = 'cristal';
elseif ($ressource == 2)
$var = 'hydrogene';
if ($ressource == 0) {
$var = 'metal';
} elseif ($ressource == 1) {
$var = 'cristal';
} elseif ($ressource == 2) {
$var = 'hydrogene';
}
//On gère les achats
if ((isset($_POST["buy"]) || empty($_POST["nbs"])) && !empty($_POST["nbb"]) && $nb = intval($_POST["nbb"]))
{
$bdd->reconnexion();
$action = $bdd->unique_query("SELECT dispo, graph FROM $table_bourse_ressources WHERE id = $ressource;");
$bdd->deconnexion();
if ((isset($_POST["buy"]) || empty($_POST["nbs"])) && !empty($_POST["nbb"]) && $nb = intval($_POST["nbb"])) {
$bdd->reconnexion();
$action = $bdd->unique_query("SELECT dispo, graph FROM $table_bourse_ressources WHERE id = $ressource;");
$bdd->deconnexion();
if (empty($action))
erreur("Impossible de trouver l'action dans la bourse !");
if (empty($action)) {
erreur("Impossible de trouver l'action dans la bourse !");
}
$nb = gpc("nbb", "post");
$nb = gpc("nbb", "post");
if ($action['dispo'] <= $nb)
erreur("Il n'y a pas assez de ressources dans la galaxie pour que vous puissiez en acheter autant.");
if ($action['dispo'] <= $nb) {
erreur("Il n'y a pas assez de ressources dans la galaxie pour que vous puissiez en acheter autant.");
}
//On vérifie qu'il reste suffisamment de place dans les silos du joueur
if ($planete->cap < $planete->$var + $nb)
$nb = $planete->cap - $planete->$var;
if ($nb <= 0)
erreur("Vous n'avez pas assez de place pour stocker ces ressources !");
//On vérifie qu'il reste suffisamment de place dans les silos du joueur
if ($planete->cap < $planete->$var + $nb) {
$nb = $planete->cap - $planete->$var;
}
if ($nb <= 0) {
erreur("Vous n'avez pas assez de place pour stocker ces ressources !");
}
//On calcul le prix
$prix = bourse_calcPrixBase($action['dispo'], $nb, 2.2);
//On calcul le prix
$prix = bourse_calcPrixBase($action['dispo'], $nb, 2.2);
//On vérifie que le joueur ait assez de crédits pour acheter
if ($prix <= $planete->credits)
{
$planete->addCredits(-1*$prix);
$planete->addModifUser('credits');
$planete->$var += $nb;
$planete->addModif('force');
//On vérifie que le joueur ait assez de crédits pour acheter
if ($prix <= $planete->credits) {
$planete->addCredits(-1*$prix);
$planete->addModifUser('credits');
$planete->$var += $nb;
$planete->addModif('force');
if (empty($action['graph']))
$action['graph'] = array();
else
$action['graph'] = unserialize($action['graph']);
$action['graph'][date('w')] = $action['dispo'];
$graph = serialize($action['graph']);
if (empty($action['graph'])) {
$action['graph'] = array();
} else {
$action['graph'] = unserialize($action['graph']);
}
$action['graph'][date('w')] = $action['dispo'];
$graph = serialize($action['graph']);
$bdd->reconnexion();
$bdd->escape($graph);
$bdd->query("UPDATE $table_bourse_ressources SET dispo = dispo - $nb, graph = '$graph' WHERE id = $ressource;");
$bdd->deconnexion();
}
else
erreur("Vous n'avez pas assez de crédits pour faire cet achat !");
$bdd->reconnexion();
$bdd->escape($graph);
$bdd->query("UPDATE $table_bourse_ressources SET dispo = dispo - $nb, graph = '$graph' WHERE id = $ressource;");
$bdd->deconnexion();
} else {
erreur("Vous n'avez pas assez de crédits pour faire cet achat !");
}
}
//On gère les ventes
elseif ((isset($_POST["sell"]) || empty($_POST["nbb"])) && !empty($_POST["nbs"]))
{
$nb = gpc("nbs", "post");
if ($nb <= 1000 || $nb > 99999999)
erreur("Nombre de ressource invalide !<br />Vous pouvez vendre au minimum 1000 ressources !");
elseif ((isset($_POST["sell"]) || empty($_POST["nbb"])) && !empty($_POST["nbs"])) {
$nb = gpc("nbs", "post");
if ($nb <= 1000 || $nb > 99999999) {
erreur("Nombre de ressource invalide !<br />Vous pouvez vendre au minimum 1000 ressources !");
}
//On vérifie que le joueur ait assez de ressources pour vendre, sinon, on ajuste à son maximum
if ($nb > $planete->$var)
$nb = $planete->$var;
//On vérifie que le joueur ait assez de ressources pour vendre, sinon, on ajuste à son maximum
if ($nb > $planete->$var) {
$nb = $planete->$var;
}
if ($nb < 0)
erreur("Vous n'avez pas assez de ressources en vendre autant !");
if ($nb < 0) {
erreur("Vous n'avez pas assez de ressources en vendre autant !");
}
$bdd->reconnexion();
$action = $bdd->unique_query("SELECT dispo, graph FROM $table_bourse_ressources WHERE id = $ressource;");
$bdd->deconnexion();
$bdd->reconnexion();
$action = $bdd->unique_query("SELECT dispo, graph FROM $table_bourse_ressources WHERE id = $ressource;");
$bdd->deconnexion();
if (empty($action))
erreur("Impossible de trouver l'action dans la bourse !");
if (empty($action)) {
erreur("Impossible de trouver l'action dans la bourse !");
}
$prix = bourse_calcPrixBase($action['dispo'], $nb, 1.8);
$planete->addCredits($prix);
$planete->addModifUser('credits');
$planete->$var -= $nb;
$planete->addModif('force');
$prix = bourse_calcPrixBase($action['dispo'], $nb, 1.8);
$planete->addCredits($prix);
$planete->addModifUser('credits');
$planete->$var -= $nb;
$planete->addModif('force');
if (empty($action['graph']))
$action['graph'] = array();
else
$action['graph'] = unserialize($action['graph']);
$action['graph'][date('w')] = $action['dispo'];
$graph = serialize($action['graph']);
if (empty($action['graph'])) {
$action['graph'] = array();
} else {
$action['graph'] = unserialize($action['graph']);
}
$action['graph'][date('w')] = $action['dispo'];
$graph = serialize($action['graph']);
$bdd->reconnexion();
$bdd->escape($graph);
$bdd->query("UPDATE $table_bourse_ressources SET dispo = dispo + $nb, graph = '$graph' WHERE id = $ressource;");
$bdd->deconnexion();
$bdd->reconnexion();
$bdd->escape($graph);
$bdd->query("UPDATE $table_bourse_ressources SET dispo = dispo + $nb, graph = '$graph' WHERE id = $ressource;");
$bdd->deconnexion();
}
/*
if(is_numeric($a) && is_numeric(gpc('a'.$a, 'post')))
{
$nb = gpc('a'.$a, 'post');
if ($nb <= 0 || $nb > 99999999) erreur("Nombre de ressources invalide !");
$nb = gpc('a'.$a, 'post');
if ($nb <= 0 || $nb > 99999999) erreur("Nombre de ressources invalide !");
if ($a == 0) $var = 'metal';
elseif ($a == 1) $var = 'cristal';
elseif ($a == 2) $var = 'hydrogene';
if ($a == 0) $var = 'metal';
elseif ($a == 1) $var = 'cristal';
elseif ($a == 2) $var = 'hydrogene';
$bdd->reconnexion();
$action = $bdd->unique_query("SELECT dispo, graph FROM $table_bourse_ressources WHERE id = $a;");
$bdd->deconnexion();
$bdd->reconnexion();
$action = $bdd->unique_query("SELECT dispo, graph FROM $table_bourse_ressources WHERE id = $a;");
$bdd->deconnexion();
//On vérifie que la bourse ait suffisament de ressources à distribuer :
if ($action['dispo'] <= $nb) erreur("Il n'y a pas assez de ressources dans la galaxie pour que vous puissiez en acheter autant.");
//On vérifie que la bourse ait suffisament de ressources à distribuer :
if ($action['dispo'] <= $nb) erreur("Il n'y a pas assez de ressources dans la galaxie pour que vous puissiez en acheter autant.");
//On vérifie qu'il reste suffisamment de place dans les silos du joueur
if ($planete->cap < $planete->$var + $nb) $nb = $planete->cap - $planete->$var;
if ($nb <= 0) erreur("Vous n'avez pas assez de place pour stocker ces ressources !");
//On vérifie qu'il reste suffisamment de place dans les silos du joueur
if ($planete->cap < $planete->$var + $nb) $nb = $planete->cap - $planete->$var;
if ($nb <= 0) erreur("Vous n'avez pas assez de place pour stocker ces ressources !");
$prix = bourse_calcPrixBase($action['dispo'], $nb, 2.2);
$prix = bourse_calcPrixBase($action['dispo'], $nb, 2.2);
//On vérifie que le joueur ait assez de crédits pour acheter
if ($prix <= $planete->credits) {
$planete->addCredits(-1*$prix);
$planete->addModifUser('credits');
$planete->$var += $nb;
$planete->addModif('force');
//On vérifie que le joueur ait assez de crédits pour acheter
if ($prix <= $planete->credits) {
$planete->addCredits(-1*$prix);
$planete->addModifUser('credits');
$planete->$var += $nb;
$planete->addModif('force');
if (empty($action['graph'])) $action['graph'] = array();
else $action['graph'] = unserialize($action['graph']);
$action['graph'][date('w')] = $action['dispo'];
$graph = serialize($action['graph']);
if (empty($action['graph'])) $action['graph'] = array();
else $action['graph'] = unserialize($action['graph']);
$action['graph'][date('w')] = $action['dispo'];
$graph = serialize($action['graph']);
$bdd->reconnexion();
$bdd->escape($graph);
$bdd->query("UPDATE $table_bourse_ressources SET dispo = dispo - $nb, graph = '$graph' WHERE id = $a;");
$bdd->deconnexion();
}
else erreur("Vous n'avez pas assez de crédits pour faire cet achat !");
$bdd->reconnexion();
$bdd->escape($graph);
$bdd->query("UPDATE $table_bourse_ressources SET dispo = dispo - $nb, graph = '$graph' WHERE id = $a;");
$bdd->deconnexion();
}
else erreur("Vous n'avez pas assez de crédits pour faire cet achat !");
}
elseif(is_numeric($v) && is_numeric(gpc('a'.$v, 'post')))
{
$nb = gpc('a'.$v, 'post');
if ($nb <= 1000 || $nb > 99999999) erreur("Nombre de ressources invalide !<br />Vous pouvez vendre au minimum 1000 ressources !");
$nb = gpc('a'.$v, 'post');
if ($nb <= 1000 || $nb > 99999999) erreur("Nombre de ressources invalide !<br />Vous pouvez vendre au minimum 1000 ressources !");
if ($v == 0) $var = 'metal';
elseif ($v == 1) $var = 'cristal';
elseif ($v == 2) $var = 'hydrogene';
if ($v == 0) $var = 'metal';
elseif ($v == 1) $var = 'cristal';
elseif ($v == 2) $var = 'hydrogene';
//On vérifie que le joueur ait assez de ressources pour vendre, sinon, on ajuste à son maximum
if ($nb > $planete->$var) $nb = $planete->$var;
//On vérifie que le joueur ait assez de ressources pour vendre, sinon, on ajuste à son maximum
if ($nb > $planete->$var) $nb = $planete->$var;
$bdd->reconnexion();
$action = $bdd->unique_query("SELECT dispo, graph FROM $table_bourse_ressources WHERE id = $v;");
$bdd->deconnexion();
$bdd->reconnexion();
$action = $bdd->unique_query("SELECT dispo, graph FROM $table_bourse_ressources WHERE id = $v;");
$bdd->deconnexion();
$prix = bourse_calcPrixBase($action['dispo'], $nb, 1.8);
$planete->addCredits($prix);
$planete->addModifUser('credits');
$planete->$var -= $nb;
$planete->addModif('force');
$prix = bourse_calcPrixBase($action['dispo'], $nb, 1.8);
$planete->addCredits($prix);
$planete->addModifUser('credits');
$planete->$var -= $nb;
$planete->addModif('force');
if (empty($action['graph'])) $action['graph'] = array();
else $action['graph'] = unserialize($action['graph']);
$action['graph'][date('w')] = $action['dispo'];
$graph = serialize($action['graph']);
if (empty($action['graph'])) $action['graph'] = array();
else $action['graph'] = unserialize($action['graph']);
$action['graph'][date('w')] = $action['dispo'];
$graph = serialize($action['graph']);
$bdd->reconnexion();
$bdd->escape($graph);
$bdd->query("UPDATE $table_bourse_ressources SET dispo = dispo + $nb, graph = '$graph' WHERE id = $v;");
$bdd->deconnexion();
$bdd->reconnexion();
$bdd->escape($graph);
$bdd->query("UPDATE $table_bourse_ressources SET dispo = dispo + $nb, graph = '$graph' WHERE id = $v;");
$bdd->deconnexion();
}//*/
$bdd->reconnexion();
$bourse = $bdd->query("SELECT id, dispo FROM $table_bourse_ressources;");
$bdd->deconnexion();
foreach($bourse as $key => $action)
{
$bourse[$key]['prix'] = bourse_calcPrixBase($action['dispo']);
$bourse[$key]['prixV'] = $bourse[$key]['prix'] * 0.9;
$bourse[$key]['prixA'] = $bourse[$key]['prix'] * 1.07;
foreach ($bourse as $key => $action) {
$bourse[$key]['prix'] = bourse_calcPrixBase($action['dispo']);
$bourse[$key]['prixV'] = $bourse[$key]['prix'] * 0.9;
$bourse[$key]['prixA'] = $bourse[$key]['prix'] * 1.07;
}
$page = 'marche';
$template->assign('bourse', $bourse);
unset($a, $v, $var, $bourse, $graph, $key, $action, $nb, $prix);
?>

View file

@ -1,49 +1,46 @@
<?php
if(!defined('INDEX') || SURFACE != "planete") { header('Location: ./'.$VAR['first_page']); exit; }
if (!defined('INDEX') || SURFACE != "planete") {
header('Location: ./'.$VAR['first_page']);
exit;
}
$page = 'rename';
$titre = 'Renommer une planète';
if (isset($_POST['planete']))
{
$nouvNom = trim(str_replace('&nbsp;', ' ', $_POST['planete']));
if (empty($nouvNom))
erreur('Vous n\'avez indiqué aucun nom de planète.', "red", '?p=rename');
elseif (limite($nouvNom, 18))
erreur('Le nom de votre planète est trop long.', "red", '?p=rename');
elseif (preg_match('#staf#', strtolower($nouvNom)) && $SESS->level < 4)
erreur('Vous devez faire parti du staff pour afficher le nom "staff" dans le nom de votre planète !', "red", '?p=rename');
else
{
$planete->nom_planete = $nouvNom;
$planete->addModif("nom_planete");
if (isset($_POST['planete'])) {
$nouvNom = trim(str_replace('&nbsp;', ' ', $_POST['planete']));
if (empty($nouvNom)) {
erreur('Vous n\'avez indiqué aucun nom de planète.', "red", '?p=rename');
} elseif (limite($nouvNom, 18)) {
erreur('Le nom de votre planète est trop long.', "red", '?p=rename');
} elseif (preg_match('#staf#', strtolower($nouvNom)) && $SESS->level < 4) {
erreur('Vous devez faire parti du staff pour afficher le nom "staff" dans le nom de votre planète !', "red", '?p=rename');
} else {
$planete->nom_planete = $nouvNom;
$planete->addModif("nom_planete");
header('Location: ?p=accueil');
exit;
//erreur('Le nom de votre planète a été modifié avec succès.', "green", '?p=accueil');
}
unset($nouvNom);
}
elseif(!empty($_GET['a']) && !empty($SESS->values['abandon']) && isset($_GET['i']) && $_GET['a'] == $SESS->values['abandon'] && $planete->id == $_GET['i'])
{
$bdd->reconnexion();
$bdd->query("DELETE FROM $table_planete WHERE id_user = ".$planete->id_user." AND id = ".$planete->id." AND galaxie = ".$planete->galaxie." AND ss = ".$planete->ss." AND position = ".$planete->position." LIMIT 1;");
$bdd->query("DELETE FROM $table_flottes WHERE id_user = ".$planete->id_user." AND start_galaxie = ".$planete->galaxie." AND start_ss = ".$planete->ss." AND start_position = ".$planete->position.";");
header('Location: ?p=accueil');
exit;
//erreur('Le nom de votre planète a été modifié avec succès.', "green", '?p=accueil');
}
unset($nouvNom);
} elseif (!empty($_GET['a']) && !empty($SESS->values['abandon']) && isset($_GET['i']) && $_GET['a'] == $SESS->values['abandon'] && $planete->id == $_GET['i']) {
$bdd->reconnexion();
$bdd->query("DELETE FROM $table_planete WHERE id_user = ".$planete->id_user." AND id = ".$planete->id." AND galaxie = ".$planete->galaxie." AND ss = ".$planete->ss." AND position = ".$planete->position." LIMIT 1;");
$bdd->query("DELETE FROM $table_flottes WHERE id_user = ".$planete->id_user." AND start_galaxie = ".$planete->galaxie." AND start_ss = ".$planete->ss." AND start_position = ".$planete->position.";");
$req = $bdd->unique_query("SELECT id FROM $table_planete WHERE id_user = ".$planete->id_user." LIMIT 1;");
$bdd->deconnexion();
$SESS->values['abandon'] = 0;
unset($SESS->values['abandon']);
$SESS->values['idPlan'] = $req['id'];
$SESS->put();
$req = $bdd->unique_query("SELECT id FROM $table_planete WHERE id_user = ".$planete->id_user." LIMIT 1;");
$bdd->deconnexion();
$SESS->values['abandon'] = 0;
unset($SESS->values['abandon']);
$SESS->values['idPlan'] = $req['id'];
$SESS->put();
unset($req, $planete);
erreur('Cette planète n\'est désormais plus sous votre contrôle.', "green", '?p=accueil');
}
unset($req, $planete);
erreur('Cette planète n\'est désormais plus sous votre contrôle.', "green", '?p=accueil');
}
if (count($queryPlanetes) > 1)
{
$template->assign('abandonH', $SESS->values['abandon'] = md5(rand(123456789,9876543210)));
$SESS->put();
}
if (count($queryPlanetes) > 1) {
$template->assign('abandonH', $SESS->values['abandon'] = md5(rand(123456789, 9876543210)));
$SESS->put();
}
unset($queryPlanetes);
?>

View file

@ -1,62 +1,63 @@
<?php
if(!defined('INDEX')) { header('Location: ./'.$VAR['first_page']); exit; }
if (!defined('INDEX')) {
header('Location: ./'.$VAR['first_page']);
exit;
}
$titre = 'Ressources';
if (SURFACE == "planete")
{
$page = 'ressources';
if (isset($_POST['anb']) && $planete->batiments[4])
{
$anb = gpc("anb", "post");
if ($planete->checkAndRetireRessources(0, 0, $anb*(7000-$planete->batiments[4]*1250), $anb*(7000-$planete->batiments[4]*1250), 0))
{
$planete->energieCentrale += $anb;
$planete->addModif("energieCentrale");
}
else
erreur("Vous n'avez pas assez de ressources pour augmenter la capacité de votre ".$LANG[$race]["batiments"]["noms_sing"][4]." !");
}
elseif (isset($_POST['coeff_metal']) && isset($_POST['coeff_cs'])) {
if (SURFACE == "planete") {
$page = 'ressources';
if (isset($_POST['anb']) && $planete->batiments[4]) {
$anb = gpc("anb", "post");
if ($planete->checkAndRetireRessources(0, 0, $anb*(7000-$planete->batiments[4]*1250), $anb*(7000-$planete->batiments[4]*1250), 0)) {
$planete->energieCentrale += $anb;
$planete->addModif("energieCentrale");
} else {
erreur("Vous n'avez pas assez de ressources pour augmenter la capacité de votre ".$LANG[$race]["batiments"]["noms_sing"][4]." !");
}
} elseif (isset($_POST['coeff_metal']) && isset($_POST['coeff_cs'])) {
$planete->coeff_bat[0] = floor($_POST['coeff_metal'])/100;
if (isset($_POST['coeff_cristal'])) {
$planete->coeff_bat[1] = floor($_POST['coeff_cristal'])/100;
}
if (isset($_POST['coeff_hydrogene'])) {
$planete->coeff_bat[2] = floor($_POST['coeff_hydrogene'])/100;
}
$planete->coeff_bat[3] = floor($_POST['coeff_cs'])/100;
if (isset($_POST['coeff_ce'])) {
$planete->coeff_bat[4] = floor($_POST['coeff_ce'])/100;
}
$planete->addModif("coeff_bat");
$planete->coeff_bat[0] = floor($_POST['coeff_metal'])/100;
if (isset($_POST['coeff_cristal'])) $planete->coeff_bat[1] = floor($_POST['coeff_cristal'])/100;
if (isset($_POST['coeff_hydrogene'])) $planete->coeff_bat[2] = floor($_POST['coeff_hydrogene'])/100;
$planete->coeff_bat[3] = floor($_POST['coeff_cs'])/100;
if (isset($_POST['coeff_ce'])) $planete->coeff_bat[4] = floor($_POST['coeff_ce'])/100;
$planete->addModif("coeff_bat");
redirection('?p=ressources');
}
redirection('?p=ressources');
}
$tablo = $planete->production(3600, true);
$tablo = $planete->production(3600, true);
$template->assign('ressources_prod', $tablo[1]);
$template->assign('ressources_conso', $tablo[2]);
$template->assign('ressources_coef', $tablo[0]);
$template->assign('ressources_silo', array($planete->batiments[10], pow(2, $planete->batiments[10]) * 100000));
$template->assign('ressources_toto', array($tablo[1][2] - $tablo[2][3], '(0)'));
$template->assign('ressources_prod', $tablo[1]);
$template->assign('ressources_conso', $tablo[2]);
$template->assign('ressources_coef', $tablo[0]);
$template->assign('ressources_silo', array($planete->batiments[10], pow(2, $planete->batiments[10]) * 100000));
$template->assign('ressources_toto', array($tablo[1][2] - $tablo[2][3], '(0)'));
$template->assign('ressources_tab', array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100));
$template->assign('ressources_tab', array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100));
unset($tablo);
} else {
$page = 'ressources_alli';
unset($tablo);
$don_credits = intval(gpc("credits", "post"));
if (!empty($don_credits) && $don_credits > 0) {
//Si le joueur n'a pas assez de crédits
if ($don_credits > $planete->credits) {
erreur('Vous n\'avez pas suffisamment de crédits pour en donner autant.', 'red', $VAR['menu']['ressources']);
}
$planete->addCreditsAlliance($don_credits);
$planete->addCredits(-1 * $don_credits);
erreur('Votre don de '.$don_credits.' '.$LANG[$race]["ressources"]["noms"]["credits"].' a été effectué avec succès.', 'green', $VAR['menu']['ressources']);
}
unset($don_credits);
}
else
{
$page = 'ressources_alli';
$don_credits = intval(gpc("credits", "post"));
if (!empty($don_credits) && $don_credits > 0)
{
//Si le joueur n'a pas assez de crédits
if ($don_credits > $planete->credits)
erreur('Vous n\'avez pas suffisamment de crédits pour en donner autant.', 'red', $VAR['menu']['ressources']);
$planete->addCreditsAlliance($don_credits);
$planete->addCredits(-1 * $don_credits);
erreur('Votre don de '.$don_credits.' '.$LANG[$race]["ressources"]["noms"]["credits"].' a été effectué avec succès.', 'green', $VAR['menu']['ressources']);
}
unset($don_credits);
}
?>