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 ));
require_once ( _FCORE . " common.php " );
//Pistage Guillaume
2008-11-16 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' ] == " 172 " || $sess -> values [ 'id' ] == " 66 " ))) {
2008-11-04 11:00:00 +00:00
file_log ( var_export ( $_REQUEST , TRUE ));
}
//On vérifie si le client est connecté sur le site
if ( isset ( $sess ) && isset ( $sess -> values [ 'connected' ]) && $sess -> values [ 'connected' ] && ! empty ( $sess -> values [ 'id' ]) && isset ( $sess -> values [ 'auth_level' ]) && ! empty ( $sess -> values [ 'idPlan' ])) {
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-09-20 10:00:00 +00:00
//Inclusion des formules
require_once ( _FCORE . " ../game/vars.php " );
//On inclus les différentes classes
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' ];
$template -> assign ( 'auth_level' , $sess -> values [ 'auth_level' ]);
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 ; " );
$queryUser = $bdd -> unique_query ( " SELECT * FROM $table_user WHERE id = $id_user ; " );
2008-11-04 11:00:00 +00:00
//On vérifie que le joueur ne soit pas en mode vacances forcé
2008-09-20 10:00:00 +00:00
if ( $queryUser [ 'mv' ] > 0 || ! $queryUser ) {
2008-11-04 11:00:00 +00:00
$sess -> close ();
2008-09-20 10:00:00 +00:00
header ( 'Location: ' . $config [ 'first_page' ] . '?mvf' );
2008-11-04 11:00:00 +00:00
exit ;
}
$race = $queryUser [ 'race' ];
$template -> assign ( 'race' , $queryUser [ 'race' ]);
2008-09-20 10:00:00 +00:00
$template -> assign ( 'multi' , $multi );
2008-11-04 11:00:00 +00:00
$template -> assign ( 'user' , $queryUser );
$tpsdejeu = time () - $queryUser [ 'last_visite' ];
$heur = floor ( $tpsdejeu / 3600 );
$min = floor (( $tpsdejeu - $heur * 3600 ) / 60 );
if ( $heur > 0 ) $min = $heur . ' h ' . $min ;
$template -> assign ( 'tpsdejeu' , $min . ' min' );
if ( isset ( $_POST [ 'Cplanete' ])) {
$idPlanTest = $_POST [ 'Cplanete' ];
$bdd -> escape ( $idPlanTest );
if ( $bdd -> unique_query ( " SELECT * FROM $table_planete WHERE id_user = ' $id_user ' AND id = ' $idPlanTest '; " )) {
$sess -> values [ 'idPlan' ] = $idPlanTest ;
$sess -> put ();
$template -> assign ( 'contenu' , '<meta http-equiv="refresh" content="0"/>' );
$template -> assign ( 'page' , 'vp' );
$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 );
///$queryPlanete = $bdd->unique_query("SELECT * FROM $table_planete WHERE id = '$idPlan'");
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-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 ;
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' );
$HB_auth = hash ( " sha512 " , $HB_login . 'Ņ♂↨' . $HB_password . '☻♫☼' . date ( 'W!Y¨D@j' ));
}
else {
$HB_login = gpc ( 'l' );
$HB_password = gpc ( 'p' );
$HB_auth = gpc ( 'a' );
}
2008-11-04 11:00:00 +00:00
if ( empty ( $HB_login ) || empty ( $HB_password )) {
2008-11-03 11:00:00 +00:00
$template -> assign ( 'message' , 'Nom d\'utilisateur ou mot de passe incorrect.<br /><br />' );
$template -> assign ( 'couleur' , 'red' );
$template -> display ( 'cms/erreur.tpl' );
exit ;
}
elseif ( hash ( " sha512 " , $HB_login . 'Ņ♂↨' . $HB_password . '☻♫☼' . date ( 'W!Y¨D@j' )) != $HB_auth && hash ( " sha512 " , $HB_login . 'Ņ♂↨' . $HB_password . '☻♫☼' . date ( 'W!Y¨D@j' , time () - 300 )) != $HB_auth ) {
$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-09-20 10:00:00 +00:00
/* if ( empty ( $var [ 'mdp_var' ])) {
2008-11-16 11:00:00 +00:00
$gen = rand ( - 2147483648 , 2147483647 );
if ( $gen == 0 ) $gen = rand ( 1000000000 , 2147483647 );
$HB_passwordAnc = sha1 ( strtoupper ( $HB_login ) . ':' . $HB_password );
$HB_passwordNew = hash_var ( strtoupper ( $HB_login ) . ':' . $HB_password . '♂♪' . $gen );
$bdd -> connexion ();
$bdd -> escape ( $HB_passwordAnc );
$bdd -> escape ( $HB_passwordNew );
if ( $bdd -> unique_query ( " SELECT id FROM $table_user WHERE pseudo = ' $HB_login ' AND mdp = ' $HB_passwordAnc '; " )) {
$bdd -> query ( " UPDATE $table_user SET mdp_var = $gen , mdp = ' $HB_passwordNew ' WHERE pseudo = ' $HB_login '; " );
$bdd -> deconnexion ();
$var [ 'mdp_var' ] = $gen ;
}
else {
$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 ;
}
2008-09-20 10:00:00 +00:00
} */
$HB_password = mdp ( $HB_login , $HB_password , $var [ 'mdp_var' ]);
//print 'mdp : '.$HB_password.' contre BDD : '.$var['mdp'];
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 ;
}
$resultat = $bdd -> unique_query ( " SELECT id, mv, last_visite, auth_level, raisonmv FROM $table_user WHERE pseudo = ' $HB_login ' AND mdp = ' $HB_password '; " );
if ( $resultat ) {
$id = $resultat [ 'id' ];
2008-11-16 11:00:00 +00:00
$reqPlan = $bdd -> query ( " SELECT id, file_bat, file_tech, file_cas, file_vais, file_ter FROM $table_planete WHERE id_user = ' $id ' ORDER BY id ASC; " );
2008-11-04 11:00:00 +00:00
$resultatP = $reqPlan [ 0 ];
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-04 11:00:00 +00:00
if ( $resultat [ 'last_visite' ] + 259200 > time () && $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' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
$bdd -> query ( " UPDATE $table_user SET mv = '0' WHERE id = ' $id '; " );
$bdd -> query ( " UPDATE $table_planete SET timestamp = ' " . time () . " ' WHERE id_user = ' $id '; " );
//On fait repartir à 0 les files d'attente
2008-09-20 10:00:00 +00:00
include_once ( _FCORE . " ../game/Class/class.gerefile.php " );
2008-11-04 11:00:00 +00:00
$cntplan = count ( $reqPlan );
for ( $i = 0 ; $i < $cntplan ; $i ++ ) {
if ( ! empty ( $reqPlan [ $i ][ 'file_bat' ])) {
$file = unserialize ( $reqPlan [ $i ][ 'file_bat' ]);
$file -> timestamp = time ();
$fileBat = serialize ( $file );
$bdd -> escape ( $fileBat );
}
else $fileBat = '' ;
if ( ! empty ( $reqPlan [ $i ][ 'file_tech' ])) {
$file = unserialize ( $reqPlan [ $i ][ 'file_tech' ]);
$file -> timestamp = time ();
$fileTech = serialize ( $file );
$bdd -> escape ( $fileTech );
}
else $fileTech = '' ;
if ( ! empty ( $reqPlan [ $i ][ 'file_cas' ])) {
$file = unserialize ( $reqPlan [ $i ][ 'file_cas' ]);
$file -> timestamp = time ();
$fileCas = serialize ( $file );
$bdd -> escape ( $fileCas );
}
else $fileCas = '' ;
if ( ! empty ( $reqPlan [ $i ][ 'file_vais' ])) {
$file = unserialize ( $reqPlan [ $i ][ 'file_vais' ]);
$file -> timestamp = time ();
$fileVais = serialize ( $file );
$bdd -> escape ( $fileCas );
}
else $fileVais = '' ;
if ( ! empty ( $reqPlan [ $i ][ 'file_ter' ])) {
$file = unserialize ( $reqPlan [ $i ][ 'file_ter' ]);
$file -> timestamp = time ();
$fileTer = serialize ( $file );
$bdd -> escape ( $fileTer );
}
else $fileTer = '' ;
$idPlan = $reqPlan [ $i ][ 'id' ];
$bdd -> query ( " UPDATE $table_planete SET file_bat = ' $fileBat ', file_tech = ' $fileTech ', file_cas = ' $fileCas ', file_vais = ' $fileVais ', file_ter = ' $fileTer ' WHERE id = ' $idPlan '; " );
}
}
2008-11-16 11:00:00 +00:00
$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-09-20 10:00:00 +00:00
$multi = $bdd -> unique_query ( " SELECT COUNT(*) FROM $table_registre_identification WHERE ip = ' $ip ' GROUP BY ip, id_util " );
$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' ];
$sess -> values [ 'idPlan' ] = $resultatP [ 'id' ];
2008-09-20 10:00:00 +00:00
//Si on détecte le multi-compte, on interdit l'accès au panneau d'admin
if ( empty ( $multi )) $sess -> values [ 'auth_level' ] = 0 ;
else $sess -> values [ 'auth_level' ] = $resultat [ 'auth_level' ];
2008-11-04 11:00:00 +00:00
$sess -> put ();
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
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-09-20 10:00:00 +00:00
$page = 'mini' ;
//header('Location: http://halo-battle.s-fr.com/?p=connexion');
2008-11-19 11:00:00 +00:00
//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.--> " );
?>