forked from halo-battle/game
Version 1.0a
This commit is contained in:
parent
e391f66774
commit
6a19363758
908 changed files with 22193 additions and 17408 deletions
342
index.php
342
index.php
|
|
@ -1,70 +1,288 @@
|
|||
<?php
|
||||
session_start();
|
||||
if(!defined('INDEX')) define('INDEX', 1);
|
||||
include('includes/common.php');
|
||||
require_once(_FCORE."../tables.php");
|
||||
|
||||
//Vérification de l'existance des cookies, sinon, les créer
|
||||
if (!isset($_COOKIE['HB_log_name']) || !isset($_COOKIE['HB_log_mdp'])) {
|
||||
setcookie('HB_log_name', '', time()+259200, '/');
|
||||
setcookie('HB_log_mdp', '', time()+59220, '/');
|
||||
$_COOKIE['HB_log_name'] = '';
|
||||
$_COOKIE['HB_log_mdp'] = '';
|
||||
//On vérifie que le serveur ne soit pas fermé
|
||||
require('includes/fermerServeur.php');
|
||||
|
||||
//On vérifie si le client est connecté ou non 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'])) {
|
||||
//On fait des vérifications de sécurité
|
||||
//require('includes/securite.php');
|
||||
$chapeau = new bdd();
|
||||
$chapeau->connexion();
|
||||
$chapeau->db();
|
||||
|
||||
//Bandeau d'informations
|
||||
$infos = $chapeau->query("SELECT * FROM `$table_infoshead`");
|
||||
$template->assign('infos',$infos);
|
||||
$template->assign('nbinfos',$chapeau->num_rows-1);
|
||||
|
||||
$template->assign('version', VERSION);
|
||||
|
||||
$chapeau->unique_query("SELECT * FROM `$table_user` WHERE `race` = 'covenant'");
|
||||
$nbcovie = $chapeau->num_rows;
|
||||
$chapeau->unique_query("SELECT * FROM `$table_user` WHERE `race` = 'humain'");
|
||||
$nbhumain = $chapeau->num_rows;
|
||||
$template->assign('count',array('humains' => $nbhumain, 'covenants' => $nbcovie, 'serveurs' => 'cette'));
|
||||
|
||||
$id_user = $sess->values['id'];
|
||||
$queryUser = $chapeau->unique_query("SELECT * FROM `$table_user` WHERE `id` = '$id_user'");
|
||||
$race = $queryUser['race'];
|
||||
$template->assign('auth_level',$sess->values['auth_level']);
|
||||
$template->assign('race',$queryUser['race']);
|
||||
//$template->assign('race','covenant');
|
||||
$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'];
|
||||
if ($chapeau->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'];
|
||||
|
||||
//Alerte si nouveaux messages
|
||||
$queryMail = $chapeau->query("SELECT * FROM `$table_mail` WHERE `destinataire` = '".$queryUser['pseudo']."' AND `vu` = '1';");
|
||||
$template->assign('alertMail', $chapeau->num_rows);
|
||||
|
||||
$queryPlanetes = $chapeau->query("SELECT * FROM `$table_planete` WHERE `id_user` = '$id_user'");
|
||||
$queryPlanete = $chapeau->unique_query("SELECT * FROM `$table_planete` WHERE `id` = '$idPlan'");
|
||||
|
||||
$chapeau->query("SELECT * FROM `$table_sessions` WHERE `active` = '1'");
|
||||
$enligne = $chapeau->num_rows;
|
||||
$case = $queryPlanete["cases"];
|
||||
$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"]);
|
||||
|
||||
$template->assign('planete',$queryPlanete);
|
||||
$template->assign('planetes',$queryPlanetes);
|
||||
$template->assign('enligne',$enligne);
|
||||
|
||||
require_once(_FCORE."../ressources.php");
|
||||
require_once(_FCORE."../noms.php");
|
||||
require_once(_FCORE."../vars.php");
|
||||
require_once(_FCORE."../constructions.php");
|
||||
require_once(_FCORE."../flottes.php");
|
||||
$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',$caseRest);
|
||||
|
||||
if (!isset($_GET['p'])) $_GET['p'] = '';
|
||||
//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;
|
||||
|
||||
$chapeau->query("UPDATE `$table_planete` SET `isolement` = '$debut $fin' WHERE `id` = '$idPlan' LIMIT 1 ;");
|
||||
$queryPlanete['isolement'][0] = $debut;
|
||||
if (time() > $queryPlanete['isolement'][0]) $queryPlanete['isolement'][1] = $fin;
|
||||
}
|
||||
}
|
||||
if (isset($queryPlanete['isolement'][1]) && time() < $queryPlanete['isolement'][1] && $_GET['p'] != 'rename' && $_GET['p'] != 'accueil' && $_GET['p'] != 'arbre' && $_GET['p'] != 'prochainement' && $_GET['p'] != 'options' && $_GET['p'] != 'messagerie' && $_GET['p'] != 'envoyer' && $_GET['p'] != 'classement' && $_GET['p'] != 'bugs' && $_GET['p'] != 'deconnexion') {
|
||||
$template->assign('message','Impossible de rentrer en contat 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;
|
||||
}
|
||||
}
|
||||
|
||||
switch($_GET['p']){
|
||||
case 'prochainement':
|
||||
$page = 'prochainement';
|
||||
$titre = 'Prochainement';
|
||||
break;
|
||||
case 'version':
|
||||
include('game/version.php');
|
||||
break;
|
||||
case 'rename':
|
||||
include('game/rename.php');
|
||||
break;
|
||||
case 'batiments':
|
||||
include('game/batiments.php');
|
||||
break;
|
||||
case 'chantierspatial':
|
||||
include('game/chantierspatial.php');
|
||||
break;
|
||||
case 'defenses':
|
||||
include('game/defenses.php');
|
||||
break;
|
||||
case 'laboratoire':
|
||||
include('game/laboratoire.php');
|
||||
break;
|
||||
case 'arbre':
|
||||
include('game/arbre.php');
|
||||
break;
|
||||
case 'ressources':
|
||||
include('game/ressources.php');
|
||||
break;
|
||||
case 'flotte':
|
||||
include('game/flotte.php');
|
||||
break;
|
||||
case 'carte':
|
||||
include('game/carte.php');
|
||||
break;
|
||||
case 'options':
|
||||
include('game/options.php');
|
||||
break;
|
||||
case 'messagerie':
|
||||
include('game/messagerie.php');
|
||||
break;
|
||||
case 'envoyer':
|
||||
include('game/envoyer.php');
|
||||
break;
|
||||
case 'alliances':
|
||||
include('game/alliances.php');
|
||||
break;
|
||||
case 'classement':
|
||||
include('game/classement.php');
|
||||
break;
|
||||
case 'bugs':
|
||||
include('game/bugs.php');
|
||||
break;
|
||||
case 'deconnexion':
|
||||
include('game/logout.php');
|
||||
break;
|
||||
default:
|
||||
include('game/accueil.php');
|
||||
}
|
||||
|
||||
$template->assign('page',$page);
|
||||
$template->assign('titre',$titre);
|
||||
|
||||
$template->display('game/'.$page.'.tpl');
|
||||
$chapeau->deconnexion();
|
||||
}
|
||||
//Si le joueur est non-connecté ou déconnecté
|
||||
else {
|
||||
$chapeau = new bdd();
|
||||
$chapeau->connexion();
|
||||
$chapeau->db();
|
||||
$chapeau->query("SELECT * FROM `$table_user_inscriptions` WHERE `race` = 'covenant';");
|
||||
$nbcovie = $chapeau->num_rows;
|
||||
$chapeau->query("SELECT * FROM `$table_user_inscriptions` WHERE `race` = 'humain';");
|
||||
$template->assign('count',array('humains' => $chapeau->num_rows, 'covenants' => $nbcovie, 'serveurs' => '1'));
|
||||
|
||||
include('template.php');
|
||||
require('fermerServeur.php');
|
||||
if (isset($_POST['HB_login']) && isset($_POST['HB_password'])) {
|
||||
if (empty($_POST['HB_login']) || empty($_POST['HB_password']) || $_POST['HB_login'] != mysql_real_escape_string($_POST['HB_login']) || $_POST['HB_password'] != mysql_real_escape_string($_POST['HB_password'])) {
|
||||
$template->assign('message','Nom d\'utilisateur ou mot de passe incorrect.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$HB_login = mysql_real_escape_string($_POST['HB_login']);
|
||||
$HB_password = sha1(strtoupper($HB_login).':'.mysql_real_escape_string($_POST['HB_password']));
|
||||
$resultat = $chapeau->unique_query("SELECT * FROM `$table_user` WHERE `pseudo` = '$HB_login' AND `mdp` = '$HB_password'");
|
||||
if ($resultat) {
|
||||
$id = $resultat['id'];
|
||||
$time = time();
|
||||
$ip = $_SERVER["REMOTE_ADDR"];
|
||||
$chapeau->query("UPDATE `$table_user` SET `last_visite` = '$time', `last_ip` = '$ip' WHERE `id` = '$id';");
|
||||
$reqPlan = $chapeau->query("SELECT * FROM `$table_planete` WHERE `id_user` = '$id';");
|
||||
$resultatP = $reqPlan[0];
|
||||
|
||||
// Système de vérification de nombre de login via la base de données
|
||||
require('connectBDD.php');
|
||||
$ip = $_SERVER["REMOTE_ADDR"];
|
||||
$req = mysql_query("SELECT * FROM securite_identification WHERE `ip` = '$ip' AND `essai` > ".(time()-43200)) or die('Erreur SQL : <br />'.$sql);
|
||||
$nbC = mysql_num_rows($req);
|
||||
if (!isset($_SESSION['essaimdp']) || $_SESSION['essaimdp'] != $nbC) $_SESSION['essaimdp'] = $nbC;
|
||||
mysql_close();
|
||||
$_SESSION['champLogin'] = 'login'.rand(123456789,9876543210);
|
||||
$_SESSION['champMdp'] = 'mdp'.rand(98765432,123456789).$_SESSION['essaimdp'];
|
||||
$_SESSION['champMemo'] = 'memo'.rand(123456789,1234567890);
|
||||
if ($resultat['mv'] != 0) {
|
||||
if ($resultat['last_visite']+259200 > time() && $resultat['auth_level'] < 2) {
|
||||
$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('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
$chapeau->query("UPDATE `$table_user` SET `mv` = '0' WHERE `id` = '$id';");
|
||||
$chapeau->query("UPDATE `$table_planete` SET `timestamp` = '".time()."' WHERE `id_user` = '$id';");
|
||||
}
|
||||
|
||||
$template = new Template('./');
|
||||
$template->set_filenames(array('index' => 'templates/index.tpl'));
|
||||
$sess->values['connected'] = TRUE;
|
||||
$sess->values['id'] = $resultat['id'];
|
||||
$id_user = $sess->values['id'];
|
||||
$sess->values['idPlan'] = $resultatP['id'];
|
||||
$idPlan = $sess->values['idPlan'];
|
||||
$sess->values['auth_level'] = $resultat['auth_level'];
|
||||
$sess->put();
|
||||
|
||||
if (isset($_GET['erreur']) && $_GET['erreur'] != '8') {
|
||||
if ($_GET['erreur'] == '0') $texte = '<b><font color="#FF0000">Nom d\'utilisateur ou mot de passe incorrect.</font><br /><br />Cliquez ici si vous avez perdu votre mot de passe.</b>';
|
||||
elseif (strtolower($_GET['erreur']) == 'b2') $texte = '<b><font color="#FF0000">Vous n\'avez pas trouvé votre mot de passe au bout de 15 essais. Par mesure de sécurité, vous avez été banni 3 heures.</font></b>';
|
||||
elseif ($_GET['erreur'] == '2') $texte = '<script type="text/javascript">var i = 0; function gen() { i++;
|
||||
//<![CDATA[
|
||||
document.getElementById(\'gen\').innerHTML=\'<img src="ab/ab.php?\'+i+\'" alt="Captcha"\\/>\';
|
||||
//]]>
|
||||
}</script><b><font color="#FF0000">Le texte situé dans l\'image ne correspond pas, réessayez.</font></b><br /><br />Vous pouvez générer une nouvelle image en <a href="javascript:gen();" class="lien">cliquant ici</a><br /><br />Si vous êtes visuellement déficient, contactez un <a href="mailto:staffhb@hotmail.fr" class="lien">administrateur</a>.';
|
||||
elseif ($_GET['erreur'] == '3') $texte = '<b><font color="#FF0000">Veuillez vous connecter depuis le formulaire d\'identification ci-contre.</font></b>';
|
||||
elseif ($_GET['erreur'] == '1') $texte = '<b><font color="#FF0000">Impossible de valider la session, veuillez vous reconnecter.</font></b>';
|
||||
elseif ($_GET['erreur'] == '4') $texte = '<b><font color="#FF0000">Veuillez vous connecter depuis le formulaire d\'identification ci-contre.</font></b>';
|
||||
elseif ($_GET['erreur'] == '5') $texte = '<b><font color="#FF0000">Votre session a expiré. Veuillez vous reconnecter.</font></b>';
|
||||
elseif ($_GET['erreur'] == '6') $texte = '<b><font color="#FF0000">Le JavaScript n\'est pas activé dans votre navigateur.</font><br /><br />Veuillez activer le JavaScript pour que votre connexion soit possible.<br /><a href="?erreur=aidejs" class="lien">Cliquez ici</a> pour savoir comment activer le JavaScript</b>';
|
||||
elseif ($_GET['erreur'] == 'aidejs') $texte = '<b>Section en cours de réalisation. Si vous n\'arrivez pas à activer le JavaScript, <a href="mailto:staffhb@hotmail.fr" class="lien">contactez le staff</a></b>';
|
||||
elseif ($_GET['erreur'] == '7') $texte = '<b><font color="#FF0000">Erreur lors de l\'identification</font><br /><br />Veuillez vous identifier à nouveau.<br />Si le problème persiste, <a href="mailto:staffhb@hotmail.fr" class="lien">contactez le staff</a></b>';
|
||||
elseif (strtolower($_GET['erreur']) == 'b') $texte = '<b><font color="#FF0000">Vous êtes banni du jeu. Vous ne pouvez pas vous identifier</font></b>';
|
||||
else $texte = '<b><font color="#FF0000">Erreur !</font></b>';
|
||||
header('Location: ./?p=accueil');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Nom d\'utilisateur ou mot de passe incorrect.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
$chapeau->deconnexion();
|
||||
|
||||
if (!isset($_GET['p'])) $_GET['p'] = '';
|
||||
switch($_GET['p']){
|
||||
//Serveur principal
|
||||
case "validation":
|
||||
include('game/validation.php');
|
||||
break;
|
||||
case "inscription":
|
||||
include('game/inscription.php');
|
||||
break;
|
||||
//Serveur de jeu
|
||||
/* case "njoueur":
|
||||
include('game/njoueur.php');
|
||||
break;
|
||||
case "inscription":
|
||||
header('Location: http://halo-battle.s-fr.com/?p=inscription');
|
||||
exit;
|
||||
break;*/
|
||||
//Tous serveurs
|
||||
case "conditions":
|
||||
include('game/conditions.php');
|
||||
break;
|
||||
case "regles":
|
||||
include('game/regles.php');
|
||||
break;
|
||||
default:
|
||||
$page = 'mini';
|
||||
}
|
||||
|
||||
$template->display('cms/'.$page.'.tpl');
|
||||
}
|
||||
elseif ($fermerServeur_auth > 0 && ($fermerServeur_timeE > time() || empty($fermerServeur_timeE))) $texte = '<b><font color="#FFCC00">'.$fermerServeur_Titre.'</font><br /><br />'.$fermerServeur_Contenu.'</b>';
|
||||
elseif ($_GET['erreur'] == '8') $texte = '<b><font color="#FFCC00">Serveur indisponible</font><br /><br />Le serveur est actuellement indisponible. Vous pouvez essayer de vous reconnecter.<br /><br />Pou plus d\'informations, lisez les annonces officielles sur le forum du jeu.<br /><br />Merci de votre compréhension</b>';
|
||||
else require('textlog.php');
|
||||
|
||||
$login = '<form name="login" method="post" action="verifLogin.php"><br />
|
||||
<table>
|
||||
<tr>
|
||||
<td class="cellulestxt">:: Pseudo :: </td><td><input type="text" class="champ" name="'.$_SESSION['champLogin'].'" value="'.$_COOKIE['HB_log_name'].'" /></td></tr>
|
||||
<tr><td class="cellulestxt">:: Mot de Passe :: </td><td><input type="password" class="champ" name="'.$_SESSION['champMdp'].'" value="'.$_COOKIE['HB_log_mdp'].'" /></td></tr>';
|
||||
|
||||
// Affichage de l'enregistrement des paramètres d'identifications dans les cookies. Désactivé si l'on se trouve dans un réseau d'entreprise (realIP différente de l'IP
|
||||
if ($ip == realip()) {
|
||||
if (!isset($_COOKIE['HB_log_mdp']) || empty($_COOKIE['HB_log_mdp'])) $login .= '<tr><td class="cellulestxt" colspan="2" style="text-align: center;"><label><input type="checkbox" name="'.$_SESSION['champMemo'].'" onclick="if (this.checked == true) alert(\'ATTENTION : Si vous cochez cette case, vos informations d\\\'indentifications seront enregistrées sur cet ordinateur.\\nAssurez-vous que vous n\\\'êtes pas sur un ordinateur public et qu\\\'il est suffisament protégé contre les intrusions ou vols de cookies.\');" value="mem" />:: Mémoriser :: </label></td></tr>';
|
||||
else $login .= '<tr><td class="cellulestxt" colspan="2" style="text-align: center;"><label><input type="checkbox" name="'.$_SESSION['champMemo'].'" onclick="if (this.checked == true) alert(\'ATTENTION : Si vous cochez cette case, vos informations d\\\'indentifications seront enregistrées sur cet ordinateur.\\nAssurez-vous que vous n\\\'êtes pas sur un ordinateur public et qu\\\'il est suffisament protégé contre les intrusions ou vols de cookies.\');" checked="checked" value="mem" />:: Mémoriser :: </label></td></tr>';
|
||||
}
|
||||
|
||||
if (isset($_SESSION['essaimdp']) && $_SESSION['essaimdp'] >= 3 && strtolower($_GET['erreur']) != 'b') $login .= '<tr><td class="cellulestxt" colspan="2" style="text-align: center;"><br />Veuillez recopier le texte de cette image<br /><br /><span id="gen"><img src="ab/ab.php" alt="Captcha" /></span><br /><input type="text" class="champ" name="captcha" /></td></tr>';
|
||||
$login .= '<tr><td align="center" colspan="2"><br />
|
||||
<input class="connexion" type="submit" value="› Connexion ‹" /></td></tr></table>
|
||||
</form>';
|
||||
|
||||
$template->assign_vars(array('TITRE' => 'Login','TEXTE' => $texte,'LOGIN' => $login));
|
||||
$template->pparse('index');
|
||||
?>
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue