values['connected']) && $SESS->values['connected'] && !empty($SESS->values['id']) && !empty($SESS->values['race']) && !empty($SESS->level) && isset($SESS->values['idPlan']) && isset($SESS->values['idAsteroide'])) { $template->assign('menu', array_map("url", $VAR['menu'])); require_once("pub.php"); //Inclusion de la pub et du footer //Si un nouveau joueur cherche à se connecter du même endroit, on déconnecte le joueur en cours avant $HB_login = gpc('l'); if (!empty($HB_login) && strtolower($HB_login) != strtolower(trouvNom($SESS->values['id']))) { include("game/serveur/logout.php"); } elseif (!empty($HB_login)) { redirection('./'.$VAR['first_page']); exit; } $race = $SESS->values['race']; $securePlanete = array(); //Inclusion des formules require_once("game/vars.php"); require_once("game/Class/class.donnee.php"); //On inclus les différentes classes include_once("game/Class/class.file.php"); include_once("game/Class/class.user.php"); include_once("game/Class/class.surface.php"); include_once("game/Class/class.planete.php"); include_once("game/Class/class.asteroide.php"); include_once("game/Class/class.flotte.php"); //Récupération d'informations au sujet de l'utilisateur $id_user = $SESS->values['id']; $template->assign('auth_level', $SESS->level); //Recherche du multi-compte $ip = $_SERVER["REMOTE_ADDR"]; if (!isset($bdd)) $bdd = new Bdd(); else $bdd->reconnexion(); $multi = $bdd->query("SELECT U.pseudo, R.id_util FROM $table_registre_identification R INNER JOIN $table_user U ON U.id = R.id_util WHERE R.ip = '$ip' GROUP BY R.ip, R.id_util HAVING R.id_util != $id_user;"); //On gère les demande de changement de planète if (isset($_POST['Cplanete'])) { if (ereg('A', $_POST['Cplanete'])) { $idAsteroideTest = intval(substr(gpc('Cplanete', 'post'), 1)); if ($bdd->unique_query("SELECT id FROM $table_alliances WHERE id = $idAsteroideTest;") && $bdd->unique_query("SELECT id FROM $table_user WHERE id = $id_user AND id_alliance = $idAsteroideTest;")) { $SESS->values['idPlan'] = 0; $SESS->values['idAsteroide'] = $idAsteroideTest; $SESS->values['isolement'] = 0; $SESS->put(); $template->assign('contenu', ''); $template->assign('page','vp'); $template->assign('race', $race); $template->display('game/vp.tpl'); exit; } unset($idAsteroideTest); } else { $idPlanTest = intval(gpc('Cplanete', 'post')); if ($bdd->unique_query("SELECT id FROM $table_planete WHERE id_user = $id_user AND id = $idPlanTest;")) { $SESS->values['idPlan'] = $idPlanTest; $SESS->values['idAsteroide'] = 0; $SESS->values['isolement'] = 0; $SESS->put(); $template->assign('contenu', ''); $template->assign('page','vp'); $template->assign('race', $race); $template->display('game/vp.tpl'); exit; } unset($idPlanTest); } } $idPlan = $SESS->values['idPlan']; $idAsteroide = $SESS->values['idAsteroide']; $queryMail = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = $id_user AND vu = '1';"); $queryPlanetes = $bdd->query("SELECT * FROM $table_planete WHERE id_user = $id_user ORDER BY id ASC;"); $bdd->deconnexion(); //Chargement de la planète/astéroide actuel if ($idPlan == 0 && $idAsteroide == 0) { trigger_error('Planete et Asteroide nul, deconnexion du joueur '.$id_user,E_USER_ERROR); include("game/serveur/logout.php"); exit; } elseif ($idPlan == 0) { define('SURFACE', 'asteroide'); $planete = new Asteroide($idAsteroide); } else { define('SURFACE', 'planete'); $planete = new Planete($idPlan); $planete->actualiser(); } unset($ip, $idAsteroide, $idPlan); //On vérifie que le joueur ne soit pas en mode vacances forcé if ($planete->mv > 0) { $SESS->close(); redirection($config['first_page'].'?mvf'); exit; } //NOMS ET FLOTTES include('flottes.php'); //Envoie d'informations au template $template->assign('alertMail', $queryMail['nombre']); $template->assign('planete', $planete); $template->assign('planetes', $queryPlanetes); $template->assign('race', $race); $template->assign('nomsressources', 'ERREUR#RESSOURCES'); //Calcul du temps de jeu $tpsdejeu = time() - $planete->last_visite; $heur = floor($tpsdejeu/3600); $min = floor(($tpsdejeu%3600)/60); if ($heur > 0) $min = $heur." h ".$min; $template->assign("tpsdejeu", $min." min"); unset($tpsdejeu, $heur, $min, $queryMail); //Récupération de la page demandée $p = gpc('p'); //Vérification de l'isolement de la planète if ((empty($SESS->values['isolement']) || time() >= $SESS->values['isolement']) && $p != 'operateur' && $p != 'demarrage' && $p != 'avertmulti' && $p != 'chat' && $p != 'rename' && $p != 'accueil' && $p != 'arbre' && $p != 'prochainement' && $p != 'options' && $p != 'messagerie' && $p != 'envoyer' && $p != 'classement' && $p != 'bugs' && $p != 'deconnexion') { //TODO Si la planète est en isolement total, faire un autre message if ($planete->isolement()) { $template->assign('titre','Planète isolée'); erreur('Impossible de rentrer en contact avec cette planète.
Réessayez vers '.date('H:i', $planete->isolement[1])); } else { $SESS->values['isolement'] = $planete->isolement[0]; $SESS->put(); } } $template->assign("race", $planete->race); //SWITCH switch($p) { case 'batiments': include("game/jeu/batiments.php"); break; case 'caserne': include("game/jeu/caserne.php"); break; case 'chantierspatial': include("game/jeu/chantierspatial.php"); break; case 'chantierterrestre': case 'defenses': include("game/jeu/chantierterrestre.php"); break; case 'laboratoire': include("game/jeu/laboratoire.php"); break; case 'arbre': include("game/jeu/arbre.php"); break; case 'description': include("game/jeu/description.php"); break; case 'ressources': include("game/jeu/ressources.php"); break; case 'gestion': include("game/jeu/gestion.php"); break; case 'marche': include("game/jeu/marche.php"); break; case 'flotte': include("game/jeu/flotte.php"); break; case 'carte': include("game/jeu/carte.php"); break; case 'rename': include("game/jeu/rename.php"); break; case 'messagerie': include("game/serveur/messagerie.php"); break; case 'envoyer': include("game/serveur/envoyer.php"); break; case 'amis': include("game/serveur/amis.php"); break; case 'destinationsrapides': include("game/serveur/destinrapid.php"); break; case 'chat': $page = 'chat'; $titre = 'Chat'; break; case 'aide': case 'faq': include("game/serveur/aide.php"); break; case 'operateur': include("game/serveur/operateur.php"); break; case 'prochainement': $page = 'prochainement'; $titre = 'Prochainement'; break; case 'version': include("game/serveur/version.php"); break; case "demarrage": include("game/serveur/demarrage.php"); break; case "avertmulti": include("game/serveur/avertmulti.php"); break; case "pilori": include("game/serveur/pilori.php"); break; case "conditions": include("game/serveur/conditions.php"); break; case "regles": include("game/serveur/regles.php"); break; case 'deconnexion': case 'logout': include("game/serveur/logout.php"); break; default: include("game/jeu/accueil.php"); } $template->assign("page", $page); if (!empty($titre)) $template->assign("titre", ".: Halo-Battle - ".$titre." :."); else $template->assign("titre", ".: Halo-Battle :."); $template->display("game/".$page.".tpl"); } //Si le client n'est pas connecté au site else { include("game/serveur/connexion.php"); $p = gpc('p'); switch($p){ //Serveur principal /* case "validation": include('game/validation.php'); break; case "inscription": include('game/inscription.php'); break; case "oubliemdp": redirection('http://halo-battle.fr/'); break;*/ //Serveur de jeu case "connexion": $page = 'mini'; break; case 'classement': include(_FCORE."../game/jeu/classement.php"); break; case "njoueur": include(_FCORE."../game/jeu/njoueur.php"); break; case "inscription": redirection('http://halo-battle.s-fr.com/?p=inscription'); exit; break; case "oubliemdp": include(_FCORE."../game/jeu/oubliemdp.php"); break; case "pilori": include("game/jeu/pilori.php"); break; //Tous serveurs case "conditions": include(_FCORE."../game/jeu/conditions.php"); break; case "regles": include(_FCORE."../game/jeu/regles.php"); break; default: //$page = 'mini'; redirection('http://www.halo-battle.fr/'); exit; } $template->display('cms/'.$page.'.tpl'); } exit(); //On vérifie si le client est connecté sur le site if (isset($SESS) && isset($SESS->values['connected']) && $SESS->values['connected'] && !empty($SESS->values['id']) && !empty($SESS->values['race']) && !empty($SESS->level) && isset($SESS->values['idPlan']) && isset($SESS->values['idAsteroide'])) { //Si un nouveau joueur cherche à se connecter du même endroit, on déconnecte le joueur en cours avant $HB_login = gpc('l'); if (!empty($HB_login) && strtolower($HB_login) != strtolower(trouvNom($SESS->values['id']))) { include(_FCORE."../game/jeu/logout.php"); } elseif (!empty($HB_login)) { redirection('./'.$config['first_page']); exit; } $race = $SESS->values['race']; $securePlanete = array(); //Inclusion des formules require_once(_FCORE."../game/vars.php"); //On inclus les différentes classes include_once(_FCORE."../game/Class/class.file.php"); include_once(_FCORE."../game/Class/class.user.php"); include_once(_FCORE."../game/Class/class.surface.php"); include_once(_FCORE."../game/Class/class.planete.php"); include_once(_FCORE."../game/Class/class.asteroide.php"); include_once(_FCORE."../game/Class/class.flotte.php"); //Récupération d'informations au sujet de l'utilisateur $id_user = $SESS->values['id']; $template->assign('auth_level', $SESS->level); $ip = $_SERVER["REMOTE_ADDR"]; $bdd->reconnexion(); $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;"); if (isset($_POST['Cplanete'])) { if (ereg('A', $_POST['Cplanete'])) { $idAsteroideTest = intval(substr($_POST['Cplanete'], 1)); if ($bdd->unique_query("SELECT id FROM $table_alliances WHERE id = $idAsteroideTest;") && $bdd->unique_query("SELECT id FROM $table_user WHERE id = $id_user AND id_alliance = $idAsteroideTest;")) { $SESS->values['idPlan'] = 0; $SESS->values['idAsteroide'] = $idAsteroideTest; $SESS->values['isolement'] = 0; $SESS->put(); $template->assign('contenu', ''); $template->assign('page','vp'); $template->assign('race', $race); $template->display('game/vp.tpl'); exit; } } else { $idPlanTest = intval($_POST['Cplanete']); if ($bdd->unique_query("SELECT id FROM $table_planete WHERE id_user = $id_user AND id = $idPlanTest;")) { $SESS->values['idPlan'] = $idPlanTest; $SESS->values['idAsteroide'] = 0; $SESS->values['isolement'] = 0; $SESS->put(); $template->assign('contenu', ''); $template->assign('page','vp'); $template->assign('race', $race); $template->display('game/vp.tpl'); exit; } } } $idPlan = $SESS->values['idPlan']; $idAsteroide = $SESS->values['idAsteroide']; $queryMail = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = $id_user AND vu = '1';"); $queryPlanetes = $bdd->query("SELECT * FROM $table_planete WHERE id_user = $id_user ORDER BY id ASC;"); $bdd->deconnexion(); if ($idPlan == 0 && $idAsteroide == 0) { die('ERREUR : index.php ligne 94'); trigger_error('Planete et Asteroide nul, deconnexion du joueur '.$id_user,E_USER_ERROR); include(_FCORE."../game/jeu/logout.php"); } elseif ($idPlan == 0) { define('SURFACE', 'asteroide'); $planete = new Asteroide($idAsteroide); } else { define('SURFACE', 'planete'); $planete = new Planete($idPlan); } //On vérifie que le joueur ne soit pas en mode vacances forcé if ($planete->mv > 0) { $SESS->close(); redirection($config['first_page'].'?mvf'); exit; } //Chargement asteroide if ($planete->id_alliance) { $bdd->reconnexion(); $template->assign('asteroide', $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = ".$planete->id_alliance.";")); $bdd->deconnexion(); } ///require_once(_FCORE."../game/ressources.php"); ///require_once(_FCORE."../game/constructions.php"); require(_FCORE."../game/noms.php"); require_once(_FCORE."../game/flottes.php"); $template->assign('alertMail', $queryMail['nombre']); $template->assign('planete', $planete); $template->assign('planetes', $queryPlanetes); $template->assign('nomsressources', $ressourc); $p = gpc('p'); //Isolement de la planète if ((empty($SESS->values['isolement']) || time() >= $SESS->values['isolement']) && $p != 'rename' && $p != 'accueil' && $p != 'arbre' && $p != 'prochainement' && $p != 'options' && $p != 'messagerie' && $p != 'envoyer' && $p != 'classement' && $p != 'bugs' && $p != 'deconnexion') { //TODO Si la planète est en isolement total, faire un autre message if ($planete->isolement()) { $template->assign('race',$race); $template->assign('titre','Planète isolée'); erreur('Impossible de rentrer en contact avec cette planète.
Réessayez vers '.date('H:i', $planete->isolement[1])); } else { $SESS->values['isolement'] = $planete->isolement[0]; $SESS->put(); } } //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); switch($p){ case 'prochainement': $page = 'prochainement'; $titre = 'Prochainement'; break; case 'version': include(_FCORE."../game/jeu/version.php"); break; case 'rename': include(_FCORE."../game/jeu/rename.php"); break; case 'description': include(_FCORE."../game/jeu/description.php"); break; case 'batiments': include(_FCORE."../game/jeu/batiments.php"); break; case 'caserne': include(_FCORE."../game/jeu/caserne.php"); break; case 'chantierspatial': include(_FCORE."../game/jeu/chantierspatial.php"); break; case 'chantierterrestre': include(_FCORE."../game/jeu/chantierterrestre.php"); break; case 'defenses': include(_FCORE."../game/jeu/defenses.php"); break; case 'laboratoire': include(_FCORE."../game/jeu/laboratoire.php"); break; case 'arbre': include(_FCORE."../game/jeu/arbre.php"); break; case 'gestion': include(_FCORE."../game/jeu/gestion.php"); break; case 'ressources': include(_FCORE."../game/jeu/ressources.php"); break; case 'flotte': include(_FCORE."../game/jeu/flotte.php"); break; case 'destinationsrapides': include(_FCORE."../game/jeu/destinrapid.php"); break; case 'amis': include(_FCORE."../game/jeu/amis.php"); break; case 'carte': include(_FCORE."../game/jeu/carte.php"); break; case 'marche': include(_FCORE."../game/jeu/marche.php"); break; case 'options': include(_FCORE."../game/jeu/options.php"); break; case 'changeopt': include(_FCORE."../game/jeu/options_change.php"); break; case 'messagerie': include(_FCORE."../game/jeu/messagerie.php"); break; case 'envoyer': include(_FCORE."../game/jeu/envoyer.php"); break; case 'alliances': include(_FCORE."../game/jeu/alliances.php"); break; case 'classement': include(_FCORE."../game/jeu/classement.php"); break; case 'bugs': include(_FCORE."../game/jeu/bugs.php"); break; case 'util': include(_FCORE."../game/jeu/util.php"); break; case 'chat': $page = 'chat'; $titre = 'Chat'; break; case 'faq': include(_FCORE."../game/jeu/aide.php"); break; case 'simulateur': include(_FCORE."../game/jeu/simulateur.php"); break; case 'deconnexion': include(_FCORE."../game/jeu/logout.php"); break; case 'operateur': include(_FCORE."../game/jeu/operateur.php"); break; case "demarrage": include(_FCORE."../game/jeu/demarrage.php"); break; case "avertmulti": include(_FCORE."../game/jeu/avertmulti.php"); break; case "pilori": include(_FCORE."../game/jeu/pilori.php"); break; case "conditions": include(_FCORE."../game/jeu/conditions.php"); break; case "regles": include(_FCORE."../game/jeu/regles.php"); break; default: include(_FCORE."../game/jeu/accueil.php"); } $template->assign('page', $page); $template->assign('titre', $titre); $template->display('game/'.$page.'.tpl'); } //Si le joueur n'est pas connecté au site else { include(_FCORE."../game/jeu/connexion.php"); $p = gpc('p'); switch($p){ //Serveur principal /* case "validation": include('game/validation.php'); break; case "inscription": include('game/inscription.php'); break; case "oubliemdp": redirection('http://halo-battle.fr/'); break;*/ //Serveur de jeu case "connexion": $page = 'mini'; break; case 'classement': include(_FCORE."../game/jeu/classement.php"); break; case "njoueur": include(_FCORE."../game/jeu/njoueur.php"); break; case "inscription": redirection('http://halo-battle.s-fr.com/?p=inscription'); exit; break; case "oubliemdp": include(_FCORE."../game/jeu/oubliemdp.php"); break; //Tous serveurs case "conditions": include(_FCORE."../game/jeu/conditions.php"); break; case "regles": include(_FCORE."../game/jeu/regles.php"); break; default: //$page = 'mini'; redirection('http://www.halo-battle.fr/'); exit; } $template->display('cms/'.$page.'.tpl'); } echo("\n"); ?>