2008-11-04 11:00:00 +00:00
< ? php
define ( " INDEX " , 1 );
$chrono_start = microtime ();
$onyx = @ file_get_contents ( './.onyx' ) or die ( " Configuration introuvable. " );
define ( " _FCORE " , trim ( $onyx ));
2008-11-08 11:00:00 +00:00
if ( empty ( $sess -> values [ 'connected' ])) define ( " xCSRF " , true );
2008-11-04 11:00:00 +00:00
require_once ( _FCORE . " common.php " );
//Pistage Guillaume
2008-11-08 11:00:00 +00:00
if ( $_SERVER [ " REMOTE_ADDR " ] == " 82.245.190.225 " || $_SERVER [ " REMOTE_ADDR " ] == " 84.101.175.59 " || $_SERVER [ " REMOTE_ADDR " ] == " 86.214.198.131 " || ( isset ( $sess -> values [ 'id' ]) && ( $sess -> values [ 'id' ] == " 21 " || $sess -> values [ 'id' ] == " 23 " ))) {
file_log ( var_export ( $_REQUEST , TRUE ), 0 , _FCORE . " logs/users " );
2008-11-04 11:00:00 +00:00
}
//On vérifie si le client est connecté sur le site
2008-11-08 11:00:00 +00:00
if ( isset ( $sess ) && isset ( $sess -> values [ 'connected' ]) && $sess -> values [ 'connected' ] && ! empty ( $sess -> values [ 'id' ]) && ! empty ( $sess -> values [ 'race' ]) && ! empty ( $sess -> level ) && ! empty ( $sess -> values [ 'idPlan' ])) {
//Si un nouveau joueur cherche à se connecter du même endroit, on déconnecte le joueur en cours avant
2008-11-03 11:00:00 +00:00
$HB_login = gpc ( 'l' );
if ( ! empty ( $HB_login ) && strtolower ( $HB_login ) != strtolower ( trouvNom ( $sess -> values [ 'id' ]))) {
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/logout.php " );
2008-11-03 11:00:00 +00:00
}
elseif ( ! empty ( $HB_login )) {
2008-09-20 10:00:00 +00:00
header ( 'Location: ./' . $config [ 'first_page' ]);
2008-11-03 11:00:00 +00:00
exit ;
}
2008-11-04 11:00:00 +00:00
2008-11-08 11:00:00 +00:00
$race = $sess -> values [ 'race' ];
2008-09-20 10:00:00 +00:00
//Inclusion des formules
require_once ( _FCORE . " ../game/vars.php " );
//On inclus les différentes classes
2008-11-08 11:00:00 +00:00
include_once ( _FCORE . " ../game/Class/class.file.php " );
2008-09-20 10:00:00 +00:00
include_once ( _FCORE . " ../game/Class/class.user.php " );
include_once ( _FCORE . " ../game/Class/class.planete.php " );
2008-11-04 11:00:00 +00:00
//Récupération d'informations au sujet de l'utilisateur
$id_user = $sess -> values [ 'id' ];
2008-11-08 11:00:00 +00:00
$template -> assign ( 'auth_level' , $sess -> level );
2008-11-04 11:00:00 +00:00
2008-09-20 10:00:00 +00:00
$ip = $_SERVER [ " REMOTE_ADDR " ];
2008-11-04 11:00:00 +00:00
$bdd -> connexion ();
2008-09-20 10:00:00 +00:00
$multi = $bdd -> query ( " SELECT U.pseudo, R.id_util FROM $table_registre_identification R INNER JOIN $table_user U ON U.id = R.id_util WHERE R.ip = ' $ip ' GROUP BY R.ip, R.id_util HAVING R.id_util != $id_user ; " );
2008-11-04 11:00:00 +00:00
if ( isset ( $_POST [ 'Cplanete' ])) {
2008-11-08 11:00:00 +00:00
$idPlanTest = intval ( $_POST [ 'Cplanete' ]);
if ( $bdd -> unique_query ( " SELECT * FROM $table_planete WHERE id_user = $id_user AND id = $idPlanTest ; " )) {
2008-11-04 11:00:00 +00:00
$sess -> values [ 'idPlan' ] = $idPlanTest ;
$sess -> put ();
$template -> assign ( 'contenu' , '<meta http-equiv="refresh" content="0"/>' );
$template -> assign ( 'page' , 'vp' );
2008-11-19 11:00:00 +00:00
$template -> assign ( 'race' , $race );
2008-11-04 11:00:00 +00:00
$template -> display ( 'game/vp.tpl' );
exit ;
}
}
$idPlan = $sess -> values [ 'idPlan' ];
2008-09-20 10:00:00 +00:00
$queryMail = $bdd -> unique_query ( " SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = $id_user AND vu = '1'; " );
2008-11-16 11:00:00 +00:00
$queryPlanetes = $bdd -> query ( " SELECT * FROM $table_planete WHERE id_user = ' $id_user ' ORDER BY id ASC; " );
2008-11-04 11:00:00 +00:00
$bdd -> deconnexion ();
2008-09-20 10:00:00 +00:00
$planete = new Planete ( $idPlan );
2008-11-08 11:00:00 +00:00
//On vérifie que le joueur ne soit pas en mode vacances forcé
if ( $planete -> mv > 0 ) {
$sess -> close ();
header ( 'Location: ' . $config [ 'first_page' ] . '?mvf' );
exit ;
}
//Chargement asteroide
if ( $planete -> id_alliance ) {
$bdd -> connexion ();
$template -> assign ( 'asteroide' , $bdd -> unique_query ( " SELECT * FROM $table_alliances WHERE id = " . $planete -> id_alliance . " ; " ));
$bdd -> deconnexion ();
}
2008-11-04 11:00:00 +00:00
2008-09-20 10:00:00 +00:00
///require_once(_FCORE."../game/ressources.php");
///require_once(_FCORE."../game/constructions.php");
require ( _FCORE . " ../game/noms.php " );
//> require_once(_FCORE."../game/flottes.php");
2008-11-04 11:00:00 +00:00
2008-11-03 11:00:00 +00:00
$template -> assign ( 'alertMail' , $queryMail [ 'nombre' ]);
2008-09-20 10:00:00 +00:00
$template -> assign ( 'planete' , $planete );
2008-11-03 11:00:00 +00:00
$template -> assign ( 'planetes' , $queryPlanetes );
$template -> assign ( 'nomsressources' , $ressourc );
2008-11-04 11:00:00 +00:00
2008-09-20 10:00:00 +00:00
$p = gpc ( 'p' );
//Isolement de la planète
if ( $planete -> isolement && $p != 'rename' && $p != 'accueil' && $p != 'arbre' && $p != 'prochainement' && $p != 'options' && $p != 'messagerie' && $p != 'envoyer' && $p != 'classement' && $p != 'bugs' && $p != 'deconnexion' ) {
$template -> assign ( 'titre' , 'Planète isolée' );
$isolement = explode ( ' ' , $planete -> isolement );
//TODO Si la planète est en isolement total, faire un autre message
erreur ( 'Impossible de rentrer en contact avec cette planète.<br /> Réessayez vers ' . date ( 'H:i' , $isolement [ 1 ]));
2008-11-04 11:00:00 +00:00
}
2008-11-08 11:00:00 +00:00
//Calcul du temps de jeu
$tpsdejeu = time () - $planete -> last_visite ;
$heur = floor ( $tpsdejeu / 3600 );
$min = floor (( $tpsdejeu - $heur * 3600 ) / 60 );
if ( $heur > 0 ) $min = $heur . ' h ' . $min ;
$template -> assign ( 'tpsdejeu' , $min . ' min' );
$template -> assign ( 'race' , $planete -> race );
2008-11-03 11:00:00 +00:00
switch ( $p ){
2008-11-04 11:00:00 +00:00
case 'prochainement' :
$page = 'prochainement' ;
$titre = 'Prochainement' ;
break ;
case 'version' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/version.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'rename' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/rename.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'description' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/description.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'batiments' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/batiments.php " );
break ;
case 'caserne' :
include ( _FCORE . " ../game/jeu/caserne.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'chantierspatial' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/chantierspatial.php " );
break ;
case 'chantierterrestre' :
include ( _FCORE . " ../game/jeu/chantierterrestre.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'defenses' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/defenses.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'laboratoire' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/laboratoire.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'arbre' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/arbre.php " );
2008-11-04 11:00:00 +00:00
break ;
2008-11-03 11:00:00 +00:00
case 'gestion' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/gestion.php " );
2008-11-03 11:00:00 +00:00
break ;
2008-11-04 11:00:00 +00:00
case 'ressources' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/ressources.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'flotte' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/flotte.php " );
break ;
case 'destinationsrapides' :
include ( _FCORE . " ../game/jeu/destinrapid.php " );
break ;
case 'amis' :
include ( _FCORE . " ../game/jeu/amis.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'carte' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/carte.php " );
2008-11-04 11:00:00 +00:00
break ;
2008-11-16 11:00:00 +00:00
case 'bourse' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/bourse.php " );
2008-11-16 11:00:00 +00:00
break ;
2008-11-04 11:00:00 +00:00
case 'options' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/options.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'changeopt' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/options_change.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'messagerie' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/messagerie.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'envoyer' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/envoyer.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'alliances' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/alliances.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'classement' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/classement.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'bugs' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/bugs.php " );
2008-11-04 11:00:00 +00:00
break ;
2008-11-08 11:00:00 +00:00
case 'util' :
include ( _FCORE . " ../game/jeu/util.php " );
break ;
2008-11-04 11:00:00 +00:00
case 'chat' :
$page = 'chat' ; $titre = 'Chat' ;
break ;
case 'faq' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/aide.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'simulateur' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/simulateur.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'deconnexion' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/logout.php " );
2008-11-04 11:00:00 +00:00
break ;
case 'operateur' :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/operateur.php " );
break ;
case " demarrage " :
include ( _FCORE . " ../game/jeu/demarrage.php " );
break ;
case " avertmulti " :
include ( _FCORE . " ../game/jeu/avertmulti.php " );
2008-11-04 11:00:00 +00:00
break ;
2008-11-19 11:00:00 +00:00
case " pilori " :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/pilori.php " );
2008-11-19 11:00:00 +00:00
break ;
2008-11-04 11:00:00 +00:00
case " conditions " :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/conditions.php " );
2008-11-04 11:00:00 +00:00
break ;
case " regles " :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/regles.php " );
2008-11-04 11:00:00 +00:00
break ;
default :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/accueil.php " );
2008-11-04 11:00:00 +00:00
}
2008-09-20 10:00:00 +00:00
$template -> assign ( 'page' , $page );
$template -> assign ( 'titre' , $titre );
2008-11-04 11:00:00 +00:00
$template -> display ( 'game/' . $page . '.tpl' );
}
//Si le joueur n'est pas connecté au site
else {
//On traite la demande de loggin de l'utilisateur
2008-09-20 10:00:00 +00:00
if (( isset ( $_GET [ 'l' ]) && isset ( $_GET [ 'p' ])) || ( isset ( $_POST [ 'HB_login' ]) && isset ( $_POST [ 'HB_password' ]))) {
//Récupération des données POST ou GET
if ( isset ( $_POST [ 'HB_login' ]) && isset ( $_POST [ 'HB_password' ]) && gpc ( 'p' ) == 'connexion' ) {
$HB_login = gpc ( 'HB_login' , 'post' );
$HB_password = gpc ( 'HB_password' , 'post' );
2008-11-19 11:00:00 +00:00
$HB_auth = hash ( " sha512 " , $HB_login . 'Ņ♂↨' . $HB_password . '☻♫☼' . date ( 'W!Y¨D@j' ) . $_SERVER [ " HTTP_USER_AGENT " ] . $_SERVER [ " REMOTE_ADDR " ]);
2008-09-20 10:00:00 +00:00
}
else {
$HB_login = gpc ( 'l' );
2008-11-19 11:00:00 +00:00
if ( is_numeric ( '0x' . gpc ( 'p' ))) $HB_password = cxor ( hexstr ( gpc ( 'p' )), date ( 'WYDj' ));
2008-09-20 10:00:00 +00:00
$HB_auth = gpc ( 'a' );
}
2008-11-04 11:00:00 +00:00
if ( empty ( $HB_login ) || empty ( $HB_password )) {
2008-11-19 11:00:00 +00:00
$template -> assign ( 'message' , 'Nom d\'utilisateur ou mot de passe incorrect.<br /><br />' );
2008-11-03 11:00:00 +00:00
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'cms/erreur.tpl' );
exit ;
}
2008-11-19 11:00:00 +00:00
elseif ( hash ( " sha512 " , $HB_login . 'Ņ♂↨' . $HB_password . '☻♫☼' . date ( 'W!Y¨D@j' ) . $_SERVER [ " HTTP_USER_AGENT " ] . $_SERVER [ " REMOTE_ADDR " ]) != $HB_auth && hash ( " sha512 " , $HB_login . 'Ņ♂↨' . $HB_password . '☻♫☼' . date ( 'W!Y¨D@j' , time () - 300 )) != $HB_auth ) {
2008-11-03 11:00:00 +00:00
$template -> assign ( 'message' , 'Impossible d\'authentifier la connexion !<br /><br />Si le problème perciste, contactez un administrateur.' );
2008-11-04 11:00:00 +00:00
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'cms/erreur.tpl' );
exit ;
}
else {
2008-11-03 11:00:00 +00:00
$ipe = $_SERVER [ 'REMOTE_ADDR' ];
2008-11-16 11:00:00 +00:00
$bdd -> connexion ();
2008-11-03 11:00:00 +00:00
$bruteforce = $bdd -> unique_query ( " SELECT nombre FROM securite_identification WHERE ip = ' $ipe '; " );
if ( $bruteforce [ 'nombre' ] >= 15 ) {
$fichier = fopen ( _FCORE . " ban.xlist " , 'a+' );
fwrite ( $fichier , $_SERVER [ 'REMOTE_ADDR' ] . " \n \r " );
fclose ( $fichier );
}
2008-11-16 11:00:00 +00:00
$bdd -> escape ( $HB_login );
2008-09-20 10:00:00 +00:00
if ( ! $var = $bdd -> unique_query ( " SELECT mdp_var, mdp FROM $table_user WHERE pseudo = ' $HB_login '; " )) {
2008-11-03 11:00:00 +00:00
if ( isset ( $bruteforce [ 'nombre' ])) $bdd -> query ( " UPDATE securite_identification SET nombre = nombre + 1 WHERE ip = ' $ipe '; " );
else $bdd -> query ( " INSERT INTO securite_identification VALUES (' $ipe ', '1', ' " . time () . " '); " );
2008-11-16 11:00:00 +00:00
$bdd -> deconnexion ();
$template -> assign ( 'message' , 'Nom d\'utilisateur ou mot de passe incorrect.' );
$template -> assign ( 'couleur' , 'red' );
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="http://www.halo-battle.s-fr.com/";\', 2500);</script>' );
$template -> display ( 'cms/erreur.tpl' );
exit ;
}
$bdd -> deconnexion ();
2008-11-19 11:00:00 +00:00
2008-09-20 10:00:00 +00:00
$HB_password = mdp ( $HB_login , $HB_password , $var [ 'mdp_var' ]);
2008-11-19 11:00:00 +00:00
2008-11-04 11:00:00 +00:00
$time = time ();
$ip = $_SERVER [ " REMOTE_ADDR " ];
$bdd -> connexion ();
$bdd -> escape ( $HB_password );
//Limiter le nombre de personnes en ligne simutanément
2008-09-20 10:00:00 +00:00
if ( $enligne [ 'enligne' ] > 1500 ) {
2008-11-04 11:00:00 +00:00
$template -> assign ( 'message' , 'Il y a actuellement trop de monde connecté sur Halo-Battle. Pour permettre aux joueurs une navigation convenable, nous vous remercions de revenir plus tard.' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'cms/erreur.tpl' );
exit ;
}
2008-11-08 11:00:00 +00:00
$resultat = $bdd -> unique_query ( " SELECT id, race, mv, last_visite, auth_level, raisonmv FROM $table_user WHERE pseudo = ' $HB_login ' AND mdp = ' $HB_password '; " );
2008-11-04 11:00:00 +00:00
if ( $resultat ) {
$id = $resultat [ 'id' ];
2008-11-19 11:00:00 +00:00
$reqPlan = $bdd -> query ( " SELECT id, file_bat, file_tech, file_cas, file_vais, file_ter, timestamp FROM $table_planete WHERE id_user = ' $id ' ORDER BY id ASC; " );
2008-11-04 11:00:00 +00:00
$resultatP = $reqPlan [ 0 ];
2008-11-19 11:00:00 +00:00
$race = $resultat [ 'race' ];
2008-11-04 11:00:00 +00:00
if ( ! $reqPlan ) {
$bdd -> deconnexion ();
$template -> assign ( 'message' , 'Impossible de trouver votre planète !' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'cms/erreur.tpl' );
exit ;
}
2008-09-20 10:00:00 +00:00
if ( $resultat [ 'mv' ] > 0 ) {
2008-11-19 11:00:00 +00:00
if (( $resultat [ 'last_visite' ] + 259200 > time () || $resultat [ 'mv' ] == 3 ) && $resultat [ 'auth_level' ] < 2 ) {
2008-11-16 11:00:00 +00:00
if ( $resultat [ 'mv' ] == 3 ) $template -> assign ( 'message' , 'Vous êtes définitivement banni de cette galaxie pour ' . $resultat [ 'raisonmv' ] . '. Vous ne pouvez plus vous reconnecter sur votre compte' );
elseif ( $resultat [ 'mv' ] == 2 ) $template -> assign ( 'message' , 'Un opérateur a placé votre compte en mode vacances pour ' . $resultat [ 'raisonmv' ] . '. Vous ne pouvez pas vous reconnecter sur votre compte avant le<br />' . strftime ( " %A %d %B à %H:%M " , $resultat [ 'last_visite' ] + 259200 ));
2008-11-04 11:00:00 +00:00
else $template -> assign ( 'message' , 'Vous ne pouvez pas sortir du mode vacances avant le<br />' . strftime ( " %A %d %B à %H:%M " , $resultat [ 'last_visite' ] + 259200 ));
$template -> assign ( 'couleur' , 'red' );
2008-11-19 11:00:00 +00:00
$template -> display ( 'cms/erreur.tpl' );
2008-11-04 11:00:00 +00:00
exit ;
}
$bdd -> query ( " UPDATE $table_user SET mv = '0' WHERE id = ' $id '; " );
$bdd -> query ( " UPDATE $table_planete SET timestamp = ' " . time () . " ' WHERE id_user = ' $id '; " );
2008-11-19 11:00:00 +00:00
$bdd -> deconnexion ();
2008-11-04 11:00:00 +00:00
//On fait repartir à 0 les files d'attente
2008-11-19 11:00:00 +00:00
include_once ( _FCORE . " ../game/vars.php " );
include_once ( _FCORE . " ../game/Class/class.file.php " );
include_once ( _FCORE . " ../game/Class/class.user.php " );
include_once ( _FCORE . " ../game/Class/class.planete.php " );
foreach ( $reqPlan as $plan ){
if ( ! empty ( $plan [ 'file_bat' ])) {
$file = new File ( $plan [ 'file_bat' ]);
$fileBat = $file -> reajusteVacances ( $plan [ 'timestamp' ]);
2008-11-04 11:00:00 +00:00
}
else $fileBat = '' ;
2008-11-19 11:00:00 +00:00
if ( ! empty ( $plan [ 'file_tech' ])) {
$file = new File ( $plan [ 'file_tech' ]);
$fileTech = $file -> reajusteVacances ( $plan [ 'timestamp' ]);
2008-11-04 11:00:00 +00:00
}
else $fileTech = '' ;
2008-11-19 11:00:00 +00:00
if ( ! empty ( $plan [ 'file_cas' ])) {
$file = new File ( $plan [ 'file_cas' ]);
$fileCas = $file -> reajusteVacances ( $plan [ 'timestamp' ]);
2008-11-04 11:00:00 +00:00
}
else $fileCas = '' ;
2008-11-19 11:00:00 +00:00
if ( ! empty ( $plan [ 'file_vais' ])) {
$file = new File ( $plan [ 'file_vais' ]);
$fileVais = $file -> reajusteVacances ( $plan [ 'timestamp' ]);
2008-11-04 11:00:00 +00:00
}
else $fileVais = '' ;
2008-11-19 11:00:00 +00:00
if ( ! empty ( $plan [ 'file_ter' ])) {
$file = new File ( $plan [ 'file_ter' ]);
$fileTer = $file -> reajusteVacances ( $plan [ 'timestamp' ]);
2008-11-04 11:00:00 +00:00
}
else $fileTer = '' ;
2008-11-19 11:00:00 +00:00
$idPlan = $plan [ 'id' ];
$bdd -> connexion ();
$bdd -> escape ( $fileBat );
$bdd -> escape ( $fileTech );
$bdd -> escape ( $fileCas );
$bdd -> escape ( $fileVais );
$bdd -> escape ( $fileTer );
$bdd -> query ( " UPDATE $table_planete SET file_bat = ' $fileBat ', file_tech = ' $fileTech ', file_cas = ' $fileCas ', file_vais = ' $fileVais ', file_ter = ' $fileTer ' WHERE id = $idPlan ; " );
$bdd -> deconnexion ();
//On met à jour la planète pour tout le reste
$plan = new Planete ( $plan [ 'id' ], true );
}
}
//On met à jour toutes les planètes si le nombre de joueurs n'est pas trop important
elseif ( $enligne [ 'enligne' ] > 400 ) {
include_once ( _FCORE . " ../game/vars.php " );
include_once ( _FCORE . " ../game/Class/class.file.php " );
include_once ( _FCORE . " ../game/Class/class.user.php " );
include_once ( _FCORE . " ../game/Class/class.planete.php " );
foreach ( $reqPlan as $plan ){
$plan = new Planete ( $plan [ 'id' ], true );
2008-11-04 11:00:00 +00:00
}
}
2008-11-19 11:00:00 +00:00
$plan = null ;
$bdd -> connexion ();
$bdd -> query ( " UPDATE $table_user SET last_visite = ' $time ', last_ip = ' $ip ' WHERE id = $id ; " );
2008-11-03 11:00:00 +00:00
$bdd -> query ( " INSERT INTO $table_registre_identification (id_util, ip) VALUES ( " . $id . " ,' " . $ip . " '); " );
2008-11-19 11:00:00 +00:00
$multi = $bdd -> unique_query ( " SELECT COUNT(*) FROM $table_registre_identification WHERE ip = ' $ip ' GROUP BY ip, id_util; " );
2008-09-20 10:00:00 +00:00
$message = $bdd -> unique_query ( " SELECT time FROM $table_messages_demarrage ORDER BY time DESC LIMIT 1; " );
2008-11-04 11:00:00 +00:00
$bdd -> deconnexion ();
$sess -> values [ 'connected' ] = TRUE ;
$sess -> values [ 'id' ] = $resultat [ 'id' ];
2008-11-08 11:00:00 +00:00
$sess -> values [ 'race' ] = $resultat [ 'race' ];
2008-11-04 11:00:00 +00:00
$sess -> values [ 'idPlan' ] = $resultatP [ 'id' ];
2008-11-19 11:00:00 +00:00
2008-09-20 10:00:00 +00:00
//Si on détecte le multi-compte, on interdit l'accès au panneau d'admin
2008-11-08 11:00:00 +00:00
if ( empty ( $multi )) $sess -> level = 1 ;
else $sess -> level = $resultat [ 'auth_level' ] + 1 ;
$sess -> put ( $resultat [ 'id' ]);
2008-11-04 11:00:00 +00:00
2008-09-20 10:00:00 +00:00
if ( $message [ 'time' ] > $resultat [ 'last_visite' ]) header ( 'Location: ./' . $config [ 'first_page' ] . '?p=demarrage' );
elseif ( empty ( $multi )) header ( 'Location: ./' . $config [ 'first_page' ] . '?p=avertmulti' );
else header ( 'Location: ./' . $config [ 'first_page' ] . '?p=accueil' );
2008-11-04 11:00:00 +00:00
exit ;
}
else {
$bdd -> deconnexion ();
$template -> assign ( 'message' , 'Nom d\'utilisateur ou mot de passe incorrect.' );
$template -> assign ( 'couleur' , 'red' );
2008-11-16 11:00:00 +00:00
$template -> assign ( 'script' , '<script type="text/javascript">setTimeout(\'document.location.href="http://www.halo-battle.s-fr.com/";\', 2500);</script>' );
2008-11-04 11:00:00 +00:00
$template -> display ( 'cms/erreur.tpl' );
exit ;
}
}
}
2008-11-03 11:00:00 +00:00
$p = gpc ( 'p' );
switch ( $p ){
2008-11-04 11:00:00 +00:00
//Serveur principal
/* case " validation " :
include ( 'game/validation.php' );
break ;
case " inscription " :
include ( 'game/inscription.php' );
break ;
case " oubliemdp " :
header ( 'Location: http://halo-battle.fr/' );
break ; */
//Serveur de jeu
2008-11-08 11:00:00 +00:00
case " connexion " :
$page = 'mini' ;
break ;
2008-11-04 11:00:00 +00:00
case " njoueur " :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/njoueur.php " );
2008-11-04 11:00:00 +00:00
break ;
case " inscription " :
header ( 'Location: http://halo-battle.s-fr.com/?p=inscription' );
exit ;
break ;
case " oubliemdp " :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/oubliemdp.php " );
2008-11-04 11:00:00 +00:00
break ;
//Tous serveurs
case " conditions " :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/conditions.php " );
2008-11-04 11:00:00 +00:00
break ;
case " regles " :
2008-09-20 10:00:00 +00:00
include ( _FCORE . " ../game/jeu/regles.php " );
2008-11-04 11:00:00 +00:00
break ;
default :
2008-11-08 11:00:00 +00:00
//$page = 'mini';
header ( 'Location: http://www.halo-battle.fr/' );
exit ;
2008-11-04 11:00:00 +00:00
}
$template -> display ( 'cms/' . $page . '.tpl' );
}
echo ( " \n <!--Page générée en : " . round (( array_sum ( explode ( ' ' , microtime ()))) - ( array_sum ( explode ( ' ' , $chrono_start ))), 4 ) . " secondes.--> " );
?>