Version 1.10c

This commit is contained in:
nemunaire 2008-11-19 12:00:00 +01:00
commit 2a066a7498
148 changed files with 2174 additions and 134960 deletions

View file

@ -10,6 +10,8 @@ $titre = 'Batiments';
if (isset($_GET['c'])) {
//Vérification que la planète ne soit pas pleine
if ($planete->casesRest <= 0) erreur('Vous n\'avez plus de place sur votre planète.', "red", "?p=batiments", 3500);
//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['c'] == 6 && !empty($planete->file_tech[1])) erreur('Une technologie est en cours de recherche dans votre laboratoire, vous ne pouvez pas faire de travaux !');
//Récupération des erreurs de la mise en file d'attente pour traitement
$construction = $planete->file_addObjet("batiments", intval(gpc('c')));
@ -23,6 +25,20 @@ $titre = 'Batiments';
default: header('Location: ?p=batiments'); exit;
}
}
//Lancement d'une déconstruction
if (isset($_GET['d'])) {
//Récupération des erreurs de la mise en file d'attente pour traitement
$construction = $planete->file_addObjet("batiments", intval(gpc('d')), -1);
switch($construction){
case 1: erreur('Vous n\'avez pas les bâtiments et/ou technologies nécessaires pour construire ce bâtiment.'); break;
case 2: erreur('Ce bâtiment est déjà en file d\'attente !'); break;
case 3: erreur('Vous n\'avez pas les ressources nécessaire pour construire ce bâtiment !'); break;
case 4: erreur('File d\'attente pleine !'); break;
case 5: erreur('Le nombre d\'objets est négatif !'); break;
default: header('Location: ?p=batiments'); exit;
}
}
//Annulation d'une nouvelle construction
if (isset($_GET['a']) && isset($batiment[$_GET['a']])) {
$i = intval(gpc('a'));
@ -46,7 +62,8 @@ $titre = 'Batiments';
foreach($planete->batiments as $i => $PLbatiment) {
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0; $enFile = false;
if ($PLbatiment > 0) $niveau = $PLbatiment; else $niveau = 0;
$n = $PLbatiment + 1; eval($batimentCALC[$i][0]); eval($batimentCALC[$i][1]); eval($batimentCALC[$i][2]); eval($batimentCALC[$i][3]);
$n = $PLbatiment + 1;
eval($batimentCALC[$i][0]); eval($batimentCALC[$i][1]); eval($batimentCALC[$i][2]); eval($batimentCALC[$i][3]);
if ($planete->file_exist($i, 'file_bat')) $enFile = true; else $enFile = false;
//On applique les bonus de test
@ -88,6 +105,7 @@ $titre = 'Batiments';
$n = $planete->batiments[$bout[0]] + 1;
eval($batimentCALC[$bout[0]][3]);
if ($bout[1] < 0) $sec *= 0.6;
if ($key == 1) $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE - (time() - $planete->file_bat[0])), $batiment[$bout[0]]);
else $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE), $batiment[$bout[0]]);
}

View file

@ -5,6 +5,8 @@ include_once(_FCORE."../game/Class/class.bourse.php");
define('MAX_ACTION_PAR_JOUR', 5);
erreur('Arrêtez de tester la bourse, on attend le nouveau script !');
/*if (date('G') < 7 && date('G') >= 0 && date('w') != 0 && date('w') != 6 && $queryUser['auth_level'] < 3)
erreur('La bourse est actuellement fermée !<br />Réouverture à 7h00', "orange");
else*/if ($queryPlanetes[0]['id'] != $planete->id)

View file

@ -65,14 +65,10 @@ for ($i = 1; $i <= MAX_PLANETE; $i++) {
$bdd->escape($s);
$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.debris_met, P.debris_cri, U.pseudo, U.race, 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;");
if ($d['race'] == 'covenant') $ra = '(c)';
elseif ($auth_level >= 6 && md5($d['race']) == '34c19b21bd4a3dda389e767d32fe9779') $ra = '(f)';
else $ra = '(h)';
$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'], $ra, $d['pseudo'], '<a href="?p=envoyer&amp;d='.$d['pseudo'].'" class="msg"><span>Message</span></a>', $d['tag']);//, $eA['tag']);
$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();

View file

@ -95,7 +95,7 @@ foreach ($planete->file_vais as $key => $bout){
$n = $planete->vaisseaux[$bout[0]] + 1;
eval($nomvaisnCALC[$bout[0]][3]);
if ($key == 1) $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE - (time() - $planete->file_vais[0])) + ceil($sec/VITESSE) * ($bout[1]-1), $nomvaisn[$bout[0]], ceil($sec/VITESSE - (time() - $planete->file_vais[0])));
else $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE), $nomvaisn[$bout[0]]);
else $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE) * $bout[1], $nomvaisn[$bout[0]]);
}
$template->assign('file', $file);
?>

View file

@ -94,7 +94,7 @@ foreach ($planete->file_ter as $key => $bout){
$n = $planete->terrestres[$bout[0]] + 1;
eval($nomterrnCALC[$bout[0]][3]);
if ($key == 1) $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE - (time() - $planete->file_ter[0])) + ceil($sec/VITESSE) * ($bout[1]-1), $nomterrn[$bout[0]], ceil($sec/VITESSE - (time() - $planete->file_ter[0])));
else $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE), $nomterrn[$bout[0]]);
else $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE) * $bout[1], $nomterrn[$bout[0]]);
}
$template->assign('file', $file);
?>

View file

@ -64,10 +64,13 @@ if ($TypeSearch) {
$j = ($pageClassement-1)*$nbppage;
$TEMP_classement = array();
foreach($data as $lign){
$j++;
$TEMP_classement[] = array($j, $lign['tag'], $lign['nbr_membres'], separerNombres($lign[$export]),0);
if ($data) {
foreach($data as $lign){
$j++;
$TEMP_classement[] = array($j, $lign['tag'], $lign['nbr_membres'], separerNombres($lign[$export]),0);
}
}
else erreur('Classement non disponible.');
$template->assign('places', $TEMP_classement);
}
@ -80,10 +83,13 @@ else {
$j = ($pageClassement-1)*$nbppage;
$TEMP_classement = array();
foreach($data as $lign){
$j++;
$TEMP_classement[] = array($j, $lign['pseudo'], $lign['race'], $lign['tag'], $lign['nom'], separerNombres($lign[$export]));
if ($data) {
foreach($data as $lign){
$j++;
$TEMP_classement[] = array($j, $lign['pseudo'], $lign['race'], $lign['tag'], $lign['nom'], separerNombres($lign[$export]));
}
}
else erreur('Classement non disponible.');
$template->assign('places', $TEMP_classement);
}

View file

@ -93,8 +93,8 @@ foreach ($planete->file_ter as $key => $bout){
if ($key == 0) continue;
$n = $planete->terrestres[$bout[0]] + 1;
eval($nomterrnCALC[$bout[0]][3]);
if ($i == 1) $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE - (time() - $planete->file_ter[0])) + ceil($sec/VITESSE) * ($bout[1]-1), $nomterrn[$bout[0]], ceil($sec/VITESSE - (time() - $planete->file_ter[0])));
else $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE), $nomterrn[$bout[0]]);
if ($key == 1) $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE - (time() - $planete->file_ter[0])) + ceil($sec/VITESSE) * ($bout[1]-1), $nomterrn[$bout[0]], ceil($sec/VITESSE - (time() - $planete->file_ter[0])));
else $file[] = array($bout[0], $bout[1], ceil($sec/VITESSE) * $bout[1], $nomterrn[$bout[0]]);
}
$template->assign('file', $file);
?>

View file

@ -6,5 +6,5 @@ $bdd->connexion();
$message = $bdd->unique_query("SELECT * FROM $table_messages_demarrage ORDER BY time DESC LIMIT 1;");
$bdd->deconnexion();
$titre = $message['titre'];
$template->assign('contenu', bbcode(nl2br($message['contenu']), 1).'<br /><br /><a class="submit" href="?p=accueil">Continuer</a>');
$template->assign('contenu', '<p style="margin: 0 5px;">'.bbcode(nl2br($message['contenu']), 1).'<br /><br /><a class="submit" href="?p=accueil">Continuer</a></p>');
?>

View file

@ -17,21 +17,20 @@ if (!empty($_POST['objet']) && !empty($_POST['nom']) && !empty($_POST['message']
$bdd->escape($objet);
$bdd->escape($pseudo);
$introuv = array();
for($i = 0; $i < $nbutil; $i++){
$util = trim($utils[$i]);
if (empty($util)) continue;
$bdd->escape($util);
if ($env = $bdd->unique_query("SELECT id, pseudo, mail, envoyerMail FROM $table_user WHERE pseudo = '$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_mail (destinataire, expediteur, sujet, contenu, temps) VALUES(".$env['id'].", '$id_user', '$objet', '$message', '$time');");
if ($env["envoyerMail"] >= 1 && !empty($env["mail"])) send_mail($env["mail"], 'Nouveau message privé', 'Bonjour '.$env["pseudo"].',<br /><br />Un nouveau message privé vous a été envoyé dans la galaxie '.$config['serveur_name']);
}
else {
$bdd->deconnexion();
erreur('Impossible de trouver l\'un des destinataire du message : '.htmlentities($util), "red", '?p=envoyer');
}
else $introuv[] = htmlentities($util);
}
$bdd->deconnexion();
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=envoyer');
else erreur('Votre message a été envoyé avec succès.', "green", '?p=messagerie');
}
$amis = array();

View file

@ -1,6 +1,7 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
$titre = 'Flottes';
include_once(_FCORE."../game/Class/class.flotte.php");
if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && isset($_POST['amas']) && !empty($_POST['ss']) && !empty($_POST['pos']) && !empty($_POST['vitesse']) && isset($_POST['mission']) && isset($_POST['metal']) && isset($_POST['cristal']) && isset($_POST['hydrogene'])) {
$end_galaxie = floor(gpc('amas', 'post'));
@ -47,7 +48,7 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && isset($_POST['amas']
//On vérifie la mission, si elle est de recycler, il faut qu'il y ait des reclycleurs
elseif ($mission == 4 && $sess->values['vais'][3] <= 0) erreur('Vous ne pouvez pas recycler sans recycleur !', "red", '?p=flotte');
//On vérifie que l'on possède assez de ressources
elseif ((!empty($EBmetal) && !$EBmetal > $queryPlanete['metal']) || (!empty($EBcristal) && !$EBcristal > $queryPlanete['cristal']) || (!empty($EBhydrogene) && !$EBhydrogene > $queryPlanete['hydrogene'])) erreur('Vous ne pouvez pas envoyer plus de ressources que vous n\'en posséder.', "red", '?p=flotte');
elseif ((!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
elseif ((!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 du vaisseau
@ -86,33 +87,33 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && isset($_POST['amas']
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");
}
//Création de la flotte
$req = array();
$reqPlan = array();
$nbVais = 0;
foreach ($sess->values['vais'] as $key => $vaisseau){
if ($vaisseau > 0) {
if ($vaisseau > $planete->vaisseaux[$key]) erreur('Vous avez envoyé plus de vaisseaux que vous n\'en posséder sur cette planète.', "red", '?p=flotte');
else {
$req[] = $nomvaisnVAR[$key].' = '.$vaisseau;
$reqPlan[] = $nomvaisnVAR[$key].' = '.$nomvaisnVAR[$key].' - '.$vaisseau;
$nbVais += $vaisseau;
}
}
}
if ($nbVais <= 0) erreur('Vous devez envoyer au moins un vaisseau pour former une flotte !', "red", '?p=flotte');
elseif ($sess->values['flnbvais'] != $nbVais) erreur('Une erreur est survenue lors de la création de la flotte :<br /><br /><i>Calcul du nombre de vaisseaux incorrect !</i><br /><br />Si le problème perciste, <a href="mailto:'.$config['mailadmin'].'">contactez un administrateur</a>.', "red", '?p=flotte', 4500);
if (!isset($sess->values['vais']) || !is_array($sess->values['vais'])) erreur('Erreur lors de la création de la flotte, absence de données des vaisseaux', "red", '?p=flotte');
else {
//Envoie de la flotte
$flotte = new flotte();
$sauv = $planete->vaisseaux; //Sauvegarde du contenu de la flotte avant lancement
$nbVais = 0;
foreach ($sess->values['vais'] as $key => $vaisseau){
if ($vaisseau > 0) {
if ($vaisseau > $planete->vaisseaux[$key]) erreur('Vous avez envoyé plus de vaisseaux que vous n\'en posséder sur cette planète.', "red", '?p=flotte');
else $nbVais += $vaisseau;
}
elseif ($vaisseau < 0) $vaisseau = 0;
$flotte->vaisseaux[$key] = $vaisseau;
$sauv[$key] -= $vaisseau;
}
if ($nbVais <= 0) erreur('Vous devez envoyer au moins un vaisseau pour former une flotte !', "red", '?p=flotte');
elseif (!isset($sess->values['flnbvais']) || $sess->values['flnbvais'] != $nbVais) erreur('Une erreur est survenue lors de la création de la flotte :<br /><br /><i>Calcul du nombre de vaisseaux incorrect !</i><br /><br />Si le problème perciste, <a href="mailto:'.$config['mailadmin'].'">contactez un administrateur</a>.', "red", '?p=flotte', 4500);
$flotte->nom = gpc('nomflotte', 'post');
$flotte->mission = $mission;
$flotte->start_planete = $planete;
$flotte->start_time = time();
$flotte->end_planete = $resultat['id'];
$calc = $flotte->calc_deplacement($planete->galaxie, $planete->ss, $planete->position, $end_galaxie, $end_ss, $end_pos, $vitesse);
$calc = $flotte->calc_deplacement($planete->galaxie, $planete->ss, $planete->position, $end_galaxie, $end_ss, $end_pos, $vitesse, false, true);
$flotte->end_time = $calc[0];
$conso = $calc[1];
@ -121,11 +122,19 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && isset($_POST['amas']
//On vérifie qu'il y a assez de place dans les cales des vaisseaux avant l'envoie ainsi que de ressources sur la planète
$flotte->calculer();
if ($flotte->contenuMax < ceil(gpc('metal', 'post')) + ceil(gpc('cristal', 'post')) + ceil(gpc('hydrogene', 'post')) + $conso) erreur('Vous ne pouvez pas embarquer autant de ressources, les cales débordent.', "red", '?p=flotte', 3500);
if ($flotte->contenuMax < ceil(gpc('metal', 'post')) + ceil(gpc('cristal', 'post')) + ceil(gpc('hydrogene', 'post')) + $conso) erreur('Vous ne pouvez pas embarquer autant de ressources, les cales débordent. '.$flotte->contenuMax, "red", '?p=flotte', 3500);
elseif ($planete->metal < ceil(gpc('metal', 'post')) || $planete->cristal < ceil(gpc('cristal', 'post')) || $planete->hydrogene < ceil(gpc('hydrogene', 'post')) + $conso) erreur('Vous n\'avez pas assez de ressources sur cette planète pour envoyer cette flotte.', "red", '?p=flotte', 3500);
else {
if ($mission == 1) $flotte->tactique = gpc('tactique', 'post');
$flotte->contenu = array(ceil(gpc('metal', 'post')), ceil(gpc('cristal', 'post')), ceil(gpc('hydrogene', 'post')));
$flotte->contenu = array(floor(gpc('metal', 'post')), floor(gpc('cristal', 'post')), floor(gpc('hydrogene', 'post')));
$flotte->modifFlotte = "INSERT";
//On actualise la planète
$planete->metal -= floor(gpc('metal', 'post'));
$planete->cristal -= floor(gpc('cristal', 'post'));
$planete->hydrogene -= floor(gpc('hydrogene', 'post') + $conso);
$planete->vaisseaux = $sauv;
if (!in_array('vaisseaux', $planete->modif)) $planete->modif[] = 'vaisseaux';
unset($sess->values['vais']);
$sess->put();
@ -143,6 +152,7 @@ elseif (!empty($_POST['v0']) || !empty($_POST['v1']) || !empty($_POST['v2']) ||
else $v = (int)abs($v);
if ($vaisseau < $v) {
$planete->vaisseaux = $sauv;
erreur('Il ne vous reste plus assez de vaisseaux !', "red", '?p=flotte');
}
@ -175,6 +185,37 @@ elseif (!empty($_POST['v0']) || !empty($_POST['v1']) || !empty($_POST['v2']) ||
//TODO Ajouter les destinations favorites + Colonies
}
//Affichage du détail d'une flotte
elseif (!empty($_GET['n'])) {
$idN = ceil(gpc('n'));
$flotteN = new Flotte($idN);
$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 {
//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 = '$id_user' AND id = '$idN';");
header('Location: ?p=flotte&n='.$idN);
exit;
}
else erreur('Impossible d\'annuler la mission, elle a déjà commencée.', "red", '?p=flotte&n='.$idN, 1500);
}
$sess->values['ret_fleet'] = sha1('HB.fleet_'.rand().'☺ß☻');
$sess->put();
$template->assign('ret_fleet', $sess->values['ret_fleet']);
$template->assign('flotte', $flotteN);
$template->assign('nomvais', $nomvaisa);
$page = 'flotten';
}
}
//Affichage de la page générale
else {
//Mise à jour des tactiques par défaut
@ -218,7 +259,10 @@ else {
$retour = '-';
$Hretour = '-';
}
$TEMP_flottesEC[] = array($flotte['id'], $flotte['nom'], txtmission($flotte['mission']), $flotte['nb_vais'], $flotte['end_galaxie'].':'.$flotte['end_ss'].':'.$flotte['end_position'], date('d/m H:i:s',$flotte['start_time']+$flotte['end_time']), $retour, $Hretour);
$end_planete = new Planete($flotte['end_planete']);
$TEMP_flottesEC[] = array($flotte['id'], $flotte['nom'], txtmission($flotte['mission']), $flotte['nb_vais'], $end_planete->nom_planete.' ['.$end_planete->galaxie.':'.$end_planete->ss.':'.$end_planete->position.']', date('d/m H:i:s',$flotte['start_time']+$flotte['end_time']), $retour, $Hretour);
}
}
$template->assign('flottesEC', $TEMP_flottesEC);

View file

@ -17,7 +17,7 @@ $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) || ($planete->technologies[3] & 1024 && $politique == 2) || ($planete->technologies[3] & 512 && $politique == 1) || $politique == 0) && $planete->politique != $politique) {
if (($planete->technologies[3] & 2048 && ($politique == 3 || $politique == 2 || $politique == 1) || $politique == 0) && $planete->politique != $politique) {
$planete->politique = $politique;
$planete->politique_lastchange = time();
$planete->modifUser[] = "politique";
@ -29,8 +29,10 @@ if (is_numeric($politique)) {
}
$politiques = array('Anarchie');
if ($planete->technologies[3] & 512) $politiques[] = 'Fascisme (Mouvement Frieden)';
if ($planete->technologies[3] & 1024) $politiques[] = 'Communisme (Mouvement Koslovic)';
if ($planete->technologies[3] & 2048) $politiques[] = 'Démocratie (Administration coloniale)';
if ($planete->technologies[3] & 2048) {
$politiques[] = 'Fascisme (Mouvement Frieden)';
$politiques[] = 'Communisme (Mouvement Koslovic)';
$politiques[] = 'Démocratie (Administration coloniale)';
}
$template->assign('politiques', $politiques);
?>

View file

@ -8,6 +8,9 @@ if ($planete->batiments[6] == 0) erreur('Vous devez d\'abord construire un '.str
//Lancement d'une nouvelle recherche
if (isset($_GET['t']) && isset($_GET['f']) ) {
//On annule la recherche si le labo est en construction
if ($planete->file_exist(6, 'file_bat')) erreur('Votre laboratoire est en travaux, vous ne pouvez pas faire de recherches pour le moment !');
//Récupération des erreurs de la mise en file d'attente pour traitement
$construction = $planete->file_addObjet("technologies", intval(gpc('t')), intval(gpc('f')));
@ -43,13 +46,14 @@ foreach ($planete->technologies as $key => $technologie){
//On applique les bonus de test
$calc[3] /= VITESSE;
$calc[3] /= (1 + $planete->batiments[6] * 0.005);
$TEMP_technologies[] =
array(
'image' => $planete->race=='humain'?'../humain_na.jpg':'../covenant_na.jpg',
'nom' => $technolo[$key][$i],
'niveau' => '0',
'description' => 'Technologie de '.$technologiesVAR[$key].' ; numéro : '.$calc[0].'<br />Résultat : '.((int)($technologie & $calc[1]).' | '.$calc[1]),
'description' => 'Technologie de '.$technologiesVAR[$key].' ; numéro : '.$calc[0].'<br />Résultat : '.((int)($technologie & $calc[1]).' | '.$calc[1].' | '.$technologie),
'nec_metal' => 0,
'nec_cristal' => 0,
'nec_hydrogene' => 0,
@ -80,7 +84,7 @@ $file = array();
foreach ($planete->file_tech as $key => $tech_infile){
if ($key == 0) continue;
$sec = $technologiesCALC[$tech_infile[1]][$tech_infile[0]][3];
$sec = $technologiesCALC[$tech_infile[1]][$tech_infile[0]][3] / (1 + $planete->batiments[6] * 0.01);
if ($key == 1) $file[] = array($tech_infile[0], 1, ceil($sec/VITESSE - (time() - $planete->file_tech[0])), $technolo[$tech_infile[1]][$tech_infile[0]]);
else $file[] = array($tech_infile[0], 1, ceil($sec/VITESSE), $technolo[$tech_infile[1]][$tech_infile[0]]);
}

5
game/jeu/marche.php Normal file
View file

@ -0,0 +1,5 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
$titre = 'Marché';
?>

View file

@ -33,6 +33,16 @@ if (isset($_POST['IR'])) {
if ($stop) { header('Location: ?p=messagerie'); exit; }
}
if (gpc('avertir')) {
$id = gpc('avertir');
$bdd->connexion();
$bdd->escape($id);
$bdd->query("UPDATE $table_mail SET statut = 1 WHERE destinataire = $id_user 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();
}
$bdd->connexion();
$messcomp = $bdd->query("SELECT M.*, U.pseudo AS expediteur FROM $table_mail M INNER JOIN $table_user U ON U.id = M.expediteur WHERE M.destinataire = $id_user AND M.expediteur != false ORDER BY M.id DESC;");
$nbmax = $bdd->num_rows;

View file

@ -14,39 +14,16 @@ $mdp = $queryUser['mdp'];
$mdp_var = $queryUser['mdp_var'];
if (isset($_GET['a']) && $_GET['a'] == 'mv' && isset($_GET['n']) && $_GET['n'] == $sess->values['idvac']) {
$impossible = false;
include_once(_FCORE."../game/Class/class.gerefile.php");
$nbPlan = count($queryPlanetes);
for ($i=0 ; $i<$nbPlan ; $i++) {
$file = unserialize($queryPlanetes[$i]['file_bat']);
if (!empty($queryPlanetes[$i]['file_bat']) && count($file->file)) $impossible = true;
$bdd->connexion();
$bdd->query("SELECT * FROM flottes WHERE id_user = '$id_user'");
if ($bdd->num_rows) erreur('Des flottes sont actuellement en mission, veuillez toutes les faire revenir à quai avant d\'activer le mode vacances.', "red", '?p=options', 4000);
$file = unserialize($queryPlanetes[$i]['file_tech']);
if (!empty($queryPlanetes[$i]['file_tech']) && count($file->file)) $impossible = true;
$bdd->query("UPDATE user SET mv = 1 WHERE id = '$id_user'");
$bdd->deconnexion();
$sess->values['connected'] = FALSE;
$sess->put();
$file = unserialize($queryPlanetes[$i]['file_cas']);
if (!empty($queryPlanetes[$i]['file_cas']) && count($file->file)) $impossible = true;
$file = unserialize($queryPlanetes[$i]['file_vais']);
if (!empty($queryPlanetes[$i]['file_vais']) && count($file->file)) $impossible = true;
$file = unserialize($queryPlanetes[$i]['file_ter']);
if (!empty($queryPlanetes[$i]['file_ter']) && count($file->file)) $impossible = true;
}
if ($impossible) erreur('Impossible d\'activer le mode vacances.<br />Toutes les files d\'attentes sur vos diff&eacute;rentes plan&egrave;tes ne sont pas vides.', "red", '?p=options', 4000);
else {
$bdd->connexion();
$bdd->query("SELECT * FROM flottes WHERE id_user = '$id_user'");
if ($bdd->num_rows) erreur('Des flottes sont actuellement en mission, veuillez toutes les faire revenir à quai avant d\'activer le mode vacances.', "red", '?p=options', 4000);
$bdd->query("UPDATE user SET mv = '1' WHERE id = '$id_user'");
$bdd->deconnexion();
$sess->values['connected'] = FALSE;
$sess->put();
erreur('Le mode vacances est maintenant actif sur votre compte.<br /><br />Vous pourez vous reconnecter sur votre compte à partir de<br />'.strftime("%A %d %B à %H:%M", $planete->last_visite+259200).'<br /><br />Bonnes vacances !', "green", '?index', 10000);
}
erreur('Le mode vacances est maintenant actif sur votre compte.<br /><br />Vous pourez vous reconnecter sur votre compte à partir de<br />'.strftime("%A %d %B à %H:%M", $planete->last_visite+259200).'<br /><br />Bonnes vacances !', "green", '?index', 10000);
}
elseif (isset($_GET['a']) && $_GET['a'] == 'dl' && isset($_GET['n']) && $_GET['n'] == $sess->values['idvac']) {
$bdd->connexion();

View file

@ -11,8 +11,9 @@ if (!empty($_GET['i']) && isset($_GET['n'])) {
$bdd->connexion();
$bdd->escape($Un);
$bdd->escape($Ui);
$user = $bdd->unique_query("SELECT * FROM user WHERE pseudo = '$Un' AND mdpNOUV = '$Ui';");
if ($user && $bdd->unique_query("UPDATE user SET mdp = mdpNOUV, mdpNOUV = '' WHERE pseudo = '$Un'")) {
$user = $bdd->unique_query("SELECT * FROM $table_user WHERE pseudo = '$Un' AND mdpNOUV = '$Ui';");
if ($user) {
$bdd->query("UPDATE user SET mdp = mdpNOUV, mdpNOUV = '' WHERE pseudo = '$Un'");
$bdd->deconnexion();
$template->assign('message','Votre mot de passe a été réinitialisé avec succès.');
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?index";\', 3500);</script>');
@ -29,19 +30,29 @@ if (!empty($_GET['i']) && isset($_GET['n'])) {
}
}
if (isset($_POST['HB_pseudo']) && isset($_POST['HB_mail']) && isset($_POST['HB_captcha'])) {
if ((isset($_POST['HB_pseudo']) && isset($_POST['HB_mail']) && isset($_POST['HB_captcha'])) || (isset($_GET['ps']) && isset($_GET['m']) && isset($_GET['a']))) {
$ok = true;
if (empty($_POST['HB_pseudo']) || empty($_POST['HB_mail'])) {
if ((empty($_POST['HB_pseudo']) || empty($_POST['HB_mail'])) && (empty($_GET['ps']) || empty($_GET['m']))) {
$ok = false;
$erreur .= '<p style="color: #FF0000"><b>Pseudo ou adresse électronique vide :</b><br />Veuillez compléter tous les champs de ce formulaire avant de le valider.</p><br />';
}
if (strtolower($_POST['HB_captcha']) != strtolower($_SESSION['aleat_nbr'])) {
if (isset($_GET['m']) && is_numeric('0x'.$_GET['m'])) $_GET['m'] = cxor(hexstr($_GET['m']), date('WYDj'));
if (!isset($_POST['HB_captcha'])) $_POST['HB_captcha'] = '';
if (strtolower($_POST['HB_captcha']) != strtolower($_SESSION['aleat_nbr']) && gpc('a') != hash_var($_GET['ps'].'☻♫☼'.date('W!Y¨D@j').'Ņ♂↨'.$_GET['m'], "sha512")) {
$ok = false;
$erreur .= '<p style="color: #FF0000"><b>Code de vérification incorrect :</b><br />Le texte que vous avez recopier ne correspondait pas au texte de l\'image, veuillez recommencer.</p><br />';
}
if ($ok) {
$HB_pseudo = $_POST['HB_pseudo'];
$HB_mail = $_POST['HB_mail'];
if (strtolower($_POST['HB_captcha']) == strtolower($_SESSION['aleat_nbr'])) {
$HB_pseudo = gpc('HB_pseudo', 'post');
$HB_mail = gpc('HB_mail', 'post');
}
else {
$HB_pseudo = gpc('ps');
$HB_mail = gpc('m');
}
$bdd->connexion();
$bdd->escape($HB_pseudo);
$bdd->escape($HB_mail);
@ -49,7 +60,7 @@ if (isset($_POST['HB_pseudo']) && isset($_POST['HB_mail']) && isset($_POST['HB_c
if ($user) {
$liste = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$code = '';
while(strlen($code) != 8) {
while(strlen($code) <= 8) {
$code .= $liste[rand(0,60)];
}
$passNOUV = mdp($HB_pseudo, $code, $user['mdp_var']);

View file

@ -1,7 +1,7 @@
<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
$page = 'rename';
$titre = $planete->nom_planete;
$titre = htmlentities($planete->nom_planete);
if (isset($_POST['planete'])) {
$nouvNom = trim(str_replace('&nbsp;', ' ', $_POST['planete']));

View file

@ -6,17 +6,12 @@ $titre = 'Détails utilisateur';
$u = floor(gpc('i'));
$bdd->connexion();
$detailsUser = $bdd->query("SELECT * FROM $table_user WHERE id = $u;");
$bdd->escape($u);
$detailsUser = $bdd->unique_query("SELECT * FROM $table_user WHERE id = $u;");
$bdd->deconnexion();
var_dump($detailsUser);
if (!empty($detailsUser)) {
$amis = explode(';', $detailsUser['amis']);
if (in_array($id_user, $amis)) $template->assign('amis', true);
$template->assign('userD', $detailsUser);
if (!empty($detailsUser['id_alliance'])) {
$bdd->connexion();
$template->assign('alliance', $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = ".$detailsUser['id_alliance'].";"));
$bdd->deconnexion();
}
}
else erreur('Joueur introuvable !');
?>