forked from halo-battle/game
Version 1.7b
This commit is contained in:
parent
58928889ed
commit
8a8280758b
716 changed files with 4361 additions and 33524 deletions
45
onyx/hb_game/jeu/accueil.php
Normal file
45
onyx/hb_game/jeu/accueil.php
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'accueil';
|
||||
$titre = 'Accueil';
|
||||
|
||||
//On recherche si le joueur a des messages non lus
|
||||
$pseudo = trouvNom($id_user);
|
||||
$bdd->connexion();
|
||||
$queryMail = $bdd->unique_query("SELECT COUNT(*) AS nbre FROM $table_mail WHERE destinataire = '$pseudo' AND vu = '1';");
|
||||
|
||||
//On regarde si le joueur a une attaque en vue
|
||||
$attaquesRadar = array();
|
||||
$nbPlan = count($queryPlanetes);
|
||||
for($i = 0; $i < $nbPlan; $i++){
|
||||
$end_galaxie = $queryPlanetes[$i]['galaxie'];
|
||||
$end_ss = $queryPlanetes[$i]['ss'];
|
||||
$end_position = $queryPlanetes[$i]['position'];
|
||||
$resultatf = $bdd->query("SELECT * FROM $table_flottes WHERE mission = '1' AND end_galaxie = '$end_galaxie' AND end_ss = '$end_ss' AND end_position = '$end_position';");
|
||||
$nbF = $bdd->num_rows;
|
||||
for ($j = 0; $j < $nbF; $j++) {
|
||||
$start_galaxie = $resultatf[$j]['start_galaxie'];
|
||||
$start_ss = $resultatf[$j]['start_ss'];
|
||||
$start_position = $resultatf[$j]['start_position'];
|
||||
if ($resultatf[$j]['start_time'] + $resultatf[$j]['end_time'] < time() + $queryUser['detection']*1800) {
|
||||
$resultatp = $bdd->unique_query("SELECT nom_planete FROM $table_planete WHERE galaxie = '$start_galaxie' AND ss = '$start_ss' AND position = '$start_position'");
|
||||
$resultatpm = $bdd->unique_query("SELECT nom_planete FROM $table_planete WHERE galaxie = '$end_galaxie' AND ss = '$end_ss' AND position = '$end_position'");
|
||||
$attaquesRadar[] = array(htmlspecialchars($resultatp['nom_planete']), $resultatf[$j]['start_time']+$resultatf[$j]['end_time']-time()<0?'COMBAT EN COURS':affTemp($resultatf[$j]['start_time']+$resultatf[$j]['end_time']-time()), $resultatf[$j]['start_galaxie'], $resultatf[$j]['start_ss'], $resultatf[$j]['start_position'], htmlspecialchars($resultatpm['nom_planete']), $resultatf[$j]['end_galaxie'], $resultatf[$j]['end_ss'], $resultatf[$j]['end_position'], ($resultatf[$j]['start_time']+$resultatf[$j]['end_time']-time())<0?'':$resultatf[$j]['start_time']+$resultatf[$j]['end_time']-time());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Affichage de l'alliance du joueur
|
||||
$alli = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = '".$queryUser['id_alliance']."';");
|
||||
$bdd->deconnexion();
|
||||
|
||||
//Affichage des informations sur la planète
|
||||
$diametre = separerNombres($queryPlanete['cases'] * 92);
|
||||
$Classpoints = separerNombres($queryUser['points']);
|
||||
|
||||
$template->assign('mail', $queryMail);
|
||||
$template->assign('attaques',$attaquesRadar);
|
||||
$template->assign('diametre',$diametre);
|
||||
$template->assign('points',$Classpoints);
|
||||
$template->assign('alliance', $alli);
|
||||
?>
|
||||
38
onyx/hb_game/jeu/admin/alliance.php
Normal file
38
onyx/hb_game/jeu/admin/alliance.php
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$pagea = 'print';
|
||||
$titre = 'Vérification planète';
|
||||
|
||||
$template->assign('linkpage', 'valliances');
|
||||
|
||||
if (!empty($_GET['id']) && !empty($_GET['key']) && $_GET['key'] != 'id') {
|
||||
$pagea = 'print_key';
|
||||
$id_plan = $_GET['id'];
|
||||
$req = $chapeau->unique_query("SELECT * FROM `alliances` WHERE `id` = '$id_plan';");
|
||||
$template->assign('tableau', $req);
|
||||
$req = $chapeau->unique_query("DESCRIBE `alliances` `".$_GET['key']."`;");
|
||||
$template->assign('type', explode('(', $req['Type']));
|
||||
$template->assign('idPlan', $id_plan);
|
||||
$template->assign('key', $_GET['key']);
|
||||
}
|
||||
elseif (!empty($_GET['id'])) {
|
||||
$id_plan = $_GET['id'];
|
||||
if (isset($_POST['key']) && isset($_POST['mod'])) {
|
||||
$key = $_POST['key'];
|
||||
$mod = $_POST['mod'];
|
||||
$chapeau->escape($mod);
|
||||
$chapeau->query("UPDATE `alliances` SET `$key` = '$mod' WHERE `id` = '$id_plan';");
|
||||
}
|
||||
$req = $chapeau->unique_query("SELECT * FROM `alliances` WHERE `id` = '$id_plan';");
|
||||
$template->assign('tableau', $req);
|
||||
$template->assign('idPlan', $id_plan);
|
||||
}
|
||||
elseif (!empty($_GET['name'])) {
|
||||
$req = $chapeau->unique_query("SELECT * FROM `alliances` WHERE `nom` = '".mysql_real_escape_string($_GET['name'])."';");
|
||||
header('Location: admin.php?p=valliances&id='.$req['id']);
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$pagea = 'print_choixU';
|
||||
}
|
||||
?>
|
||||
50
onyx/hb_game/jeu/admin/bandeau.php
Normal file
50
onyx/hb_game/jeu/admin/bandeau.php
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$pagea = 'bandeau';
|
||||
$titre = 'Bandeau d\'information';
|
||||
|
||||
$template->assign('linkpage', 'bandeau');
|
||||
|
||||
if (!empty($_GET['i']) && $_GET['i'] == 'add') {
|
||||
if (!empty($_POST['texte']) && isset($_POST['color'])) {
|
||||
$texte = $_POST['texte'];
|
||||
$chapeau->escape($texte);
|
||||
$color = $_POST['color'];
|
||||
$chapeau->escape($color);
|
||||
$chapeau->query("INSERT INTO `infoshead` VALUES (NULL, '$texte', '$color');");
|
||||
|
||||
header('Location: admin.php?p=bandeau');
|
||||
exit;
|
||||
}
|
||||
$template->assign('id', 'add');
|
||||
$pagea = 'bandeau_add';
|
||||
}
|
||||
elseif (!empty($_GET['i'])) {
|
||||
$id = $_GET['i'];
|
||||
if (!empty($_POST['texte']) && isset($_POST['color'])) {
|
||||
$texte = $_POST['texte'];
|
||||
$chapeau->escape($texte);
|
||||
$color = $_POST['color'];
|
||||
$chapeau->escape($color);
|
||||
$chapeau->query("UPDATE `infoshead` SET `texte` = '$texte', `color` = '$color' WHERE `id` = '$id';");
|
||||
|
||||
header('Location: admin.php?p=bandeau');
|
||||
exit;
|
||||
}
|
||||
$req = $chapeau->unique_query("SELECT * FROM `infoshead` WHERE `id` = '$id';");
|
||||
$template->assign('mod', $req);
|
||||
$template->assign('id', $id);
|
||||
$pagea = 'bandeau_add';
|
||||
}
|
||||
elseif (!empty($_GET['d'])) {
|
||||
$id = $_GET['d'];
|
||||
$chapeau->query("DELETE FROM `infoshead` WHERE `id` = '$id';");
|
||||
|
||||
header('Location: admin.php?p=bandeau');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$req = $chapeau->query("SELECT * FROM `infoshead`;");
|
||||
$template->assign('tableau', $req);
|
||||
}
|
||||
?>
|
||||
20
onyx/hb_game/jeu/admin/flottes.php
Normal file
20
onyx/hb_game/jeu/admin/flottes.php
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$pagea = 'vflotte';
|
||||
$titre = 'Vérification flottes';
|
||||
|
||||
//Vérification des flottes
|
||||
if (!isset($_GET['ceil'])) $_GET['ceil'] = 5000;
|
||||
|
||||
$req = mysql_query("SELECT * FROM `$table_flottes` ORDER BY `start_time` DESC");
|
||||
$tableau = array();
|
||||
while($resultat = mysql_fetch_array($req)) {
|
||||
$user_source = infoPlan($resultat['end_galaxie'], $resultat['end_ss'], $resultat['end_position'], 'id_user');
|
||||
if ($resultat['contenu_metal'] + $resultat['contenu_cristal'] + $resultat['contenu_hydrogene'] >= $_GET['ceil']) $color = 'FF0000';
|
||||
elseif ($user_source != $resultat['id_user']) $color = 'DFBF00';
|
||||
else $color = false;
|
||||
$tableau[] = array(trouvNom($user_source), trouvNom($resultat['id_user']), infoPlan($resultat['start_galaxie'], $resultat['start_ss'], $resultat['start_position'], 'nom_planete'), '['.$resultat['start_galaxie'].':'.$resultat['start_ss'].':'.$resultat['start_position'].']', infoPlan($resultat['end_galaxie'], $resultat['end_ss'], $resultat['end_position'], 'nom_planete'), '['.$resultat['end_galaxie'].':'.$resultat['end_ss'].':'.$resultat['end_position'].']', $resultat['start_time'], '<acronym title="!!!Détail vaisseaux">'.$resultat['nb_vais'].'</acronym>', $resultat['vitesse'], $resultat['contenu_metal'], $resultat['contenu_cristal'], $resultat['contenu_hydrogene'], $color);
|
||||
}
|
||||
|
||||
$template->assign('flottes', $tableau);
|
||||
?>
|
||||
20
onyx/hb_game/jeu/admin/ip.php
Normal file
20
onyx/hb_game/jeu/admin/ip.php
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$pagea = 'vip';
|
||||
$titre = 'Vérification IP';
|
||||
|
||||
if (isset($_GET['ip'])) $req = mysql_query("SELECT * FROM `registre_identification` WHERE `ip` = '".$_GET['ip']."' ORDER BY `ip` ASC;");
|
||||
elseif (isset($_GET['util'])) $req = mysql_query("SELECT * FROM `registre_identification` WHERE `id_util` = '".$_GET['util']."' ORDER BY `ip` ASC;");
|
||||
elseif (isset($_GET['tri'])) $req = mysql_query("SELECT * FROM `registre_identification` ORDER BY `".$_GET['tri']."` ASC;");
|
||||
else $req = mysql_query("SELECT * FROM `registre_identification` ORDER BY `ip` ASC;");
|
||||
$anc = array('ip' => 0, 'id_util' => 0);
|
||||
$tableau = array();
|
||||
while($resultat = mysql_fetch_array($req)) {
|
||||
if ($anc['ip'] == $resultat['ip'] && $anc['id_util'] != $resultat['id_util']) $color = 'FF0000';
|
||||
elseif ($anc['ip'] == $resultat['ip']) $color = 'DFBF00';
|
||||
else $color = false;
|
||||
$tableau[] = array($resultat['ip'], gethostbyaddr($resultat['ip']), $resultat['id_util'], trouvNom($resultat['id_util']), $resultat['time'], $resultat['commodo'], $color);
|
||||
$anc = $resultat;
|
||||
}
|
||||
$template->assign('ips', $tableau);
|
||||
?>
|
||||
38
onyx/hb_game/jeu/admin/joueur.php
Normal file
38
onyx/hb_game/jeu/admin/joueur.php
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$pagea = 'print';
|
||||
$titre = 'Vérification planète';
|
||||
|
||||
$template->assign('linkpage', 'vjoueurs');
|
||||
|
||||
if (!empty($_GET['id']) && !empty($_GET['key']) && $_GET['key'] != 'id') {
|
||||
$pagea = 'print_key';
|
||||
$id_plan = $_GET['id'];
|
||||
$req = $chapeau->unique_query("SELECT * FROM `user` WHERE `id` = '$id_plan';");
|
||||
$template->assign('tableau', $req);
|
||||
$req = $chapeau->unique_query("DESCRIBE `user` `".$_GET['key']."`;");
|
||||
$template->assign('type', explode('(', $req['Type']));
|
||||
$template->assign('idPlan', $id_plan);
|
||||
$template->assign('key', $_GET['key']);
|
||||
}
|
||||
elseif (!empty($_GET['id'])) {
|
||||
$id_plan = $_GET['id'];
|
||||
if (isset($_POST['key']) && isset($_POST['mod'])) {
|
||||
$key = $_POST['key'];
|
||||
$mod = $_POST['mod'];
|
||||
$chapeau->escape($mod);
|
||||
$chapeau->query("UPDATE `user` SET `$key` = '$mod' WHERE `id` = '$id_plan';");
|
||||
}
|
||||
$req = $chapeau->unique_query("SELECT * FROM `user` WHERE `id` = '$id_plan';");
|
||||
$template->assign('tableau', $req);
|
||||
$template->assign('idPlan', $id_plan);
|
||||
}
|
||||
elseif (!empty($_GET['name'])) {
|
||||
$req = $chapeau->unique_query("SELECT * FROM `user` WHERE `pseudo` = '".mysql_real_escape_string($_GET['name'])."';");
|
||||
header('Location: admin.php?p=vjoueurs&id='.$req['id']);
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$pagea = 'print_choixU';
|
||||
}
|
||||
?>
|
||||
39
onyx/hb_game/jeu/admin/mail.php
Normal file
39
onyx/hb_game/jeu/admin/mail.php
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$pagea = 'mail_liste';
|
||||
$titre = 'Demandes et problèmes de la galaxie';
|
||||
|
||||
$template->assign('linkpage', 'courrier');
|
||||
|
||||
if (!empty($_GET['w']) || !empty($_GET['x'])) {
|
||||
if (!empty($_GET['w'])) $id = $_GET['w'];
|
||||
else $id = $_GET['x'];
|
||||
$req = $chapeau->unique_query("SELECT * FROM `$table_ope_mail` WHERE `id` = '$id';");
|
||||
if ($req['statut'] >= 6) $chapeau->query("UPDATE `$table_ope_mail` SET `statut` = '0' WHERE `id` = '$id';");
|
||||
else $chapeau->query("UPDATE `$table_ope_mail` SET `statut` = `statut` + 1 WHERE `id` = '$id';");
|
||||
|
||||
if (isset($_GET['x'])) header('Location: admin.php?p=courrier&v='.$id);
|
||||
else header('Location: admin.php?p=courrier');
|
||||
exit;
|
||||
}
|
||||
elseif (!empty($_GET['v'])) {
|
||||
$id = $_GET['v'];
|
||||
$req = $chapeau->unique_query("SELECT * FROM `$table_ope_mail` WHERE `id` = '$id';");
|
||||
|
||||
$template->assign('req', $req);
|
||||
$template->assign('id', $id);
|
||||
$pagea = 'mail_view';
|
||||
}
|
||||
elseif (!empty($_GET['d']) && $sess->values['auth_level'] >= 5) {
|
||||
$id = $_GET['d'];
|
||||
$chapeau->query("DELETE FROM `$table_ope_mail` WHERE `id` = '$id';");
|
||||
|
||||
header('Location: admin.php?p=courrier');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$req = $chapeau->query("SELECT * FROM `$table_ope_mail` ORDER BY `time` DESC;");
|
||||
//TODO JOIN dans la requete SQL pour avoir le nom du joueur qui a encoyé le message
|
||||
$template->assign('mails', $req);
|
||||
}
|
||||
?>
|
||||
38
onyx/hb_game/jeu/admin/planete.php
Normal file
38
onyx/hb_game/jeu/admin/planete.php
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$pagea = 'print';
|
||||
$titre = 'Vérification planète';
|
||||
|
||||
$template->assign('linkpage', 'vplanetes');
|
||||
|
||||
if (!empty($_GET['id']) && !empty($_GET['key']) && $_GET['key'] != 'id') {
|
||||
$pagea = 'print_key';
|
||||
$id_plan = $_GET['id'];
|
||||
$req = $chapeau->unique_query("SELECT * FROM `planete` WHERE `id` = '$id_plan';");
|
||||
$template->assign('tableau', $req);
|
||||
$req = $chapeau->unique_query("DESCRIBE `planete` `".$_GET['key']."`;");
|
||||
$template->assign('type', explode('(', $req['Type']));
|
||||
$template->assign('idPlan', $id_plan);
|
||||
$template->assign('key', $_GET['key']);
|
||||
}
|
||||
elseif (!empty($_GET['id'])) {
|
||||
$id_plan = $_GET['id'];
|
||||
if (isset($_POST['key']) && isset($_POST['mod'])) {
|
||||
$key = $_POST['key'];
|
||||
$mod = $_POST['mod'];
|
||||
$chapeau->escape($mod);
|
||||
$chapeau->query("UPDATE `planete` SET `$key` = '$mod' WHERE `id` = '$id_plan';");
|
||||
}
|
||||
$req = $chapeau->unique_query("SELECT * FROM `planete` WHERE `id` = '$id_plan';");
|
||||
$template->assign('tableau', $req);
|
||||
$template->assign('idPlan', $id_plan);
|
||||
}
|
||||
elseif (isset($_GET['amas']) && isset($_GET['ss']) && !empty($_GET['pos'])) {
|
||||
$req = $chapeau->unique_query("SELECT * FROM `planete` WHERE `galaxie` = '".$_GET['amas']."' AND `ss` = '".$_GET['ss']."' AND `position` = '".$_GET['pos']."';");
|
||||
header('Location: admin.php?p=vplanetes&id='.$req['id']);
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$pagea = 'print_choixP';
|
||||
}
|
||||
?>
|
||||
22
onyx/hb_game/jeu/admin/prendre_controle.php
Normal file
22
onyx/hb_game/jeu/admin/prendre_controle.php
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$titre = 'Sanction joueur';
|
||||
$pagea = 'erreur';
|
||||
|
||||
$template->assign('linkpage', 'cjoueurs');
|
||||
|
||||
if ($sess->values['auth_level'] >= 5 && !empty($_GET['id'])) {
|
||||
$sess->values['id'] = $_GET['id'];
|
||||
$sess->put();
|
||||
|
||||
$template->assign('message', 'Vous contrôlez maintenant le joueur '.$_GET['id'].'.<br />Pensez à sélectionner sa planète !');
|
||||
}
|
||||
elseif (!empty($_GET['name'])) {
|
||||
$req = $chapeau->unique_query("SELECT * FROM `$table_user` WHERE `pseudo` = '".mysql_real_escape_string($_GET['name'])."';");
|
||||
header('Location: admin.php?p=cjoueurs&id='.$req['id']);
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$pagea = 'print_choixU';
|
||||
}
|
||||
?>
|
||||
22
onyx/hb_game/jeu/admin/rapport.php
Normal file
22
onyx/hb_game/jeu/admin/rapport.php
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$pagea = 'rapports';
|
||||
$titre = 'Vérification planète';
|
||||
|
||||
$template->assign('linkpage', 'vrapports');
|
||||
|
||||
if (!empty($_GET['name'])) {
|
||||
$id_user = $_GET['name'];
|
||||
$req = $chapeau->query("SELECT * FROM `mail` WHERE `destinataire` = '$id_user' AND `expediteur` = '' ORDER BY `temps` DESC;");
|
||||
$template->assign('tableau', $req);
|
||||
$template->assign('idPlan', $id_user);
|
||||
}
|
||||
elseif (!empty($_GET['id'])) {
|
||||
$req = $chapeau->unique_query("SELECT * FROM `user` WHERE `id` = '".mysql_real_escape_string($_GET['id'])."';");
|
||||
header('Location: admin.php?p=vrapports&name='.$req['pseudo']);
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$pagea = 'print_choixU';
|
||||
}
|
||||
?>
|
||||
26
onyx/hb_game/jeu/admin/sanction_joueur.php
Normal file
26
onyx/hb_game/jeu/admin/sanction_joueur.php
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$titre = 'Sanction joueur';
|
||||
$pagea = 'erreur';
|
||||
|
||||
$template->assign('linkpage', 'sjoueurs');
|
||||
|
||||
if (!empty($_GET['id']) && !empty($_GET['sanc']) && !empty($_GET['raisonmv'])) {
|
||||
$id_plan = $_GET['id'];
|
||||
$sanc = $_GET['sanc'];
|
||||
$raisonmv = $_GET['raisonmv'];
|
||||
$chapeau->escape($raisonmv);
|
||||
$time = time() + $_GET['sanc'] * 86400 - 259200;
|
||||
$chapeau->query("UPDATE `user` SET `mv` = '2', `last_visite` = '$time', `raisonmv` = '$raisonmv' WHERE `id` = '$id_plan';");
|
||||
|
||||
$template->assign('message', 'Le joueur a été placé en mode vacances !');
|
||||
}
|
||||
elseif (!empty($_GET['name']) && !empty($_GET['sanc']) && isset($_GET['raisonmv'])) {
|
||||
$req = $chapeau->unique_query("SELECT * FROM `$table_user` WHERE `pseudo` = '".mysql_real_escape_string($_GET['name'])."';");
|
||||
header('Location: admin.php?p=sjoueurs&sanc='.$_GET['sanc'].'&raisonmv='.$_GET['raisonmv'].'&id='.$req['id']);
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$pagea = 'sanctionU_choix';
|
||||
}
|
||||
?>
|
||||
29
onyx/hb_game/jeu/admin/supprimer_joueur.php
Normal file
29
onyx/hb_game/jeu/admin/supprimer_joueur.php
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$titre = 'Supprimer joueur';
|
||||
$pagea = 'erreur';
|
||||
|
||||
$template->assign('linkpage', 'djoueurs');
|
||||
|
||||
if ($sess->values['auth_level'] >= 5 && !empty($_GET['id'])) {
|
||||
$id = $_GET['id'];
|
||||
$chapeau->escape($id);
|
||||
$req = $chapeau->unique_query("SELECT * FROM `$table_user` WHERE `id` = '$id';");
|
||||
if ($req) {
|
||||
$chapeau->unique_query("DELETE FROM `$table_mail` WHERE `destinataire` = '".trouvNom($id)."';");
|
||||
$chapeau->unique_query("DELETE FROM `$table_flottes` WHERE `id_user` = '$id';");
|
||||
$chapeau->unique_query("DELETE FROM `$table_planete` WHERE `id_user` = '$id';");
|
||||
$chapeau->unique_query("DELETE FROM `$table_user` WHERE `id` = '$id';");
|
||||
$template->assign('message', 'Le joueur a été supprimé du jeu ainsi que toutes les données le concernant !');
|
||||
}
|
||||
else $template->assign('message', 'Le joueur n\'a pas été trouvé !');
|
||||
}
|
||||
elseif (!empty($_GET['name'])) {
|
||||
$req = $chapeau->unique_query("SELECT * FROM `$table_user` WHERE `pseudo` = '".mysql_real_escape_string($_GET['name'])."';");
|
||||
header('Location: admin.php?p=djoueurs&id='.$req['id']);
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$pagea = 'print_choixU';
|
||||
}
|
||||
?>
|
||||
51
onyx/hb_game/jeu/admin/version.php
Normal file
51
onyx/hb_game/jeu/admin/version.php
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$pagea = 'version';
|
||||
$titre = 'Versions';
|
||||
|
||||
$template->assign('linkpage', 'version');
|
||||
|
||||
if (!empty($_GET['i']) && $_GET['i'] == 'add' && $sess->values['auth_level'] >= 7) {
|
||||
if (!empty($_POST['version']) && !empty($_POST['contenu'])) {
|
||||
$version = $_POST['version'];
|
||||
$chapeau->escape($version);
|
||||
$contenu = $_POST['contenu'];
|
||||
$chapeau->escape($contenu);
|
||||
$temps = time();
|
||||
$chapeau->query("INSERT INTO `version` VALUES (NULL, '$version', '$contenu', '$temps', '".trouvNom($id_user)."');");
|
||||
|
||||
header('Location: admin.php?p=version');
|
||||
exit;
|
||||
}
|
||||
$template->assign('id', 'add');
|
||||
$pagea = 'version_add';
|
||||
}
|
||||
elseif (!empty($_GET['i'])) {
|
||||
$id = $_GET['i'];
|
||||
if (!empty($_POST['version']) && !empty($_POST['contenu'])) {
|
||||
$version = $_POST['version'];
|
||||
$chapeau->escape($version);
|
||||
$contenu = $_POST['contenu'];
|
||||
$chapeau->escape($contenu);
|
||||
$chapeau->query("UPDATE `version` SET `version` = '$version', `contenu` = '$contenu' WHERE `id` = '$id';");
|
||||
|
||||
header('Location: admin.php?p=version');
|
||||
exit;
|
||||
}
|
||||
$req = $chapeau->unique_query("SELECT * FROM `version` WHERE `id` = '$id';");
|
||||
$template->assign('mod', $req);
|
||||
$template->assign('id', $id);
|
||||
$pagea = 'version_add';
|
||||
}
|
||||
elseif (!empty($_GET['d']) && $sess->values['auth_level'] >= 7) {
|
||||
$id = $_GET['d'];
|
||||
$chapeau->query("DELETE FROM `version` WHERE `id` = '$id';");
|
||||
|
||||
header('Location: admin.php?p=version');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$req = $chapeau->query("SELECT * FROM `version` ORDER BY `temps` DESC;");
|
||||
$template->assign('tableau', $req);
|
||||
}
|
||||
?>
|
||||
20
onyx/hb_game/jeu/aide.php
Normal file
20
onyx/hb_game/jeu/aide.php
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$titre = 'Aide';
|
||||
|
||||
if (empty($_GET['q'])) $_GET['q'] = '';
|
||||
|
||||
switch($_GET['q']){
|
||||
case '1':
|
||||
$page = 'aide/avertissements'; break;
|
||||
case '2':
|
||||
$page = 'aide/config'; break;
|
||||
case '3':
|
||||
$page = 'aide/intro'; break;
|
||||
case '4':
|
||||
$page = 'aide/commentjouer'; break;
|
||||
default:
|
||||
$page = 'aide/sommaire';
|
||||
}
|
||||
|
||||
?>
|
||||
453
onyx/hb_game/jeu/alliances.php
Normal file
453
onyx/hb_game/jeu/alliances.php
Normal file
|
|
@ -0,0 +1,453 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$titre = 'Alliance';
|
||||
include_once(_FCORE."hb_game/Class/class.rapport.php");
|
||||
|
||||
$bdd->connexion();
|
||||
//Si le joueur est membre de l'alliance
|
||||
if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 && $alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = '".$queryUser['id_alliance']."';")) {
|
||||
//On détermine les accès du joueur
|
||||
if ($alliance['fondateur'] == $queryUser['id'])
|
||||
$access = array(
|
||||
'fondateur' => 1,
|
||||
'chat' => 1,
|
||||
'grades' => 1,
|
||||
'membre' => 1,
|
||||
'ecriture' => 1,
|
||||
'alliance' => 1
|
||||
);
|
||||
elseif ($queryUser['id_grade_alliance'] != 0) {
|
||||
$grade = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = '".$queryUser['id_grade_alliance']."';");
|
||||
$access = array(
|
||||
'fondateur' => 0,
|
||||
'chat' => $grade['gest_chat'],
|
||||
'grades' => $grade['gest_rang'],
|
||||
'membre' => $grade['gest_membre'],
|
||||
'ecriture' => $grade['gest_ecriture'],
|
||||
'alliance' => $grade['gest_admin']
|
||||
);
|
||||
}
|
||||
else
|
||||
$access = array(
|
||||
'fondateur' => 0,
|
||||
'chat' => 0,
|
||||
'grades' => 0,
|
||||
'membre' => 0,
|
||||
'ecriture' => 0,
|
||||
'alliance' => 0
|
||||
);
|
||||
$template->assign('access', $access);
|
||||
|
||||
//Visionnage des pages de l'alliance
|
||||
if (!isset($_GET['q'])) $_GET['q'] = '';
|
||||
//Pages d'administration
|
||||
if ($_GET['q'] == 'adm_chat' && $access['chat']) {
|
||||
if (!empty($_GET['i'])) {
|
||||
$i = floor($_GET['i']);
|
||||
$bdd->query("DELETE FROM $table_alliances_chat WHERE id = '$i' AND id_alliance = '".$alliance['id']."';");
|
||||
header('Location: ?p=alliances&q=adm_chat#chat');
|
||||
exit;
|
||||
}
|
||||
$page = 'alliance_adm_chat';
|
||||
$chat = $bdd->query("SELECT * FROM $table_alliances_chat WHERE id_alliance = '".$alliance['id']."' ORDER BY id DESC LIMIT 50;");
|
||||
for($i = 0; $i < $bdd->num_rows ; $i++){
|
||||
$chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']);
|
||||
}
|
||||
$template->assign('chat', $chat);
|
||||
|
||||
}
|
||||
elseif ($_GET['q'] == 'adm_grades' && $access['membre']) {
|
||||
if (isset($_GET['a']) && $_GET['a'] = 'add') {
|
||||
if (!empty($_POST['nom']) && isset($_POST['description'])) {
|
||||
$nom = mysql_real_escape_string($_POST['nom']);
|
||||
$description = mysql_real_escape_string($_POST['description']);
|
||||
|
||||
if (!empty($_POST['id'])) {
|
||||
$id = $_POST['id'];
|
||||
$bdd->escape($id);
|
||||
@$bdd->query("UPDATE $table_alliances_grade SET nom = '$nom', description = '$description', gest_chat = '".ceil($_POST['gest_chat'])."', gest_rang = '".ceil($_POST['gest_rang'])."', gest_membre = '".ceil($_POST['gest_membre'])."', gest_ecriture = '".ceil($_POST['gest_ecriture'])."', gest_admin = '".ceil($_POST['gest_alliance'])."' WHERE id = '$id' AND id_alliance = '".$alliance['id']."';");
|
||||
}
|
||||
else @$bdd->query("INSERT INTO $table_alliances_grade VALUES (NULL, '".$alliance['id']."', '$nom', '$description', '".ceil($_POST['gest_chat'])."', '".ceil($_POST['gest_rang'])."', '".ceil($_POST['gest_membre'])."', '".ceil($_POST['gest_ecriture'])."', '".ceil($_POST['gest_alliance'])."');");
|
||||
header('Location: ?p=alliances&q=adm_grades');
|
||||
exit;
|
||||
}
|
||||
$page = 'alliance_adm_grades_add';
|
||||
}
|
||||
elseif (!empty($_GET['i'])) {
|
||||
$page = 'alliance_adm_grades_add';
|
||||
$i = $_GET['i'];
|
||||
$bdd->escape($i);
|
||||
$mod = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = '$i' AND id_alliance = '".$alliance['id']."';");
|
||||
$template->assign('mod', $mod);
|
||||
}
|
||||
else {
|
||||
$page = 'alliance_adm_grades';
|
||||
$grades = $bdd->query("SELECT * FROM $table_alliances_grade WHERE id_alliance = '".$alliance['id']."' ORDER BY nom ASC;");
|
||||
$template->assign('grades', $grades);
|
||||
}
|
||||
}
|
||||
elseif ($_GET['q'] == 'adm_ecrits' && $access['ecriture']) {
|
||||
if (isset($_GET['t']) && $_GET['t'] == 'presentation') $mod = 'presentation';
|
||||
else $mod = 'interne';
|
||||
if (!empty($_POST['type']) && isset($_POST['textarea'])) {
|
||||
$mod = mysql_real_escape_string($_POST['type']);
|
||||
$bdd->query("UPDATE $table_alliances SET $mod = '".mysql_real_escape_string($_POST['textarea'])."' WHERE id = '".$alliance['id']."'");
|
||||
header('Location: ?p=alliances&q=adm_ecrits&t='.$mod);
|
||||
exit;
|
||||
}
|
||||
$page = 'alliance_adm_ecritures';
|
||||
$template->assign('alliance', $alliance);
|
||||
$template->assign('mod', $mod);
|
||||
}
|
||||
elseif ($_GET['q'] == 'adm_mp' && $access['membre']) {
|
||||
if (!empty($_POST['textarea'])) {
|
||||
$titre = $_POST['titre'];
|
||||
$bdd->escape($titre);
|
||||
$texte = $_POST['textarea'];
|
||||
$bdd->escape($texte);
|
||||
$expediteur = '['.$alliance['tag'].'] <i>'.trouvNom($id_user).'</i>';
|
||||
$bdd->escape($expediteur);
|
||||
$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."';");
|
||||
$nbmembre = $bdd->num_rows;
|
||||
$temps = time();
|
||||
for($i = 0; $i < $nbmembre; $i++){
|
||||
$bdd->query("INSERT INTO $table_mail VALUES(NULL, 1, '".$membres[$i]['pseudo']."', '$expediteur', '$titre', '$texte', '$temps');");
|
||||
}
|
||||
$template->assign('message','Le message privé a été communiqué à tous les joueurs de l\'alliance.');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
$page = 'alliance_adm_mpmass';
|
||||
}
|
||||
elseif ($_GET['q'] == 'adm_alliance' && $access['alliance']) {
|
||||
$recharg = false;
|
||||
if (isset($_POST['defcon']) && isset($_POST['defcon_txt']) && isset($_POST['etat_inscription']) && isset($_POST['image']) && isset($_POST['url'])) {
|
||||
$bdd->query("UPDATE $table_alliances SET defcon = '".mysql_real_escape_string($_POST['defcon'])."', defcon_txt = '".mysql_real_escape_string($_POST['defcon_txt'])."', etat_inscription = '".mysql_real_escape_string($_POST['etat_inscription'])."', image = '".mysql_real_escape_string($_POST['image'])."', url = '".mysql_real_escape_string($_POST['url'])."' WHERE id = '".$alliance['id']."'");
|
||||
$recharg = true;
|
||||
}
|
||||
if (isset($_POST['fondateur']) && $alliance['fondateur'] == $id_user && isset($_POST['pswd_admin'])) {
|
||||
if (!empty($_POST['pswd_admin']) && $queryUser['mdp'] == sha1(strtoupper($queryUser['pseudo']).':'.$_POST['pswd_admin']) && empty($sess->values['forcealli'])) {
|
||||
$sess->values['forcealli'] = true;
|
||||
$sess->put();
|
||||
$template->assign('message','Êtes-vous sûr de vouloir dissoudre cette alliance ?<br /><i>Pour confirmer la dissolution de l\'alliance, rechargez cette page.</i>');
|
||||
$template->assign('couleur','orange');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif (!empty($_POST['pswd_admin']) && $queryUser['mdp'] == sha1(strtoupper($queryUser['pseudo']).':'.$_POST['pswd_admin']) && isset($sess->values['forcealli']) && $sess->values['forcealli']) {
|
||||
$bdd->query("DELETE FROM $table_alliances WHERE id = '".$alliance['id']."';");
|
||||
$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."';");
|
||||
for($i = 0; $i < $bdd->num_rows; $i++){
|
||||
$bdd->query("UPDATE $table_user SET id_alliance = '0', id_grade_alliance = '0' WHERE id = '".$membres[$i]['id']."' AND id_alliance = '".$alliance['id']."';");
|
||||
}
|
||||
$template->assign('message','L\'alliance a été dissoute avec succès.');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif (!empty($_POST['pswd_admin']) && $queryUser['mdp'] != sha1(strtoupper($queryUser['pseudo']).':'.$_POST['pswd_admin'])) {
|
||||
$template->assign('message','Impossible de dissoudre l\'alliance : mot de passe incorrect.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=adm_alliance";\', 3000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
$bdd->query("UPDATE $table_alliances SET fondateur = '".mysql_real_escape_string($_POST['fondateur'])."' WHERE id = '".$alliance['id']."'");
|
||||
$recharg = true;
|
||||
}
|
||||
if ($recharg) {
|
||||
header('Location: ?p=alliances&q=adm_alliance');
|
||||
exit;
|
||||
}
|
||||
$page = 'alliance_adm_admin';
|
||||
$niveaux = array('Niveau 1', 'Niveau 2', 'Niveau 3', 'Niveau 4', 'Niveau 5');
|
||||
$niveauxi = array('1', '2', '3', '4', '5');
|
||||
$template->assign('niveaux', $niveaux);
|
||||
$template->assign('niveauxi', $niveauxi);
|
||||
$etatinscript = array('Ouvertes', 'Fermées');
|
||||
$etatinscripti = array('1', '0');
|
||||
$template->assign('etatinscript', $etatinscript);
|
||||
$template->assign('etatinscripti', $etatinscripti);
|
||||
$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."';");
|
||||
$membre = array();
|
||||
$membrei = array();
|
||||
for($i = 0; $i < $bdd->num_rows; $i++){
|
||||
$membre[] = $membres[$i]['pseudo'];
|
||||
$membrei[] = $membres[$i]['id'];
|
||||
}
|
||||
$template->assign('membres', $membre);
|
||||
$template->assign('membresi', $membrei);
|
||||
$template->assign('alliance', $alliance);
|
||||
}
|
||||
elseif ($_GET['q'] == 'adm_membres' && $access['membre']) {
|
||||
if (!empty($_POST['user']) && isset($_POST['grade'])) {
|
||||
$user = floor($_POST['user']);
|
||||
$grade = floor($_POST['grade']);
|
||||
$bdd->query("UPDATE $table_user SET id_grade_alliance = '".$grade."' WHERE id = '".$user."' AND id_alliance = '".$alliance['id']."';");
|
||||
}
|
||||
elseif (!empty($_GET['u'])) {
|
||||
$user = floor($_GET['u']);
|
||||
$bdd->query("UPDATE $table_user SET id_grade_alliance = '0', id_alliance = '0' WHERE id = '".$user."' AND id_alliance = '".$alliance['id']."';");
|
||||
//TODO Envoyer un message au joueur renvoyé
|
||||
}
|
||||
elseif (!empty($_GET['accept'])) {
|
||||
$user = floor($_GET['accept']);
|
||||
$verif = $bdd->unique_query("SELECT * FROM $table_alliances_attente WHERE id_alliance = '".$alliance['id']."' AND id_membre = '$user';");
|
||||
if ($verif) {
|
||||
$bdd->query("UPDATE $table_user SET id_grade_alliance = '0', id_alliance = '".$alliance['id']."' WHERE id = '".$user."' AND id_alliance = '0';");
|
||||
$bdd->query("DELETE FROM $table_alliances_attente WHERE id_membre = '$user';");
|
||||
//TODO Envoyer un message au joueur renvoyé
|
||||
}
|
||||
}
|
||||
elseif (!empty($_GET['refus'])) {
|
||||
$user = floor($_GET['refus']);
|
||||
$bdd->query("DELETE FROM $table_alliances_attente WHERE id_membre = '$user' AND id_alliance = '".$alliance['id']."';");
|
||||
//TODO Envoyer un message au joueur renvoyé
|
||||
}
|
||||
$page = 'alliance_adm_membres';
|
||||
$grades = $bdd->query("SELECT * FROM $table_alliances_grade WHERE id_alliance = '".$alliance['id']."' ORDER BY nom ASC;");
|
||||
$grade = array(); $gradei = array();
|
||||
for($i = 0; $i < $bdd->num_rows ; $i++){
|
||||
$grade[] = $grades[$i]['nom'];
|
||||
$gradei[] = $grades[$i]['id'];
|
||||
}
|
||||
$template->assign('grades', $grade);
|
||||
$template->assign('gradei', $gradei);
|
||||
$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."';");
|
||||
$template->assign('membres', $membres);
|
||||
$candidats = $bdd->query("SELECT * FROM $table_alliances_attente WHERE id_alliance = '".$alliance['id']."' ORDER BY timestamp ASC;");
|
||||
$template->assign('candidats', $candidats);
|
||||
$template->assign('alliance', $alliance);
|
||||
}
|
||||
elseif ($_GET['q'] == 'liste') {
|
||||
$page = 'alliance_liste';
|
||||
if (isset($_GET['t']) && $_GET['t'] == 'classement') $membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."' ORDER BY place_points DESC;");
|
||||
else $membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."';");
|
||||
$nb = $bdd->num_rows;
|
||||
for ($i = 0; $i < $nb; $i++) {
|
||||
$grade = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = '".$membres[$i]['id_grade_alliance']."';");
|
||||
$membres[$i]['grade_alliance'] = $grade['nom'];
|
||||
}
|
||||
$template->assign('membres', $membres);
|
||||
}
|
||||
elseif ($_GET['q'] == 'chat') {
|
||||
if (isset($_POST['msg'])) {
|
||||
$message = $_POST['msg'];
|
||||
$bdd->escape($message);
|
||||
if (!empty($message)) $bdd->query("INSERT INTO $table_alliances_chat VALUES (NULL, '".$alliance['id']."', '$id_user', '".time()."', '$message')");
|
||||
header('Location: ?p=alliances&q=chat#chat');
|
||||
exit;
|
||||
}
|
||||
$page = 'alliance_chat';
|
||||
//Chat
|
||||
$chat = $bdd->query("SELECT * FROM $table_alliances_chat WHERE id_alliance = '".$alliance['id']."' ORDER BY id DESC LIMIT 30");
|
||||
for($i = 0; $i < $bdd->num_rows ; $i++){
|
||||
$chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']);
|
||||
$chat[$i]['message'] = bbcode(htmlspecialchars($chat[$i]['message']));
|
||||
}
|
||||
$template->assign('chat', $chat);
|
||||
}
|
||||
else {
|
||||
$page = 'alliance_accueil';
|
||||
$alliance['presentation'] = bbcode(htmlspecialchars($alliance['presentation']));
|
||||
$alliance['texte_interne'] = bbcode(htmlspecialchars($alliance['texte_interne']));
|
||||
$template->assign('alliance', $alliance);
|
||||
$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."';");
|
||||
$template->assign('nbmembre', $bdd->num_rows);
|
||||
if (!isset($grade)) $template->assign('grade', 0);
|
||||
else $template->assign('grade', $grade);
|
||||
|
||||
//Chat
|
||||
$chat = $bdd->query("SELECT * FROM $table_alliances_chat WHERE id_alliance = '".$alliance['id']."' ORDER BY id DESC LIMIT 30;");
|
||||
for($i = 0; $i < $bdd->num_rows ; $i++){
|
||||
$chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']);
|
||||
$chat[$i]['message'] = htmlspecialchars($chat[$i]['message']);
|
||||
}
|
||||
$template->assign('chat', $chat);
|
||||
}
|
||||
}
|
||||
elseif (!empty($queryUser['id_alliance']) && !$bdd->unique_query("SELECT * FROM $table_alliances WHERE id = '".$queryUser['id_alliance']."';")) {
|
||||
$bdd->query("UPDATE $table_user SET id_alliance = '0', id_grade_alliance = '0' WHERE id = '$id_user';");
|
||||
header('Location: ?p=alliances');
|
||||
exit;
|
||||
}
|
||||
//Si le joueur n'est membre d'aucune alliance
|
||||
else {
|
||||
if (!isset($_GET['q'])) $_GET['q'] = '';
|
||||
if ($_GET['q'] == 'search' && !empty($_POST['by']) && isset($_POST['search'])) {
|
||||
$page = 'alliance_nm_search';
|
||||
|
||||
$by = mysql_real_escape_string($_POST['by']);
|
||||
$search = mysql_real_escape_string($_POST['search']);
|
||||
|
||||
$recherche = $bdd->query("SELECT * FROM $table_alliances WHERE $by LIKE '%$search%' ORDER BY nom ASC;");
|
||||
$template->assign('recherches', $recherche);
|
||||
}
|
||||
elseif ($_GET['q'] == 'liste' && !empty($_GET['i'])) {
|
||||
$page = 'alliance_liste';
|
||||
if (isset($_GET['t']) && $_GET['t'] == 'classement') $membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$_GET['i']."' ORDER BY place_points DESC;");
|
||||
else $membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$_GET['i']."';");
|
||||
$nb = $bdd->num_rows;
|
||||
for ($i = 0; $i < $nb; $i++) {
|
||||
$grade = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = '".$membres[$i]['id_grade_alliance']."';");
|
||||
$membres[$i]['grade_alliance'] = $grade['nom'];
|
||||
}
|
||||
$template->assign('membres', $membres);
|
||||
$template->assign('i', $_GET['i']);
|
||||
}
|
||||
elseif ($_GET['q'] == 'view' && !empty($_GET['i'])) {
|
||||
$id = mysql_real_escape_string($_GET['i']);
|
||||
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = '$id';");
|
||||
if ($alliance) {
|
||||
$page = 'alliance_nm_view';
|
||||
$alliance['presentation'] = bbcode(htmlspecialchars($alliance['presentation']));
|
||||
$template->assign('alliance', $alliance);
|
||||
$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."';");
|
||||
$template->assign('nbmembre', $bdd->num_rows);
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Impossible de trouver cette alliance !');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
elseif ($_GET['q'] == 'postuler' && !empty($_GET['i'])) {
|
||||
$id = mysql_real_escape_string($_GET['i']);
|
||||
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = '$id';");
|
||||
if (!empty($_POST['message'])) {
|
||||
$bdd->query("INSERT INTO $table_alliances_attente VALUES (NULL, '".$alliance['id']."', '".$id_user."', '".$queryUser['pseudo']."', '".time()."', '".mysql_real_escape_string($_POST['message'])."');");
|
||||
$template->assign('message','Votre candidature a été envoyée avec succès à l\'alliance : '.$alliance['nom']);
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
$template->assign('alliance', $alliance);
|
||||
$template->assign('alliancei', $id);
|
||||
$page = 'alliance_nm_postuler';
|
||||
}
|
||||
elseif ($_GET['q'] == 'signer' && !empty($_GET['i'])) {
|
||||
$lien = mysql_real_escape_string($_GET['i']);
|
||||
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances_creation WHERE lien = '$lien';");
|
||||
if ($alliance) {
|
||||
if (empty($alliance['signatures'])) $signataires = array();
|
||||
else $signataires = explode(';', $alliance['signatures']);
|
||||
if ($alliance['fondateur'] == $id_user || in_array($id_user, $signataires)) {
|
||||
$template->assign('message','Vous avez déjà signé pour cette alliance.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=signer";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
//Si c'est la 4ème signature, on crée l'alliance
|
||||
if (count($signataires) >= 3) {
|
||||
$bdd->query("INSERT INTO $table_alliances VALUES (NULL, '".$alliance['tag']."', '".$alliance['nom']."', '".$alliance['fondateur']."', 'A faire', 'A faire', '', '', 1, 1, '');");
|
||||
$bdd->query("DELETE FROM $table_alliances_creation WHERE lien = '$lien';");
|
||||
|
||||
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE nom = '".$alliance['nom']."' AND fondateur = '".$alliance['fondateur']."';");
|
||||
|
||||
file_log("Création de l'alliance : ".$alliance['nom']." par ".$id_user." (fondateur : ".$alliance['fondateur'].") après validation de 4 signatures : ".implode(', ', $signataires).$id_user);
|
||||
|
||||
//On envoie un message au fondateur de l'alliance
|
||||
$rapport = new Rapport(6, $alliance['fondateur'], 0, time());
|
||||
$rapport->send();
|
||||
|
||||
$nbsign = count($signataires);
|
||||
for ($i=0 ; $i<$nbsign ; $i++) {
|
||||
$bdd->query("UPDATE $table_user SET id_alliance = '".$alliance['id']."' WHERE id = '".$signataires[$i]."';");
|
||||
}
|
||||
$bdd->query("UPDATE $table_user SET id_alliance = '".$alliance['id']."' WHERE id = '$id_user';");
|
||||
$bdd->query("UPDATE $table_user SET id_alliance = '".$alliance['id']."' WHERE id = '".$alliance['fondateur']."';");
|
||||
|
||||
$template->assign('message','Votre signature a bien été ajoutée à la déclaration de l\'alliance.<br />L\'alliance a désormais suffisament de signature pour être créée !');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$signataires[] = $id_user;
|
||||
$signataires = implode(';', $signataires);
|
||||
$bdd->query("UPDATE $table_alliances_creation SET signatures = '$signataires' WHERE lien = '$lien';");
|
||||
$bdd->query("UPDATE $table_user SET id_alliance = 'c".$alliance['id']."' WHERE id = '$id_user';");
|
||||
$template->assign('message','Votre signature a bien été ajoutée à la déclaration de l\'alliance.');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Impossible de trouver l\'alliance !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=signer";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
elseif ($_GET['q'] == 'fonder') {
|
||||
if (!empty($_POST['nom']) && !empty($_POST['tag'])) {
|
||||
$nom = mysql_real_escape_string(htmlentities($_POST['nom']));
|
||||
$tag = mysql_real_escape_string(htmlentities($_POST['tag']));
|
||||
|
||||
if (strlen($nom) < 5) {
|
||||
$template->assign('message','Le nom d\'alliance que vous avez choisit est trop court.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=fonder";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif (strlen($nom) > 25) {
|
||||
$template->assign('message','Le nom d\'alliance que vous avez choisit est trop long.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=fonder";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif (strlen($tag) > 5) {
|
||||
$template->assign('message','Le nom d\'alliance que vous avez choisit est trop long.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=fonder";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif (strlen($tag) < 3) {
|
||||
$template->assign('message','Le nom d\'alliance que vous avez choisit est trop court.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=fonder";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
|
||||
$test = $bdd->query("SELECT * FROM alliances WHERE nom = '$nom' AND tag = '$tag';");
|
||||
$test2 = $bdd->query("SELECT * FROM alliances_creation WHERE nom = '$nom' AND tag = '$tag';");
|
||||
if ($test || $test2) {
|
||||
$template->assign('message','Le nom ou le tag que vous avez choisit est déjà utilisé par une alliance.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=fonder";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$lien = sha1($tag.'Hb$'.$nom.'☺Ø'.$id_user.rand());
|
||||
$bdd->query("INSERT INTO alliances_creation VALUES(NULL, '$lien' ,'$tag', '$nom', '$id_user', '');");
|
||||
|
||||
$rapport = new Rapport(7, $id_user, 0, time());
|
||||
$rapport->addInfo($lien, 0);
|
||||
$rapport->send();
|
||||
|
||||
$template->assign('message','Votre alliance a bien été créée.<br />Il ne vous reste plus qu\'à trouver au moins 4 signatures pour finir la création de votre alliance.<br /><br />Le lien permettant à vos quatres personnes de signer est <a href="?p=alliances&q=signer&i='.$lien.'">http://'.$_SERVER['HTTP_HOST'].'?p=alliances&q=signer&i='.$lien.'</a>');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
$page = 'alliance_nm_fonder';
|
||||
}
|
||||
else {
|
||||
$page = 'alliance_nm_accueil';
|
||||
}
|
||||
}
|
||||
$bdd->deconnexion();
|
||||
?>
|
||||
56
onyx/hb_game/jeu/arbre.php
Normal file
56
onyx/hb_game/jeu/arbre.php
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'arbre';
|
||||
$titre = 'Arbre des technologies';
|
||||
|
||||
if (empty($_GET['q'])) $_GET['q'] = '';
|
||||
$template->assign('defaut',$_GET['q']);
|
||||
|
||||
$TEMP_batiments = array();
|
||||
$nb=count($batiment);
|
||||
for ($id=0 ; $id<$nb ; $id++) {
|
||||
if (!empty($batiment[$id])) $TEMP_batiments[] = array(
|
||||
'id' => $id,
|
||||
'nom' => $batiment[$id],
|
||||
'niveau' => $queryPlanete[$batimentVAR[$id]],
|
||||
'etat' => readDeblok($batimentTECH[$id], $queryPlanete, $queryUser)
|
||||
);
|
||||
}
|
||||
$template->assign('batiments',$TEMP_batiments);
|
||||
|
||||
$TEMP_technologies = array();
|
||||
$nb=count($technolo);
|
||||
for ($id=0 ; $id<$nb ; $id++) {
|
||||
if (!empty($technolo[$id])) $TEMP_technologies[] = array(
|
||||
'id' => $id,
|
||||
'nom' => $technolo[$id],
|
||||
'niveau' => $queryUser[$technoloVAR[$id]],
|
||||
'etat' => readDeblok($technoloTECH[$id], $queryPlanete, $queryUser)
|
||||
);
|
||||
}
|
||||
$template->assign('technologies',$TEMP_technologies);
|
||||
|
||||
$TEMP_terrestre = array();
|
||||
$nb=count($nomterrn);
|
||||
for ($id=0 ; $id<$nb ; $id++) {
|
||||
if (!empty($nomterrn[$id])) $TEMP_terrestre[] = array(
|
||||
'id' => $id,
|
||||
'nom' => $nomterrn[$id],
|
||||
'niveau' => $queryPlanete[$nomterrnVAR[$id]],
|
||||
'etat' => readDeblok($nomterrnTECH[$id], $queryPlanete, $queryUser)
|
||||
);
|
||||
}
|
||||
$template->assign('unites',$TEMP_terrestre);
|
||||
|
||||
$TEMP_vaisseaux = array();
|
||||
$nb=count($nomvaisn);
|
||||
for ($id=0 ; $id<$nb ; $id++) {
|
||||
if (!empty($nomvaisn[$id])) $TEMP_vaisseaux[] = array(
|
||||
'id' => $id,
|
||||
'nom' => $nomvaisn[$id],
|
||||
'niveau' => $queryPlanete[$nomvaisnVAR[$id]],
|
||||
'etat' => readDeblok($nomvaisnTECH[$id], $queryPlanete, $queryUser)
|
||||
);
|
||||
}
|
||||
$template->assign('vaisseaux',$TEMP_vaisseaux);
|
||||
?>
|
||||
1
onyx/hb_game/jeu/batiments.php
Normal file
1
onyx/hb_game/jeu/batiments.php
Normal file
File diff suppressed because one or more lines are too long
36
onyx/hb_game/jeu/bugs.php
Normal file
36
onyx/hb_game/jeu/bugs.php
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'bugs';
|
||||
$titre = 'Rapports de bugs';
|
||||
|
||||
if (!empty($_POST['page']) && !empty($_POST['description'])) {
|
||||
$pages = $_POST['page'];
|
||||
$description = $_POST['description'];
|
||||
|
||||
$bdd->connexion();
|
||||
$bdd->escape($pages);
|
||||
$bdd->escape($description);
|
||||
$bdd->query("INSERT INTO `$table_bug` VALUES(NULL, '".$queryUser['pseudo']."', '".time()."', '$pages', '$description');");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=bugs');
|
||||
exit;
|
||||
}
|
||||
elseif (isset($_GET['a']) && $_GET['a'] == 'del' && isset($_GET['i']) && $sess->values['auth_level'] > 2) {
|
||||
$i = $_GET['i'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($i);
|
||||
$bdd->query("DELETE FROM `$table_bug` WHERE `id` = '$i' LIMIT 1");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=bugs');
|
||||
exit;
|
||||
}
|
||||
|
||||
$bdd->connexion();
|
||||
$bugs = $bdd->query("SELECT id, pseudo, temps, page, description FROM `$table_bug` ORDER BY `id` DESC");
|
||||
$bdd->deconnexion();
|
||||
$TEMP_bugs = array();
|
||||
for ($i = 0; $i < $bdd->num_rows; $i++) {
|
||||
$TEMP_bugs[] = array('<a href="?p=envoyer&d='.$bugs[$i]['pseudo'].'">'.$bugs[$i]['pseudo'].'</a>', date("d/m/y h:m:s", $bugs[$i]['temps']), $bugs[$i]['page'], nl2br(htmlspecialchars(str_replace('\\\'', '\'', $bugs[$i]['description']))), $bugs[$i]['id']);
|
||||
}
|
||||
$template->assign('bugs', $TEMP_bugs);
|
||||
?>
|
||||
66
onyx/hb_game/jeu/carte.php
Normal file
66
onyx/hb_game/jeu/carte.php
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'carte';
|
||||
$titre = 'Carte spatiale';
|
||||
|
||||
if (isset($_GET['galaxie'])) $g = floor($_GET['galaxie']);
|
||||
else $g = $queryPlanete['galaxie'];
|
||||
|
||||
if ($queryUser['auth_level'] >= 5 && $g <= 0) $g = 0;
|
||||
elseif ($g < 1) $g = 1;
|
||||
if ($g > MAX_AMAS) $g = 1;
|
||||
|
||||
if (isset($_GET['ss'])) $s = floor($_GET['ss']);
|
||||
else $s = $queryPlanete['ss'];
|
||||
|
||||
if ($s < 1) $s = 1;
|
||||
if ($s > MAX_SYSTEME) $s = MAX_SYSTEME;
|
||||
|
||||
if ($s == 1 && $g > 1) {
|
||||
$Gmu = $g - 1;
|
||||
$Smu = MAX_SYSTEME;
|
||||
}
|
||||
elseif ($s == 1) {
|
||||
$Gmu = 15;
|
||||
$Smu = MAX_SYSTEME;
|
||||
}
|
||||
else {
|
||||
$Gmu = $g;
|
||||
$Smu = $s - 1;
|
||||
}
|
||||
if ($s == MAX_SYSTEME) {
|
||||
$Gpu = $g + 1;
|
||||
$Spu = 1;
|
||||
}
|
||||
else {
|
||||
$Gpu = $g;
|
||||
$Spu = $s + 1;
|
||||
}
|
||||
|
||||
$TEMP_carte = array();
|
||||
for ($i = 1; $i <= MAX_PLANETE; $i++) {
|
||||
$bdd->connexion();
|
||||
$bdd->escape($g);
|
||||
$bdd->escape($s);
|
||||
$resultat = $bdd->query("SELECT id FROM $table_planete WHERE galaxie = '$g' AND ss = '$s' AND position = '$i';");
|
||||
if($resultat) {
|
||||
$d = $bdd->unique_query("SELECT id_user, nom_planete, debris_met, debris_cri FROM $table_planete WHERE galaxie = '$g' AND ss = '$s'AND position = '$i';");
|
||||
$id_user = $d['id_user'];
|
||||
$e = $bdd->unique_query("SELECT pseudo, race, id_alliance FROM $table_user WHERE id = '$id_user'");
|
||||
if ($e['id_alliance']) $eA = $bdd->unique_query("SELECT tag FROM $table_alliances WHERE id = '".$e['id_alliance']."';");
|
||||
else $eA = false;
|
||||
$bdd->deconnexion();
|
||||
if ($e['race'] == 'covenant') $ra = '(c)';
|
||||
elseif ($auth_level >= 6 && md5($e['race']) == '34c19b21bd4a3dda389e767d32fe9779') $ra = '(f)';
|
||||
else $ra = '(h)';
|
||||
|
||||
$TEMP_carte[] = array($i, htmlspecialchars($d['nom_planete']), $d['debris_met'], $d['debris_cri'], $ra, $e['pseudo'], '<a href="?p=envoyer&d='.$e['pseudo'].'" class="msg"><span>Message</span></a>', $eA['tag']);
|
||||
}
|
||||
else {
|
||||
$bdd->deconnexion();
|
||||
$TEMP_carte[] = array($i);
|
||||
}
|
||||
}
|
||||
$template->assign('carte',$TEMP_carte);
|
||||
$template->assign('position',array($g, $s, $Gpu, $Spu, $Gmu, $Smu));
|
||||
?>
|
||||
142
onyx/hb_game/jeu/chantierspatial.php
Normal file
142
onyx/hb_game/jeu/chantierspatial.php
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
include_once(_FCORE."hb_game/Class/class.gerefile.php");
|
||||
$page = 'chantierspatial';
|
||||
$titre = 'Chantier spatial';
|
||||
|
||||
$TEMP_vaisseaux = array();
|
||||
$nbstop = count($nomvaisn);
|
||||
if (empty($queryPlanete['file_vais'])) $file = new gererFile($queryUser['prodfile']+2);
|
||||
else {
|
||||
$file = unserialize($queryPlanete['file_vais']);
|
||||
$file->limite = $queryUser['prodfile'] + 2;
|
||||
}
|
||||
|
||||
if ($queryPlanete['chantier_spatial'] == 0) {
|
||||
$template->assign('message','Vous devez d\'abord construire un '.strtolower($batiment[8]));
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 4000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
|
||||
//Lancement d'une nouvelle construction
|
||||
if (isset($_GET['v']) && !empty($nomvaisn[$_GET['v']]) && !empty($_POST['nombre'])) {
|
||||
$i = $_GET['v'];
|
||||
$nbv = floor($_POST['nombre']);
|
||||
if(requestDeblok($nomvaisnTECH[$i], $queryPlanete, $queryUser) && $nbv > 0) {
|
||||
$n=($queryPlanete[$nomvaisnVAR[$i]]+1);
|
||||
$a = $nomvaisnCALC[$i][0]; $metal -= $a * $nbv;
|
||||
$b = $nomvaisnCALC[$i][1]; $cristal -= $b * $nbv;
|
||||
$c = $nomvaisnCALC[$i][2]; $hydrogene -= $c * $nbv;
|
||||
if ($metal < 0 || $cristal < 0 || $hydrogene < 0) {
|
||||
$template->assign('message','Vous n\'avez pas assez de ressources pour démarrer cette construction.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=chantierspatial";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
eval($nomvaisnCALC[$i][3]);
|
||||
if ($file->addObjet($i, $nbv, ceil($sec))) {
|
||||
$export = serialize($file);
|
||||
$bdd->connexion();
|
||||
$bdd->escape($export);
|
||||
$bdd->query("UPDATE $table_planete SET file_vais = '$export', metal = '$metal', cristal = '$cristal', hydrogene = '$hydrogene' WHERE id = '$idPlan';");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Vous ne pouvez pas mettre plus de vaisseaux en file d\'attente.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=chantierspatial";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
header('Location: ?p=chantierspatial');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Vous n\'avez pas les technologies nécessaire pour construire ce vaisseau !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=chantierspatial";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
//Annulation d'une nouvelle construction
|
||||
if (isset($_GET['a']) && isset($nomvaisn[$_GET['a']])) {
|
||||
$i = $_GET['a'];
|
||||
if (!isset($_GET['n'])) $nbv = 1;
|
||||
else $nbv = $_GET['n'];
|
||||
|
||||
if($file->existe($i)) {
|
||||
$n=($queryPlanete[$nomvaisnVAR[$i]]+1);
|
||||
$a = $nomvaisnCALC[$i][0];
|
||||
$b = $nomvaisnCALC[$i][1];
|
||||
$c = $nomvaisnCALC[$i][2];
|
||||
$nbvr = $file->delobjet($i, $nbv);
|
||||
|
||||
$metal += $a*$nbvr;
|
||||
$cristal += $b*$nbvr;
|
||||
$hydrogene += $c*$nbvr;
|
||||
|
||||
$export = serialize($file);
|
||||
$bdd->connexion();
|
||||
$bdd->escape($export);
|
||||
$bdd->query("UPDATE $table_planete SET file_vais = '$export', metal = '$metal', cristal = '$cristal', hydrogene = '$hydrogene' WHERE id = '$idPlan';");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=chantierspatial');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
//Règler la production à la châine
|
||||
/* if (isset($_GET['r']) && ($_GET['r'] == 1 || $_GET['r'] == 0)) {
|
||||
if($_GET['r']) $file->chaine = false;
|
||||
else $file->chaine = true;
|
||||
$export = mysql_real_escape_string(serialize($file));
|
||||
mysql_query("UPDATE planete SET file_vais = '$export' WHERE id = '$idPlan';");
|
||||
header('Location: ?p=chantierspatial');
|
||||
exit;
|
||||
}*/
|
||||
|
||||
for ($i = 0; $i < $nbstop; $i++) {
|
||||
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0;
|
||||
$nom_bdd = $nomvaisnVAR[$i]; $a = $nomvaisnCALC[$i][0]; $b = $nomvaisnCALC[$i][1]; $c = $nomvaisnCALC[$i][2]; eval($nomvaisnCALC[$i][3]);
|
||||
if ($queryPlanete[$nom_bdd] > 0) $nombre = $queryPlanete[$nom_bdd]; else $nombre = 0;
|
||||
$n=($queryPlanete[$nom_bdd]+1);
|
||||
if (!empty($nomvaisn[$i]) && requestDeblok($nomvaisnTECH[$i], $queryPlanete, $queryUser)) $TEMP_vaisseaux[] =
|
||||
array(
|
||||
'image' => $nomvaisi[$i],
|
||||
'nom' => $nomvaisn[$i],
|
||||
'nombre' => $nombre,
|
||||
'description' => $nomvaisd[$i],
|
||||
'descriptione' => addslashes($nomvaisd[$i]),
|
||||
'nec_metal' => $a,
|
||||
'nec_cristal' => $b,
|
||||
'nec_hydrogene' => $c,
|
||||
'nec_metalS' => separerNombres($a),
|
||||
'nec_cristalS' => separerNombres($b),
|
||||
'nec_hydrogeneS' => separerNombres($c),
|
||||
'temps' => sec($sec),
|
||||
'num' => $i
|
||||
);
|
||||
}
|
||||
$template->assign('vaisseaux',$TEMP_vaisseaux);
|
||||
$template->assign('chaine',$file->chaine);
|
||||
$fileBat = array_merge($file->file);
|
||||
$nbfile = count($fileBat);
|
||||
|
||||
if ($nbfile == 1) $template->assign('Pchaine',true);
|
||||
else $template->assign('Pchaine',false);
|
||||
if ($nbfile == 0) $template->assign('Vchaine',true);
|
||||
else $template->assign('Vchaine',false);
|
||||
|
||||
for ($i=0 ; $i<$nbfile ; $i++) {
|
||||
$fileBat[$i][3] = $nomvaisn[$fileBat[$i][0]];
|
||||
$fileBat[$i][4] = $fileBat[$i][2]*$fileBat[$i][1];
|
||||
if ($i == 0) {
|
||||
$fileBat[$i][2] -= time() - $file->timestamp;
|
||||
$fileBat[$i][4] -= time() - $file->timestamp;
|
||||
}
|
||||
}
|
||||
$template->assign('file',$fileBat);
|
||||
?>
|
||||
119
onyx/hb_game/jeu/chantierterrestre.php
Normal file
119
onyx/hb_game/jeu/chantierterrestre.php
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
include_once('Class/class.gerefile.php');
|
||||
$page = 'chantierterrestre';
|
||||
$titre = 'Chantier terrestre';
|
||||
|
||||
$TEMP_unitee = array();
|
||||
$nbstop = count($nomterrn);
|
||||
if (empty($queryPlanete['file_ter'])) $file = new gererFile($queryUser['prodfile']+2);
|
||||
else {
|
||||
$file = unserialize($queryPlanete['file_ter']);
|
||||
$file->limite = $queryUser['prodfile']+2;
|
||||
}
|
||||
|
||||
if ($queryPlanete['chantier_terrestre'] == 0) {
|
||||
$template->assign('message','Vous devez d\'abord construire un '.strtolower($batiment[7]));
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 4000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
//Lancement d'une nouvelle construction
|
||||
if (isset($_GET['v']) && !empty($nomvaisn[$_GET['v']]) && !empty($_POST['nombre'])) {
|
||||
$i = $_GET['v'];
|
||||
$nbv = floor($_POST['nombre']);
|
||||
if(requestDeblok($nomterrnTECH[$i], $queryPlanete, $queryUser) && $nbv > 0) {
|
||||
$n=($queryPlanete[$nomterrnVAR[$i]]+1);
|
||||
$a = $nomterrnCALC[$i][0]; $metal -= $a * $nbv;
|
||||
$b = $nomterrnCALC[$i][1]; $cristal -= $b * $nbv;
|
||||
$c = $nomterrnCALC[$i][2]; $hydrogene -= $c * $nbv;
|
||||
if ($metal < 0 || $cristal < 0 || $hydrogene < 0) {
|
||||
$template->assign('message','Vous n\'avez pas assez de ressources pour démarrer cette construction.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=chantierterrestre";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
eval($nomterrnCALC[$i][3]);
|
||||
if ($file->addObjet($i, $nbv, ceil($sec))) {
|
||||
$export = mysql_real_escape_string(serialize($file));
|
||||
mysql_query("UPDATE `planete` SET `file_ter` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Vous ne pouvez pas mettre plus d\'unit&eactue;s en file d\'attente.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=chantierterrestre";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
header('Location: ?p=chantierterrestre');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
//Annulation d'une nouvelle construction
|
||||
if (isset($_GET['a']) && isset($nomterrn[$_GET['a']])) {
|
||||
$i = $_GET['a'];
|
||||
if (!isset($_GET['n'])) $nbv = 1;
|
||||
else $nbv = $_GET['n'];
|
||||
|
||||
if($file->existe($i)) {
|
||||
$n=($queryPlanete[$nomterrnVAR[$i]]+1);
|
||||
$a = $nomterrnCALC[$i][0];
|
||||
$b = $nomterrnCALC[$i][1];
|
||||
$c = $nomterrnCALC[$i][2];
|
||||
$nbvr = $file->delobjet($i, $nbv);
|
||||
|
||||
$metal += $a*$nbvr;
|
||||
$cristal += $b*$nbvr;
|
||||
$hydrogene += $c*$nbvr;
|
||||
|
||||
$export = mysql_real_escape_string(serialize($file));
|
||||
mysql_query("UPDATE `planete` SET `file_ter` = '$export', `metal` = '$metal', `cristal` = '$cristal', `hydrogene` = '$hydrogene' WHERE `id` = '$idPlan';");
|
||||
header('Location: ?p=chantierterrestre');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
for ($i=0 ; $i<$nbstop ; $i++) {
|
||||
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0;
|
||||
$nom_bdd = $nomterrnVAR[$i]; $a = $nomterrnCALC[$i][0]; $b = $nomterrnCALC[$i][1]; $c = $nomterrnCALC[$i][2]; eval($nomterrnCALC[$i][3]);
|
||||
if ($queryPlanete[$nom_bdd] > 0) $nombre = $queryPlanete[$nom_bdd]; else $nombre = 0;
|
||||
$n=($queryPlanete[$nom_bdd]+1);
|
||||
if (!empty($nomterrn[$i]) && requestDeblok($nomterrnTECH[$i], $queryPlanete, $queryUser)) $TEMP_unitee[] =
|
||||
array(
|
||||
'image' => $nomterri[$i],
|
||||
'nom' => $nomterrn[$i],
|
||||
'nombre' => $nombre,
|
||||
'description' => $nomterde[$i],
|
||||
'descriptione' => addslashes($nomterde[$i]),
|
||||
'nec_metal' => $a,
|
||||
'nec_cristal' => $b,
|
||||
'nec_hydrogene' => $c,
|
||||
'nec_metalS' => separerNombres($a),
|
||||
'nec_cristalS' => separerNombres($b),
|
||||
'nec_hydrogeneS' => separerNombres($c),
|
||||
'temps' => sec($sec),
|
||||
'num' => $i
|
||||
);
|
||||
}
|
||||
$template->assign('unitee',$TEMP_unitee);
|
||||
$template->assign('chaine',$file->chaine);
|
||||
$fileBat = $file->file;
|
||||
$nbfile = count($fileBat);
|
||||
|
||||
if ($nbfile == 1) $template->assign('Pchaine',true);
|
||||
else $template->assign('Pchaine',false);
|
||||
if ($nbfile == 0) $template->assign('Vchaine',true);
|
||||
else $template->assign('Vchaine',false);
|
||||
|
||||
for ($i=0 ; $i<$nbfile ; $i++) {
|
||||
$fileBat[$i][3] = $nomterrn[$fileBat[$i][0]];
|
||||
$fileBat[$i][4] = $fileBat[$i][2]*$fileBat[$i][1];
|
||||
if ($i == 0) {
|
||||
$fileBat[$i][2] -= time() - $file->timestamp;
|
||||
$fileBat[$i][4] -= time() - $file->timestamp;
|
||||
}
|
||||
}
|
||||
$template->assign('file',$fileBat);
|
||||
?>
|
||||
86
onyx/hb_game/jeu/classement.php
Normal file
86
onyx/hb_game/jeu/classement.php
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'classement';
|
||||
$titre = 'Classement';
|
||||
|
||||
if (isset($_GET['q']) && is_numeric($_GET['q']) && $_GET['q'] > 0) $pageClassement = $_GET['q'];
|
||||
else $pageClassement = 1;
|
||||
|
||||
if (isset($_GET['e'])) {
|
||||
if ($_GET['e'] == 'batiment') $export = 'batiments';
|
||||
elseif ($_GET['e'] == 'flotte') $export = 'flottes';
|
||||
elseif ($_GET['e'] == 'recherches') $export = 'recherches';
|
||||
else $export = 'points';
|
||||
}
|
||||
else $export = 'points';
|
||||
|
||||
if (isset($_GET['t'])) {
|
||||
if ($_GET['t'] == '0') $TypeSearch = '0';
|
||||
else $TypeSearch = '1';
|
||||
}
|
||||
else $TypeSearch = '0';
|
||||
|
||||
$nbppage = 100;
|
||||
if (isset($_GET['c']) && is_numeric($_GET['c']) && $_GET['c'] > 0) $pageClassement = floor($_GET['c']/($nbppage+1))+1;
|
||||
$pageClassementN = ($pageClassement-1) * $nbppage;
|
||||
|
||||
$nbpages = ceil(($nbhumain+$nbcovie)/$nbppage);
|
||||
if ($pageClassement > $nbpages) $pageClassement = $nbpages;
|
||||
$TEMP_pages = '<select name="q">';
|
||||
for($i=1 ; $i<=$nbpages ; $i++) {
|
||||
if ($i == $pageClassement) $TEMP_pages .= '<option value="'.$i.'" selected="selected">'.(($i-1)*$nbppage+1).'-'.($i*$nbppage).'</option>';
|
||||
else $TEMP_pages .= '<option value="'.$i.'">'.(($i-1)*$nbppage+1).'-'.($i*$nbppage).'</option>';
|
||||
}
|
||||
$TEMP_pages .= '</select>';
|
||||
$template->assign('q', $TEMP_pages);
|
||||
//$result = mysql_query("SELECT * FROM `classement` ORDER BY `classement`.`$export` DESC LIMIT $pageClassementN, $nbppage");
|
||||
|
||||
$template->assign('t', $TypeSearch);
|
||||
|
||||
$plage_debut = $nbppage * $pageClassementN + 1;
|
||||
$plage_fin = $nbppage * ($pageClassementN + 1) + 1;
|
||||
|
||||
if (isset($_GET['t']) && $_GET['t'] == '1')
|
||||
{
|
||||
$bdd->connexion();
|
||||
$result = $bdd->query("SELECT tag, nbr_membres, ".$export.", points_".$export."_by_members FROM classement_alliances ORDER BY ".$export." DESC LIMIT $pageClassementN, $nbppage;");
|
||||
$bdd->deconnexion();
|
||||
$nbres = $bdd->num_rows;
|
||||
|
||||
$TEMP_classement = array();
|
||||
$i = ($pageClassement-1)*$nbppage;
|
||||
|
||||
$template->assign('export', $export);
|
||||
|
||||
for ($i=0; $i<$nbres; $i++) {
|
||||
$i++;
|
||||
$TEMP_classement[] = array($i, $data['tag'], $data['nbr_membres'],separerNombres($data[$export]),separerNombres($data["points_".$export."_by_members"]));
|
||||
}
|
||||
|
||||
$template->assign('places', $TEMP_classement);
|
||||
}
|
||||
else
|
||||
{
|
||||
$bdd->connexion();
|
||||
$data = $bdd->query("SELECT t1.pseudo, t1.".$export." FROM classement AS t1 ORDER BY t1.".$export." DESC LIMIT $pageClassementN, $nbppage;");
|
||||
$nbres = $bdd->num_rows;
|
||||
|
||||
$TEMP_classement = array();
|
||||
$j = ($pageClassement-1)*$nbppage;
|
||||
|
||||
$template->assign('export', $export);
|
||||
|
||||
for ($i=0; $i<$nbres; $i++) {
|
||||
$race = $bdd->unique_query("SELECT race FROM classement WHERE pseudo = '".$data[$i]['pseudo']."';");
|
||||
|
||||
$result2 = $bdd->unique_query("SELECT user.id_alliance FROM user WHERE user.pseudo = '".$data[$i]['pseudo']."';");
|
||||
|
||||
$result3 = $bdd->unique_query("SELECT alliances.tag, alliances.nom FROM alliances WHERE alliances.id = '".$result2['id_alliance']."';");
|
||||
$j++;
|
||||
$TEMP_classement[] = array($j, $data[$i]['pseudo'], $race['race'], $result3['tag'], $result3['nom'],separerNombres($data[$i][$export]));
|
||||
}
|
||||
$bdd->deconnexion();
|
||||
|
||||
$template->assign('places', $TEMP_classement);
|
||||
}
|
||||
?>
|
||||
160
onyx/hb_game/jeu/conditions.php
Normal file
160
onyx/hb_game/jeu/conditions.php
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = '../cms/vide';
|
||||
$titre = 'Conditions générales d\'utilisation';
|
||||
|
||||
$template->assign('contenu','
|
||||
<h1>Conditions générales pour le site Halo-Battle.s-fr.com</h1>
|
||||
<div style="text-align: left; margin: 15px; font-size: 115%;">
|
||||
<br />
|
||||
Halo, Bungie et Microsoft sont des marques et logos déposés par Microsoft Corporation.<br />
|
||||
Tous droits réservés Copyright © 2006-2007<br />
|
||||
halo-battle.s-fr.com Tous droits reservés.<br />
|
||||
<br />
|
||||
Le site d\'halo-battle.s-fr.com demande à tous les utilisateurs du jeu de lire et d\'accepter les Conditions Générales énoncées ci-dessous avant de s\'inscrire.<br />
|
||||
<br />
|
||||
<br />
|
||||
Ces Conditions Générales d\'Utilisation ont été publiées le 23/04/2008 et sont applicables à partir du 30/04/2008.<br />
|
||||
<br />
|
||||
<br />
|
||||
<a href="#services">I. Services</a><br />
|
||||
<a href="#adhesion">II. Adhésion</a><br />
|
||||
<a href="#protection">III. Protections des données</a><br />
|
||||
<a href="#responsabilite">IV. Responsabilité</a><br />
|
||||
<a href="#contenu">V. Contenu / responsabilité envers le contenu</a><br />
|
||||
<a href="#actions">VI. Actions prohibées</a><br />
|
||||
<a href="#restrictions">VII. Restrictions</a><br />
|
||||
<a href="#droits">VIII. Droits de société concernant les comptes</a><br />
|
||||
<a href="#modification">IX. Modification des Conditions Générales</a><br />
|
||||
<a href="#loi">X. Loi applicable</a><br />
|
||||
<br />
|
||||
<br /><h3 id="services">I. Services</h3><br />
|
||||
<h4>1 - Conditions de participation</h4><br />
|
||||
|
||||
Pour participer à Halo-Battle, l\'utilisateur doit accepter les Conditions Générales. Ces Conditions Générales sont principalement, mais non exclusivement, portées sur les services proposés par la présence en ligne de Halo-Battle.s-fr.com<br />
|
||||
|
||||
<br /><h4>2 - Responsabilité</h4><br />
|
||||
|
||||
Halo-Battle.s-fr.com est toujours attentif au bon fonctionnement de toutes les prestations qu\'il propose. Néanmoins, certaines desdites prestations peuvent ne pas être disponibles pour des circonstances indépendantes de notre volonté. Pour cette raison, l\'utilisateur ne peut avoir de halo-battle.s-fr.com ne peut être tenu pour responsable du mauvais fonctionnement du serveur ou pour un défaut de programmation. Les exemples précités ne sont pas exclusifs d\'autres possibilités.<br />
|
||||
|
||||
<br /><h3 id="adhesion">II. Adhésion</h3><br />
|
||||
|
||||
<br /><h4>1 - Conditions d\'adhésion</h4><br />
|
||||
L\'adhésion commence à partir de l\'enregistrement d\'un compte sur le jeu ou le forum. L\'adresse e-mail utilisée pour cet enregistrement doit être valide. halo-battle.s-fr.com se réserve le droit de vérifier cette validité à n\'importe quel moment.<br />
|
||||
Les utilisateurs reconnaissent disposer d\'une expérience suffisante en matière d\'utilisation d\'Internet et des fonctionnalités de communication électronique qui y sont liées.<br />
|
||||
Les utilisateurs du site de halo-battle.s-fr.com sont tenus de s\'assurer de la compatibilité de leur logiciel de navigation avec le site de Halo-Battle.s-fr.com.<br />
|
||||
|
||||
<br /><h4>2 - Résiliation par l\'utilisateur</h4><br />
|
||||
L\'adhésion peut être résiliée par l\'utilisateur par le biais de l\'effacement du compte. Cet effacement peut être retardé pour des questions d\'ordre technique. La gestion des informations concernant les données personnelles du compte est relatif au chapitre 3 des conditions générales d\'utilisation.<br />
|
||||
|
||||
<br /><h4>3 - Résiliation par Halo-Battle.s-fr.com</h4><br />
|
||||
L\'utilisateur ne peut participer à la gestion des services proposés par Halo-Battle.s-fr.com. A ce titre, l\'équipe du jeu se réserve le droit d\'effacer ou de bloquer le compte de l\'utilisateur, en cas de violation des Conditions Générales, sans que cela ne soit exclusif d\'autres possibilités.<br />
|
||||
L\'effacement du compte est décidé par l\'ensemble de l\'équipe. Les quelconques revendications concernant un effacement de compte peuvent être portées auprès de l\'équipe du jeu. Il ne peut y avoir de revendications légales concernant la clotûre du compte.<br />
|
||||
|
||||
<br /><h3 id="protection">III. Protections des données</h3><br />
|
||||
|
||||
<br /><h4>1 - Droit d\'accès aux données</h4><br />
|
||||
Conformément à la loi du 7 janvier 1978, vous disposez d\'un droit d\'accès, de rectification, de vérification et de suppression relatif aux données vous concernant.<br />
|
||||
Il vous suffit pour ce faire d\'adresser une demande par e-mail à contact@halo-battle.s-fr.com, Halo-Battle.s-fr.com modifiera et mettra ses informations à jour en conséquent.<br />
|
||||
|
||||
<br /><h4>2 - Stockage des données personnelles</h4><br />
|
||||
Halo-Battle.s-fr.com se réserve le droit de stocker les données personnelles des utilisateurs dans le but de contrôler le respect des règles, des Conditions Générales et des dispositions législatives par lesdits utilisateurs. Les données personnelles concernées peuvent être les adresse IP par connexion, la méthode, l\'heure et les durées de connections, l\'adresse e-mail fournie lors de la création du compte ainsi que, le cas échéant, les données personnelles fournies volontairement par l\'utilisateur par le biais de son profil. Sur les forums, les données personnelles des profils des utilisateurs sont conservées.<br />
|
||||
|
||||
<br /><h4>3 - Communication et utilisation des données</h4><br />
|
||||
Halo-Battle.s-fr.com se réserve le droit, en conformité avec les dispositions du droit français concernant la protection des données personnelles et toutes dispositions législatives applicables, de divulguer les données personnelles aux autorités, qui les requièrent en vue de protéger les intérêts des sociétés ou les éventuels manquements aux dispositions légales concernant la protection des données.
|
||||
|
||||
<br /><h4>4 - Opposition</h4><br />
|
||||
L\'utilisateur peut s\'opposer au stockage de ses données personnelles à tout moment. La participation aux jeux nécessitant le stockage de ces données personnelles, le(s) compte(s) de l\'utilisateur sera(ont) supprimé(s) le plus rapidement possible en fonction des contraintes techniques.<br />
|
||||
|
||||
<br /><h3 id="responsabilite">IV. Responsabilité</h3><br />
|
||||
|
||||
Halo-Battle.s-fr.com n\'est pas responsable pour les dommages, quelle qu\'en soit la gravité, causés par l\'utilisation du jeu Halo-Battle. halo-battle.s-fr.com rappelle aux joueurs que l\'utilisation excessive des jeux informatiques peut causer de sévères troubles physiques.<br />
|
||||
|
||||
<br /><h3 id="contenu">V. Contenu / responsabilité envers le contenu</h3><br />
|
||||
|
||||
<br /><h4>1 - Utilisation de la plateforme des utilisateurs</h4><br />
|
||||
Halo-Battle.s-fr.com fournit une plateforme qui permet à l\'utilisateur de communiquer avec chacun des autres utilisateurs. L\'utilisateur est responsable du contenu de ses propos : les propos pornographiques, xénophobes, insultants ou à contenu illégaux ne sont pas autorisés et relèvent de la responsabilité de leur auteur. En cas de violation, Halo-Battle.s-fr.com se réserve le droit d\'effacer ou de bloquer le compte de l\'utilisateur fautif et de l\'interdire d\'accès sur l\'ensemble des services proposés par l\'équipe. Ces sanctions ne sont pas exclusives d\'éventuelles poursuites judiciaires et/ou pénales.<br />
|
||||
|
||||
<br /><h4>2 - Dommages internes au contenu</h4><br />
|
||||
L\'utilisateur du site est conscient du fait qu\'Internet n\'est pas un média parfaitement protégé et qu\'une sécurité totale quant au respect de la vie privée ne peut être garantie. Par conséquent, halo-battle.s-fr.com ne sera en aucune manière responsable des dommages éventuels subis par l\'utilisateur du site à la suite de l\'introduction par ce dernier d\'informations confidentielles ou délicates.<br />
|
||||
|
||||
<br /><h4>3 - Engagement de Halo-Battle.s-fr.com</h4><br />
|
||||
halo-battle.s-fr.com s\'engage à mettre en oeuvre tous les moyens raisonnables à sa disposition en vue de permettre aux utilisateurs une utilisation optimale des services proposés. halo-battle.s-fr.com n\'est en conséquence tenue qu\'à une obligation de moyen, et en aucun cas à une obligation de résultat.<br />
|
||||
|
||||
halo-battle.s-fr.com ne peut être tenu pour responsable des conséquences de circonstances indépendantes de sa volonté telles que les grèves, lock-out, guerres, intempéries, etc., les défaillances des systèmes informatiques ou des moyens de communication, ou de tout autre événement constitutif d\'un cas de force majeure.<br />
|
||||
|
||||
<br /><h4>4 - Mise à disposition des informations</h4><br />
|
||||
halo-battle.s-fr.com assure la mise à disposition via ce site d\'informations correctes et actualisées et se réserve donc le droit de modifier à tout moment le contenu du site. Toutefois, halo-battle.s-fr.com n\'est en aucun cas responsable des dommages causés à la suite de données éventuellement incorrectes, non actualisées ou incomplètes communiquées via le site.<br />
|
||||
|
||||
Les utilisateurs du site de halo-battle.s-fr.com s\'engagent à avertir immédiatement l\'équipe de toute utilisation frauduleuse du site de halo-battle.s-fr.com et à ne pas chercher à nuire à l\'intégrité ou au fonctionnement du site.<br />
|
||||
|
||||
<br /><h4>5 - Liens</h4><br />
|
||||
halo-battle.s-fr.com n\'a aucun pouvoir de vérification et de contrôle quant à la création de liens vers des sites extérieurs et quant au contenu des dits sites, que ces sites soient marchands ou non.<br />
|
||||
|
||||
Les propriétaires des sites consultés à partir du site de Halo-Battle.s-fr.com sont, notamment, seuls responsables du respect de l\'ensemble des réglementations s\'appliquant dans le cadre des prestations offertes en ligne, et notamment, des lois et règlements relatifs à la vente à distance, la protection du consommateur, la publicité mensongère ou trompeuse, les prix, la conformité des produits, etc.<br />
|
||||
|
||||
Aussi, l\'utilisateur accepte que son choix d\'accéder à un autre site, par l\'intermédiaire d\'un lien hypertexte s\'effectue à ses risques et périls.<br />
|
||||
|
||||
En conséquence, tout préjudice direct ou indirect résultant de l\'accès à un site relié par un lien hypertexte ne peut engager la responsabilité de Halo-Battle.s-fr.com<br />
|
||||
|
||||
<br /><h3 id="actions">VI. Actions prohibées</h3><br />
|
||||
|
||||
<br /><h4>1 - Actions de manipulations</h4><br />
|
||||
L\'utilisateur n\'a le droit d\'utiliser, un quelconque programme, mécanisme ou logiciel qui pourrait interférer avec les fonctions et/ou le développement du jeu. L\'utilisateur n\'a pas de le droit d\'effectuer une quelconque action qui causerait un ralentissement excessif des capacités techniques du site. L\'utilisateur n\'a pas le droit de bloquer, modifier ou reformuler le contenu créé par l\'équipe de dévellopement du projet.<br />
|
||||
|
||||
<br /><h4>2 - Programmes prohibés</h4><br />
|
||||
Il est interdit de visualiser une quelconque partie du jeu avec un autre programme que les navigateurs Internet prévus à cet effet. Sont visés, tous autres programmes, en particulier ceux connus sous la dénomination de bots (sans que cette appellation soit exclusive), ainsi que tous
|
||||
outils permettant de simuler, remplacer ou de suppléer le navigateur
|
||||
internet. De la même manière, sont visés les scripts et les programmes
|
||||
partiellement ou totalement automatiques qui peuvent procurer un
|
||||
avantage par rapport aux autres utilisateurs. Les fonctions de
|
||||
rafraîchissement automatique ("auto-refresh") et autres mécanismes
|
||||
intégrés dans les navigateurs Internet sont également visés en tant
|
||||
qu\'actions automatiques. L\'intégralité de ces mécanismes, sans que cela
|
||||
soit exclusif d\'autres possibilités, est interdit. Le fait de bloquer la
|
||||
publicité soit intentionnellement soit par le biais d\'un bloqueur de
|
||||
pop-up voire par le biais d\'un module intégré aux navigateurs Internet
|
||||
est sans conséquence sur cette interdiction. Les seules exceptions
|
||||
possibles nécessitent la permission expresse de l\'équipe de Halo-Battle.s-fr.com<br />
|
||||
|
||||
<br /><h4>4 - Connexion directe</h4><br />
|
||||
La connexion au compte de l\'utilisateur est uniquement permise par le
|
||||
biais de la page d\'accueil du jeu. L\'ouverture automatique ou
|
||||
automatisée, est interdite, que la page d\'accueil soit affichée ou non.<br />
|
||||
|
||||
<br /><h3 id="restrictions">VII. Restrictions</h3><br />
|
||||
|
||||
<br /><h4>1 - Nombre maximum de comptes</h4><br />
|
||||
Chaque utilisateur n\'est autorisé qu\'à utiliser un compte par univers.
|
||||
Sont dénommés "Multis" les utilisateurs qui n\'agissent pas en accord
|
||||
avec cette règle. Les "Multis" sont susceptibles de voir leurs comptes
|
||||
effacés ou bloqués sans avertissement préalable.<br />
|
||||
|
||||
<br /><h4>2 - Règles</h4><br />
|
||||
Les particularités sont visées par les règles du jeu. Tous les
|
||||
utilisateurs sont soumis à ces dispositions.<br />
|
||||
|
||||
<br /><h4>3 - Blocages</h4><br />
|
||||
L\'utilisateur peut être bloqué de manière temporaire ou définitive. Le
|
||||
blocage peut être valable sur une partie ou la totalité des services
|
||||
proposés par Halo-Battle.s-fr.com<br />
|
||||
|
||||
<br /><h3 id="droits">VIII. Droits de société concernant les comptes</h3><br />
|
||||
|
||||
<br /><h4>1 - Généralités</h4><br />
|
||||
L\'ensemble des comptes, incluant les ressources, unités, etc, sont des objets virtuels du jeu. L\'utilisateur n\'a pas la propriété ou tout autre type de droits sur le compte. L\'ensemble des droits sont de la propriété de Bungie et Microsoft Corporation. Aucun droit, en particulier ceux concernant l\'exploitation, ne peut être conféré à l\'utilisateur.<br />
|
||||
|
||||
<br /><h4>2 - Interdiction d\'exploitation</h4><br />
|
||||
Il est interdit de contracter avec une tierce partie un quelconque accord concernant le transfert, l\'utilisation ou le stockage des comptes ou des données personnelles. Il est particulièrement interdit de vendre les comptes ou les ressources, voire de faire un quelconque profit en quittant son compte ou ses ressources au profit d\'un tiers. Les mêmes interdictions sont valables pour les données personnelles et les droits d\'utilisation. La violation de ces règles ou de tout autre droit de Bungie et Microsoft Corporation, particulièrement celles concernant le copyright, sera transmise aux autorités et sanctionnée par des poursuites judiciaires et/ou pénales.<br />
|
||||
|
||||
<br /><h4>3 - Exceptions</h4><br />
|
||||
Il est permis de transférer les comptes de manière gratuite, ainsi que d\'échanger des ressources dans les limites permises par les règles du jeu.<br />
|
||||
|
||||
<br /><h3 id="modification">IX. Modification des Conditions Générales</h3><br />
|
||||
|
||||
Halo-Battle.s-fr.com se réserve le droit de modifier ou d\'étendre les Conditions Générales et les autres dispositions à tout moment. Cette modification ou extension sera publiée au minimum deux semaines avant l\'effectivité des changements.<br />
|
||||
|
||||
<br /><h3 id="loi">X. Loi applicable</h3><br />
|
||||
La législation française est appliquée en cas de recours légal.<br />
|
||||
</div>');
|
||||
?>
|
||||
136
onyx/hb_game/jeu/defenses.php
Normal file
136
onyx/hb_game/jeu/defenses.php
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
include_once(_FCORE."hb_game/Class/class.gerefile.php");
|
||||
$page = 'defenses';
|
||||
$titre = 'Défenses';
|
||||
|
||||
$TEMP_ = array();
|
||||
$nbstop = count($nomterrn);
|
||||
if (empty($queryPlanete['file_ter'])) $file = new gererFile($queryUser['prodfile']+2);
|
||||
else {
|
||||
$file = unserialize($queryPlanete['file_ter']);
|
||||
$file->limite = $queryUser['prodfile'] + 2;
|
||||
}
|
||||
|
||||
if ($queryPlanete['chantier_terrestre'] == 0) {
|
||||
$template->assign('message','Vous devez d\'abord construire un '.strtolower($batiment[7]));
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=batiments";\', 4000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
|
||||
//Lancement d'une nouvelle construction
|
||||
if (isset($_GET['v']) && !empty($nomterrn[$_GET['v']]) && !empty($_POST['nombre'])) {
|
||||
$i = $_GET['v'];
|
||||
$nbv = floor($_POST['nombre']);
|
||||
if(requestDeblok($nomterrnTECH[$i], $queryPlanete, $queryUser) && $nbv > 0) {
|
||||
$n=($queryPlanete[$nomterrnVAR[$i]]+1);
|
||||
$a = $nomterrnCALC[$i][0]; $metal -= $a * $nbv;
|
||||
$b = $nomterrnCALC[$i][1]; $cristal -= $b * $nbv;
|
||||
$c = $nomterrnCALC[$i][2]; $hydrogene -= $c * $nbv;
|
||||
if ($metal < 0 || $cristal < 0 || $hydrogene < 0) {
|
||||
$template->assign('message','Vous n\'avez pas assez de ressources pour démarrer cette construction.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=defenses";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
eval($nomterrnCALC[$i][3]);
|
||||
if ($file->addObjet($i, $nbv, ceil($sec))) {
|
||||
$export = serialize($file);
|
||||
$bdd->connexion();
|
||||
$bdd->escape($export);
|
||||
$bdd->query("UPDATE $table_planete SET file_ter = '$export', metal = '$metal', cristal = '$cristal', hydrogene = '$hydrogene' WHERE id = '$idPlan';");
|
||||
$bdd->deconnexion();
|
||||
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Vous ne pouvez pas mettre plus de défenses en file d\'attente.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=defenses";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
header('Location: ?p=defenses');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
//Annulation d'une nouvelle construction
|
||||
if (isset($_GET['a']) && isset($nomterrn[$_GET['a']])) {
|
||||
$i = $_GET['a'];
|
||||
if (!isset($_GET['n'])) $nbv = 1;
|
||||
else $nbv = $_GET['n'];
|
||||
|
||||
if($file->existe($i)) {
|
||||
$n=($queryPlanete[$nomterrnVAR[$i]]+1);
|
||||
$a = $nomterrnCALC[$i][0];
|
||||
$b = $nomterrnCALC[$i][1];
|
||||
$c = $nomterrnCALC[$i][2];
|
||||
$nbvr = $file->delobjet($i, $nbv);
|
||||
|
||||
$metal += $a*$nbvr;
|
||||
$cristal += $b*$nbvr;
|
||||
$hydrogene += $c*$nbvr;
|
||||
|
||||
$export = serialize($file);
|
||||
$bdd->connexion();
|
||||
$bdd->escape($export);
|
||||
$bdd->query("UPDATE $table_planete SET file_ter = '$export', metal = '$metal', cristal = '$cristal', hydrogene = '$hydrogene' WHERE id = '$idPlan';");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=defenses');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
//Règler la production à la châine
|
||||
/* if (isset($_GET['r']) && ($_GET['r'] == 1 || $_GET['r'] == 0)) {
|
||||
if($_GET['r']) $file->chaine = false;
|
||||
else $file->chaine = true;
|
||||
$export = mysql_real_escape_string(serialize($file));
|
||||
mysql_query("UPDATE planete SET file_ter = '$export' WHERE id = '$idPlan';");
|
||||
header('Location: ?p=defenses');
|
||||
exit;
|
||||
}*/
|
||||
|
||||
for ($i=8 ; $i<$nbstop ; $i++) {
|
||||
$tr = 0; $a = 0; $b = 0; $c = 0; $sec = 0;
|
||||
$nom_bdd = $nomterrnVAR[$i]; $a = $nomterrnCALC[$i][0]; $b = $nomterrnCALC[$i][1]; $c = $nomterrnCALC[$i][2]; eval($nomterrnCALC[$i][3]);
|
||||
if ($queryPlanete[$nom_bdd] > 0) $nombre = $queryPlanete[$nom_bdd]; else $nombre = 0;
|
||||
$n=($queryPlanete[$nom_bdd]+1);
|
||||
if (!empty($nomterrn[$i]) && requestDeblok($nomterrnTECH[$i], $queryPlanete, $queryUser)) $TEMP_defenses[] =
|
||||
array(
|
||||
'image' => $nomterri[$i],
|
||||
'nom' => $nomterrn[$i],
|
||||
'nombre' => $nombre,
|
||||
'description' => $nomterde[$i],
|
||||
'descriptione' => addslashes($nomterde[$i]),
|
||||
'nec_metal' => $a,
|
||||
'nec_cristal' => $b,
|
||||
'nec_hydrogene' => $c,
|
||||
'nec_metalS' => separerNombres($a),
|
||||
'nec_cristalS' => separerNombres($b),
|
||||
'nec_hydrogeneS' => separerNombres($c),
|
||||
'temps' => sec($sec),
|
||||
'num' => $i
|
||||
);
|
||||
}
|
||||
$template->assign('defenses',$TEMP_defenses);
|
||||
$template->assign('chaine',$file->chaine);
|
||||
$fileBat = array_merge($file->file);
|
||||
$nbfile = count($fileBat);
|
||||
|
||||
if ($nbfile == 1) $template->assign('Pchaine',true);
|
||||
else $template->assign('Pchaine',false);
|
||||
if ($nbfile == 0) $template->assign('Vchaine',true);
|
||||
else $template->assign('Vchaine',false);
|
||||
|
||||
for ($i=0 ; $i<$nbfile ; $i++) {
|
||||
$fileBat[$i][3] = $nomterrn[$fileBat[$i][0]];
|
||||
$fileBat[$i][4] = $fileBat[$i][2]*$fileBat[$i][1];
|
||||
if ($i == 0) {
|
||||
$fileBat[$i][2] -= time() - $file->timestamp;
|
||||
$fileBat[$i][4] -= time() - $file->timestamp;
|
||||
}
|
||||
}
|
||||
$template->assign('file',$fileBat);
|
||||
?>
|
||||
155
onyx/hb_game/jeu/description.php
Normal file
155
onyx/hb_game/jeu/description.php
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'description';
|
||||
$titre = 'Détails';
|
||||
|
||||
function tableauProd($ibat,$nivo){
|
||||
$temps_ecoule = 3600;
|
||||
$return = array();
|
||||
$c = $nivo-2 < 1 ? 1 : $nivo-2;
|
||||
$a = $c + 6;
|
||||
|
||||
if ($ibat == 0) {
|
||||
for ($c; $c < $a; $c++) {
|
||||
$b = ((ceil(pow(1.1,$c)*35*$c)/3600)*$temps_ecoule)*1.5;
|
||||
$h = (((ceil(pow(1.1,$c)*35*$c)/3600)*$temps_ecoule)*1.5) - (((ceil(pow(1.1,($c-1))*35*($c-1))/3600)*$temps_ecoule)*1.5);
|
||||
|
||||
$p = ceil(exp(0.28*$c)*10);
|
||||
$g = ceil(exp(0.28*$c)*10) - ceil(exp(0.28*($c-1))*10);
|
||||
|
||||
if ($c == $nivo) $return[] = array($c, $b, $h, $p, $g, true);
|
||||
else $return[] = array($c, $b, $h, $p, $g, false);
|
||||
}
|
||||
}
|
||||
elseif ($ibat == 1) {
|
||||
for ($c; $c < $a; $c++) {
|
||||
$b = ((ceil(pow(1.1,$c)*23*$c)/3600)*$temps_ecoule)*1.5;
|
||||
$h = (((ceil(pow(1.1,$c)*23*$c)/3600)*$temps_ecoule)*1.5) - (((ceil(pow(1.1,($c-1))*23*($c-1))/3600)*$temps_ecoule)*1.5);
|
||||
|
||||
$p = ceil(exp(0.28*$c)*10);
|
||||
$g = (ceil(exp(0.28*$c)*10)) - (ceil(exp(0.28*($c-1))*10));
|
||||
|
||||
if ($c == $nivo) $return[] = array($c, $b, $h, $p, $g, true);
|
||||
else $return[] = array($c, $b, $h, $p, $g, false);
|
||||
}
|
||||
}
|
||||
elseif ($ibat == 2) {
|
||||
for ($c; $c < $a; $c++) {
|
||||
$b = (((ceil(pow(1.1,$c)*14*($c+0.7))/3600)*$temps_ecoule))*1.5;
|
||||
$h = ((((ceil(pow(1.1,$c)*14*($c+0.7))/3600)*$temps_ecoule))*1.5) - ((((ceil(pow(1.1,($c-1))*14*(($c-1)+0.7))/3600)*$temps_ecoule))*1.5);
|
||||
|
||||
$p = ceil(exp(0.2849*$c)*13);
|
||||
$g = (ceil(exp(0.2849*$c)*13)) - (ceil(exp(0.2849*($c-1))*13));
|
||||
|
||||
if ($c == $nivo) $return[] = array($c, $b, $h, $p, $g, true);
|
||||
else $return[] = array($c, $b, $h, $p, $g, false);
|
||||
}
|
||||
}
|
||||
elseif ($ibat == 3) {
|
||||
for ($c; $c < $a; $c++) {
|
||||
$b = ceil(exp(0.297*$c)*25);
|
||||
$h = ceil(exp(0.297*$c)*25) - ceil(exp(0.297*($c-1))*25);
|
||||
|
||||
if ($c == $nivo) $return[] = array($c, $b, $h, 0, 0, true);
|
||||
else $return[] = array($c, $b, $h, 0, 0, false);
|
||||
}
|
||||
}
|
||||
elseif ($ibat == 4) {
|
||||
for ($c; $c < $a; $c++) {
|
||||
$b = ceil(exp(0.28*$c)*22);
|
||||
$h = ceil(exp(0.28*$c)*22) - ceil(exp(0.28*($c-1))*22);
|
||||
|
||||
$p = ((ceil(pow(1.34,($c-1))*9)/3600)*$temps_ecoule);
|
||||
$g = ((ceil(pow(1.34,($c-1))*9)/3600)*$temps_ecoule) - ((ceil(pow(1.34,($c-2))*9)/3600)*$temps_ecoule);
|
||||
|
||||
if ($c == $nivo) $return[] = array($c, $b, $h, $p, $g, true);
|
||||
else $return[] = array($c, $b, $h, $p, $g, false);
|
||||
}
|
||||
}
|
||||
else $return = '';
|
||||
|
||||
if ($return == '') return false;
|
||||
else return $return;
|
||||
}
|
||||
|
||||
if (isset($_GET['b']) && is_numeric($_GET['b']) && $_GET['b'] < count($batiment)) {
|
||||
$template->assign('type', 'batiments');
|
||||
$t = $_GET['b'];
|
||||
$nom_bdd = $batimentVAR[$t];
|
||||
$template->assign('t', $t);
|
||||
$template->assign('image', $batimeni[$t]);
|
||||
$template->assign('nom', $batiment[$t]);
|
||||
$template->assign('niveau', $queryPlanete[$nom_bdd]);
|
||||
$template->assign('description', $batimede[$t]);
|
||||
$template->assign('tableau_prod', tableauProd($t, $queryPlanete[$nom_bdd]));
|
||||
|
||||
$n=($queryPlanete[$nom_bdd]+1);
|
||||
$a = 0; $b = 0; $c = 0; $sec = 0;
|
||||
eval($batimentCALC[$t][0]);
|
||||
eval($batimentCALC[$t][1]);
|
||||
eval($batimentCALC[$t][2]);
|
||||
eval($batimentCALC[$t][3]);
|
||||
$template->assign('ressourcesNext', array(separerNombres($a), separerNombres($b), separerNombres($c), sec($sec)));
|
||||
|
||||
$template->assign('etat', readDeblok($batimentTECH[$t], $queryPlanete, $queryUser));
|
||||
}
|
||||
elseif (isset($_GET['t']) && is_numeric($_GET['t']) && $_GET['t'] < count($technolo)) {
|
||||
$template->assign('type', 'technologies');
|
||||
$t = $_GET['t'];
|
||||
$nom_bdd = $technoloVAR[$t];
|
||||
$template->assign('image', $technoli[$t]);
|
||||
$template->assign('nom', $technolo[$t]);
|
||||
$template->assign('niveau', $queryUser[$nom_bdd]);
|
||||
$template->assign('description', $technode[$t]);
|
||||
|
||||
$n=($queryUser[$nom_bdd]+1);
|
||||
$a = 0; $b = 0; $c = 0; $sec = 0;
|
||||
eval($technoloCALC[$t][0]);
|
||||
eval($technoloCALC[$t][1]);
|
||||
eval($technoloCALC[$t][2]);
|
||||
eval($technoloCALC[$t][3]);
|
||||
$template->assign('ressourcesNext', array(separerNombres($a), separerNombres($b), separerNombres($c), sec($sec)));
|
||||
|
||||
$template->assign('etat', readDeblok($technoloTECH[$t], $queryPlanete, $queryUser));
|
||||
}
|
||||
elseif (isset($_GET['v']) && is_numeric($_GET['v']) && $_GET['v'] < count($nomvaisn)) {
|
||||
$template->assign('type', 'vaisseaux');
|
||||
$t = $_GET['v'];
|
||||
$nom_bdd = $nomvaisnVAR[$t];
|
||||
$template->assign('image', $nomvaisi[$t]);
|
||||
$template->assign('nom', $nomvaisn[$t]);
|
||||
$template->assign('niveau', $queryPlanete[$nom_bdd]);
|
||||
$template->assign('description', $nomvaisd[$t]);
|
||||
|
||||
$n=($queryPlanete[$nom_bdd]+1);
|
||||
$a = $nomvaisnCALC[$t][0]; $b = $nomvaisnCALC[$t][1]; $c = $nomvaisnCALC[$t][2]; $sec = 0;
|
||||
eval($nomvaisnCALC[$t][3]);
|
||||
$template->assign('ressourcesNext', array(separerNombres($a), separerNombres($b), separerNombres($c), sec($sec)));
|
||||
|
||||
$template->assign('etat', readDeblok($nomvaisnTECH[$t], $queryPlanete, $queryUser));
|
||||
$template->assign('caract', array($nomvais_at[$t], $nomvais_bc[$t], $nomvais_pv[$t], $nomvais_rs[$t]));
|
||||
}
|
||||
elseif (isset($_GET['d']) && is_numeric($_GET['d']) && $_GET['d'] < count($nomterrn)) {
|
||||
$template->assign('type', 'terrestre');
|
||||
$t = $_GET['d'];
|
||||
$nom_bdd = $nomterrnVAR[$t];
|
||||
$template->assign('image', $nomterri[$t]);
|
||||
$template->assign('nom', $nomterrn[$t]);
|
||||
$template->assign('niveau', $queryPlanete[$nom_bdd]);
|
||||
$template->assign('description', $nomterde[$t]);
|
||||
|
||||
$n=($queryPlanete[$nom_bdd]+1);
|
||||
$a = $nomterrnCALC[$t][0]; $b = $nomterrnCALC[$t][1]; $c = $nomterrnCALC[$t][2]; $sec = 0;
|
||||
eval($nomterrnCALC[$t][3]);
|
||||
$template->assign('ressourcesNext', array(separerNombres($a), separerNombres($b), separerNombres($c), sec($sec)));
|
||||
|
||||
$template->assign('etat', readDeblok($nomterrnTECH[$t], $queryPlanete, $queryUser));
|
||||
if ($t-8 >= 0) {
|
||||
$t -= 8;
|
||||
$template->assign('caract', array($defense_at[$t], $defense_bc[$t], $defense_pv[$t]));
|
||||
}
|
||||
}
|
||||
else {
|
||||
header('Location: ?p=accueil');
|
||||
}
|
||||
?>
|
||||
36
onyx/hb_game/jeu/envoyer.php
Normal file
36
onyx/hb_game/jeu/envoyer.php
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'envoyer';
|
||||
$titre = 'Envoyer un message';
|
||||
|
||||
if (!empty($_POST['objet']) && !empty($_POST['nom']) && !empty($_POST['message'])) {
|
||||
$util = $_POST['nom'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($util);
|
||||
if ($bdd->unique_query("SELECT pseudo FROM $table_user WHERE pseudo = '$util';")) {
|
||||
$message = htmlspecialchars($_POST['message']);
|
||||
$objet = htmlspecialchars($_POST['objet']);
|
||||
$bdd->escape($message);
|
||||
$bdd->escape($objet);
|
||||
$bdd->query("INSERT INTO $table_mail VALUES(NULL, '1', '$util', '".$queryUser["pseudo"]."', '$objet', '$message', '".time()."');");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$template->assign('message','Votre message a été envoyé avec succès.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=messagerie";\', 2500);</script>');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$bdd->deconnexion();
|
||||
$template->assign('message','Impossible de trouver le destinataire du message.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=envoyer";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_GET['d'])) $template->assign('destinataire', $_GET['d']);
|
||||
if (isset($_GET['o'])) $template->assign('objet', $_GET['o']);
|
||||
?>
|
||||
463
onyx/hb_game/jeu/flotte.php
Normal file
463
onyx/hb_game/jeu/flotte.php
Normal file
|
|
@ -0,0 +1,463 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$titre = 'Flottes';
|
||||
|
||||
if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && !empty($_POST['amas']) && !empty($_POST['ss']) && !empty($_POST['pos']) && !empty($_POST['vitesse']) && !empty($_POST['mission']) && isset($_POST['metal']) && isset($_POST['cristal']) && isset($_POST['hydrogene'])) {
|
||||
$end_galaxie = floor($_POST['amas']);
|
||||
$end_ss = floor($_POST['ss']);
|
||||
$end_pos = floor($_POST['pos']);
|
||||
$mission = floor($_POST['mission']);
|
||||
$tactique = floor($_POST['tactique']);
|
||||
$EBmetal = floor($_POST['metal']);
|
||||
$EBcristal = floor($_POST['cristal']);
|
||||
$EBhydrogene = floor($_POST['hydrogene']);
|
||||
$vitesse = floor($_POST['vitesse'])/100;
|
||||
|
||||
$bdd->connexion();
|
||||
$bdd->escape($end_galaxie);
|
||||
$bdd->escape($end_ss);
|
||||
$bdd->escape($end_pos);
|
||||
$bdd->escape($mission);
|
||||
$bdd->escape($tactique);
|
||||
$bdd->escape($EBmetal);
|
||||
$bdd->escape($EBcristal);
|
||||
$bdd->escape($EBhydrogene);
|
||||
$bdd->escape($vitesse);
|
||||
$resultat = $bdd->query("SELECT id FROM $table_flottes WHERE id_user = '$id_user'");
|
||||
$nbr = $bdd->num_rows;
|
||||
|
||||
//Vérification du code anti-bots
|
||||
if ($_POST['cds'] != $sess->values['flcds']) {
|
||||
$template->assign('message','Impossible d\'authentifier l\'envoie de la flotte.<br />Si le problème perciste, <a href="mailto:technique@halo-battle.s-fr.com">contactez un administrateur</a>.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 4000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
//Si la mission est d'attaquer, on vérifie que les attaques ne soient pas désactivées
|
||||
elseif ($mission == 1 && !ATTAQUES) {
|
||||
$template->assign('message','Les attaques sont désactivées pour le moment. Pour plus d\'informations, <a href="http://halo-battle.s-fr.com/forum/">consultez le forum</a>.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 5000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
//Vérification que la destination ne soit pas en dehors de la galaxie
|
||||
elseif ($end_galaxie > MAX_AMAS || $end_ss > MAX_SYSTEME || $end_pos > MAX_PLANETE || $end_galaxie < 0 || $end_ss < 1 || $end_pos < 1 || ($end_galaxie < 1 && $sess->values['auth_level'] < 6)) {
|
||||
$template->assign('message','La destination de la flotte n\'est pas correcte.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
//Vérification que le nombre de slots ne soit pas dépassé
|
||||
elseif ($nbr > $queryUser['informatique']) {
|
||||
$template->assign('message','Vous n\'avez pas assez de slots disponibles.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
//On vérifie la mission
|
||||
elseif ($mission < 1 || $mission > 5) {
|
||||
$template->assign('message','Mission incorrecte !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
//Si la mission est d'attaquer, on vérifie la tactique
|
||||
elseif ($mission == 1 && $tactique > $queryUser['tactique']) {
|
||||
$template->assign('message','Vous ne connaissez pas cette tactique de combat !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
//On vérifie la mission, si elle est d'espionner, il faut qu'il y ait des sondes
|
||||
elseif ($mission == 5 && (!isset($sess->values['vais'][4]) || $sess->values['vais'][4] < 0)) {
|
||||
$template->assign('message','Vous ne pouvez pas espionner sans sonde d\'espionnage !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
//On vérifie la mission, si elle est de coloniser, il faut qu'il y ait des vaisseaux de colonisation
|
||||
elseif ($mission == 3 && (!isset($sess->values['vais'][3]) || $sess->values['vais'][3] < 0)) {
|
||||
$template->assign('message','Vous ne pouvez pas coloniser sans vaisseau de colonisation !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
//On vérifie la mission, si elle est de recycler, il faut qu'il y ait des reclycleurs
|
||||
elseif ($mission == 4 && (!isset($sess->values['vais'][5]) || $sess->values['vais'][5] < 0)) {
|
||||
$template->assign('message','Vous ne pouvez pas coloniser sans vaisseau de colonisation !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
//On vérifie que l'on possède assez de ressources
|
||||
elseif ((!empty($EBmetal) && !$EBmetal > $queryPlanete['metal']) || (!empty($EBcristal) && !$EBcristal > $queryPlanete['cristal']) || (!empty($EBhydrogene) && !$EBhydrogene > $queryPlanete['hydrogene'])) {
|
||||
$template->assign('message','Vous ne pouvez pas envoyer plus de ressources que vous n\'en posséder.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
//On vérifie que l'on n'envoie pas des ressources négatives
|
||||
elseif ((!empty($EBmetal) && $EBmetal < 0) || (!empty($EBcristal) && $EBcristal < 0) || (!empty($EBhydrogene) && $EBhydrogene < 0)) {
|
||||
$template->assign('message','Vous avez spécifié des valeurs négatives !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
//On vérifie la vitesse du vaisseau
|
||||
elseif (!is_numeric($vitesse) || $vitesse < 0 || $vitesse > 100) {
|
||||
$template->assign('message','La vitesse de votre flotte est incorrecte !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$resultat = $bdd->unique_query("SELECT * FROM $table_planete WHERE galaxie = '$end_galaxie' AND ss = '$end_ss' AND position = '$end_pos';");
|
||||
//Si la mission est d'attaquer, on vérifie que le joueur cible ne soit pas ne mode vacances
|
||||
if ($mission == 1) {
|
||||
//Récupération de l'ID du joueur cible
|
||||
$rech_user = $resultat['id_user'];
|
||||
$resultatu = $bdd->unique_query("SELECT * FROM $table_user WHERE id = '$rech_user';");
|
||||
if ($resultatu['mv'] != 0) {
|
||||
$template->assign('message','Le joueur que vous tentez d\'attaquer est actuellement en mode vacances, vous ne pouvez donc pas l\'attaquer avant son retour de vacances.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif ($resultatu['time_inscription'] + 604800 > time()) {
|
||||
$template->assign('message','Le joueur que vous tentez d\'attaquer s\'est inscrit récemment, laissez-lui le temps de se préparer au combat !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif (!$resultat) {
|
||||
$template->assign('message','La planète que vous tentez d\'attaquer est inhabitée.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif ($resultat['id_user'] == $id_user) {
|
||||
$template->assign('message','La planète que vous tentez d\'attaquer vous appartient.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
elseif ($mission == 2 && !$resultat) {
|
||||
$template->assign('message','Impossible de transporter des ressources vers la planète ['.$end_galaxie.':'.$end_ss.':'.$end_pos.'] car elle est inhabitée.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif ($mission == 3 && $resultat) {
|
||||
$template->assign('message','La planète que vous voulez coloniser est déjà habitée.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif ($mission == 4 && ($resultat['debris_met'] <= 0 || $resultat['debris_cri'] <= 0) && empty($sess->values['forceFlotte'])) {
|
||||
$sess->values['forceFlotte'] = true;
|
||||
$sess->put();
|
||||
$template->assign('message','Il n\'y a rien à recycler sur la planète ['.$end_galaxie.':'.$end_ss.':'.$end_pos.'].<br />Vous pouvez forcer le lancement de la flotte en rechargeant cette page.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
|
||||
//Création de la flotte
|
||||
$req = '';
|
||||
$reqb = '';
|
||||
$reqPlan = '';
|
||||
$nbVais = '';
|
||||
$nbI = count($nomvaisa);
|
||||
for ($i=1 ; $i<=$nbI ; $i++) {
|
||||
if (!empty($sess->values['vais'][$i])) {
|
||||
if ($sess->values['vais'][$i] > $queryPlanete['vaisseau_'.$i]) {
|
||||
$template->assign('message','Vous avez envoyé plus de vaisseaux que vous n\'en posséder sur cette planète.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$req .= "'".$sess->values['vais'][$i]."', ";
|
||||
$reqb .= "vaisseau_$i, ";
|
||||
if (!empty($reqPlan)) $reqPlan .= ', ';
|
||||
$reqPlan .= "vaisseau_$i = vaisseau_$i - '".$sess->values['vais'][$i]."'";
|
||||
$nbVais += $sess->values['vais'][$i];
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($nbVais <= 0) {
|
||||
$template->assign('message','Vous devez envoyer au moins un vaisseau pour former une flotte !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif ($sess->values['flnbvais'] != $nbVais) {
|
||||
$template->assign('message','Une erreur est survenue lors de la création de la flotte :<br /><br /><i>Calcul du nombre de vaisseaux incorrect !</i><br /><br />Si le problème perciste, <a href="">contactez un administrateur</a>.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 4500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
//Envoie de la flotte
|
||||
$nom = $_POST['nomflotte'];
|
||||
$bdd->escape($nom);
|
||||
|
||||
$start_time = time();
|
||||
$start_galaxie = $queryPlanete['galaxie'];
|
||||
$start_ss = $queryPlanete['ss'];
|
||||
$start_pos = $queryPlanete['position'];
|
||||
|
||||
$end_time = vais_tempsDeplacement($start_galaxie, $start_ss, $start_pos, $end_galaxie, $end_ss, $end_pos, $sess->values['flvitesse'], $vitesse, $sess->values['flpreparation'], $sess->values['flchauffe']);
|
||||
if ($end_time <= 0) {
|
||||
$end_time = 454;
|
||||
}
|
||||
|
||||
//On vérifie qu'il y a assez de place dans les cales des vaisseaux avant l'envoie
|
||||
$conso = vais_conso($end_time, $nbVais)*$vitesse/45*2;
|
||||
$contenu_metal = $_POST['metal']; $bdd->escape($contenu_metal); $plan_metal = $queryPlanete['metal'] - $contenu_metal;
|
||||
$contenu_cristal = $_POST['cristal']; $bdd->escape($contenu_cristal); $plan_cristal = $queryPlanete['cristal'] - $contenu_cristal;
|
||||
$contenu_hydrogene = $_POST['hydrogene']; $bdd->escape($contenu_hydrogene); $plan_hydrogene = $queryPlanete['hydrogene'] - $contenu_hydrogene - $conso;
|
||||
$contenu_max = $sess->values['flcontenu'];
|
||||
if ($contenu_metal + $contenu_cristal + $contenu_hydrogene + $conso > $contenu_max && ($contenu_metal + $contenu_cristal + $contenu_hydrogene != 0 || $mission != 5)) {
|
||||
$template->assign('message','Vous ne pouvez pas embarquer autant de ressources, les cales débordent.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif ($plan_metal < 0 || $plan_cristal < 0 || $plan_hydrogene < 0) {
|
||||
$template->assign('message','Vous n\'avez pas assez de ressources sur cette planète pour envoyer cette flotte.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
if ($mission == 1) {
|
||||
$tactiqueAT = $_POST['tactique'];
|
||||
$bdd->escape($tactiqueAT);
|
||||
$tactiqueEN = $resultatu['tactique'];
|
||||
$bdd->escape($tactiqueEN);
|
||||
}
|
||||
else {
|
||||
$tactiqueAT = 0;
|
||||
$tactiqueEN = 0;
|
||||
}
|
||||
|
||||
$bdd->query("INSERT INTO $table_flottes (id_user, mission, start_time, start_galaxie, start_ss, start_position, end_time, end_galaxie, end_ss, end_position, vitesse, contenu_metal, contenu_cristal, contenu_hydrogene, contenu_max, nb_vais, $reqbtactiqueAT, tactiqueEN, nom) VALUES ('$id_user', '$mission', '$start_time', '$start_galaxie', '$start_ss', '$start_pos', '$end_time', '$end_galaxie', '$end_ss', '$end_pos', '$vitesse', '$contenu_metal', '$contenu_cristal', '$contenu_hydrogene', '$contenu_max', '$nbVais', $req'$tactiqueAT', '$tactiqueEN', '$nom');");
|
||||
$bdd->query("UPDATE $table_planete SET $reqPlan, metal = '$plan_metal', cristal = '$plan_cristal', hydrogene = '$plan_hydrogene' WHERE id = '$idPlan' LIMIT 1 ;");
|
||||
$bdd->deconnexion();
|
||||
|
||||
unset($sess->values['vais']);
|
||||
$sess->put();
|
||||
|
||||
file_log('Envoie d\'une flotte');
|
||||
|
||||
$template->assign('message','Votre flotte a été envoyée avec succès.');
|
||||
$template->assign('couleur','green');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 4000);</script>');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif (!empty($_POST['v1']) || !empty($_POST['v2']) || !empty($_POST['v3']) || !empty($_POST['v4']) || !empty($_POST['v5']) || !empty($_POST['v6']) || !empty($_POST['v7']) || !empty($_POST['v8']) || !empty($_POST['v9']) || !empty($_POST['v10']) || !empty($_POST['v11']) || !empty($_POST['v12'])) {
|
||||
$nombreVaisseau = 0;
|
||||
for ($i=1 ; $i<=12 ; $i++) {
|
||||
if (!isset($_POST['v'.$i]) || !is_numeric($_POST['v'.$i]) || $_POST['v'.$i] != abs(floor($_POST['v'.$i]))) $_POST['v'.$i] = 0;
|
||||
if ($_POST['v'.$i] >= 0 && $i != 11) {
|
||||
$sess->values['vais'][$i] = $_POST['v'.$i];
|
||||
$nombreVaisseau += $_POST['v'.$i];
|
||||
//Si on indique un nombre de vaisseaux supérieur au nombre présent sur la planète
|
||||
if ($_POST['v'.$i] > $queryPlanete['vaisseau_'.$i]) {
|
||||
$template->assign('message','Il ne vous reste plus assez de vaisseaux !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
$sess->values['flnbvais'] = $nombreVaisseau;
|
||||
$sess->values['forceFlotte'] = false;
|
||||
|
||||
//On vérifie que l'utilisateur a bien envoyé plus d'un vaisseau
|
||||
if ($nombreVaisseau <= 0) {
|
||||
$template->assign('message','Vous devez envoyer au moins un vaisseau.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 2000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
//On ajoute des missions supplémentaire suivant les vaisseaux envoyés
|
||||
$lvltactique = $queryUser['tactique'];
|
||||
$actionsupp = '';
|
||||
if ($lvltactique >= 1) $actionsupp .= '<option value="1" selected="selected">Attaquer</option>';
|
||||
if ($_POST['v3'] >= 1) $actionsupp .= '<option value="3" selected="selected">Coloniser</option>';
|
||||
if ($_POST['v5'] >= 1) $actionsupp .= '<option value="4" selected="selected">Recycler</option>';
|
||||
if ($_POST['v4'] >= 1) $actionsupp .= '<option value="5" selected="selected">Espionner</option>';
|
||||
$template->assign('actionsupp', $actionsupp);
|
||||
|
||||
// Définition des paramètres de la flotte
|
||||
$AvaisType = array(); $AvaisVitesseC = array(); $AvaisVitesseL = array(); $AvaisPrepC = array(); $AvaisPrepL = array(); $AvaisChauffe = array(); $AvaisContenu = 0;
|
||||
for ($i=1 ; $i<=12 ; $i++) {
|
||||
$AvaisType[] = $i;
|
||||
$AvaisVitesseC[] = $nomvais_dc[$i-1];
|
||||
$AvaisVitesseL[] = $nomvais_dl[$i-1];
|
||||
$AvaisContenu += $nomvais_rs[$i-1] * $_POST['v'.$i];
|
||||
$AvaisPrepC[] = $nomvais_pdc[$i-1].' ';
|
||||
$AvaisPrepL[] = $nomvais_pdl[$i-1].' ';
|
||||
$AvaisChauffe[] = $nomvais_cdl[$i-1].' ';
|
||||
}
|
||||
if(min($AvaisVitesseL) != 0) {
|
||||
$sess->values['flvitesse'] = max($AvaisVitesseL);
|
||||
$sess->values['flpreparation'] = max($AvaisPrepL);
|
||||
$sess->values['flchauffe'] = max($AvaisChauffe);
|
||||
}
|
||||
else {
|
||||
$sess->values['flvitesse'] = max($AvaisVitesseC);
|
||||
$sess->values['flpreparation'] = max($AvaisPrepC);
|
||||
$sess->values['flchauffe'] = 0;
|
||||
}
|
||||
$sess->values['fltime'] = time();
|
||||
$sess->values['flcontenu'] = $AvaisContenu;
|
||||
|
||||
//On enregistre les modification de la session
|
||||
$sess->put();
|
||||
|
||||
$page = 'flotte2';
|
||||
$template->assign('scripth', '<script src="js/prototype.js" type="text/javascript"></script>');
|
||||
$template->assign('script', '<script type="text/javascript">document.getElementById(\'nom\').focus();</script><script src="js/flotte.js" type="text/javascript"></script>');
|
||||
|
||||
}
|
||||
elseif (!empty($_GET['n'])) {
|
||||
$idN = ceil($_GET['n']);
|
||||
$bdd->connexion();
|
||||
$bdd->escape($idN);
|
||||
$resultat = $bdd->unique_query("SELECT * FROM $table_flottes WHERE id_user = '$id_user' AND id = '$idN'");
|
||||
if (isset($_GET['a']) && isset($sess->values['ret_fleet']) && $_GET['a'] == $sess->values['ret_fleet']) {
|
||||
//Calcul du temps passé depuis le lancement de la flotte
|
||||
$tpsDD = time() - $resultat['start_time'];
|
||||
if ($resultat['mission'] == '6') {
|
||||
$template->assign('message','Votre flotte est déjà en train de revenir !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte&n='.$idN.'";\', 1500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif ($resultat['end_time'] > $tpsDD) {
|
||||
$bdd->query("UPDATE $table_flottes SET mission = '6', end_time = '$tpsDD', end_galaxie = start_galaxie, end_ss = start_ss, end_position = start_position WHERE id_user = '$id_user' AND id = '$idN';");
|
||||
header('Location: ?p=flotte&n='.$idN);
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Impossible d\'annuler la mission, elle a déjà commencée.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte&n='.$idN.'";\', 1500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$page = 'flotten';
|
||||
if ($bdd->num_rows <= 0) {
|
||||
$template->assign('message','Impossible de trouver cette flotte !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=flotte";\', 1500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
if (!empty($_POST['nomflotte'])) {
|
||||
$nom = $_POST['nomflotte'];
|
||||
$bdd->escape($nom);
|
||||
$bdd->unique_query("UPDATE $table_flottes SET nom = '$nom' WHERE id = '$idN' LIMIT 1;");
|
||||
$resultat['nom'] = $nom;
|
||||
}
|
||||
$bdd->deconnexion();
|
||||
$resultat['contenu_metalF'] = separerNombres($resultat['contenu_metal']);
|
||||
$resultat['contenu_cristalF'] = separerNombres($resultat['contenu_cristal']);
|
||||
$resultat['contenu_hydrogeneF'] = separerNombres($resultat['contenu_hydrogene']);
|
||||
$resultat['contenu_maxF'] = separerNombres($resultat['contenu_max']);
|
||||
$resultat['missionF'] = txtmission($resultat['mission']);
|
||||
$resultat['tactiqueAtDef'] = txtTactique($queryUser['combatAT_tactique']);
|
||||
$resultat['tactiqueF'] = txtTactique($resultat['tactiqueAT']);
|
||||
$resultat['end_timeT'] = $resultat['start_time'] + $resultat['end_time'];
|
||||
|
||||
$sess->values['ret_fleet'] = sha1('HB.fleet_'.rand().'☺ß☻');
|
||||
$sess->put();
|
||||
|
||||
$template->assign('ret_fleet', $sess->values['ret_fleet']);
|
||||
$template->assign('flotte', $resultat);
|
||||
$template->assign('nomvais', $nomvaisa);
|
||||
$template->assign('n', $idN);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$page = 'flotte1';
|
||||
$bdd->connexion();
|
||||
$resultat = $bdd->query("SELECT * FROM $table_flottes WHERE id_user = '$id_user';");
|
||||
$bdd->deconnexion();
|
||||
$nbr = $bdd->num_rows;
|
||||
$TEMP_flottesEC = array();
|
||||
for ($i=0 ; $i<$nbr ; $i++) {
|
||||
if ($resultat[$i]['mission'] != 1 && ($resultat[$i]['mission'] != 3 || $resultat[$i]['effectue'] == '1' || $resultat[$i]['nb_vais'] >= 1) && $resultat[$i]['mission'] != 0) {
|
||||
$retour = $resultat[$i]['start_galaxie'].':'.$resultat[$i]['start_ss'].':'.$resultat[$i]['start_position'];
|
||||
$Hretour = date('d/m H:i:s',$resultat[$i]['start_time']+2*$resultat[$i]['end_time']);
|
||||
}
|
||||
elseif ($resultat[$i]['mission'] == 1) {
|
||||
$retour = $resultat[$i]['start_galaxie'].':'.$resultat[$i]['start_ss'].':'.$resultat[$i]['start_position'];
|
||||
if (empty($resultat[$i]['ret_time'])) $Hretour = '-';
|
||||
else $Hretour = date('d/m H:i:s',$resultat[$i]['ret_time']+$resultat[$i]['end_time']);
|
||||
}
|
||||
else {
|
||||
$retour = '-';
|
||||
$Hretour = '-';
|
||||
}
|
||||
$TEMP_flottesEC[] = array($resultat[$i]['id'], $resultat[$i]['nom'], txtmission($resultat[$i]['mission']), $resultat[$i]['nb_vais'], $resultat[$i]['end_galaxie'].':'.$resultat[$i]['end_ss'].':'.$resultat[$i]['end_position'], date('d/m H:i:s',$resultat[$i]['start_time']+$resultat[$i]['end_time']), $retour, $Hretour);
|
||||
}
|
||||
$template->assign('flottesEC', $TEMP_flottesEC);
|
||||
|
||||
$TEMP_vaisseaux = array();
|
||||
$j=0;
|
||||
for ($i=1 ; $i<=12 ; $i++) {
|
||||
if ($queryPlanete['vaisseau_'.$i] > 0 && $i != 11) {
|
||||
$j++;
|
||||
$TEMP_vaisseaux[] = array($nomvaisa[$i-1], separerNombres($queryPlanete['vaisseau_'.$i]), $queryPlanete['vaisseau_'.$i], $i);
|
||||
}
|
||||
}
|
||||
$template->assign('vaisseaux', $TEMP_vaisseaux);
|
||||
|
||||
$trez = $queryUser["informatique"] + 1;
|
||||
if ($nbr < $trez) $template->assign('action', '<input class="submit" type="submit" value="OK" />');
|
||||
else $template->assign('action', '<span class="lack">Nombre de flottes maximum simultaniées atteint</span>');
|
||||
|
||||
$template->assign('nbflotte', $nbr);
|
||||
$template->assign('nbflottemax', $trez);
|
||||
}
|
||||
?>
|
||||
142
onyx/hb_game/jeu/inscription.php
Normal file
142
onyx/hb_game/jeu/inscription.php
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
require_once('Class/class.phpmailer.php');
|
||||
session_start();
|
||||
$page = 'inscription';
|
||||
|
||||
$erreurs = '';
|
||||
$inscriptOk = true;
|
||||
if (isset($_POST['HB_pseudo']) && isset($_POST['HB_mdp']) && isset($_POST['HB_conf']) && isset($_POST['HB_mail']) && isset($_POST['servers']) && isset($_POST['HB_captcha']) && isset($_POST['HB_placement'])) {
|
||||
$base = new bdd();
|
||||
$base->connexion();
|
||||
$base->db();
|
||||
|
||||
$pseudo = mysql_real_escape_string(htmlentities($_POST['HB_pseudo']));
|
||||
$mdp = $_POST['HB_mdp'];
|
||||
$mdpconf = $_POST['HB_conf'];
|
||||
$mail = mysql_real_escape_string(htmlentities($_POST['HB_mail']));
|
||||
if (!isset($_POST['race'])) $_POST['race'] = '';
|
||||
$race = mysql_real_escape_string(htmlentities($_POST['race']));
|
||||
$server = mysql_real_escape_string(htmlentities($_POST['servers']));
|
||||
$captcha = mysql_real_escape_string(htmlentities($_POST['HB_captcha']));
|
||||
$placement = mysql_real_escape_string(htmlentities($_POST['HB_placement']));
|
||||
if (!isset($_POST['regles'])) $_POST['regles'] = '';
|
||||
$regles = htmlentities($_POST['regles']);
|
||||
|
||||
//Vérification relative au pseudo : caractéres utilisés + disponibilité
|
||||
if (addslashes(preg_replace('@[^a-zA-Z0-9_]@i', '', $pseudo)) != $pseudo || $pseudo == '') {
|
||||
$inscriptOk = false;
|
||||
$erreurs .= '<p style="color: #FF0000"><b>Le pseudo contient des caractères incorrects.</b><br />Les caractères autorisés sont les lettres minuscules ou majuscules de A à Z sans les accents, ainsi que les chiffres et les caractères . _</p><br />';
|
||||
}
|
||||
else {
|
||||
$result = mysql_query("SELECT `pseudo` FROM `user_inscriptions` WHERE pseudo = '$pseudo'");
|
||||
if(mysql_num_rows($result) >= 1) {
|
||||
$inscriptOk = false;
|
||||
$erreurs .= '<p style="color: #FF0000"><b>Le pseudo est déjà utilisé par un joueur.</b><br />Vous devez choisir un autre pseudo.</p><br />';
|
||||
}
|
||||
}
|
||||
|
||||
//Vérification du mot de passe :
|
||||
if ($mdp == '' || $mdp != $mdpconf) {
|
||||
$inscriptOk = false;
|
||||
$erreurs .= '<p style="color: #FF0000"><b>Mots de passe différents ou ne comportant pas assez de caractères</b><br />Vous devez impérativement choisir un mot de passe pour sécuriser votre compte. Si vous avez spécifié un mot de passe, il se peut que vous n\'ayez pas indiqué le même mot de passe dans la case de confirmation.</p><br />';
|
||||
}
|
||||
|
||||
//Vérification relative au mail : caractéres utilisés + disponibilité
|
||||
if (!preg_match('#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i', $mail) || empty($mail)) {
|
||||
$inscriptOk = false;
|
||||
$erreurs .= '<p style="color: #FF0000"><b>L\'adresse électronique n\'est pas valide.</b><br />L\'adresse électronique que vous avez tappé est invalide ou contient des caractères interdits, recommencez.</p><br />';
|
||||
}
|
||||
else {
|
||||
$result = mysql_query("SELECT mail FROM `user_inscriptions` WHERE mail='$mail'");
|
||||
if(mysql_num_rows($result) >= 1) {
|
||||
$inscriptOk = false;
|
||||
$erreurs .= '<p style="color: #FF0000"><b>L\'adresse électronique que vous avez indiqué est déjà associée à un compte.</b><br>Vous devez choisir une autre adresse électronique.</p><br />';
|
||||
}
|
||||
}
|
||||
|
||||
//Vérification de la race choisie
|
||||
if ($race != 'covenant' && $race != 'humain') {
|
||||
$inscriptOk = false;
|
||||
$erreurs .= '<p style="color: #FF0000"><b>Aucune race choisie</b><br />Vous devez choisir la race que vous désirez incarner dans le jeu.</p><br />';
|
||||
}
|
||||
|
||||
//Vérification du serveur
|
||||
if (is_numeric($server) && $server > 1) {
|
||||
$inscriptOk = false;
|
||||
$erreurs .= '<p style="color: #FF0000"><b>Galaxie incorrecte</b><br />Vous devez choisir une galaxie (un serveur) dans la liste ci-dessous pour pouvoir jouer.</p><br />';
|
||||
}
|
||||
|
||||
//Vérification du partenaire
|
||||
if (!empty($placement)) {
|
||||
$result = mysql_query("SELECT `pseudo` FROM `user_inscriptions` WHERE pseudo = '$placement'");
|
||||
if(mysql_num_rows($result) == 0) {
|
||||
$inscriptOk = false;
|
||||
$erreurs .= '<p style="color: #FF0000"><b>Impossible de trouver le joueur ami.</b><br />Vous devez choisir un autre pseudo.</p><br />';
|
||||
}
|
||||
}
|
||||
|
||||
//Vérification du captcha
|
||||
if (empty($sess->values['aleatnbr']) && isset($_SESSION['aleat_nbr'])) {
|
||||
$sess->values['aleatnbr'] = $_SESSION['aleat_nbr'];
|
||||
}
|
||||
if (empty($sess->values['aleatnbr']) || empty($captcha) || $sess->values['aleatnbr'] != strtolower($captcha)) {
|
||||
$inscriptOk = false;
|
||||
$erreurs .= '<p style="color: #FF0000"><b>Code de vérification incorrect :</b><br />Le texte que vous avez recopier ne correspondait pas au texte de l\'image, veuillez recommencer.</p><br />';
|
||||
}
|
||||
|
||||
//Vérification du captcha
|
||||
if (empty($regles) || $regles != '1') {
|
||||
$inscriptOk = false;
|
||||
$erreurs .= '<p style="color: #FF0000"><b>Vous devez accepter les conditions générales</b><br />';
|
||||
}
|
||||
|
||||
if ($inscriptOk) {
|
||||
$time = time();
|
||||
$ip = $_SERVER["REMOTE_ADDR"];
|
||||
|
||||
// Activer la ligne suivante pour crypter les mots de passe dans la base de données
|
||||
$mdp = sha1(strtoupper($pseudo).':'.$mdp); // Cryptage du mot de passe pour éviter le piratage de compte
|
||||
|
||||
$id_activ = sha1('H'.rand().'/|\\'.rand().'B£');
|
||||
$Nmail = $mail;
|
||||
|
||||
//On envoie le mail de confirmation
|
||||
$mail = new PHPmailer();
|
||||
$mail->SetLanguage('fr', 'Class/');
|
||||
$mail->IsSMTP();
|
||||
$mail->IsHTML(true);
|
||||
$mail->Host='s-fr.com';
|
||||
$mail->From='no-reply@halo-battle.s-fr.com';
|
||||
$mail->FromName='Halo-Battle';
|
||||
$mail->SMTPAuth=true;
|
||||
$mail->Username='no-reply@halo-battle.s-fr.com';
|
||||
$mail->Password='hD3e2nXu';
|
||||
|
||||
$mail->AddAddress($Nmail);
|
||||
$mail->AddReplyTo('no-reply@halo-battle.s-fr.com');
|
||||
$mail->Subject='Halo-Battle :: Activation de votre compte';
|
||||
//$mail->Subject='Halo-Battle :: Pre-Inscription';
|
||||
$mail->Body='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Halo-Battle :: Activation de votre compte</title></head><body><p>Bonjour '.$pseudo.',<br />Vous recevez ce mail suite à votre demande d\'inscription sur le jeu <a href="http://www.halo-battle.s-fr.com/">Halo-Battle</a>. Pour confirmer votre adresse mail et ainsi pouvoir accéder au jeu, cliquez sur le lien ci-après :<br /><a href="http://halo-battle.s-fr.com/?p=validation&i='.$id_activ.'">http://halo-battle.s-fr.com/?p=validation&i='.$id_activ.'</a><br /><br />A bientôt dans Halo-Battle,<br />Le staff</p></body></html>';
|
||||
//$mail->Body='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Halo-Battle :: Pré-Inscription</title></head><body><p>Félicitations '.$pseudo.' !<br />Votre compte vient d'être enregistré sur notre serveur. Un mail de confirmation vous sera envoyé lors de la sortie du jeu en ligne Halo-Battle. Si vous ne recevez pas l\'email de confirmation, <a href="mailto:technique@halo-battle.s-fr.com">contactez un administrateur</a>.<br /><br />A très bientôt pour la sortie d'Halo-Battle !</p></body></html>';
|
||||
|
||||
if(!$mail->Send()){
|
||||
$template->assign('message','Erreur lors de l\'envoie du courriel de confirmation !<br /><br /><small><i>'.$mail->ErrorInfo.'</i></small><br /><br />Si le problème perciste, <a href="mailto:technique@halo-battle.s-fr.com">contactez un administrateur</a>.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else{
|
||||
mysql_query("INSERT INTO `user_inscriptions` (`id_activ`, `pseudo`, `race`, `mdp`, `mail`, `last_ip`, `placement`, `time_inscription`, `last_visite`) VALUES ('$id_activ', '$pseudo', '$race', '$mdp', '$Nmail', '$ip', '$placement', '$time', '$time')") or die ('MYSQLERREUR'.mysql_error());
|
||||
$template->assign('message','Félicitations, votre compte vient d\'être créé sur le serveur '.$server.' de Halo-Battle.<br /><br />Un courriel de confirmation vient d\'être envoyé à votre adresse électronique afin de valider votre inscription au jeu en ligne Halo-Battle.<br /><br />N\'attendez-plus, commencez le combat dès à présent !');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
$mail->SmtpClose();
|
||||
unset($mail);
|
||||
}
|
||||
$base->deconnexion();
|
||||
}
|
||||
$template->assign('erreurs',$erreurs);
|
||||
?>
|
||||
1
onyx/hb_game/jeu/laboratoire.php
Normal file
1
onyx/hb_game/jeu/laboratoire.php
Normal file
File diff suppressed because one or more lines are too long
9
onyx/hb_game/jeu/logout.php
Normal file
9
onyx/hb_game/jeu/logout.php
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
|
||||
$sess->values['connected'] = FALSE;
|
||||
$sess->close();
|
||||
|
||||
header('Location: ./');
|
||||
exit;
|
||||
?>
|
||||
69
onyx/hb_game/jeu/messagerie.php
Normal file
69
onyx/hb_game/jeu/messagerie.php
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'messagerie';
|
||||
$titre = 'Messagerie';
|
||||
|
||||
if (isset($_POST['IM'])) {
|
||||
$stop = false;
|
||||
for($i=1 ; $i<=$_POST['IM'] ; $i++) {
|
||||
if (!empty($_POST['m'.$i])) {
|
||||
$mes = $_POST['m'.$i];
|
||||
$bdd->connexion();
|
||||
$bdd->query("DELETE FROM $table_mail WHERE destinataire = '".$queryUser["pseudo"]."' AND id = '$mes';");
|
||||
$bdd->deconnexion();
|
||||
$stop = true;
|
||||
}
|
||||
}
|
||||
if ($stop) { header('Location: ?p=messagerie'); exit; }
|
||||
}
|
||||
if (isset($_POST['IR'])) {
|
||||
$stop = false;
|
||||
for($i=1 ; $i<=$_POST['IR'] ; $i++) {
|
||||
if (!empty($_POST['r'.$i])) {
|
||||
$mes = $_POST['r'.$i];
|
||||
$bdd->connexion();
|
||||
$bdd->query("UPDATE $table_mail SET vu='s' WHERE destinataire = '".$queryUser["pseudo"]."' AND id = '$mes';");
|
||||
$bdd->deconnexion();
|
||||
$stop = true;
|
||||
}
|
||||
}
|
||||
if ($stop) { header('Location: ?p=messagerie'); exit; }
|
||||
}
|
||||
|
||||
$bdd->connexion();
|
||||
$messcomp = $bdd->query("SELECT * FROM $table_mail WHERE destinataire = '".$queryUser["pseudo"]."' AND expediteur != '' ORDER BY id DESC;");
|
||||
$nbmax = $bdd->num_rows;
|
||||
|
||||
$result = $bdd->query("SELECT * FROM $table_mail WHERE destinataire = '".$queryUser["pseudo"]."' AND expediteur != '' ORDER BY id DESC LIMIT 50;");
|
||||
|
||||
if ($queryUser['auth_level'] >= 3 && $nbmax > $i) $result = $messcomp;
|
||||
elseif ($nbmax > $bdd->num_rows) $template->assign('avertissement', '<p style="color: red; "><b>Vous avez des messages en attente de réception. Libérez de la place dans votre messagerie pour les afficher.</b></p>');
|
||||
|
||||
$TEMP_messages = array();
|
||||
$i=0;
|
||||
$nbc = count($result);
|
||||
for ($i=0 ; $i < $nbc ; $i++) {
|
||||
$TEMP_messages[] = array($result[$i]['sujet'], date("d/m/y H:i:s", $result[$i]['temps']), $result[$i]['expediteur'], bbcode($result[$i]['contenu']), $i+1, $result[$i]['id']);
|
||||
}
|
||||
$template->assign('messages', $TEMP_messages);
|
||||
$template->assign('IM', $i);
|
||||
|
||||
|
||||
$data = $bdd->query("SELECT * FROM $table_mail WHERE destinataire = '".$queryUser["pseudo"]."' AND expediteur = '' AND vu != 's' ORDER BY id DESC;");
|
||||
$nbres = $bdd->num_rows;
|
||||
$TEMP_rapport = array();
|
||||
$i=0;
|
||||
for($i = 0; $i < $nbres; $i++){
|
||||
$i++;
|
||||
$TEMP_rapport[] = array($data[$i]['sujet'], date("d/m/y H:i:s", $data[$i]['temps']), 0, bbcode($data[$i]['contenu']), $i, $data[$i]['id']);
|
||||
}
|
||||
$template->assign('rapports', $TEMP_rapport);
|
||||
$template->assign('IR', $i);
|
||||
$template->assign('script', '<script>
|
||||
for (j=1; document.getElementsByName(\'m\'+j)[0]; j++) hide(document.getElementsByName(\'m\'+j)[0].previousSibling);
|
||||
for (j=1; document.getElementsByName(\'r\'+j)[0]; j++) hide(document.getElementsByName(\'r\'+j)[0].previousSibling);
|
||||
</script>');
|
||||
|
||||
$bdd->query("UPDATE $table_mail SET vu = '0' WHERE destinataire = '".$queryUser["pseudo"]."' AND vu != 's'");
|
||||
$bdd->deconnexion();
|
||||
?>
|
||||
135
onyx/hb_game/jeu/njoueur.php
Normal file
135
onyx/hb_game/jeu/njoueur.php
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
|
||||
if (!empty($_GET['cds'])) {
|
||||
if (!empty($_GET['nom']) && !empty($_GET['race']) && !empty($_GET['mdp']) && !empty($_GET['mail']) && !empty($_GET['ti']) && isset($_GET['placement'])) {
|
||||
file_log('inscription : login = '.$_POST['HB_login'].' ; password = '.$_POST['HB_password'], 1);
|
||||
if ($_GET['cds'] == sha1($_GET['nom'].'$'.$_GET['race'].'£'.$_GET['mdp'].'#'.$_GET['mail'].'ß'.$_GET['ti'].'Ó'.$_SERVER['HTTP_USER_AGENT'].'♀☻'.$_SERVER['REMOTE_ADDR'].$_GET['placement'])) {
|
||||
$base = new bdd();
|
||||
$base->connexion();
|
||||
$base->db();
|
||||
|
||||
$pseudo = mysql_real_escape_string($_GET['nom']);
|
||||
$mdp = mysql_real_escape_string($_GET['mdp']);
|
||||
$race = mysql_real_escape_string($_GET['race']);
|
||||
$mail = mysql_real_escape_string($_GET['mail']);
|
||||
$ti = mysql_real_escape_string($_GET['ti']);
|
||||
|
||||
$base->query("SELECT * FROM `user` WHERE `pseudo` = '$pseudo' ORDER BY `id` DESC;");
|
||||
if ($base->num_rows) {
|
||||
$template->assign('message','Votre compte est déjà créé sur ce serveur !');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
|
||||
//Création de l'utilisateur
|
||||
$base->query("INSERT INTO `user` (`pseudo`, `mdp`, `race`, `mail`, `last_ip`, `time_inscription`) VALUES ('$pseudo', '$mdp', '$race', '$mail', '".$_SERVER['REMOTE_ADDR']."', '".time()."');");
|
||||
|
||||
//Création des bases de la planète
|
||||
$image = mt_rand(1,15);
|
||||
$cases = 225;
|
||||
$queryUser = $base->query("SELECT * FROM `user` WHERE `pseudo` = '$pseudo' ORDER BY `id` DESC;");
|
||||
$id_user = $queryUser[0]['id'];
|
||||
$time = time();
|
||||
|
||||
//Recherche d'une planète disponible
|
||||
if (empty($_GET['placement'])) {
|
||||
$planete_trouvee = false;
|
||||
while (!$planete_trouvee) {
|
||||
$galaxie = mt_rand(1, MAX_AMAS);
|
||||
$ss = mt_rand(1, MAX_SYSTEME);
|
||||
$pos = mt_rand(1, MAX_PLANETE);
|
||||
|
||||
//Test pour savoir si la planète est déjà habitée
|
||||
$base->query("SELECT id FROM `planete` WHERE galaxie='$galaxie' AND ss='$ss' AND position='$pos'");
|
||||
if($base->num_rows) $planete_trouvee = false;
|
||||
else $planete_trouvee = true;
|
||||
}
|
||||
|
||||
$base->query("INSERT INTO `planete` (`id_user`, `nom_planete`, `galaxie`, `ss`, `position`, `image`, `cases`, `timestamp`, `metal`, `cristal`) VALUES ('$id_user', 'Planète mère', '$galaxie', '$ss', '$pos', '$image', '$cases', '$time', '1000', '700')");
|
||||
}
|
||||
else {
|
||||
$placement_joueur = $base->unique_query("SELECT * FROM `user` WHERE `pseudo` = '".mysql_real_escape_string($_GET["placement"])."'");
|
||||
if (!$placement_joueur && !isset($sess->values['forceInscript'])) {
|
||||
$sess->values['forceInscript'] = true;
|
||||
$sess->put();
|
||||
$template->assign('message','Le joueur à côté duquel vous souhaitez être placé n\'est pas encore ou plus inscrit sur ce serveur.<br /><br />Si vous ne souhaitez plus être placé à ses côtés, rechargez la page.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
if (!isset($sess->values['forceInscript'])) {
|
||||
$placement_planetes = $base->query("SELECT * FROM `planete` WHERE `id_user` = '".$placement_joueur["id"]."'");
|
||||
$planete_trouvee = false;
|
||||
$decale = 0;
|
||||
while (!$planete_trouvee) {
|
||||
for($i = 0; $i < $base->num_rows ; $i++){
|
||||
$galaxie = $placement_planetes[$i]['galaxie'];
|
||||
$ss = $placement_planetes[$i]['ss'] + $decale;
|
||||
if ($ss >= MAX_SYSTEME) break;
|
||||
for ($j = 1; $j <= MAX_PLANETE ; $j++) {
|
||||
$base->query("SELECT * FROM `planete` WHERE galaxie='$galaxie' AND ss='$ss' AND position='$j'");
|
||||
if(!$base->num_rows) {
|
||||
$planete_trouvee = true;
|
||||
$blk_galaxie = $galaxie;
|
||||
$blk_ss = $ss;
|
||||
$blk_pos = $j;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($planete_trouvee) break;
|
||||
}
|
||||
$decale++;
|
||||
if ($ss >= MAX_SYSTEME) break;
|
||||
}
|
||||
|
||||
if (!$planete_trouvee) $impplac = true;
|
||||
}
|
||||
|
||||
if (!$planete_trouvee || ($planete_trouvee && !empty($sess->values['forceInscript']))) {
|
||||
while (!$planete_trouvee) {
|
||||
$blk_galaxie = mt_rand(1, MAX_AMAS);
|
||||
$blk_ss = mt_rand(1, MAX_SYSTEME);
|
||||
$blk_pos = mt_rand(1, MAX_PLANETE);
|
||||
|
||||
//Test pour savoir si la planète est déjà habitée
|
||||
$base->query("SELECT id FROM `planete` WHERE galaxie='$blk_galaxie' AND ss='$blk_ss' AND position='$blk_pos'");
|
||||
if($base->num_rows) $planete_trouvee = false;
|
||||
else $planete_trouvee = true;
|
||||
}
|
||||
}
|
||||
$base->query("INSERT INTO `planete` (`id_user`, `nom_planete`, `galaxie`, `ss`, `position`, `image`, `cases`, `timestamp`, `metal`, `cristal`) VALUES ('$id_user', 'Planète mère', '$blk_galaxie', '$blk_ss', '$blk_pos', '$image', '$cases', '$time', '1000', '700')");
|
||||
}
|
||||
$base->deconnexion();
|
||||
|
||||
if (!empty($impplac)) {
|
||||
$template->assign('message','Impossible de trouver une planète proche du joueur près duquel vous vouliez être placé.<br />Vous avez été placé aléatoirement.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Vous pouvez maintenant vous connectez sur ce serveur !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?index";\', 3500);</script>');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Impossible d\'authentifier votre inscription !<br /><br />Si le problème perciste, contactez un administrateur.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Impossible de terminer votre inscription, il manque des données !<br /><br />Si le problème perciste, contactez un administrateur.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else header('Location: ./');
|
||||
?>
|
||||
72
onyx/hb_game/jeu/operateur.php
Normal file
72
onyx/hb_game/jeu/operateur.php
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'operateur';
|
||||
$titre = 'Contact opérateur';
|
||||
|
||||
if (!empty($_POST['titre']) && !empty($_POST['description'])) {
|
||||
$titre = $_POST['titre'];
|
||||
$description = $_POST['description'];
|
||||
|
||||
$bdd->connexion();
|
||||
$bdd->escape($titre);
|
||||
$bdd->escape($description);
|
||||
$bdd->query("INSERT INTO $table_ope_mail VALUES(NULL, '$id_user', '$titre', '$description', '".time()."');");
|
||||
$bdd->deconnexion();
|
||||
$template->assign('message','Votre demande à bien été transmise aux opérateurs de la galaxie.<br />Une réponse vous sera donnée dans les plus brefs délais.');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif (!empty($_POST['O_titre']) && !empty($_POST['O_description']) && $sess->values['auth_level'] > 4) {
|
||||
$titre = $_POST['O_titre'];
|
||||
$description = $_POST['O_description'];
|
||||
|
||||
$bdd->connexion();
|
||||
$bdd->escape($titre);
|
||||
$bdd->escape($description);
|
||||
$bdd->query("INSERT INTO $table_ope_faq VALUES(NULL, '$titre', '$description', 100);");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=operateur');
|
||||
exit;
|
||||
}
|
||||
elseif (isset($_GET['a']) && $_GET['a'] == 'top' && isset($_GET['i']) && $sess->values['auth_level'] > 4) {
|
||||
$i = $_GET['i'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($i);
|
||||
$bdd->query("UPDATE $table_ope_faq SET ordre = ordre - 1 WHERE id = '$i' LIMIT 1;");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=operateur');
|
||||
exit;
|
||||
}
|
||||
elseif (isset($_GET['a']) && $_GET['a'] == 'bas' && isset($_GET['i']) && $sess->values['auth_level'] > 4) {
|
||||
$i = $_GET['i'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($i);
|
||||
$bdd->query("UPDATE $table_ope_faq SET ordre = ordre + 1 WHERE id = '$i' LIMIT 1;");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=operateur');
|
||||
exit;
|
||||
}
|
||||
elseif (isset($_GET['a']) && $_GET['a'] == 'del' && isset($_GET['i']) && $sess->values['auth_level'] > 4) {
|
||||
$i = $_GET['i'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($i);
|
||||
$bdd->query("DELETE FROM $table_ope_faq WHERE id = '$i' LIMIT 1;");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=operateur');
|
||||
exit;
|
||||
}
|
||||
|
||||
$bdd->connexion();
|
||||
$operateurs = $bdd->query("SELECT * FROM $table_user WHERE auth_level > 2 ORDER BY auth_level ASC;");
|
||||
$questions = $bdd->query("SELECT * FROM $table_ope_faq ORDER BY ordre ASC;");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$template->assign('operateurs', $operateurs);
|
||||
|
||||
$TEMP_questions = array();
|
||||
for ($i = 0; $i < $bdd->num_rows; $i++) {
|
||||
$TEMP_questions[] = array($questions[$i]['titre'], bbcode(nl2br(htmlspecialchars($questions[$i]['contenu']))), $questions[$i]['id']);
|
||||
}
|
||||
$template->assign('questions', $TEMP_questions);
|
||||
?>
|
||||
210
onyx/hb_game/jeu/options.php
Normal file
210
onyx/hb_game/jeu/options.php
Normal file
|
|
@ -0,0 +1,210 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
require_once(_FCORE."hb_game/Class/class.phpmailer.php");
|
||||
$page = 'options';
|
||||
$titre = 'Options';
|
||||
$template->assign('page',$page);
|
||||
$template->assign('titre',$titre);
|
||||
|
||||
$pseudo = $queryUser['pseudo'];
|
||||
$mailUtil = $queryUser['mail'];
|
||||
$mdp = $queryUser['mdp'];
|
||||
|
||||
if (isset($_GET['a']) && $_GET['a'] == 'mv' && isset($_GET['n']) && $_GET['n'] == $sess->values['idvac']) {
|
||||
$impossible = false;
|
||||
include_once(_FCORE."hb_game/Class/class.gerefile.php");
|
||||
$nbPlan = count($queryPlanetes);
|
||||
for ($i=0 ; $i<$nbPlan ; $i++) {
|
||||
$file = unserialize($queryPlanetes[$i]['file_bat']);
|
||||
if (!empty($queryPlanetes[$i]['file_bat']) && count($file->file)) $impossible = true;
|
||||
|
||||
$file = unserialize($queryPlanetes[$i]['file_tech']);
|
||||
if (!empty($queryPlanetes[$i]['file_tech']) && count($file->file)) $impossible = true;
|
||||
|
||||
$file = unserialize($queryPlanetes[$i]['file_cas']);
|
||||
if (!empty($queryPlanetes[$i]['file_cas']) && count($file->file)) $impossible = true;
|
||||
|
||||
$file = unserialize($queryPlanetes[$i]['file_vais']);
|
||||
if (!empty($queryPlanetes[$i]['file_vais']) && count($file->file)) $impossible = true;
|
||||
|
||||
$file = unserialize($queryPlanetes[$i]['file_ter']);
|
||||
if (!empty($queryPlanetes[$i]['file_ter']) && count($file->file)) $impossible = true;
|
||||
}
|
||||
|
||||
if ($impossible) {
|
||||
$template->assign('message','Impossible d\'activer le mode vacances.<br />Toutes les files d\'attentes sur vos différentes planètes ne sont pas vides.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 4000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$bdd->connexion();
|
||||
$bdd->query("SELECT * FROM flottes WHERE id_user = '$id_user'");
|
||||
if ($bdd->num_rows) {
|
||||
$template->assign('message','Des flottes sont actuellement en mission, veuillez toutes les faire revenir à quai avant d\'activer le mode vacances.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 4000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
|
||||
$bdd->query("UPDATE user SET mv = '1' WHERE id = '$id_user'");
|
||||
$bdd->deconnexion();
|
||||
$sess->values['connected'] = FALSE;
|
||||
$sess->put();
|
||||
|
||||
$template->assign('message','Le mode vacances est maintenant actif sur votre compte.<br /><br />Vous pourez vous reconnecter sur votre compte à partir de<br />'.strftime("%A %d %B à %H:%M", $queryUser['last_visite']+259200).'<br /><br />Bonnes vacances !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?index";\', 10000);</script>');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
if (isset($_GET['chg']) && $_GET['chg'] == 'mdp') {
|
||||
if (isset($_POST['mdp_anc']) && isset($_POST['mdp_nouv']) && isset($_POST['mdp_conf']) && !empty($_POST['mdp_anc']) && !empty($_POST['mdp_nouv']) && !empty($_POST['mdp_conf'])) {
|
||||
if(sha1(strtoupper($pseudo).':'.$_POST['mdp_anc']) == $mdp) {
|
||||
if ($_POST['mdp_nouv'] == $_POST['mdp_conf']) {
|
||||
$password = htmlspecialchars(mysql_escape_string($_POST['mdp_nouv']));
|
||||
$password = sha1(strtoupper($pseudo).':'.$password);
|
||||
$auth = sha1($password);
|
||||
$bdd->connexion();
|
||||
$bdd->query("UPDATE user SET mdpNOUV = '$password' WHERE id = '$id_user'");
|
||||
$bdd->deconnexion();
|
||||
|
||||
//On envoie le mail de confirmation
|
||||
$mail = new PHPmailer();
|
||||
$mail->SetLanguage('fr', _FCORE."hb_game/Class/");
|
||||
$mail->IsSMTP();
|
||||
$mail->IsHTML(true);
|
||||
$mail->Host='s-fr.com';
|
||||
$mail->From='Halo-Battle <no-reply@halo-battle.s-fr.com>';
|
||||
$mail->SMTPAuth=true;
|
||||
$mail->Username='no-reply@halo-battle.s-fr.com';
|
||||
$mail->Password='hD3e2nXu';
|
||||
|
||||
$mail->AddAddress($mailUtil);
|
||||
$mail->AddReplyTo('no-reply@halo-battle.s-fr.com');
|
||||
$mail->Subject='Halo-Battle :: Activation de votre nouveau mot de passe';
|
||||
$mail->Body='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>Halo-Battle :: Activation de votre nouveau mot de passe</title></head><body><p>Bonjour '.trouvNom($id_user).',<br />Vous recevez ce mail suite à votre demande de changement de mot de passe. Ce dernier entrera en vigueur une fois que vous aurez valider ce changement en cliquant via ce lien :<br /><a href="http://'.$_SERVER['HTTP_HOST'].'?p=changeopt&util='.$id_user.'&auth='.$auth.'">http://'.$_SERVER['HTTP_HOST'].'?p=changeopt&util='.$id_user.'&auth='.$auth.'</a><br />Notez que pour que le mot de passe soit changé, il faut que vous soyer connecté sur votre compte.<br /><br />A bientôt dans Halo-Battle,<br />Le staff</p></body></html>';
|
||||
|
||||
if(!$mail->Send()){ //Teste si le return code est ok.
|
||||
$template->assign('message','Erreur lors de l\'envoie du courriel de confirmation !<br /><br /><small><i>'.$mail->ErrorInfo.'</i></small><br /><br />Si le problème perciste, <a href="mailto:technique@halo-battle.s-fr.com">contactez un administrateur</a>.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else{
|
||||
$template->assign('message','Un courriel vient d\'être envoyé à '.$mailUtil.'. Le mot de passe ne sera modifié qu\'après avoir cliqué sur le lien d\'activation contenu dans ce courriel.');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
$mail->SmtpClose();
|
||||
unset($mail);
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Le nouveau mot de passe que vous avez entré ne correspond pas à sa confirmation.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 3500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$template->assign('message','L\'ancien mot de passe que vous avez tapé n\'est pas correct.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 3000);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Veuillez remplir tous les champs avant de valider le formulaire.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
elseif (isset($_GET['chg']) && $_GET['chg'] == 'mail') {
|
||||
if (isset($_POST['mdp_mail']) && sha1(strtoupper($pseudo).':'.$_POST['mdp_mail']) == $mdp) {
|
||||
if (isset($_POST['mail']) && !empty($_POST['mail'])) {
|
||||
$Nmail = $_POST['mail'];
|
||||
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $Nmail)) {
|
||||
$bdd->connexion();
|
||||
$bdd->escape($Nmail);
|
||||
$result = $bdd->query("SELECT mail FROM user WHERE mail = '$Nmail'");
|
||||
if($result) {
|
||||
$bdd->deconnexion();
|
||||
header('Location: options.php?erreur=5');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$auth = sha1($Nmail);
|
||||
$bdd->query("UPDATE user SET mailNOUV = '$Nmail' WHERE id = '$id_user'");
|
||||
$bdd->deconnexion();
|
||||
|
||||
//On envoie le mail de confirmation
|
||||
$mail = new PHPmailer();
|
||||
$mail->SetLanguage('fr', _FCORE."hb_game/Class/");
|
||||
$mail->IsSMTP();
|
||||
$mail->IsHTML(true);
|
||||
$mail->Host='s-fr.com';
|
||||
$mail->From='Halo-Battle <no-reply@halo-battle.s-fr.com>';
|
||||
$mail->SMTPAuth=true;
|
||||
$mail->Username='no-reply@halo-battle.s-fr.com';
|
||||
$mail->Password='hD3e2nXu';
|
||||
|
||||
$mail->AddAddress($Nmail);
|
||||
$mail->AddReplyTo('no-reply@halo-battle.s-fr.com');
|
||||
$mail->Subject='Halo-Battle :: Activation de votre nouvelle adresse électronique';
|
||||
$mail->Body='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>Halo-Battle :: Activation de votre nouvelle adresse électronique</title></head><body><p>Bonjour,<br />Vous recevez ce mail suite à votre demande de changement d\'adresse électronique. Cette dernière entrera en vigueur une fois que vous aurez valider ce changement en cliquant via ce lien :<br /><a href="http://'.$_SERVER['HTTP_HOST'].'?p=changeopt&util='.$id_user.'&auth='.$auth.'">http://'.$_SERVER['HTTP_HOST'].'?p=changeopt&util='.$id_user.'&auth='.$auth.'</a><br />Notez que pour que l\'adresse soit changée, il faut que vous soyer connecté sur votre compte.<br /><br />A bientôt dans Halo-Battle,<br />Le staff</p></body></html>';
|
||||
|
||||
if(!$mail->Send()){ //Teste si le return code est ok.
|
||||
$template->assign('message','Erreur lors de l\'envoie du courriel de confirmation !<br /><br /><small><i>'.$mail->ErrorInfo.'</i></small><br /><br />Si le problème perciste, <a href="mailto:technique@halo-battle.s-fr.com">contactez un administrateur</a>.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else{
|
||||
$template->assign('message','Un courriel vient d\'être envoyé à '.$Nmail.'. L\'adresse électronique ne sera modifié qu\'après avoir cliqué sur le lien d\'activation contenu dans ce courriel.');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
$mail->SmtpClose();
|
||||
unset($mail);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$template->assign('message','L\'adresse électronique que vous avez tapée n\'est pas valide.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Veuillez remplir tous les champs avant de valider le formulaire.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Mot de passe incorrect.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=options";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$sess->values['idvac'] = sha1(rand(123456789,9876543210).'ß‘}☻'.time());
|
||||
$sess->put();
|
||||
|
||||
$template->assign('mail',$queryUser['mail']);
|
||||
$template->assign('idvac',$sess->values['idvac']);
|
||||
?>
|
||||
37
onyx/hb_game/jeu/options_change.php
Normal file
37
onyx/hb_game/jeu/options_change.php
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$titre = 'Changement des options';
|
||||
|
||||
if (isset($_GET['auth'])) {
|
||||
if (!empty($queryUser['mdpNOUV']) && !empty($queryUser['mdpNOUV']) && sha1($queryUser['mdpNOUV']) == $_GET['auth']) {
|
||||
$bdd->connexion();
|
||||
$bdd->query("UPDATE user SET mdp = mdpNOUV, mdpNOUV = '', mailNOUV = '' WHERE id = '$id_user';");
|
||||
$bdd->deconnexion();
|
||||
$template->assign('message','Votre nouveau mot de passe est en place.');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif (!empty($queryUser['mailNOUV']) && !empty($queryUser['mailNOUV']) && sha1($queryUser['mailNOUV']) == $_GET['auth']) {
|
||||
$bdd->connexion();
|
||||
$bdd->query("UPDATE user SET mail = mailNOUV, mailNOUV = '', mdpNOUV = '' WHERE id = '$id_user';");
|
||||
$bdd->deconnexion();
|
||||
$template->assign('message','Votre nouvelle adresse électronique est en place.');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Impossible d\'authentifier le lien !');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Le lien est incomplet !');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
98
onyx/hb_game/jeu/oubliemdp.php
Normal file
98
onyx/hb_game/jeu/oubliemdp.php
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
session_start();
|
||||
require_once(_FCORE."hb_game/Class/class.phpmailer.php");
|
||||
$page = 'oubliemdp';
|
||||
$erreur = '';
|
||||
|
||||
if (!empty($_GET['i']) && isset($_GET['n'])) {
|
||||
$Un = $_GET['n'];
|
||||
$Ui = $_GET['i'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($Un);
|
||||
$bdd->escape($Ui);
|
||||
$user = $bdd->unique_query("SELECT * FROM user WHERE pseudo = '$Un' AND mdpNOUV = '$Ui';");
|
||||
if ($user && $bdd->unique_query("UPDATE user SET mdp = mdpNOUV, mdpNOUV = '' WHERE pseudo = '$Un'")) {
|
||||
$bdd->deconnexion();
|
||||
$template->assign('message','Votre mot de passe a été réinitialisé avec succès.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?index";\', 3500);</script>');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$bdd->deconnexion();
|
||||
$template->assign('message','Ce lien a expiré !');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['HB_pseudo']) && isset($_POST['HB_mail']) && isset($_POST['HB_captcha'])) {
|
||||
$ok = true;
|
||||
if (empty($_POST['HB_pseudo']) || empty($_POST['HB_mail'])) {
|
||||
$ok = false;
|
||||
$erreur .= '<p style="color: #FF0000"><b>Pseudo ou adresse électronique vide :</b><br />Veuillez compléter tous les champs de ce formulaire avant de le valider.</p><br />';
|
||||
}
|
||||
if (strtolower($_POST['HB_captcha']) != strtolower($_SESSION['aleat_nbr'])) {
|
||||
$ok = false;
|
||||
$erreur .= '<p style="color: #FF0000"><b>Code de vérification incorrect :</b><br />Le texte que vous avez recopier ne correspondait pas au texte de l\'image, veuillez recommencer.</p><br />';
|
||||
}
|
||||
if ($ok) {
|
||||
$HB_pseudo = $_POST['HB_pseudo'];
|
||||
$HB_mail = $_POST['HB_mail'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($HB_pseudo);
|
||||
$bdd->escape($HB_mail);
|
||||
$user = $bdd->unique_query("SELECT id FROM $table_user WHERE pseudo = '$HB_pseudo' AND mail = '$HB_mail';");
|
||||
if ($user) {
|
||||
$liste = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
$code = '';
|
||||
while(strlen($code) != 8) {
|
||||
$code .= $liste[rand(0,60)];
|
||||
}
|
||||
$passNOUV = sha1(strtoupper($HB_pseudo).':'.$code);
|
||||
$bdd->unique_query("UPDATE $table_user SET mdpNOUV = '$passNOUV' WHERE pseudo = '$HB_pseudo';");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$mail = new PHPmailer();
|
||||
$mail->SetLanguage('fr', _FCORE."hb_game/Class/");
|
||||
$mail->IsSMTP();
|
||||
$mail->IsHTML(true);
|
||||
$mail->Host='s-fr.com';
|
||||
$mail->From='no-reply@halo-battle.s-fr.com';
|
||||
$mail->FromName='Halo-Battle';
|
||||
$mail->SMTPAuth=true;
|
||||
$mail->Username='no-reply@halo-battle.s-fr.com';
|
||||
$mail->Password='hD3e2nXu';
|
||||
|
||||
$mail->AddAddress($HB_mail);
|
||||
$mail->AddReplyTo('no-reply@halo-battle.s-fr.com');
|
||||
$mail->Subject='Halo-Battle :: Reinitialisation du mot de passe';
|
||||
$mail->Body='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Halo-Battle :: Réinitialisation du mot de passe</title></head><body><p>Bonjour '.$HB_pseudo.',<br />Vous recevez ce mail suite à votre demande de réinitialisation de mot de passe. Pour confirmer votre réinitialisation de mot de passe et ainsi pouvoir de nouveau accéder au jeu, cliquez sur le lien ci-après :<br /><a href="'.$_SERVER['HTTP_HOST'].'?p=oubliemdp&i='.$passNOUV.'&n='.$HB_pseudo.'">'.$_SERVER['HTTP_HOST'].'?p=oubliemdp&i='.$passNOUV.'&n='.$HB_pseudo.'</a><br /><br />Votre nouveau mot de passe est : '.$code.'<br /><br />A bientôt dans Halo-Battle,<br />Le staff</p></body></html>';
|
||||
|
||||
if(!$mail->Send()){ //Teste si le return code est ok.
|
||||
$template->assign('message','Erreur lors de l\'envoie du courriel de confirmation !<br /><br /><small><i>'.$mail->ErrorInfo.'</i></small><br /><br />Si le problème perciste, <a href="mailto:technique@halo-battle.s-fr.com">contactez un administrateur</a>.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else{
|
||||
$template->assign('message','Un nouveau mot de passe a été généré pour votre compte, vous le trouverez dans votre boîte de courrier électronique.');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
$mail->SmtpClose();
|
||||
unset($mail);
|
||||
}
|
||||
else {
|
||||
$bdd->deconnexion();
|
||||
$erreur .= '<p style="color: #FF0000"><b>Nom d\'utilisateur ou adresse électronique incorrect :</b><br />L\'adresse électronique que vous avez indiqué ne correspond pas au nom d\'utilisateur. Réessayez.</p><br />';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$template->assign('erreurs', $erreur);
|
||||
?>
|
||||
124
onyx/hb_game/jeu/regles.php
Normal file
124
onyx/hb_game/jeu/regles.php
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = '../cms/vide';
|
||||
$titre = 'Règles du jeu';
|
||||
|
||||
$template->assign('contenu','<h1>Règles de Halo-Battle</h1><div style="text-align: left; margin: 15px; font-size: 115%;">
|
||||
<u>Préambule :</u> tous les joueurs ayant créé un compte de jeu, et l'utilisant ou non, s'engagent à avoir lu et à respecter les règles de Halo-Battle dans leur intégralité. Si l'une des règles énoncées ci-dessous est transgressée, merci de vous référer au chapitre des infractions afin de connaître toutes les modalités relatives aux punitions encourues.<br />
|
||||
<br />
|
||||
Ce règlement peut être l'objet d'une modification, partielle ou totale, et il est du ressort du joueur de se tenir informé de toute modification quelle qu'elle soit. Toute modification sera publiée sur le forum avec sa date de mise en application, avant de se trouver effective au sein du jeu.<br />
|
||||
<br />
|
||||
Ces règles du jeu ont été publiées le 14/04/2008 et rentrent en vigueur à partir du 24/04/2008
|
||||
<br />
|
||||
<br /><u>Plan des règles :</u>
|
||||
<br />
|
||||
<br /><a href="#comportement">I. Comportement</a>
|
||||
<br /><a href="#comptes">II. Comptes</a>
|
||||
<br /><a href="#commerce">III. Commerce et ressources</a>
|
||||
<br /><a href="#mercenariat">IV. Mercenariat</a>
|
||||
<br /><a href="#guerre">V. Guerre</a>
|
||||
<br /><a href="#bash">VI. Bash</a>
|
||||
<br /><a href="#alliances">VII. Alliances</a>
|
||||
<br /><a href="#sanctions">VIII. Sanctions</a>
|
||||
<br /><br /><br />
|
||||
<h3 id="comportement">I. Comportement</h3><br />
|
||||
<h4>1 - Comportement général</h4><br />
|
||||
|
||||
- La convivialité et le respect des autres joueurs sont de rigueur. Par conséquent, les propos injurieux, racistes, xénophobes, pornographiques et antisémites sont prohibés. Tous les outils de communications utilisés pour et par Halo-Battle sont soumis à cette règle (jeu, forum et IRC).<br />
|
||||
- L'utilisation de pseudo et/ou nom de planète en rapport direct avec des propos racistes, xénophobes, pornographiques ou encore antisémites est totalement prohibé. Il en va de même pour toute revendication politique, religieuse ou ayant un rapport avec l'actualité (une certaine liberté peut être tolérée mais ceci reste à l'appréciation du staff).<br />
|
||||
- Les menaces sortant du cadre du jeu ne seront pas tolérées et lourdement sanctionnées par les opérateurs. Elles pourront de plus faire l'objet de poursuites judiciaires de la part de la personne concernée devant les juridictions compétentes.<br />
|
||||
- Utiliser le bouton Signaler pour signaler un message qui ne contient pas d'insultes ou qui n'enfreint pas les règles du jeu est interdit. Le signalement de message ne doit servir qu'à informer les opérateurs d'infractions aux règles du jeu et à rien d'autre.<br />
|
||||
- Le spam, les insultes et les messages à contenus offensants sont interdits, de même que tout contenu xénophobe, antisémite ou raciste.<br />
|
||||
- Toute manoeuvre visant à exploiter le règlement à son avantage, ou à le contourner sciemment, est interdite.<br />
|
||||
|
||||
<br /><h4>2 - Bugusing</h4><br />
|
||||
|
||||
- Tout bug trouvé doit être immédiatement signalé au staff de Halo-Battle.<br />
|
||||
- Il est totalement prohibé d'exploiter un bug à son avantage.<br />
|
||||
- Toute action visant à paralyser d'une quelconque manière le compte d'un autre joueur est absolument interdit.<br />
|
||||
- Ne pas signaler un bug découvert est passible de bannissement.<br />
|
||||
|
||||
<br /><h3 id="comptes">II. Comptes</h3><br />
|
||||
|
||||
<br /><h4>1 - Les comptes de jeu</h4><br />
|
||||
|
||||
- Les comptes restent la propriété de Halo-Battle ; par conséquent, ils ne peuvent faire l'objet d'une vente ou faire office de monnaie d'échange.<br />
|
||||
- Un compte ne peut être joué que par une seule et même personne physique dans une seule et même galaxie (sauf cas relatif à la surveillance de compte).<br />
|
||||
- La langue utilisée dans Halo-Battle est le français ; toutefois, seul l'anglais est toléré pour les personnes ne sachant pas ou peu le parler.<br />
|
||||
|
||||
<br /><h4>2 - Multicomptes</h4><br />
|
||||
|
||||
- Jouer plus d'un compte par galaxie est strictement interdit.<br />
|
||||
- Pour les joueurs jouant depuis un lieu commun (famille, collocation, écoles, lieux de travail...) il est impératif de prévenir l'opérateur de votre galaxie.<br />
|
||||
- Aucune interaction, directe ou non, entre comptes de joueurs se connectant régulièrement de lieux communs n'est autorisée.<br />
|
||||
- Pour les joueurs d'une même famille, faire partie d'une même alliance est toléré. Dans ce cas précit, merci d'en avertir l'opérateur de votre galaxie. Toute exploitation abusive de cette autorisation sera sévérement sanctionnée.<br />
|
||||
- La règle de la surveillance de compte et le partage de compte s'appliquent normalement : même connecté du même lieu, chaque joueur n'est autorisé à surveiller ou jouer que son propre compte.<br />
|
||||
|
||||
<br /><h4>3 - Surveillance de compte</h4><br />
|
||||
|
||||
- Toute surveillance de compte doit être obligatoirement signalée à l'opérateur de votre galaxie. Le propriétaire du-dit compte doit indiquer quel compte va être surveillé, donner la durée exacte de la surveillance, et donner le pseudonyme du surveillant. Il n'est pas nécessaire d'attendre une réponse de l'opérateur pour pouvoir commencer la surveillance du compte.<br />
|
||||
- Une seule et même personne ne peut surveiller qu'un seul compte à la fois. Aucun délais minimum n'est exigé entre la surveillance de deux comptes différents. Les surveillances de comptes ne peuvent faire l'objet d'aucune rémunération.<br />
|
||||
- Le surveillant ainsi que le joueur qui fait surveiller son compte sont responsables des actions faites via un compte durant une surveillance.<br />
|
||||
- Le surveillant peut effectuer n'importe quelle opération sur la ou les planètes du propriétaire durant la surveillance. Est néanmoins interdit le transfert de ressources vers des planètes appartenant à un joueur autre. L'activation du mode vacances est également autorisé.<br />
|
||||
- La surveillance du compte prend fin lorsque le propriétaire du compte se reconnecte à celui-ci, ou que le délai de surveillance a expiré. Dans ce cas précit, le surveillant est tenu de ne plus s'en occuper et de faire passer obligatoirement le compte en mode vacances.<br />
|
||||
|
||||
<br /><h4>4 - Don de compte</h4><br />
|
||||
|
||||
- Tout changement de compte doit être au préalable signalé à un opérateur. Tout changement sans l'intervention de l'opérateur sera sanctionné.<br />
|
||||
- Le propriétaire du mail permanent du compte est tenu d'envoyer un mail informatif aux opérateurs en précisant le pseudonyme du repreneur et le futur mail permanent du compte.<br />
|
||||
- L'opérateur modifiera lui-même le mail permanent du compte et informera le donneur et le repreneur que le compte est cédé.<br />
|
||||
- Le repreneur peut se connecter au compte dès qu'il en reçoit l'autorisation par l'opérateur, et peut alors changer l'adresse dynamique, le pseudonyme et le mot de passe du compte.<br />
|
||||
- Une fois que le repreneur s'est connecté sur le compte, il est strictement interdit au donneur de s'y reconnecter.<br />
|
||||
- La même règle s'applique dans le cas d'un échange de comptes entre deux joueurs d'une même galaxie.<br />
|
||||
- Aucun don de compte ne peut faire l'objet d'une transaction monétaire.<br />
|
||||
|
||||
<br /><h3 id="commerce">III. Commerce et ressources</h3><br />
|
||||
|
||||
- Les joueurs sont libres de commercer comme ils l'entendent, tant que leurs transactions ne se trouvent pas en infraction avec le réglement.<br />
|
||||
- Le commerce doit prendre la forme d'un arrangement entre les différents joueurs. Chaque joueur engage sa propre responsabilité lors de la transaction de ressources. Par conséquent, dans le cas de vols, d'arnaques ou de toute autre forme crapuleuse de négociation, il ne peut y avoir de recours auprès d'un opérateur.<br />
|
||||
- Il est interdit d'exercer une pression ou de s'acharner sur un joueur dans le but de lui soutirer ses ressources (sauf si les motifs sont valables, comme dans le cas d'une guerre déclarée).<br />
|
||||
- L'envoie de ressources à des joueurs plus haut classés que soi doit être motivé par des motifs valables. Si l'opérateur juge l'action outrancière, des réparations de dommages peuvent être demandées au joueur bénéficiaire des ressources.<br />
|
||||
- Les transactions de ressources ne peuvent faire l'objet d'une transaction monétaire réelle.<br />
|
||||
|
||||
<br /><h3 id="mercenariat">IV. Mercenariat</h3><br />
|
||||
|
||||
- Le mercenariat est autorisé. Ces contrats rétribuent un joueur ou une alliance en fonction de services rendus.<br />
|
||||
- Un contrat de mercenariat doit prendre la forme d'un arrangement entre les différents joueurs et ceux-ci y engagent leur responsabilité propre. Par conséquent, il ne peut y avoir de recours auprès d'un opérateur si, par exemple, le contrat n'est pas exécuté, ou n'est pas rémunéré.<br />
|
||||
- Toute mission de mercenariat est possible, tant qu'elle n'interfère pas avec le présent réglement.<br />
|
||||
- Un contrat de mercenariat ne peut être rémunéré par des unités monétaires réelles.<br />
|
||||
|
||||
<br /><h3 id="guerre">V. Guerre</h3><br />
|
||||
|
||||
- Une guerre ne peut être déclarée que contre une alliance ou un joueur sans alliance. Ainsi il est possible de déclarer la guerre à une alliance entière ou à joueur qui n'a pas d'alliance, mais pas à un seul joueur d'une alliance ou à quelques joueurs d'une alliance.<br />
|
||||
- Il n'est pas nécessaire de motiver la décision ou de prévenir l'alliance agressée pour déclarer une guerre.<br />
|
||||
- Il est obligatoire de déclarer officiellement une guerre sur le forum, dans la section appropriée, dans les 24 heures qui suivent l'agression. Les joueurs sont libres de formuler les objectifs et les conditions de fin de la guerre.<br />
|
||||
- Il est strictement interdit d'établir des objectifs portant atteinte aux libertés fondamentales dont disposent les joueurs, comme la suppression d'un compte, l'interdiction de jouer, suppression de colonies ou d'unités, etc...<br />
|
||||
- En cas de guerre, le bash n'est pas interdit.<br />
|
||||
- Les joueurs sont libres de mener leurs campagnes militaires comme ils l'entendent, pourvu que cela n'entre pas en conflit avec le règlement.<br />
|
||||
- Une guerre prend fin lorsque les belligérants trouvent un accord. Ils devront le signaler obligatoirement, comme pour la déclaration de guerre.<br />
|
||||
|
||||
<br /><h3 id="bash">VI. Bash</h3><br />
|
||||
|
||||
- Le bash est relatif à l'attaque à outrance de planètes particulières. Attaquer une planète plus de quatre fois en 24 heures est par conséquent interdit.<br />
|
||||
- La règle du bash s'applique aux joueurs actifs et inactifs.<br />
|
||||
- En cas de guerre, le bash est autorisé.<br />
|
||||
|
||||
<br /><h3 id="alliances">VII. Alliances</h3><br />
|
||||
|
||||
- Toute alliance possède le privilège de se constituer comme elle l'entend.<br />
|
||||
- Toute alliance peut recruter autant de joueurs qu'elle le souhaite.<br />
|
||||
- Les alliances mixtes sont autorisées ; cependant, une race dominante doit y être représentée et les joueurs de la race opposée ne doivent pas s'y trouver en trop grand nombre sous peine de sanction.<br />
|
||||
- Toute alliance peut recruter autant de joueurs qu'elle le souhaite.<br />
|
||||
- Toute alliance peut signer autant de pactes qu'elle le souhaite.<br />
|
||||
- Toute alliance a le droit de se donner comme mission celle qu'elle entend.<br />
|
||||
- Il est strictement interdit de copier totalement ou en partie, les textes, images, etc, créés par les joueurs des différentes alliances déjà existantes. Les alliances fondées sur le principe du CSNU ou de l'Alliance ne sont pas concernées par la clause du plagiat de nom. Pour pouvoir recopier l'un des éléments se trouvant dans une alliance, il est nécessaire d'avoir une autorisation écrite de ou des auteurs vous autorisant à y procéder sous peine de sanctions.<br />
|
||||
- Tout recrutement dans les autres alliances déjà existantes est formellement interdit.<br />
|
||||
|
||||
<br /><h3 id="sanctions">VIII. Sanctions</h3><br />
|
||||
|
||||
- En cas de non respect de ce règlement, les opérateurs du jeu infligeront un blocage pouvant aller de un jour, à un blocage définitif selon la gravité de la faute, ainsi qu'en cas de récidive.<br />
|
||||
- Chaque bannissement est mentionné dans le pilori du jeu. Par ailleurs, le staff de Halo-Battle se réserve le droit de prendre à l'encontre des joueurs toute autre sanction.<br />
|
||||
- En cas de réclamation, merci d'envoyer un mail à l'un des opérateurs en précisant votre pseudonyme ingame et votre galaxie.<br />
|
||||
- Toute manoeuvre visant à faire bloquer délibérément un adversaire est interdite et pourra être sanctionnée par l'opérateur.<br />
|
||||
</div>');
|
||||
?>
|
||||
55
onyx/hb_game/jeu/rename.php
Normal file
55
onyx/hb_game/jeu/rename.php
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'rename';
|
||||
$titre = $queryPlanete["nom_planete"];
|
||||
$id_plan = $queryPlanete["id"];
|
||||
|
||||
|
||||
if (isset($_POST['planete'])) {
|
||||
$nouvNom = trim($_POST['planete']);
|
||||
if (empty($nouvNom)) {
|
||||
$template->assign('message','Vous n\'avez indiqué aucun nom de planète.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=rename";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$bdd->connexion();
|
||||
$bdd->escape($nouvNom);
|
||||
$bdd->unique_query("UPDATE $table_planete SET nom_planete = '$nouvNom' WHERE id_user = '$id_user' AND id = '$id_plan'");
|
||||
$bdd->deconnexion();
|
||||
$template->assign('message','Le nom de votre planète a été modifié avec succès.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=accueil";\', 2500);</script>');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
elseif(isset($_GET['a']) && $_GET['a'] == $sess->values['abandon']) {
|
||||
$galaxie = $queryPlanete["galaxie"]; $ss = $queryPlanete["ss"]; $position = $queryPlanete["position"];
|
||||
$bdd->connexion();
|
||||
$bdd->query("DELETE FROM $table_planete WHERE id_user = '$id_user' AND id = '$id_plan' LIMIT 1;");
|
||||
$bdd->query("DELETE FROM $table_flottes WHERE id_user = '$id_user' AND start_galaxie = '$galaxie' AND start_ss = '$ss' AND start_position = '$position';");
|
||||
|
||||
$req = $bdd->unique_query("SELECT * FROM $table_planete WHERE id_user = '$id_user' LIMIT 1;");
|
||||
$bdd->deconnexion();
|
||||
$sess->values['idPlan'] = $req['id'];
|
||||
$sess->put();
|
||||
|
||||
$template->assign('message','Cette planète n\'est désormais plus sous votre contrôle.');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=accueil";\', 2500);</script>');
|
||||
$template->assign('couleur','green');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
|
||||
$bdd->connexion();
|
||||
$reqnb = $bdd->query("SELECT * FROM $table_planete WHERE id_user = '$id_user'");
|
||||
$bdd->deconnexion();
|
||||
if (count($reqnb) > 1) $hashA = md5(rand(123456789,9876543210));
|
||||
else $hashA = false;
|
||||
$sess->values['abandon'] = $hashA;
|
||||
$sess->put();
|
||||
$template->assign('abandonH', $hashA);
|
||||
?>
|
||||
36
onyx/hb_game/jeu/ressources.php
Normal file
36
onyx/hb_game/jeu/ressources.php
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'ressources';
|
||||
$titre = 'Ressources';
|
||||
|
||||
if (isset($_POST['coeff_metal']) && isset($_POST['coeff_cs'])) {
|
||||
if (!isset($_POST['coeff_cristal'])) $_POST['coeff_cristal'] = 0;
|
||||
if (!isset($_POST['coeff_hydrogene'])) $_POST['coeff_hydrogene'] = 0;
|
||||
if (!isset($_POST['coeff_ce'])) $_POST['coeff_ce'] = 0;
|
||||
|
||||
$coeff_metal = floor($_POST['coeff_metal']);
|
||||
$coeff_cristal = floor($_POST['coeff_cristal']);
|
||||
$coeff_hydrogene = floor($_POST['coeff_hydrogene']);
|
||||
$coeff_cs = floor($_POST['coeff_cs']);
|
||||
$coeff_ce = floor($_POST['coeff_ce']);
|
||||
|
||||
$bdd->connexion();
|
||||
$bdd->escape($coeff_metal);
|
||||
$bdd->escape($coeff_cristal);
|
||||
$bdd->escape($coeff_hydrogene);
|
||||
$bdd->escape($coeff_cs);
|
||||
$bdd->escape($coeff_ce);
|
||||
$bdd->query("UPDATE `planete` SET `coeff_mine_m` = '".($coeff_metal/100)."', `coeff_mine_c` = '".($coeff_cristal/100)."', `coeff_mine_h` = '".($coeff_hydrogene/100)."', `coeff_centrale_s` = '".($coeff_cs/100)."', `coeff_centrale_f` = '".($coeff_ce/100)."' WHERE `id` = '$idPlan'");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=ressources');
|
||||
exit;
|
||||
}
|
||||
|
||||
$template->assign('nombat', $batiment);
|
||||
$template->assign('ressources_prod', array(separerNombres(ceil(pow(1.1,$mine_m)*35*$mine_m)*$coeff_mine_m*1.5), separerNombres(floor(ceil(pow(1.1,$mine_c)*23*$mine_c)*$coeff_mine_c)*1.5), separerNombres(floor((ceil(pow(1.1,$mine_h)*14*($mine_h+0.7))) * $coeff_mine_h)*1.5), separerNombres(floor(ceil(exp(0.28*$centrale_s)*22)*$coeff_centrale_s)), separerNombres(floor(ceil(exp(0.297*$centrale_f)*25)*$coeff_centrale_f))));
|
||||
$template->assign('ressources_conso', array(separerNombres(ceil(exp(0.28*$mine_m)*10)*$coeff_mine_m), separerNombres(ceil(exp(0.28*$mine_c)*10)*$coeff_mine_c), separerNombres(ceil(exp(0.2849*$mine_h)*13)*$coeff_mine_h), floor(ceil(pow(1.34,($centrale_f-1))*9)*$coeff_centrale_f)));
|
||||
$template->assign('ressources_toto', array(separerNombres(floor((ceil(pow(1.1,$mine_h)*14*($mine_h+0.7))) * $coeff_mine_h)*1.5 - floor(ceil(pow(1.34,($centrale_f-1))*9)*$coeff_centrale_f))), '('.$diffnrj.')');
|
||||
$template->assign('ressources_coef', array(floor($coeff_mine_m*10)*10, floor($coeff_mine_c*10)*10, floor($coeff_mine_h*10)*10, floor($coeff_centrale_s*10)*10, floor($coeff_centrale_f*10)*10));
|
||||
$template->assign('ressources_silo', array($queryPlanete['silo'], $cap));
|
||||
$template->assign('ressources_tab', array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100));
|
||||
?>
|
||||
18
onyx/hb_game/jeu/secours.php
Normal file
18
onyx/hb_game/jeu/secours.php
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) define('INDEX', 1);
|
||||
load_conf(_FCORE."profiles/servers.xconf", $config);
|
||||
require_once(_FCORE."common.php");
|
||||
|
||||
//On prépare le gestionnaire de templates
|
||||
$template = new Template();
|
||||
|
||||
$template->assign('date',strftime("%A %d %B %Y %H:%M"));
|
||||
$template->assign('datehb',str_replace('.','',strftime("/%a %d %b %Y/%H%M %S")));
|
||||
|
||||
$template->assign('link', array_map('url', $config['link']));
|
||||
$template->assign('servers_name', $config['server_name']);
|
||||
$template->assign('server_url', $config['server_url']);
|
||||
$template->display('cms/secours.tpl');
|
||||
|
||||
exit;
|
||||
?>
|
||||
125
onyx/hb_game/jeu/simulateur.php
Normal file
125
onyx/hb_game/jeu/simulateur.php
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'simulateur_combat';
|
||||
$titre = 'Simulateur de combat';
|
||||
|
||||
if (isset($_POST['ATvais_1']) && isset($_POST['ATvais_2']) && isset($_POST['ATvais_3']) && isset($_POST['ATvais_4']) && isset($_POST['ATvais_5']) && isset($_POST['ATvais_6']) && isset($_POST['ATvais_7']) && isset($_POST['ATvais_8']) && isset($_POST['ATvais_9']) && isset($_POST['ATvais_10']) && isset($_POST['ATvais_12']) && isset($_POST['ENvais_1']) && isset($_POST['ENvais_2']) && isset($_POST['ENvais_3']) && isset($_POST['ENvais_4']) && isset($_POST['ENvais_5']) && isset($_POST['ENvais_6']) && isset($_POST['ENvais_7']) && isset($_POST['ENvais_8']) && isset($_POST['ENvais_9']) && isset($_POST['ENvais_10']) && isset($_POST['ENvais_11']) && isset($_POST['ENvais_12']) && isset($_POST['ENdef_1']) && isset($_POST['ENdef_2']) && isset($_POST['ENdef_3']) && isset($_POST['ENdef_4']) && isset($_POST['ENdef_5']) && isset($_POST['ENmetal']) && isset($_POST['ENcristal']) && isset($_POST['ENhydrogene']) && isset($_POST['ATtactique']) && isset($_POST['ENtactique']) && isset($_POST['maxtour'])) {
|
||||
$i = 0;
|
||||
$queryFlottes[$i] = array(
|
||||
"id" => 0,
|
||||
"contenu_max" => 999999,
|
||||
"contenu_metal" => 0,
|
||||
"contenu_cristal" => 0,
|
||||
"contenu_hydrogene" => 0,
|
||||
"start_time" => 0,
|
||||
"end_time" => 0,
|
||||
"mission" => 1,
|
||||
"id_user" => $id_user,
|
||||
"effectue" => 0,
|
||||
"vaisseau_1" => $_POST['ATvais_1'],
|
||||
"vaisseau_2" => $_POST['ATvais_2'],
|
||||
"vaisseau_3" => $_POST['ATvais_3'],
|
||||
"vaisseau_4" => $_POST['ATvais_4'],
|
||||
"vaisseau_5" => $_POST['ATvais_5'],
|
||||
"vaisseau_6" => $_POST['ATvais_6'],
|
||||
"vaisseau_7" => $_POST['ATvais_7'],
|
||||
"vaisseau_8" => $_POST['ATvais_8'],
|
||||
"vaisseau_9" => $_POST['ATvais_9'],
|
||||
"vaisseau_10" => $_POST['ATvais_10'],
|
||||
"vaisseau_11" => 0,
|
||||
"vaisseau_12" => $_POST['ATvais_12']
|
||||
);
|
||||
$queryEN = array(
|
||||
"debris_met" => 0,
|
||||
"debris_cri" => 0,
|
||||
"metal" => $_POST['ENmetal'],
|
||||
"cristal" => $_POST['ENcristal'],
|
||||
"hydrogene" => $_POST['ENhydrogene'],
|
||||
"def_1" => $_POST['ENdef_1'],
|
||||
"def_2" => $_POST['ENdef_2'],
|
||||
"def_3" => $_POST['ENdef_3'],
|
||||
"def_4" => $_POST['ENdef_4'],
|
||||
"def_5" => $_POST['ENdef_5'],
|
||||
"vaisseau_1" => $_POST['ENvais_1'],
|
||||
"vaisseau_2" => $_POST['ENvais_2'],
|
||||
"vaisseau_3" => $_POST['ENvais_3'],
|
||||
"vaisseau_4" => $_POST['ENvais_4'],
|
||||
"vaisseau_5" => $_POST['ENvais_5'],
|
||||
"vaisseau_6" => $_POST['ENvais_6'],
|
||||
"vaisseau_7" => $_POST['ENvais_7'],
|
||||
"vaisseau_8" => $_POST['ENvais_8'],
|
||||
"vaisseau_9" => $_POST['ENvais_9'],
|
||||
"vaisseau_10" => $_POST['ENvais_10'],
|
||||
"vaisseau_11" => $_POST['ENvais_11'],
|
||||
"vaisseau_12" => $_POST['ENvais_12']
|
||||
);
|
||||
require_once(_FCORE."hb_game/Class/class.combat.php");
|
||||
require_once(_FCORE."hb_game/Class/class.rapport.php");
|
||||
|
||||
//On génére un nouveau combat
|
||||
$combat = new Combat($queryFlottes[$i], $queryEN, $queryEN);
|
||||
$combat->changerTactiqueAT($_POST['ATtactique']);
|
||||
$combat->changerTactiqueEN($_POST['ENtactique']);
|
||||
$rapport = new Rapport(1, $queryFlottes[$i]['id_user'], 0, time());
|
||||
$rapport->addInfo($combat->ATvais, 0);
|
||||
$rapport->addInfo($combat->ENvais, 1);
|
||||
$rapport->addInfo($combat->ENdef, 2);
|
||||
$rapport->addInfo($queryEN, 4);
|
||||
$rapport->addInfo($queryFlottes[$i], 5);
|
||||
$rapport->addInfo(array(false, false), 6);
|
||||
|
||||
while(!$rapport->var[6][0]) {
|
||||
if ($combat->Ntour >= $_POST['maxtour']) break;
|
||||
$combat->Ntour++;
|
||||
|
||||
//Détermine à qui est le tour : attaquant ou défenseur
|
||||
if ($combat->Ntour%2) { //Tour impaire : tour attaquant
|
||||
//Récupération des paramètres de la tactique
|
||||
$arraytactique = tactique($combat->ATtactique);
|
||||
|
||||
//Lancement du combat, si condition validée, attaquant vainceur
|
||||
@$attaque = $combat->calcAttaque($arraytactique[2] + $combat->regenereBC($arraytactique[1], true, !$arraytactique[3]), true);
|
||||
if (@!$combat->attaquerVais($attaque, true)) {
|
||||
$combat->pillageSimul($queryEN['metal'], $queryEN['cristal'], $queryEN['hydrogene']);
|
||||
$rapport->addInfo(array(true, true), 6);
|
||||
}
|
||||
else $rapport->addInfo(array(false, false), 6);
|
||||
}
|
||||
else { //Tour impaire : tour défenseur
|
||||
//Récupération des paramètres de la tactique
|
||||
$arraytactique = tactique($combat->ENtactique);
|
||||
|
||||
//Lancement du combat, si condition validée, défenseur vainceur
|
||||
@$attaque = $combat->calcAttaque($arraytactique[2] + $combat->regenereBC($arraytactique[1], false, !$arraytactique[3]), false);
|
||||
if (@!$combat->attaquerVais($attaque, false)) $rapport->addInfo(array(true, false), 6);
|
||||
else $rapport->addInfo(array(false, false), 6);
|
||||
}
|
||||
|
||||
$rapport->addInfo($combat->ATvais, 7);
|
||||
$rapport->addInfo($combat->ENvais, 8);
|
||||
$rapport->addInfo($combat->ENdef, 9);
|
||||
|
||||
//Prévision du prochain tour
|
||||
$combat->timestamp += 300;
|
||||
$rapport->addInfo($combat->timestamp, 10);
|
||||
$rapport->addInfo($combat->pillage, 11);
|
||||
$rapport->addInfo($attaque, 14);
|
||||
}
|
||||
$rapport->addInfo($combat->Ntour, 3);
|
||||
$debriM = $combat->debriM;
|
||||
$debriC = $combat->debriC;
|
||||
|
||||
$rapport->addInfo(array($debriM, $debriC), 12);
|
||||
$rapport->addInfo(array($enligne, $infos, count($infos)-1, array('humains' => $nbhumain, 'covenants' => $nbcovie, 'serveurs' => 'cette'), VERSION, $min.' min'), 13);
|
||||
|
||||
$template = $rapport->show();
|
||||
print $template;
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$template->assign('nomvais', $nomvaisn);
|
||||
array_splice($nomterra, 0, 8);
|
||||
$template->assign('nomdef', $nomterra);
|
||||
$template->assign('nomressourc', $ressourc);
|
||||
}
|
||||
?>
|
||||
41
onyx/hb_game/jeu/validation.php
Normal file
41
onyx/hb_game/jeu/validation.php
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
|
||||
if (!empty($_GET['i'])) {
|
||||
$base = new bdd();
|
||||
$base->connexion();
|
||||
$base->db();
|
||||
|
||||
$id = mysql_real_escape_string($_GET['i']);
|
||||
|
||||
$res = $base->unique_query("SELECT * FROM `user_inscriptions` WHERE `id_activ` = '$id'");
|
||||
if ($res) {
|
||||
switch($res['serveur']){
|
||||
case 0:
|
||||
$url = "http://127.0.0.1/hbn/";
|
||||
break;
|
||||
case 1:
|
||||
//$url = "http://battle.halo.fr/";
|
||||
$url = "http://hb.s-fr.com/";
|
||||
break;
|
||||
default:
|
||||
$url = "http://battle.halo.fr/";
|
||||
}
|
||||
|
||||
//On envoie la requête vers le serveur
|
||||
$cds = sha1($res['pseudo'].'$'.$res['race'].'£'.$res['mdp'].'#'.$res['mail'].'ß'.$res['time_inscription'].'Ó'.$_SERVER['HTTP_USER_AGENT'].'♀☻'.$_SERVER['REMOTE_ADDR'].$res['placement']);
|
||||
header('Location: '.$url.'?p=njoueur&nom='.$res['pseudo'].'&race='.$res['race'].'&mdp='.$res['mdp'].'&mail='.$res['mail'].'&ti='.$res['time_inscription'].'&placement='.$res['placement'].'&cds='.$cds);
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$template->assign('message','Le lien est expiré !');
|
||||
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?index";\', 2500);</script>');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
|
||||
$base->deconnexion();
|
||||
}
|
||||
else header('Location: ./');
|
||||
?>
|
||||
15
onyx/hb_game/jeu/version.php
Normal file
15
onyx/hb_game/jeu/version.php
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'version';
|
||||
$titre = 'Historique des mises à jours';
|
||||
|
||||
$bdd->connexion();
|
||||
$data = $bdd->query("SELECT * FROM `$table_version` ORDER BY `id` DESC");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$TEMP_versions = array();
|
||||
for($i = 0; $i < $bdd->num_rows; $i++){
|
||||
$TEMP_versions[] = array('numero' => $data[$i]['version'], 'date' => date("d/m/y", $data[$i]['temps']), 'description' => nl2br(str_replace('<br />', '', $data[$i]['contenu'])));
|
||||
}
|
||||
$template->assign('versions', $TEMP_versions);
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue