forked from halo-battle/game
Version 1.9a
This commit is contained in:
parent
5f81f76b17
commit
d028822d0b
437 changed files with 27543 additions and 81793 deletions
244
htdocs/index.php
244
htdocs/index.php
|
|
@ -14,29 +14,39 @@ if ($_SERVER["REMOTE_ADDR"] == "82.245.190.225" || $_SERVER["REMOTE_ADDR"] == "8
|
|||
if (isset($sess) && isset($sess->values['connected']) && $sess->values['connected'] && !empty($sess->values['id']) && isset($sess->values['auth_level']) && !empty($sess->values['idPlan'])) {
|
||||
$HB_login = gpc('l');
|
||||
if (!empty($HB_login) && strtolower($HB_login) != strtolower(trouvNom($sess->values['id']))) {
|
||||
include(_FCORE."hb_game/jeu/logout.php");
|
||||
include(_FCORE."../game/jeu/logout.php");
|
||||
}
|
||||
elseif (!empty($HB_login)) {
|
||||
header('Location: ./');
|
||||
header('Location: ./'.$config['first_page']);
|
||||
exit;
|
||||
}
|
||||
|
||||
//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");
|
||||
|
||||
//Récupération d'informations au sujet de l'utilisateur
|
||||
$id_user = $sess->values['id'];
|
||||
$template->assign('auth_level', $sess->values['auth_level']);
|
||||
|
||||
$ip = $_SERVER["REMOTE_ADDR"];
|
||||
|
||||
$bdd->connexion();
|
||||
$queryUser = $bdd->unique_query("SELECT * FROM $table_user WHERE id = $id_user");
|
||||
$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;");
|
||||
|
||||
//On vérifie que le joueur ne soit pas en mode vacances forcé
|
||||
if ($queryUser['mv'] || !$queryUser) {
|
||||
if ($queryUser['mv'] > 0 || !$queryUser) {
|
||||
$sess->close();
|
||||
header('Location: ?mvf');
|
||||
header('Location: '.$config['first_page'].'?mvf');
|
||||
exit;
|
||||
}
|
||||
|
||||
$race = $queryUser['race'];
|
||||
$template->assign('race', $queryUser['race']);
|
||||
$template->assign('multi', $multi);
|
||||
$template->assign('user', $queryUser);
|
||||
$tpsdejeu = time() - $queryUser['last_visite'];
|
||||
$heur = floor($tpsdejeu/3600);
|
||||
|
|
@ -58,196 +68,162 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte
|
|||
}
|
||||
$idPlan = $sess->values['idPlan'];
|
||||
|
||||
$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;");
|
||||
$queryPlanete = $bdd->unique_query("SELECT * FROM $table_planete WHERE id = '$idPlan'");
|
||||
|
||||
$bdd->deconnexion();
|
||||
$planete = new Planete($idPlan);
|
||||
///$queryPlanete = $bdd->unique_query("SELECT * FROM $table_planete WHERE id = '$idPlan'");
|
||||
|
||||
$case = $queryPlanete["cases"];
|
||||
$metal = $queryPlanete["metal"];
|
||||
$cristal = $queryPlanete["cristal"];
|
||||
$hydrogene = $queryPlanete["hydrogene"];
|
||||
|
||||
require_once(_FCORE."hb_game/ressources.php");
|
||||
require_once(_FCORE."hb_game/noms.php");
|
||||
require_once(_FCORE."hb_game/vars.php");
|
||||
require_once(_FCORE."hb_game/constructions.php");
|
||||
require_once(_FCORE."hb_game/flottes.php");
|
||||
|
||||
$bdd->connexion();
|
||||
$queryPlanete = $bdd->unique_query("SELECT * FROM $table_planete WHERE id = '$idPlan'");
|
||||
$queryMail = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = '".$queryUser['pseudo']."' AND vu = '1';");
|
||||
$bdd->deconnexion();
|
||||
|
||||
//Isolement de la planète
|
||||
$queryPlanete['isolement'] = explode(' ', $queryPlanete['isolement']);
|
||||
if (time() > $queryPlanete['isolement'][0]) {
|
||||
if (!isset($queryPlanete['isolement'][1]) || (time() > $queryPlanete['isolement'][1] && date('dmY') != date('dmY', $queryPlanete['isolement'][0]))) {
|
||||
$nbPlan = count($queryPlanetes);
|
||||
$numP = 0;
|
||||
for ($i=0 ; $i<$nbPlan ; $i++) {
|
||||
if ($queryPlanetes[$i]['id'] == $queryPlanete['id']) $numP = $i;
|
||||
}
|
||||
if ($numP > 10) {
|
||||
switch($numP){
|
||||
case 11: $tps = 2; break;
|
||||
case 12: $tps = 4; break;
|
||||
case 13: $tps = 6; break;
|
||||
case 14: $tps = 8; break;
|
||||
case 15: $tps = 12; break;
|
||||
case 16: $tps = 16; break;
|
||||
case 17: $tps = 20; break;
|
||||
default: $tps = 24;
|
||||
}
|
||||
$debut = mktime(rand(0, 24-$tps), 0, 0, date('n'), date('j'), date('Y'));
|
||||
$fin = $debut + $tps * 3600;
|
||||
|
||||
$bdd->connexion();
|
||||
$bdd->query("UPDATE $table_planete SET isolement = '$debut $fin' WHERE id = '$idPlan';");
|
||||
$bdd->deconnexion();
|
||||
$queryPlanete['isolement'][0] = $debut;
|
||||
if (time() > $queryPlanete['isolement'][0]) $queryPlanete['isolement'][1] = $fin;
|
||||
}
|
||||
}
|
||||
if (isset($queryPlanete['isolement'][1]) && time() < $queryPlanete['isolement'][1] && $p != 'rename' && $p != 'accueil' && $p != 'arbre' && $p != 'prochainement' && $p != 'options' && $p != 'messagerie' && $p != 'envoyer' && $p != 'classement' && $p != 'bugs' && $p != 'deconnexion') {
|
||||
$template->assign('message','Impossible de rentrer en contact avec cette planète. Réessayez plus tard.');
|
||||
$template->assign('titre','Planète isolée');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
///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']);
|
||||
$metal = $queryPlanete["metal"];
|
||||
$cristal = $queryPlanete["cristal"];
|
||||
$hydrogene = $queryPlanete["hydrogene"];
|
||||
$queryPlanete["metalS"] = separerNombres($queryPlanete["metal"]);
|
||||
$queryPlanete["cristalS"] = separerNombres($queryPlanete["cristal"]);
|
||||
$queryPlanete["hydrogeneS"] = separerNombres($queryPlanete["hydrogene"]);
|
||||
$queryPlanete["energieS"] = separerNombres($queryPlanete["energie"]);
|
||||
$queryPlanete["nom_planete"] = htmlspecialchars($queryPlanete["nom_planete"]);
|
||||
|
||||
$template->assign('planete', $queryPlanete);
|
||||
$template->assign('planete', $planete);
|
||||
$template->assign('planetes', $queryPlanetes);
|
||||
$template->assign('nomsressources', $ressourc);
|
||||
|
||||
//Calcul du nombre de cases restantes
|
||||
$coun = count($batiment);
|
||||
$caseRest = $queryPlanete['cases'];
|
||||
for ($i=0 ; $i<$coun ; $i++) {
|
||||
$caseRest -= $queryPlanete[$batimentVAR[$i]];
|
||||
}
|
||||
$template->assign('caseRest',$case-$caseRest);
|
||||
|
||||
$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]));
|
||||
}
|
||||
|
||||
switch($p){
|
||||
case 'prochainement':
|
||||
$page = 'prochainement';
|
||||
$titre = 'Prochainement';
|
||||
break;
|
||||
case 'version':
|
||||
include(_FCORE."hb_game/jeu/version.php");
|
||||
include(_FCORE."../game/jeu/version.php");
|
||||
break;
|
||||
case 'rename':
|
||||
include(_FCORE."hb_game/jeu/rename.php");
|
||||
include(_FCORE."../game/jeu/rename.php");
|
||||
break;
|
||||
case 'description':
|
||||
include(_FCORE."hb_game/jeu/description.php");
|
||||
include(_FCORE."../game/jeu/description.php");
|
||||
break;
|
||||
case 'batiments':
|
||||
include(_FCORE."hb_game/jeu/batiments.php");
|
||||
include(_FCORE."../game/jeu/batiments.php");
|
||||
break;
|
||||
case 'caserne':
|
||||
include(_FCORE."../game/jeu/caserne.php");
|
||||
break;
|
||||
case 'chantierspatial':
|
||||
include(_FCORE."hb_game/jeu/chantierspatial.php");
|
||||
include(_FCORE."../game/jeu/chantierspatial.php");
|
||||
break;
|
||||
case 'chantierterrestre':
|
||||
include(_FCORE."../game/jeu/chantierterrestre.php");
|
||||
break;
|
||||
case 'defenses':
|
||||
include(_FCORE."hb_game/jeu/defenses.php");
|
||||
include(_FCORE."../game/jeu/defenses.php");
|
||||
break;
|
||||
case 'laboratoire':
|
||||
include(_FCORE."hb_game/jeu/laboratoire.php");
|
||||
include(_FCORE."../game/jeu/laboratoire.php");
|
||||
break;
|
||||
case 'arbre':
|
||||
include(_FCORE."hb_game/jeu/arbre.php");
|
||||
include(_FCORE."../game/jeu/arbre.php");
|
||||
break;
|
||||
case 'gestion':
|
||||
include(_FCORE."hb_game/jeu/gestion.php");
|
||||
include(_FCORE."../game/jeu/gestion.php");
|
||||
break;
|
||||
case 'ressources':
|
||||
include(_FCORE."hb_game/jeu/ressources.php");
|
||||
include(_FCORE."../game/jeu/ressources.php");
|
||||
break;
|
||||
case 'flotte':
|
||||
include(_FCORE."hb_game/jeu/flotte.php");
|
||||
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."hb_game/jeu/carte.php");
|
||||
include(_FCORE."../game/jeu/carte.php");
|
||||
break;
|
||||
case 'bourse':
|
||||
include(_FCORE."hb_game/jeu/bourse.php");
|
||||
include(_FCORE."../game/jeu/bourse.php");
|
||||
break;
|
||||
case 'options':
|
||||
include(_FCORE."hb_game/jeu/options.php");
|
||||
include(_FCORE."../game/jeu/options.php");
|
||||
break;
|
||||
case 'changeopt':
|
||||
include(_FCORE."hb_game/jeu/options_change.php");
|
||||
include(_FCORE."../game/jeu/options_change.php");
|
||||
break;
|
||||
case 'messagerie':
|
||||
include(_FCORE."hb_game/jeu/messagerie.php");
|
||||
include(_FCORE."../game/jeu/messagerie.php");
|
||||
break;
|
||||
case 'envoyer':
|
||||
include(_FCORE."hb_game/jeu/envoyer.php");
|
||||
include(_FCORE."../game/jeu/envoyer.php");
|
||||
break;
|
||||
case 'alliances':
|
||||
include(_FCORE."hb_game/jeu/alliances.php");
|
||||
include(_FCORE."../game/jeu/alliances.php");
|
||||
break;
|
||||
case 'classement':
|
||||
include(_FCORE."hb_game/jeu/classement.php");
|
||||
include(_FCORE."../game/jeu/classement.php");
|
||||
break;
|
||||
case 'bugs':
|
||||
include(_FCORE."hb_game/jeu/bugs.php");
|
||||
include(_FCORE."../game/jeu/bugs.php");
|
||||
break;
|
||||
case 'chat':
|
||||
$page = 'chat'; $titre = 'Chat';
|
||||
break;
|
||||
case 'faq':
|
||||
include(_FCORE."hb_game/jeu/aide.php");
|
||||
include(_FCORE."../game/jeu/aide.php");
|
||||
break;
|
||||
case 'simulateur':
|
||||
include(_FCORE."hb_game/jeu/simulateur.php");
|
||||
include(_FCORE."../game/jeu/simulateur.php");
|
||||
break;
|
||||
case 'deconnexion':
|
||||
include(_FCORE."hb_game/jeu/logout.php");
|
||||
include(_FCORE."../game/jeu/logout.php");
|
||||
break;
|
||||
case 'operateur':
|
||||
include(_FCORE."hb_game/jeu/operateur.php");
|
||||
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."hb_game/jeu/pilori.php");
|
||||
include(_FCORE."../game/jeu/pilori.php");
|
||||
break;
|
||||
case "conditions":
|
||||
include(_FCORE."hb_game/jeu/conditions.php");
|
||||
include(_FCORE."../game/jeu/conditions.php");
|
||||
break;
|
||||
case "regles":
|
||||
include(_FCORE."hb_game/jeu/regles.php");
|
||||
include(_FCORE."../game/jeu/regles.php");
|
||||
break;
|
||||
default:
|
||||
include(_FCORE."hb_game/jeu/accueil.php");
|
||||
include(_FCORE."../game/jeu/accueil.php");
|
||||
}
|
||||
|
||||
$template->assign('page',$page);
|
||||
$template->assign('titre',$titre);
|
||||
$template->assign('page', $page);
|
||||
$template->assign('titre', $titre);
|
||||
|
||||
$template->display('game/'.$page.'.tpl');
|
||||
}
|
||||
//Si le joueur n'est pas connecté au site
|
||||
else {
|
||||
//On traite la demande de loggin de l'utilisateur
|
||||
if (isset($_GET['l']) && isset($_GET['p']) && isset($_GET['a'])) {
|
||||
//Récupération des données POST
|
||||
$HB_login = gpc('l');
|
||||
$HB_password = gpc('p');
|
||||
$HB_auth = gpc('a');
|
||||
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');
|
||||
}
|
||||
|
||||
if (empty($HB_login) || empty($HB_password)) {
|
||||
$template->assign('message','Nom d\'utilisateur ou mot de passe incorrect.<br /><br />');
|
||||
|
|
@ -271,7 +247,7 @@ else {
|
|||
fclose($fichier);
|
||||
}
|
||||
$bdd->escape($HB_login);
|
||||
if (!$var = $bdd->unique_query("SELECT mdp_var FROM $table_user WHERE pseudo = '$HB_login';")) {
|
||||
if (!$var = $bdd->unique_query("SELECT mdp_var, mdp FROM $table_user WHERE pseudo = '$HB_login';")) {
|
||||
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()."');");
|
||||
$bdd->deconnexion();
|
||||
|
|
@ -282,7 +258,7 @@ else {
|
|||
exit;
|
||||
}
|
||||
$bdd->deconnexion();
|
||||
if (empty($var['mdp_var'])) {
|
||||
/*if (empty($var['mdp_var'])) {
|
||||
$gen = rand(-2147483648, 2147483647);
|
||||
if ($gen == 0) $gen = rand(1000000000, 2147483647);
|
||||
$HB_passwordAnc = sha1(strtoupper($HB_login).':'.$HB_password);
|
||||
|
|
@ -303,16 +279,16 @@ else {
|
|||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
$HB_password = hash_var(strtoupper($HB_login).':'.$HB_password.'♂♪'.$var['mdp_var']);
|
||||
}*/
|
||||
$HB_password = mdp($HB_login, $HB_password, $var['mdp_var']);
|
||||
//print 'mdp : '.$HB_password.' contre BDD : '.$var['mdp'];
|
||||
$time = time();
|
||||
$ip = $_SERVER["REMOTE_ADDR"];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($HB_password);
|
||||
|
||||
//Limiter le nombre de personnes en ligne simutanément
|
||||
$connecte = $bdd->unique_query("SELECT COUNT(xid) AS nombre FROM $table_sessions WHERE active = true AND var_session != '';");
|
||||
if ($connecte['nombre'] > 1500) {
|
||||
if ($enligne['enligne'] > 1500) {
|
||||
$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');
|
||||
|
|
@ -334,7 +310,7 @@ else {
|
|||
exit;
|
||||
}
|
||||
|
||||
if ($resultat['mv'] != 0) {
|
||||
if ($resultat['mv'] > 0) {
|
||||
if ($resultat['last_visite']+259200 > time() && $resultat['auth_level'] < 2) {
|
||||
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));
|
||||
|
|
@ -348,7 +324,7 @@ else {
|
|||
$bdd->query("UPDATE $table_planete SET timestamp = '".time()."' WHERE id_user = '$id';");
|
||||
|
||||
//On fait repartir à 0 les files d'attente
|
||||
include_once(_FCORE."hb_game/Class/class.gerefile.php");
|
||||
include_once(_FCORE."../game/Class/class.gerefile.php");
|
||||
$cntplan = count($reqPlan);
|
||||
for ($i = 0; $i < $cntplan; $i++) {
|
||||
if (!empty($reqPlan[$i]['file_bat'])) {
|
||||
|
|
@ -394,15 +370,21 @@ else {
|
|||
|
||||
$bdd->query("UPDATE $table_user SET last_visite = '$time', last_ip = '$ip' WHERE id = '$id';");
|
||||
$bdd->query("INSERT INTO $table_registre_identification (id_util, ip) VALUES (".$id.",'".$ip."');");
|
||||
$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;");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$sess->values['connected'] = TRUE;
|
||||
$sess->values['id'] = $resultat['id'];
|
||||
$sess->values['idPlan'] = $resultatP['id'];
|
||||
$sess->values['auth_level'] = $resultat['auth_level'];
|
||||
//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'];
|
||||
$sess->put();
|
||||
|
||||
header('Location: ./?p=accueil');
|
||||
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');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
|
|
@ -431,25 +413,25 @@ else {
|
|||
break;*/
|
||||
//Serveur de jeu
|
||||
case "njoueur":
|
||||
include(_FCORE."hb_game/jeu/njoueur.php");
|
||||
include(_FCORE."../game/jeu/njoueur.php");
|
||||
break;
|
||||
case "inscription":
|
||||
header('Location: http://halo-battle.s-fr.com/?p=inscription');
|
||||
exit;
|
||||
break;
|
||||
case "oubliemdp":
|
||||
include(_FCORE."hb_game/jeu/oubliemdp.php");
|
||||
include(_FCORE."../game/jeu/oubliemdp.php");
|
||||
break;
|
||||
//Tous serveurs
|
||||
case "conditions":
|
||||
include(_FCORE."hb_game/jeu/conditions.php");
|
||||
include(_FCORE."../game/jeu/conditions.php");
|
||||
break;
|
||||
case "regles":
|
||||
include(_FCORE."hb_game/jeu/regles.php");
|
||||
include(_FCORE."../game/jeu/regles.php");
|
||||
break;
|
||||
default:
|
||||
//$page = 'mini';
|
||||
header('Location: http://halo-battle.s-fr.com/?p=connexion');
|
||||
$page = 'mini';
|
||||
//header('Location: http://halo-battle.s-fr.com/?p=connexion');
|
||||
//exit;
|
||||
}
|
||||
$template->display('cms/'.$page.'.tpl');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue