Version 1.8
1
.onyx
Normal file
|
|
@ -0,0 +1 @@
|
|||
./onyx/
|
||||
143
connexion.php
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
<?php
|
||||
define("INDEX", 1);
|
||||
$chrono_start = microtime();
|
||||
$onyx = @file_get_contents('./.onyx') or die("Configuration introuvable.");
|
||||
define("_FCORE",trim($onyx));
|
||||
$_SERVER['REMOTE_ADDR'] = "127.0.0.1";
|
||||
require_once(_FCORE."kernel.php");
|
||||
require_once(_FCORE."hb_game/tables.php");
|
||||
set_time_limit(0);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
echo "Demarrage du serveur ...";
|
||||
$socket = socket_create(AF_INET, SOCK_STREAM, 0);
|
||||
@socket_bind($socket, '127.0.0.1', 13650) or die("\nERREUR : Port déja utilise");
|
||||
socket_listen($socket);
|
||||
$bdd = new bdd();
|
||||
echo " Serveur pret, en attente.\n\n";
|
||||
|
||||
while(true) {
|
||||
$client = socket_accept($socket);
|
||||
|
||||
//On attend une requête
|
||||
$reception = socket_read($client, 255);
|
||||
echo "Reception d'une connexion en provenance de ".$reception."\n";
|
||||
if (!empty($reception)) {
|
||||
$ip = $reception;
|
||||
$_SERVER['REMOTE_ADDR'] = $ip;
|
||||
//On renvoie le type de connexion au serveur
|
||||
socket_write($client, "secure", 6);
|
||||
|
||||
//On attend une requête contenant le nom de l'utilisateur
|
||||
$HB_login = socket_read($client, 255);
|
||||
$bdd->connexion();
|
||||
$bdd->escape($HB_login);
|
||||
$res = $bdd->unique_query("SELECT mdp_var FROM $table_user WHERE pseudo = '$HB_login';");
|
||||
$bdd->deconnexion();
|
||||
if (empty($res['mdp_var'])) socket_write($client, 'not found', 9);
|
||||
else socket_write($client, $res['mdp_var'], 255);
|
||||
|
||||
//On attend une requête contenant le mot de passe
|
||||
$HB_password = socket_read($client, 255);
|
||||
$bdd->connexion();
|
||||
$bdd->escape($HB_password);
|
||||
$resultat = $bdd->unique_query("SELECT id, mv, last_visite, auth_level, raisonmv FROM $table_user WHERE pseudo = '$HB_login' AND mdp = '$HB_password';");
|
||||
if ($resultat) {
|
||||
$id = $resultat['id'];
|
||||
$reqPlan = $bdd->query("SELECT id, file_bat, file_tech, file_cas, file_vais, file_ter FROM $table_planete WHERE id_user = '$id' ORDER BY id ASC;");
|
||||
$resultatP = $reqPlan[0];
|
||||
if (!$reqPlan) {
|
||||
$bdd->deconnexion();
|
||||
socket_write($client, 'ERR:Impossible de trouver votre planète !', 41);
|
||||
}
|
||||
else {
|
||||
if ($resultat['mv'] != 0) {
|
||||
if ($resultat['last_visite']+259200 > time() && $resultat['auth_level'] < 2) {
|
||||
if ($resultat['mv'] == 3) socket_write($client, 'MV3:'.$resultat['raisonmv'], 260);
|
||||
elseif ($resultat['mv'] == 2) socket_write($client, 'MV2:'.($resultat['last_visite']+259200).':'.$resultat['raisonmv'], 300);
|
||||
else socket_write($client, 'MV1:'.$resultat['last_visite']+259200, 255);
|
||||
}
|
||||
else {
|
||||
$bdd->query("UPDATE $table_user SET mv = '0' WHERE id = '$id';");
|
||||
$bdd->query("UPDATE $table_planete SET timestamp = '".time()."' WHERE id_user = '$id';");
|
||||
|
||||
//On fait repartir à 0 les files d'attente
|
||||
include_once(_FCORE."hb_game/Class/class.gerefile.php");
|
||||
$cntplan = count($reqPlan);
|
||||
for ($i = 0; $i < $cntplan; $i++) {
|
||||
if (!empty($reqPlan[$i]['file_bat'])) {
|
||||
$file = unserialize($reqPlan[$i]['file_bat']);
|
||||
$file->timestamp = time();
|
||||
$fileBat = serialize($file);
|
||||
$bdd->escape($fileBat);
|
||||
}
|
||||
else $fileBat = '';
|
||||
if (!empty($reqPlan[$i]['file_tech'])) {
|
||||
$file = unserialize($reqPlan[$i]['file_tech']);
|
||||
$file->timestamp = time();
|
||||
$fileTech = serialize($file);
|
||||
$bdd->escape($fileTech);
|
||||
}
|
||||
else $fileTech = '';
|
||||
if (!empty($reqPlan[$i]['file_cas'])) {
|
||||
$file = unserialize($reqPlan[$i]['file_cas']);
|
||||
$file->timestamp = time();
|
||||
$fileCas = serialize($file);
|
||||
$bdd->escape($fileCas);
|
||||
}
|
||||
else $fileCas = '';
|
||||
if (!empty($reqPlan[$i]['file_vais'])) {
|
||||
$file = unserialize($reqPlan[$i]['file_vais']);
|
||||
$file->timestamp = time();
|
||||
$fileVais = serialize($file);
|
||||
$bdd->escape($fileCas);
|
||||
}
|
||||
else $fileVais = '';
|
||||
if (!empty($reqPlan[$i]['file_ter'])) {
|
||||
$file = unserialize($reqPlan[$i]['file_ter']);
|
||||
$file->timestamp = time();
|
||||
$fileTer = serialize($file);
|
||||
$bdd->escape($fileTer);
|
||||
}
|
||||
else $fileTer = '';
|
||||
|
||||
$idPlan = $reqPlan[$i]['id'];
|
||||
$bdd->query("UPDATE $table_planete SET file_bat = '$fileBat', file_tech = '$fileTech', file_cas = '$fileCas', file_vais = '$fileVais', file_ter = '$fileTer' WHERE id = '$idPlan';");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$time = time();
|
||||
$bdd->query("UPDATE $table_user SET last_visite = '$time', last_ip = '$ip' WHERE id = '$id';");
|
||||
$bdd->query("INSERT INTO $table_registre_identification (id_util, ip) VALUES ('".$id."','".$ip."');");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$sess = new session();
|
||||
$sess->load();
|
||||
$sess->values['connected'] = TRUE;
|
||||
$sess->values['id'] = $resultat['id'];
|
||||
$sess->values['idPlan'] = $resultatP['id'];
|
||||
$sess->values['auth_level'] = $resultat['auth_level'];
|
||||
$sess->put();
|
||||
|
||||
socket_write($client, "ok", 2);
|
||||
|
||||
socket_write($client, $config['session_name'], strlen($config['session_name']));
|
||||
socket_write($client, $sess->cookie, strlen($sess->cookie));
|
||||
$fin = time() + $config['session_time']."po";
|
||||
socket_write($client, $fin, strlen($fin));
|
||||
|
||||
$sess = false;
|
||||
unset($sess);
|
||||
echo "Identification validee pour $HB_login => $fin\n";
|
||||
}
|
||||
}
|
||||
else socket_write($client, 'not found', 9);
|
||||
}
|
||||
else socket_write($client, "ERR:La phase d'identification n'a pas encore commence", 49);
|
||||
|
||||
socket_close($client);
|
||||
echo "Fin d'une connexion\n\n";
|
||||
flush();
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
php_flag magic_quotes_gpc Off
|
||||
php_flag magic_quotes_runtime Off
|
||||
php_flag magic_quotes_sybase Off
|
||||
php_flag register_globals Off
|
||||
|
||||
Options -Indexes
|
||||
77
htdocs/403.html
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="Content-Language" content="fr" />
|
||||
<title> ::Halo-Battle:: - Erreur</title>
|
||||
<style type="text/css">
|
||||
|
||||
html
|
||||
{
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
body
|
||||
{
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
div
|
||||
{
|
||||
background-color: #080819;
|
||||
text-align: center;
|
||||
margin: 10% auto 0 auto;
|
||||
padding: 25px 0;
|
||||
width: 80%;
|
||||
border-top: #FFFFFF dotted 1px;
|
||||
border-left: #FFFFFF dotted 1px;
|
||||
border-right: #FFFFFF solid 3px;
|
||||
border-bottom: #FFFFFF solid 3px;
|
||||
}
|
||||
|
||||
h1
|
||||
{
|
||||
font-size: 3em;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
h2
|
||||
{
|
||||
font-size: 2em;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
h3
|
||||
{
|
||||
font-size: 1.5em;
|
||||
color: #FFFFFF;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
a
|
||||
{
|
||||
position: absolute;
|
||||
bottom: 20px;
|
||||
right: 30px;
|
||||
font-size: 0.8em;
|
||||
display: block;
|
||||
padding: 5px 10px;
|
||||
background-color: #FFFFFF;
|
||||
color: #000000;
|
||||
text-decoration: underline;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<h2>Erreur</h2>
|
||||
<h1>403</h1>
|
||||
<h3>Refus de traitement de la requête.<br /><em>Forbidden.</em></h3>
|
||||
</div>
|
||||
<a href="/">HALO-BATTLE</a>
|
||||
<!-- \\******* By Phantom *******// Halo-Battle, Tous droits réservés -->
|
||||
</body>
|
||||
</html>
|
||||
77
htdocs/404.html
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="Content-Language" content="fr" />
|
||||
<title> ::Halo-Battle:: - Erreur</title>
|
||||
<style type="text/css">
|
||||
|
||||
html
|
||||
{
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
body
|
||||
{
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
div
|
||||
{
|
||||
background-color: #080819;
|
||||
text-align: center;
|
||||
margin: 10% auto 0 auto;
|
||||
padding: 25px 0;
|
||||
width: 80%;
|
||||
border-top: #FFFFFF dotted 1px;
|
||||
border-left: #FFFFFF dotted 1px;
|
||||
border-right: #FFFFFF solid 3px;
|
||||
border-bottom: #FFFFFF solid 3px;
|
||||
}
|
||||
|
||||
h1
|
||||
{
|
||||
font-size: 3em;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
h2
|
||||
{
|
||||
font-size: 2em;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
h3
|
||||
{
|
||||
font-size: 1.5em;
|
||||
color: #FFFFFF;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
a
|
||||
{
|
||||
position: absolute;
|
||||
bottom: 20px;
|
||||
right: 30px;
|
||||
font-size: 0.8em;
|
||||
display: block;
|
||||
padding: 5px 10px;
|
||||
background-color: #FFFFFF;
|
||||
color: #000000;
|
||||
text-decoration: underline;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<h2>Erreur</h2>
|
||||
<h1>404</h1>
|
||||
<h3>Document non trouvé.<br /><em>File not Found.</em></h3>
|
||||
</div>
|
||||
<a href="/">HALO-BATTLE</a>
|
||||
<!-- \\******* By Phantom *******// Halo-Battle, Tous droits réservés -->
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -47,20 +47,26 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte
|
|||
$template->assign('tpsdejeu',$min.' min');
|
||||
|
||||
if (!isset($_GET['p'])) $_GET['p'] = '';
|
||||
switch($_GET['p']){
|
||||
case 'courrier': include(_FCORE."hb_game/jeu/admin/mail.php"); break;
|
||||
case 'vip': include(_FCORE."hb_game/jeu/admin/ip.php"); break;
|
||||
case 'vflotte': include(_FCORE."hb_game/jeu/admin/flottes.php"); break;
|
||||
case 'vplanetes': include(_FCORE."hb_game/jeu/admin/planete.php"); break;
|
||||
case 'vjoueurs': include(_FCORE."hb_game/jeu/admin/joueur.php"); break;
|
||||
case 'valliances': include(_FCORE."hb_game/jeu/admin/alliance.php"); break;
|
||||
case 'vrapports': include(_FCORE."hb_game/jeu/admin/rapport.php"); break;
|
||||
case 'sjoueurs': include(_FCORE."hb_game/jeu/admin/sanction_joueur.php"); break;
|
||||
case 'cjoueurs': include(_FCORE."hb_game/jeu/admin/prendre_controle.php"); break;
|
||||
case 'djoueurs': include(_FCORE."hb_game/jeu/admin/supprimer_joueur.php"); break;
|
||||
case 'bandeau': include(_FCORE."hb_game/jeu/admin/bandeau.php"); break;
|
||||
case 'version': include(_FCORE."hb_game/jeu/admin/version.php"); break;
|
||||
default: $pagea = 'vp';;
|
||||
if ($sess->values['auth_level'] >= 5) {
|
||||
switch($_GET['p']){
|
||||
case 'djoueurs': include(_FCORE."hb_game/jeu/admin/supprimer_joueur.php"); break;
|
||||
case 'bandeau': include(_FCORE."hb_game/jeu/admin/bandeau.php"); break;
|
||||
case 'version': include(_FCORE."hb_game/jeu/admin/version.php"); break;
|
||||
}
|
||||
}
|
||||
if (empty($pagea)) {
|
||||
switch($_GET['p']){
|
||||
case 'courrier': include(_FCORE."hb_game/jeu/admin/mail.php"); break;
|
||||
case 'vip': include(_FCORE."hb_game/jeu/admin/ip.php"); break;
|
||||
case 'vflotte': include(_FCORE."hb_game/jeu/admin/flottes.php"); break;
|
||||
case 'vplanetes': include(_FCORE."hb_game/jeu/admin/planete.php"); break;
|
||||
case 'vjoueurs': include(_FCORE."hb_game/jeu/admin/joueur.php"); break;
|
||||
case 'valliances': include(_FCORE."hb_game/jeu/admin/alliance.php"); break;
|
||||
case 'vrapports': include(_FCORE."hb_game/jeu/admin/rapport.php"); break;
|
||||
case 'sjoueurs': include(_FCORE."hb_game/jeu/admin/sanction_joueur.php"); break;
|
||||
case 'cjoueurs': include(_FCORE."hb_game/jeu/admin/prendre_controle.php"); break;
|
||||
default: $pagea = 'vp';;
|
||||
}
|
||||
}
|
||||
|
||||
$template->assign('titre',$titre);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,124 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) define('INDEX', 1);
|
||||
//Script by Keiran
|
||||
print 'Début de la génération du classement ; il est : '.date('d/m/Y H:i:s');
|
||||
|
||||
set_time_limit(0);
|
||||
ignore_user_abort(true);
|
||||
|
||||
$onyx = @file_get_contents('./../.onyx') or die("Configuration introuvable.");
|
||||
define("_FCORE",'../'.trim($onyx));
|
||||
|
||||
require_once(_FCORE."kernel.php");
|
||||
require_once(_FCORE."hb_game/tables.php");
|
||||
require_once(_FCORE."hb_game/vars.php");
|
||||
|
||||
$bdd = new bdd();
|
||||
/*
|
||||
//Classement Joueurs
|
||||
$bdd->connexion();
|
||||
$bdd->query("TRUNCATE TABLE $table_classement;");
|
||||
$users = $bdd->query("SELECT * FROM $table_user;");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$cnt = $bdd->num_rows;
|
||||
for($i = 0; $i < $cnt; $i++){
|
||||
$id_user = $users[$i]['id'];
|
||||
$queryUser = $users[$i];
|
||||
$pointsbat = 0;
|
||||
$pointsterr = 0;
|
||||
$pointsvais = 0;
|
||||
|
||||
$bdd->connexion();
|
||||
$planetes = $bdd->query("SELECT * FROM $table_planete WHERE id_user = $id_user;");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$cntp = $bdd->num_rows;
|
||||
for($j = 0; $j < $cntp; $j++){
|
||||
$queryPlanete = $planetes[$j];
|
||||
|
||||
$nbbat = count($batimentVAR);
|
||||
for($k = 0; $k < $nbbat; $k++){
|
||||
if ($queryPlanete[$batimentVAR[$k]] == 0) continue;
|
||||
else {
|
||||
$n = $queryPlanete[$batimentVAR[$k]];
|
||||
eval($batimentCALC[$k][0]);
|
||||
eval($batimentCALC[$k][1]);
|
||||
eval($batimentCALC[$k][2]);
|
||||
$pointsbat += $a + $b + $c;
|
||||
}
|
||||
}
|
||||
|
||||
$nbterr = count($nomterrnVAR);
|
||||
for($k = 0; $k < $nbterr; $k++){
|
||||
if ($queryPlanete[$nomterrnVAR[$k]] == 0) continue;
|
||||
else {
|
||||
$n = $queryPlanete[$nomterrnVAR[$k]];
|
||||
$pointsterr += $nomterrnCALC[$k][0] + $nomterrnCALC[$k][1] + $nomterrnCALC[$k][2];
|
||||
}
|
||||
}
|
||||
|
||||
$nbvais = count($nomvaisnVAR);
|
||||
for($k = 0; $k < $nbvais; $k++){
|
||||
if ($queryPlanete[$nomvaisnVAR[$k]] == 0) continue;
|
||||
else {
|
||||
$n = $queryPlanete[$nomvaisnVAR[$k]];
|
||||
$pointsvais += $nomvaisnCALC[$k][0] + $nomvaisnCALC[$k][1] + $nomvaisnCALC[$k][2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$nbtech = count($technoloVAR);
|
||||
$pointstech = 0;
|
||||
for($k = 0; $k < $nbtech; $k++){
|
||||
if ($queryUser[$technoloVAR[$k]] == 0) continue;
|
||||
else {
|
||||
$n = $queryUser[$technoloVAR[$k]];
|
||||
eval($technoloCALC[$k][0]);
|
||||
eval($technoloCALC[$k][1]);
|
||||
eval($technoloCALC[$k][2]);
|
||||
$pointstech += $a + $b + $c;
|
||||
}
|
||||
}
|
||||
|
||||
$pointstech /= 1000;
|
||||
$pointsvais /= 1000;
|
||||
$pointsterr /= 1000;
|
||||
$pointsbat /= 1000;
|
||||
$points = $pointsbat + $pointsterr + $pointsvais + $pointstech;
|
||||
$bdd->connexion();
|
||||
$bdd->query("UPDATE $table_user SET points = $points, batiments = $pointsbat, recherches = $pointstech, flotte = $pointsvais, terrestre = $pointsterr WHERE id = $id_user;");
|
||||
if ($queryUser['auth_level'] < 2 && $queryUser['mv'] < 2) $bdd->query("INSERT INTO $table_classement (id_user, points, flottes, terrestres, recherches, batiments) VALUES ($id_user, $points, $pointsvais, $pointsterr, $pointstech, $pointsbat);");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
|
||||
$bdd->connexion();
|
||||
$classement = $bdd->query("SELECT U.id, U.auth_level FROM $table_classement C INNER JOIN $table_user U ON C.id_user = U.id ORDER BY C.points DESC;");
|
||||
$cnt = $bdd->num_rows;
|
||||
$p = 0;
|
||||
for($i = 0; $i < $cnt; $i++){
|
||||
if ($classement[$i]['auth_level'] < 2) {
|
||||
$p++;
|
||||
$bdd->query("UPDATE $table_user SET place_points = $p WHERE id = ".$classement[$i]['id']);
|
||||
}
|
||||
else $bdd->query("UPDATE $table_user SET place_points = 0 WHERE id = ".$classement[$i]['id']);
|
||||
}
|
||||
$bdd->deconnexion();
|
||||
*/
|
||||
print '<br />Fin de la génération du classement joueur ; il est : '.date('d/m/Y H:i:s');
|
||||
|
||||
//Classement Alliances
|
||||
$bdd->connexion();
|
||||
$bdd->query("TRUNCATE TABLE $table_classement_alliances;");
|
||||
$alliances = $bdd->query("SELECT U.id_alliance, SUM(U.id) AS nombre, SUM(U.points)/SUM(U.id) AS points, SUM(U.batiments)/SUM(U.id) AS batiments, SUM(U.recherches)/SUM(U.id) AS recherches, SUM(U.flotte)/SUM(U.id) AS flotte, SUM(U.terrestre)/SUM(U.id) AS terrestre FROM $table_user U GROUP BY U.id_alliance;");
|
||||
$cnt = $bdd->num_rows;
|
||||
for($i = 0; $i < $cnt; $i++){
|
||||
if ($alliances[$i]['id_alliance'] != 0) $bdd->query("INSERT INTO $table_classement_alliances (id_alliance, nbr_membres, points, batiments, recherches, flottes, terrestres) VALUES (".$alliances[$i]['id_alliance'].", ".$alliances[$i]['nombre'].", ".$alliances[$i]['points'].", ".$alliances[$i]['batiments'].", ".$alliances[$i]['recherches'].", ".$alliances[$i]['flotte'].", ".$alliances[$i]['terrestre'].");");
|
||||
}
|
||||
$bdd->deconnexion();
|
||||
|
||||
print '<br />Fin de la génération du classement ; il est : '.date('d/m/Y H:i:s');
|
||||
exit;
|
||||
//Script by Keiran
|
||||
print 'Il est : '.date('d/m/Y H:i:s');
|
||||
|
||||
set_time_limit(0);
|
||||
|
|
@ -127,7 +244,7 @@ while($recup_id = mysql_fetch_array($sql_1)) {
|
|||
$POINTS_BATIMENTS = $POINTS_BATIMENTS / 1000;
|
||||
|
||||
// points flottes terrestres recherches batiments
|
||||
if ($recup_id['auth_level'] < 3 && $recup_id['mv'] < 2) mysql_query("INSERT INTO `classement` VALUES (NULL, '$PSEUDO_USER', '$race', '$PT_RESSOURCES', '$POINTS_VAISSEAUX', '0', '$POINTS_TECHNO', '$POINTS_BATIMENTS')") or die (mysql_error());
|
||||
if ($recup_id['auth_level'] < 2 && $recup_id['mv'] < 2) mysql_query("INSERT INTO `classement` VALUES (NULL, '$PSEUDO_USER', '$race', '$PT_RESSOURCES', '$POINTS_VAISSEAUX', '0', '$POINTS_TECHNO', '$POINTS_BATIMENTS')") or die (mysql_error());
|
||||
mysql_query("UPDATE `user` SET `flotte` = '" . $POINTS_VAISSEAUX . "', `recherches` = '" . $POINTS_TECHNO . "', `batiments` = '" . $POINTS_BATIMENTS . "', `points` = '" . $PT_RESSOURCES . "' WHERE `pseudo` = '" . $PSEUDO_USER . "'") or die (mysql_error());
|
||||
|
||||
$metal = 0;
|
||||
|
|
@ -150,7 +267,7 @@ while($resultat = mysql_fetch_array($sql_2)) {
|
|||
$nomuser = $resultat['pseudo'];
|
||||
$reqd = mysql_query("SELECT `auth_level` FROM `user` WHERE `pseudo` = '$nomuser'");
|
||||
$resultatd = mysql_fetch_array($reqd);
|
||||
if ($resultatd['auth_level'] < 3) {
|
||||
if ($resultatd['auth_level'] < 2) {
|
||||
$i++;
|
||||
mysql_query("UPDATE `user` SET `place_points` = '$i' WHERE `pseudo` = '$nomuser'");
|
||||
}
|
||||
|
|
|
|||
689
htdocs/cron/webcronsave.php
Normal file
|
|
@ -0,0 +1,689 @@
|
|||
<?
|
||||
function showHeaderPage()
|
||||
{
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>WebcronSave V1.41</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"/>
|
||||
<meta http-equiv="expires" content="0">
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body { background: #FFFFFF; }
|
||||
|
||||
#topnav {
|
||||
background-color: #003399;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
#topnav li {
|
||||
display : inline;
|
||||
width: 100%;
|
||||
background-color: #FFFFFF;
|
||||
margin: 1 0px 1 0px;
|
||||
}
|
||||
|
||||
#topnav a {
|
||||
color: #003399;
|
||||
}
|
||||
|
||||
#topnav a {
|
||||
color: #003399;
|
||||
}
|
||||
|
||||
.message {
|
||||
color: black;
|
||||
font_weight:bold;
|
||||
}
|
||||
.error {
|
||||
color: red;
|
||||
font_weight:bold;
|
||||
}
|
||||
|
||||
//-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<?
|
||||
}
|
||||
|
||||
// recup chaine de get, post ou cookie avec ou sans stripslashes selon magic_quotes_gpc
|
||||
function RecupChaine($chaine) {
|
||||
if (get_magic_quotes_gpc()==1) return stripslashes($chaine); // il y avait magic
|
||||
return $chaine; // il n'y avait pas magic
|
||||
}
|
||||
|
||||
function showMessage($message,$class)
|
||||
{
|
||||
?>
|
||||
<div class="<?=$class?>">
|
||||
<?=$message?>
|
||||
</div>
|
||||
<?
|
||||
}
|
||||
|
||||
function moimeme($paramget='') {
|
||||
|
||||
global $_CONFIG;
|
||||
$ret=rtrim($_SERVER['PHP_SELF'],'/');
|
||||
$ret .=$paramget;
|
||||
if ($_CONFIG['IDENTIF'] != 'basic') {
|
||||
$ret .= empty($paramget)?'?':'&';
|
||||
$ret .= 'login='.urlencode($_CONFIG['LOGIN_HTTP']);
|
||||
$ret .= '&pass='.urlencode($_CONFIG['PASS_HTTP']);
|
||||
}
|
||||
return '"'.$ret.'"';
|
||||
}
|
||||
|
||||
function showFormConfig()
|
||||
{
|
||||
global $_CONFIG;
|
||||
?>
|
||||
<H1>CONFIGURATION</H1>
|
||||
<B>ATTENTION !</B><BR />
|
||||
Les mots de passe de base de données et d'administration doivent être saisis lors de la première configuration.
|
||||
Lors des autres accès à l'administration, laissez-les en blanc, sauf si vous désirez les changer.<BR>
|
||||
Nous conseillons le mode d'identification 'basic', mais il se peut qu'il ne fonctionne pas sur certains systèmes.
|
||||
Utilisez alors le mode 'par URL'.<br>
|
||||
<B>Si vous êtes obligé d'utiliser le mode 'par URL' et que d'autres personnes utilisent votre machine, videz l'historique de
|
||||
votre browser sinon d'autres personnes pourront retrouver vos login et mot de passe.</B>
|
||||
<BR><BR>
|
||||
<B>Utilisation de Webcronsave avec webcron.org :</B><br>
|
||||
<UL>
|
||||
<LI>identification basic : créez une tâche quotidienne avec l'url :<BR>
|
||||
<i>http://monsite.com/webcronsave.php?action=savewebcron</i><BR>
|
||||
et mettez le login et le mot de passe d'administration dans les login et mot de passe de la création/édition d'une tâche.
|
||||
<LI>identification par URL : créez une tâche quotidienne avec l'url :<BR>
|
||||
<i>http://monsite.com/webcronsave.php?action=savewebcron&login=monlogin&pass=monpass</i><BR>
|
||||
mais laissez vides les login et mot de passe de la création/édition d'une tâche.
|
||||
</UL>
|
||||
|
||||
<form action=<?=moimeme()?> method="POST">
|
||||
<input type="hidden" name="action" value="saveconfig">
|
||||
<TABLE border=1 cellpadding="3" align="center">
|
||||
|
||||
<tr bgcolor="#FFFFCC"><td colspan="2" align = "center" ><b>BASE DE DONNEES</b></td></tr>
|
||||
<TR bgcolor="#FFFFCC">
|
||||
<td align="right">Nom du serveur :</td>
|
||||
<td><input type="text" name="SERVER" value="<?=$_CONFIG['SERVER']?>"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#FFFFCC">
|
||||
<td align="right">Login utilisateur :</td>
|
||||
<td><input type="text" name="USER" value="<?=$_CONFIG['USER']?>"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#FFFFCC">
|
||||
<td align="right">Nouveau mot de passe utilisateur :</td>
|
||||
<td><input type="text" name="PASS"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#FFFFCC">
|
||||
<td align="right">Nom de la base de données :</td>
|
||||
<td><input type="text" name="BASE" value="<?=$_CONFIG['BASE']?>"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCCCFF"><td colspan="2" align = "center"><b>ADMINISTRATION</b></td></tr>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td align="right">Email en cas de problème :</td>
|
||||
<td><input type="text" name="EMAIL" value="<?=$_CONFIG['EMAIL']?>"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td align="right">Login d'accès à l'admin :</td>
|
||||
<td><input type="text" name="LOGIN_HTTP" value="<?=$_CONFIG['LOGIN_HTTP']?>"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td align="right">Nouveau mot de passe d'accès à l'admin :</td>
|
||||
<td><input type="text" name="PASS_HTTP"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td align="right">Mode d'identification :</td>
|
||||
<td>
|
||||
basic : <input type="radio" name="IDENTIF" value="basic"<? echo $_CONFIG['IDENTIF']!='basic'?'':'CHECKED'?>>
|
||||
par URL : <input type="radio" name="IDENTIF" value="url"<? echo $_CONFIG['IDENTIF']=='basic'?'':'CHECKED'?>>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr bgcolor="#CCFFFF">
|
||||
<td colspan="2" align="center"><b>LISTE DES SAUVEGARDES A FAIRE</b</td>
|
||||
</tr>
|
||||
|
||||
<tr bgcolor="#CCFFFF">
|
||||
<td align="right"> sauvegarde du 1er du mois : </td>
|
||||
<td><input type="radio" name="MONTH" value="1" <?=($_CONFIG['MONTH']==1)?"CHECKED":""?>> Oui <input type="radio" name="MONTH" value="0" <?=($_CONFIG['MONTH']==0)?"CHECKED":""?>> Non </td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCFFFF">
|
||||
<td align="right">sauvegarde du dimanche : </td>
|
||||
<td><input type="radio" name="WEEK" value="1" <?=($_CONFIG['WEEK']==1)?"CHECKED":""?>> Oui <input type="radio" name="WEEK" value="0" <?=($_CONFIG['WEEK']==0)?"CHECKED":""?>> Non </td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCFFFF">
|
||||
<td align="right">sauvegarde de la veille : </td>
|
||||
<td><input type="radio" name="YESTERDAY" value="1" <?=($_CONFIG['YESTERDAY']==1)?"CHECKED":""?>> Oui <input type="radio" name="YESTERDAY" value="0" <?=($_CONFIG['YESTERDAY']==0)?"CHECKED":""?>> Non </td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCFFFF">
|
||||
<td align="right">sauvegarde du jour : </td>
|
||||
<td><input type="radio" name="TODAY" value="1" <?=($_CONFIG['TODAY']==1)?"CHECKED":""?>> Oui <input type="radio" name="TODAY" value="0" <?=($_CONFIG['TODAY']==0)?"CHECKED":""?>> Non </td>
|
||||
</tr>
|
||||
<? if (isset($_CONFIG["BASE"]) && isset($_CONFIG["SERVER"]) && isset($_CONFIG["USER"]) && isset($_CONFIG["PASS"])) {
|
||||
if (checkMysql())
|
||||
{
|
||||
$list=listTable();
|
||||
?>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td colspan="2" align="center"><b>LISTE DES TABLES A SAUVEGARDER</b</td>
|
||||
</tr>
|
||||
<?
|
||||
foreach($list as $table)
|
||||
{
|
||||
if (!isset($_CONFIG['TABLE_'.$table['nom']])) $_CONFIG['TABLE_'.$table['nom']]=1;
|
||||
?>
|
||||
<tr bgcolor="#CCFFFF">
|
||||
<td align="right">table <b><?=$table['nom']?></b></td>
|
||||
<td><input type="radio" name="TABLE_<?=$table['nom']?>" value="1" <?=($_CONFIG['TABLE_'.$table['nom']]==1)?"CHECKED":""?>> Oui <input type="radio" name="TABLE_<?=$table['nom']?>" value="0" <?=($_CONFIG['TABLE_'.$table['nom']]==0)?"CHECKED":""?>> Non </td>
|
||||
</tr>
|
||||
<?
|
||||
}
|
||||
?>
|
||||
<? } else {?>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td colspan="2" align="center"><b>TOUTES LES TABLES SONT SAUVEGARDEES</b</td>
|
||||
</tr>
|
||||
<? } } else { ?>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td colspan="2" align="center"><b>TOUTES LES TABLES SONT SAUVEGARDEES</b</td>
|
||||
</tr>
|
||||
<? } ?>
|
||||
<TR>
|
||||
<td colspan="2" align="center"><input type="submit" name="submit" value="Valider"></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</form>
|
||||
<?
|
||||
}
|
||||
function showFooterPage()
|
||||
{
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
<?
|
||||
}
|
||||
function showMenu()
|
||||
{
|
||||
?>
|
||||
<ul id="topnav">
|
||||
<li> <a href=<?=moimeme('?action=config')?>>Configuration</a> </li>
|
||||
<li> <a href=<?=moimeme('?action=save')?>>Sauvegarde Manuelle</a> </li>
|
||||
<li> <a href=<?=moimeme('?action=restore')?>>Restauration</a> </li>
|
||||
<li> <a href="http://www.webcron.org">Webcron</a> </li>
|
||||
</ul>
|
||||
<?
|
||||
}
|
||||
|
||||
function showIdentifPage()
|
||||
{
|
||||
global $_CONFIG;
|
||||
?>
|
||||
<H1>IDENTIFICATION</H1>
|
||||
<FORM align="center" method="GET" action="<?=$_SERVER['PHP_SELF']?>">
|
||||
<TABLE border=1 cellpadding="3" align="center">
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td align="right">Login d'accès à l'admin :</td>
|
||||
<td><input type="text" name="login" value="<?=$_CONFIG['LOGIN_HTTP']?>"></td>
|
||||
</tr>
|
||||
<tr bgcolor="#CCCCFF">
|
||||
<td align="right">Mot de passe d'accès à l'admin :</td>
|
||||
<td><input type="text" name="pass"></td>
|
||||
</tr>
|
||||
<TR>
|
||||
<td colspan="2" align="center"><input type="submit" name="submit" value="Valider"></td>
|
||||
</tr>
|
||||
</TABLE>
|
||||
</FORM>
|
||||
<?
|
||||
}
|
||||
|
||||
function checkMysql()
|
||||
{
|
||||
global $_CONFIG;
|
||||
include('./webcronsave/config.php');
|
||||
|
||||
if (!$my=mysql_connect($_CONFIG['SERVER'],$_CONFIG['USER'],$_CONFIG['PASS']))
|
||||
return false;
|
||||
else
|
||||
{
|
||||
if (!mysql_select_db($_CONFIG['BASE']))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function saveData()
|
||||
{
|
||||
global $_CONFIG;
|
||||
checkMysql();
|
||||
$fname=date('Y-m-d')."_".$_CONFIG['BASE'];
|
||||
$list=listTable();
|
||||
if (!function_exists('gzopen'))
|
||||
$fp=fopen('./webcronsave/'.$fname.'.sql','w');
|
||||
else
|
||||
$fp=gzopen('./webcronsave/'.$fname.'.gz','w');
|
||||
if ($fp)
|
||||
{
|
||||
foreach($list as $table)
|
||||
{
|
||||
if (isset($_CONFIG['TABLE_'.$table['nom']]))
|
||||
{
|
||||
if ($_CONFIG['TABLE_'.$table['nom']]=='1')
|
||||
{
|
||||
dumpTable($fp,$table);
|
||||
}
|
||||
}
|
||||
else dumpTable($fp,$table);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
function restoreFile($file)
|
||||
{
|
||||
showMessage('Restauration en cours','message');
|
||||
checkMysql();
|
||||
list($name,$ext)=explode('.',$file);
|
||||
if ($ext=='gz')
|
||||
$pref='gz';
|
||||
else
|
||||
$pref='f';
|
||||
$open=$pref.'open';
|
||||
$gets=$pref.'gets';
|
||||
$eof=$pref.'eof';
|
||||
$close=$pref.'close';
|
||||
$fp=$open($dir='./webcronsave/'.$file,'r');
|
||||
if ($fp)
|
||||
{
|
||||
$buffer='';
|
||||
$inChamp=false;
|
||||
while (!$eof($fp)) {
|
||||
$s=$gets($fp, 4096);
|
||||
$old='';
|
||||
for($i=0;$i<strlen($s);$i++)
|
||||
{
|
||||
$current=$s[$i];
|
||||
if ($current=="'" && $old!='\\')
|
||||
$inChamp=!$inChamp;
|
||||
|
||||
if ($current==';' && $inChamp==false)
|
||||
{
|
||||
$query=$buffer;
|
||||
if (!mysql_query($query))
|
||||
{
|
||||
showMessage('Problème de requete <b>'.htmlentities($query).'</b> Mysql '.mysql_error(),'error');
|
||||
return false;
|
||||
}
|
||||
$buffer='';
|
||||
}
|
||||
else
|
||||
{
|
||||
$buffer.=$current;
|
||||
}
|
||||
$old=$current;
|
||||
}
|
||||
}
|
||||
$close($fp);
|
||||
return true;
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
|
||||
function dumpTable($fp,$table)
|
||||
{
|
||||
global $_CONFIG;
|
||||
$nomtable=$table['nom'];
|
||||
|
||||
if (!function_exists('gzopen'))
|
||||
$fwrite='fwrite';
|
||||
else
|
||||
$fwrite='gzwrite';
|
||||
|
||||
$fwrite($fp,'#sauvegarde base mysql '.$_CONFIG['BASE']."\n\n");
|
||||
$fwrite($fp,"DROP TABLE IF EXISTS `$nomtable`;\n\n");
|
||||
|
||||
$sql='SET SQL_QUOTE_SHOW_CREATE=1';
|
||||
$res=mysql_query($sql); // pas fatal
|
||||
|
||||
$sql="SHOW CREATE TABLE `$nomtable`";
|
||||
$res=mysql_query($sql) or die ('Erreur Mysql '.mysql_error().'<br>');
|
||||
while($res && $row=mysql_fetch_row($res))
|
||||
{
|
||||
if (is_numeric($table['autoinc'])) $row[1] .= ' AUTO_INCREMENT='.$table['autoinc'];
|
||||
$fwrite($fp,$row[1].";\n");
|
||||
}
|
||||
$fwrite($fp,"\n\n");
|
||||
|
||||
$res = mysql_query("SELECT * FROM `$nomtable`") or die ('Erreur Mysql '.mysql_error().'<br>');
|
||||
|
||||
while ($row = mysql_fetch_assoc($res)){
|
||||
$strFieldsNames = '';
|
||||
$strFieldsValues = '';
|
||||
|
||||
foreach ($row as $field_name => $field_value){
|
||||
if ($strFieldsNames) $strFieldsNames .= ', ';
|
||||
$strFieldsNames .= "`$field_name`";
|
||||
|
||||
if($strFieldsValues) $strFieldsValues .= ', ';
|
||||
$strFieldsValues .= "'" . addslashes($field_value) . "'";
|
||||
}
|
||||
|
||||
$fwrite($fp,"INSERT INTO `$nomtable` ($strFieldsNames) values($strFieldsValues);\n");
|
||||
}
|
||||
$fwrite($fp,"\n\n");
|
||||
}
|
||||
|
||||
function listTable()
|
||||
{
|
||||
global $_CONFIG;
|
||||
$list_table=array();
|
||||
$list_autoinc =array();
|
||||
$res=mysql_query('SHOW TABLE STATUS') or die ('Erreur Mysql '.mysql_error().'<br>');
|
||||
// $tmpfile=tempnam(ini_get("session.save_path"),"webcronsave_");
|
||||
if (!$res)
|
||||
{
|
||||
echo 'Erreur Mysql '.mysql_error().'<br>';
|
||||
die;
|
||||
}
|
||||
else
|
||||
{
|
||||
while($row=mysql_fetch_array($res))
|
||||
{
|
||||
$list_table[]=array('nom'=>$row['Name'],'autoinc'=>$row['Auto_increment']);
|
||||
}
|
||||
}
|
||||
return $list_table;
|
||||
}
|
||||
|
||||
function saveConfig($data)
|
||||
{
|
||||
global $_CONFIG;
|
||||
|
||||
// on vérifie si config correcte
|
||||
if (empty($data['PASS'])) {
|
||||
if (empty($_CONFIG['PASS'])) {
|
||||
showMessage ('Le mot de passe de la base de données est vide.','error');
|
||||
showMessage ('Ceci n\'est acceptable que si vous faites un essai en local','error');
|
||||
$_CONFIG['PASS']='';
|
||||
}
|
||||
$data['PASS']=$_CONFIG['PASS']; // prise en compte nouveau mot de passe bdd
|
||||
}
|
||||
|
||||
if (empty($data['PASS_HTTP'])) {
|
||||
if (empty($_CONFIG['PASS_HTTP'])) {
|
||||
return 'le mot de passe admin ne doit pas être vide'; // mot de passe admin vide interdit
|
||||
}
|
||||
$data['PASS_HTTP']=$_CONFIG['PASS_HTTP']; // prise en compte nouveau mot de passe admin
|
||||
}
|
||||
|
||||
if (empty($data['USER'])) {
|
||||
showMessage ('Le nom d\'utilisateur de la base de données est vide.','error');
|
||||
showMessage ('Ceci n\'est acceptable que si vous faites un essai en local','error');
|
||||
}
|
||||
if (empty($data['LOGIN_HTTP'])) {
|
||||
return 'le nom d\'utilisateur admin ne doit pas être vide';
|
||||
}
|
||||
|
||||
if($fd = fopen('./webcronsave/config.php','w'))
|
||||
{
|
||||
fputs($fd,"<?php\n");
|
||||
foreach($data as $key => $val)
|
||||
{
|
||||
fputs($fd,"\$_CONFIG[\"$key\"]=".var_export(recupchaine($val),true).";\n");
|
||||
$_CONFIG[$key]=$val;
|
||||
}
|
||||
fputs($fd,'?','>');
|
||||
fclose($fd);
|
||||
//je crée un htaccess pour ne pas que les gens viennent chercher les fichiers en direct
|
||||
if($fd = @fopen('./webcronsave/.htaccess','w'))
|
||||
{
|
||||
$str="order deny,allow\ndeny from all\n";
|
||||
fputs($fd,$str);
|
||||
fclose($fd);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
else
|
||||
return 'Problème de droits : impossible de sauvegarder le fichier de config';
|
||||
}
|
||||
|
||||
function getFileSize($size) {
|
||||
$units = array(' B', ' KB', ' MB', ' GB', ' TB');
|
||||
for ($i = 0; $size > 1024; $i++) { $size /= 1024; }
|
||||
return round($size, 2).$units[$i];
|
||||
}
|
||||
|
||||
function fileData($file)
|
||||
{
|
||||
global $_CONFIG;
|
||||
$dir='./webcronsave/';
|
||||
list($name,$ext)=explode('.',$file);
|
||||
list($date,$db)=explode('_',$name);
|
||||
list($year,$month,$day)=explode('-',$date);
|
||||
if ($ext=='gz') $ext_f='Fichier compressé (algorithme GZIP)';
|
||||
else $ext_f='Fichier non compressé';
|
||||
return 'sauvegarde du '.$day.'/'.$month.'/'.$year.' '.getFileSize(filesize($dir.$file)).' '.$ext_f;
|
||||
}
|
||||
function checkFile()
|
||||
{
|
||||
global $_CONFIG;
|
||||
if (!function_exists('gzopen'))
|
||||
$ext='.sql';
|
||||
else
|
||||
$ext='.gz';
|
||||
//sauvegarde du jour
|
||||
if ($_CONFIG['TODAY']=='1') $names[date('Y-m-d').'_'.$_CONFIG['BASE'].$ext]=date('Y-m-d').'_'.$_CONFIG['BASE'].$ext;
|
||||
//sauvegarde de la veille
|
||||
if ($_CONFIG['YESTERDAY']=='1') $names[date('Y-m-d',time()-86400).'_'.$_CONFIG['BASE'].$ext]=date('Y-m-d',time()-86400).'_'.$_CONFIG['BASE'].$ext;
|
||||
//sauvegarde du debut du mois
|
||||
if ($_CONFIG['MONTH']=='1') $names[date('Y-m-01').'_'.$_CONFIG['BASE'].$ext]=date('Y-m-01').'_'.$_CONFIG['BASE'].$ext;
|
||||
//sauvegarde du dimanche
|
||||
if ($_CONFIG['WEEK']=='1') $names[date('Y-m-d',time()-date('w')*86400).'_'.$_CONFIG['BASE'].$ext]=date('Y-m-d',time()-date("w")*86400)."_".$_CONFIG['BASE'].$ext;
|
||||
//var_dump($names);
|
||||
$list_f=listFileSave();
|
||||
foreach($list_f as $file)
|
||||
{
|
||||
if (!in_array($file,$names)) unlink('./webcronsave/'.$file);
|
||||
}
|
||||
|
||||
}
|
||||
function listFileSave()
|
||||
{
|
||||
$dir='./webcronsave/';
|
||||
$list_f=array();
|
||||
if (is_dir($dir)) {
|
||||
if ($dh = opendir($dir)) {
|
||||
while (($file = readdir($dh)) !== false) {
|
||||
if (!in_array($file,array('.','..','config.php','.htaccess')))
|
||||
{
|
||||
$list_f[]=$file;
|
||||
}
|
||||
}
|
||||
closedir($dh);
|
||||
}
|
||||
}
|
||||
return $list_f;
|
||||
}
|
||||
function listeSave()
|
||||
{
|
||||
global $_CONFIG;
|
||||
|
||||
$list_f=listFileSave();
|
||||
|
||||
echo '<ul id="list_archive">';
|
||||
foreach($list_f as $val)
|
||||
{
|
||||
echo '<li> <a href='.moimeme('?action=dorestore&file='.urlencode($val)).'>Restaurer</a> '.fileData($val).'</li>';
|
||||
}
|
||||
echo '</ul>';
|
||||
}
|
||||
function readConfig()
|
||||
{
|
||||
global $_CONFIG;
|
||||
$rsrc=@opendir( './webcronsave');
|
||||
if ($rsrc===false) return false;
|
||||
closedir ($rsrc);
|
||||
|
||||
if (file_exists('./webcronsave/config.php'))
|
||||
include_once('./webcronsave/config.php');
|
||||
if (!isset($_CONFIG['TODAY'])) $_CONFIG['TODAY']=0;
|
||||
if (!isset($_CONFIG['YESTERDAY'])) $_CONFIG['YESTERDAY']=0;
|
||||
if (!isset($_CONFIG['MONTH'])) $_CONFIG['MONTH']=1;
|
||||
if (!isset($_CONFIG['WEEK'])) $_CONFIG['WEEK']=0;
|
||||
if (!isset($_CONFIG['SERVER'])) $_CONFIG['SERVER']='localhost';
|
||||
if (!isset($_CONFIG['USER'])) $_CONFIG['USER']='';
|
||||
if (!isset($_CONFIG['PASS'])) $_CONFIG['PASS']='';
|
||||
if (!isset($_CONFIG['BASE'])) $_CONFIG['BASE']='';
|
||||
if (!isset($_CONFIG['EMAIL'])) $_CONFIG['EMAIL']='';
|
||||
if (!isset($_CONFIG['LOGIN_HTTP'])) $_CONFIG['LOGIN_HTTP']='';
|
||||
if (!isset($_CONFIG['PASS_HTTP'])) $_CONFIG['PASS_HTTP']='';
|
||||
if (!isset($_CONFIG['IDENTIF'])) $_CONFIG['IDENTIF']='basic';
|
||||
return true;
|
||||
|
||||
} // function readConfig()
|
||||
|
||||
|
||||
function AfficherListe() {
|
||||
echo 'sauvegarde(s) disponible(s) :<BR>';
|
||||
$lst= ListFileSave();
|
||||
for ($k= 0; $k < count($lst); $k++) {
|
||||
echo htmlentities($lst[$k]),'<BR>';
|
||||
}
|
||||
|
||||
} //function AfficherListe()
|
||||
|
||||
//GESTION DE LA PAGE
|
||||
|
||||
if (isset($_POST['action']) && strlen($_POST['action'])>0) $action=recupchaine($_POST['action']);
|
||||
else if (isset($_GET['action']) && strlen($_GET['action'])>0) $action=recupchaine($_GET['action']);
|
||||
//par défaut l'action est la configuration
|
||||
else $action='config';
|
||||
|
||||
if (!readConfig())
|
||||
{
|
||||
$action='error';
|
||||
$errorMessage='Veuillez créer le repertoire \'webcronsave\' pour sauvegarder votre config et vos sauvegardes.';
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!empty($_CONFIG['LOGIN_HTTP']) && !empty($_CONFIG['PASS_HTTP']))
|
||||
{
|
||||
if ($_CONFIG['IDENTIF']!='basic') {
|
||||
if (empty($_GET['login']) || empty($_GET['pass'])) // identification non fournie
|
||||
$action='demandermdp';
|
||||
else if ((recupchaine($_GET['login']) != $_CONFIG['LOGIN_HTTP']) ||
|
||||
(recupchaine($_GET['pass']) != $_CONFIG['PASS_HTTP']) ) // identif incorrecte
|
||||
$action='demandermdp';
|
||||
|
||||
} // fin identif par url
|
||||
else { // identif par basic
|
||||
if (!isset($_SERVER['PHP_AUTH_USER'])) {
|
||||
header('WWW-Authenticate: Basic realm="WebCronSave"');
|
||||
header('HTTP/1.0 401 Unauthorized');
|
||||
exit;
|
||||
} else {
|
||||
if ($_SERVER['PHP_AUTH_USER']!=$_CONFIG['LOGIN_HTTP'] || $_SERVER['PHP_AUTH_PW']!=$_CONFIG['PASS_HTTP'])
|
||||
{
|
||||
header('WWW-Authenticate: Basic realm="WebCronSave"');
|
||||
header('HTTP/1.0 401 Unauthorized');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
} // fin identif par basic
|
||||
}
|
||||
}
|
||||
checkFile();
|
||||
//traitement spécifique
|
||||
switch($action)
|
||||
{
|
||||
//webcron sauvegarde automatique
|
||||
case 'savewebcron':
|
||||
if (!saveData()) {
|
||||
mail($_CONFIG['EMAIL'],'Problème avec votre sauvegarde','Veuillez vérifier votre configuration : http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."\n");
|
||||
echo 'pb sauvegarde';
|
||||
} else {
|
||||
checkFile();
|
||||
AfficherListe();
|
||||
}
|
||||
break;
|
||||
|
||||
//Affichage de la config
|
||||
case 'config':
|
||||
showHeaderPage();
|
||||
showMenu();
|
||||
showFormConfig();
|
||||
break;
|
||||
|
||||
//sauvegarde de la config
|
||||
case 'saveconfig':
|
||||
showHeaderPage();
|
||||
$diag=saveConfig($_POST);
|
||||
showMenu();
|
||||
if ($diag!='')
|
||||
{
|
||||
showMessage($diag,'error');
|
||||
}
|
||||
else
|
||||
{
|
||||
showMessage('La configuration a été sauvegardée',"message");
|
||||
showMessage('Vérification de la connexion de la base de données','message');
|
||||
if (!checkMysql()) showMessage('Problème de connexion Mysql '.mysql_error(),'error');
|
||||
else showMessage('La connexion est bien configurée !','message');
|
||||
}
|
||||
break;
|
||||
|
||||
//Affichage d'une erreur
|
||||
case 'error':
|
||||
showHeaderPage();
|
||||
showMenu();
|
||||
showMessage($errorMessage,'error');
|
||||
showFooterPage();
|
||||
break;
|
||||
|
||||
//Gestion de la sauvegarde manuel
|
||||
case 'save':
|
||||
showHeaderPage();
|
||||
showMenu();
|
||||
if (saveData())
|
||||
{
|
||||
showMessage('La sauvegarde a été effectuée avec succès','message');
|
||||
}
|
||||
else
|
||||
showMessage('Problème de création de fichier','error');
|
||||
showFooterPage();
|
||||
break;
|
||||
|
||||
//gestion de la restauration
|
||||
case 'restore':
|
||||
showHeaderPage();
|
||||
showMenu();
|
||||
listeSave();
|
||||
showFooterPage();
|
||||
break;
|
||||
|
||||
//gestion de la restauration
|
||||
case 'dorestore':
|
||||
showHeaderPage();
|
||||
showMenu();
|
||||
$file=recupchaine($_GET['file']);
|
||||
if (!restoreFile($file)) showMessage('Problème de requête Mysql '.mysql_error(),'error');
|
||||
else showMessage('Restauration effectuée avec succès','message');
|
||||
showFooterPage();
|
||||
break;
|
||||
|
||||
//saisie de l'identification par URL
|
||||
case 'demandermdp':
|
||||
showHeaderPage();
|
||||
showIdentifPage();
|
||||
showFooterPage();
|
||||
break;
|
||||
|
||||
//gestion par défaut
|
||||
default:
|
||||
break;
|
||||
}
|
||||
?>
|
||||
2
htdocs/cron/webcronsave/.htaccess
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
order deny,allow
|
||||
deny from all
|
||||
BIN
htdocs/cron/webcronsave/2008-06-19_hb_37.gz
Normal file
75176
htdocs/cron/webcronsave/2008-06-19_hb_37/2008-06-19_hb_37.sql
Normal file
35
htdocs/cron/webcronsave/config.php
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
$_CONFIG["action"]='saveconfig';
|
||||
$_CONFIG["SERVER"]='localhost';
|
||||
$_CONFIG["USER"]='hb_37';
|
||||
$_CONFIG["PASS"]='JQ2Pe%!bpUDr1';
|
||||
$_CONFIG["BASE"]='hb_37';
|
||||
$_CONFIG["EMAIL"]='admin@halo-battle.s-fr.com';
|
||||
$_CONFIG["LOGIN_HTTP"]='nemunaire';
|
||||
$_CONFIG["PASS_HTTP"]='KT58pUm%s!9';
|
||||
$_CONFIG["IDENTIF"]='basic';
|
||||
$_CONFIG["MONTH"]='0';
|
||||
$_CONFIG["WEEK"]='0';
|
||||
$_CONFIG["YESTERDAY"]='0';
|
||||
$_CONFIG["TODAY"]='1';
|
||||
$_CONFIG["TABLE_alliances"]='1';
|
||||
$_CONFIG["TABLE_alliances_attente"]='1';
|
||||
$_CONFIG["TABLE_alliances_chat"]='1';
|
||||
$_CONFIG["TABLE_alliances_creation"]='1';
|
||||
$_CONFIG["TABLE_alliances_grade"]='1';
|
||||
$_CONFIG["TABLE_bug"]='0';
|
||||
$_CONFIG["TABLE_classement"]='0';
|
||||
$_CONFIG["TABLE_classement_alliances"]='0';
|
||||
$_CONFIG["TABLE_flottes"]='1';
|
||||
$_CONFIG["TABLE_flottes_combats"]='1';
|
||||
$_CONFIG["TABLE_infoshead"]='0';
|
||||
$_CONFIG["TABLE_mail"]='1';
|
||||
$_CONFIG["TABLE_ope_faq"]='1';
|
||||
$_CONFIG["TABLE_ope_mail"]='1';
|
||||
$_CONFIG["TABLE_ope_modele"]='1';
|
||||
$_CONFIG["TABLE_planete"]='1';
|
||||
$_CONFIG["TABLE_registre_identification"]='0';
|
||||
$_CONFIG["TABLE_sessions"]='0';
|
||||
$_CONFIG["TABLE_user"]='1';
|
||||
$_CONFIG["TABLE_version"]='0';
|
||||
$_CONFIG["submit"]='Valider';
|
||||
BIN
htdocs/images/batiments/batimentcovieux4.jpg
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
htdocs/images/hfr.jpg
Normal file
|
After Width: | Height: | Size: 79 KiB |
BIN
htdocs/images/technologies/39969905fullew4.jpg
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
htdocs/images/technologies/ernergieforruner.jpg
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
htdocs/images/terrestre/defcovie.jpg
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
htdocs/images/vaisseaux/62685810.jpg
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
htdocs/images/vaisseaux/cargo2pb6.jpg
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
htdocs/images/vaisseaux/colocopiers4.jpg
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
htdocs/images/vaisseaux/contactharvestbynameleszk3.jpg
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
htdocs/images/vaisseaux/cuiras18.jpg
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
htdocs/images/vaisseaux/frgatecopiegw1.jpg
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
htdocs/images/vaisseaux/halcyo15.jpg
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
htdocs/images/vaisseaux/marath14.jpg
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
htdocs/images/vaisseaux/qsu169.jpg
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
htdocs/images/vaisseaux/recycl10.jpg
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
htdocs/images/vaisseaux/sanstitre2copiegw9.jpg
Normal file
|
After Width: | Height: | Size: 33 KiB |
|
|
@ -12,19 +12,24 @@ if ($_SERVER["REMOTE_ADDR"] == "82.245.190.225" || $_SERVER["REMOTE_ADDR"] == "8
|
|||
|
||||
//On vérifie si le client est connecté sur le site
|
||||
if (isset($sess) && isset($sess->values['connected']) && $sess->values['connected'] && !empty($sess->values['id']) && isset($sess->values['auth_level']) && !empty($sess->values['idPlan'])) {
|
||||
//On affiche la version du jeu
|
||||
$template->assign('version', VERSION);
|
||||
$HB_login = gpc('l');
|
||||
if (!empty($HB_login) && strtolower($HB_login) != strtolower(trouvNom($sess->values['id']))) {
|
||||
include(_FCORE."hb_game/jeu/logout.php");
|
||||
}
|
||||
elseif (!empty($HB_login)) {
|
||||
header('Location: ./');
|
||||
exit;
|
||||
}
|
||||
|
||||
//Récupération d'informations au sujet de l'utilisateur
|
||||
$id_user = $sess->values['id'];
|
||||
$template->assign('auth_level', $sess->values['auth_level']);
|
||||
|
||||
$bdd->connexion();
|
||||
$queryUser = $bdd->unique_query("SELECT * FROM $table_user WHERE id = '$id_user'");
|
||||
$queryUser = $bdd->unique_query("SELECT * FROM $table_user WHERE id = $id_user");
|
||||
|
||||
//On vérifie que le joueur ne soit pas en mode vacances forcé
|
||||
if ($queryUser['mv'] || !$queryUser) {
|
||||
file_log('!! MV jeu : '.var_export($_REQUEST,TRUE));
|
||||
$sess->close();
|
||||
header('Location: ?mvf');
|
||||
exit;
|
||||
|
|
@ -57,7 +62,6 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte
|
|||
$queryPlanete = $bdd->unique_query("SELECT * FROM $table_planete WHERE id = '$idPlan'");
|
||||
|
||||
$bdd->deconnexion();
|
||||
$enligne = $bdd->num_rows;
|
||||
|
||||
$case = $queryPlanete["cases"];
|
||||
$metal = $queryPlanete["metal"];
|
||||
|
|
@ -72,7 +76,8 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte
|
|||
|
||||
$bdd->connexion();
|
||||
$queryPlanete = $bdd->unique_query("SELECT * FROM $table_planete WHERE id = '$idPlan'");
|
||||
$queryMail = $bdd->query("SELECT * FROM $table_mail WHERE destinataire = '".$queryUser['pseudo']."' AND vu = '1';");
|
||||
$queryMail = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = '".$queryUser['pseudo']."' AND vu = '1';");
|
||||
$bdd->deconnexion();
|
||||
|
||||
//Isolement de la planète
|
||||
$queryPlanete['isolement'] = explode(' ', $queryPlanete['isolement']);
|
||||
|
|
@ -97,12 +102,14 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte
|
|||
$debut = mktime(rand(0, 24-$tps), 0, 0, date('n'), date('j'), date('Y'));
|
||||
$fin = $debut + $tps * 3600;
|
||||
|
||||
$bdd->connexion();
|
||||
$bdd->query("UPDATE $table_planete SET isolement = '$debut $fin' WHERE id = '$idPlan';");
|
||||
$bdd->deconnexion();
|
||||
$queryPlanete['isolement'][0] = $debut;
|
||||
if (time() > $queryPlanete['isolement'][0]) $queryPlanete['isolement'][1] = $fin;
|
||||
}
|
||||
}
|
||||
if (isset($queryPlanete['isolement'][1]) && time() < $queryPlanete['isolement'][1] && $_GET['p'] != 'rename' && $_GET['p'] != 'accueil' && $_GET['p'] != 'arbre' && $_GET['p'] != 'prochainement' && $_GET['p'] != 'options' && $_GET['p'] != 'messagerie' && $_GET['p'] != 'envoyer' && $_GET['p'] != 'classement' && $_GET['p'] != 'bugs' && $_GET['p'] != 'deconnexion') {
|
||||
if (isset($queryPlanete['isolement'][1]) && time() < $queryPlanete['isolement'][1] && $p != 'rename' && $p != 'accueil' && $p != 'arbre' && $p != 'prochainement' && $p != 'options' && $p != 'messagerie' && $p != 'envoyer' && $p != 'classement' && $p != 'bugs' && $p != 'deconnexion') {
|
||||
$template->assign('message','Impossible de rentrer en contact avec cette planète. Réessayez plus tard.');
|
||||
$template->assign('titre','Planète isolée');
|
||||
$template->assign('couleur','red');
|
||||
|
|
@ -111,9 +118,8 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte
|
|||
}
|
||||
}
|
||||
|
||||
$bdd->deconnexion();
|
||||
|
||||
$template->assign('alertMail', $bdd->num_rows);
|
||||
$template->assign('alertMail', $queryMail['nombre']);
|
||||
$metal = $queryPlanete["metal"];
|
||||
$cristal = $queryPlanete["cristal"];
|
||||
$hydrogene = $queryPlanete["hydrogene"];
|
||||
|
|
@ -123,9 +129,9 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte
|
|||
$queryPlanete["energieS"] = separerNombres($queryPlanete["energie"]);
|
||||
$queryPlanete["nom_planete"] = htmlspecialchars($queryPlanete["nom_planete"]);
|
||||
|
||||
$template->assign('planete',$queryPlanete);
|
||||
$template->assign('planetes',$queryPlanetes);
|
||||
$template->assign('nomsressources',$ressourc);
|
||||
$template->assign('planete', $queryPlanete);
|
||||
$template->assign('planetes', $queryPlanetes);
|
||||
$template->assign('nomsressources', $ressourc);
|
||||
|
||||
//Calcul du nombre de cases restantes
|
||||
$coun = count($batiment);
|
||||
|
|
@ -135,8 +141,8 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte
|
|||
}
|
||||
$template->assign('caseRest',$case-$caseRest);
|
||||
|
||||
if (!isset($_GET['p'])) $_GET['p'] = '';
|
||||
switch($_GET['p']){
|
||||
$p = gpc('p');
|
||||
switch($p){
|
||||
case 'prochainement':
|
||||
$page = 'prochainement';
|
||||
$titre = 'Prochainement';
|
||||
|
|
@ -165,6 +171,9 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte
|
|||
case 'arbre':
|
||||
include(_FCORE."hb_game/jeu/arbre.php");
|
||||
break;
|
||||
case 'gestion':
|
||||
include(_FCORE."hb_game/jeu/gestion.php");
|
||||
break;
|
||||
case 'ressources':
|
||||
include(_FCORE."hb_game/jeu/ressources.php");
|
||||
break;
|
||||
|
|
@ -234,21 +243,37 @@ if (isset($sess) && isset($sess->values['connected']) && $sess->values['connecte
|
|||
//Si le joueur n'est pas connecté au site
|
||||
else {
|
||||
//On traite la demande de loggin de l'utilisateur
|
||||
if (isset($_POST['HB_login']) && isset($_POST['HB_password'])) {
|
||||
if (isset($_GET['l']) && isset($_GET['p']) && isset($_GET['a'])) {
|
||||
//Récupération des données POST
|
||||
$HB_login = $_POST['HB_login'];
|
||||
$HB_password = $_POST['HB_password'];
|
||||
$HB_login = gpc('l');
|
||||
$HB_password = gpc('p');
|
||||
$HB_auth = gpc('a');
|
||||
|
||||
if (empty($HB_login) || empty($HB_password)) {
|
||||
$template->assign('message','Nom d\'utilisateur ou mot de passe incorrect.');
|
||||
$template->assign('message','Nom d\'utilisateur ou mot de passe incorrect.<br /><br />');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif (hash("sha512", $HB_login.'Ņ♂↨'.$HB_password.'☻♫☼'.date('W!Y¨D@j')) != $HB_auth && hash("sha512", $HB_login.'Ņ♂↨'.$HB_password.'☻♫☼'.date('W!Y¨D@j', time()-300)) != $HB_auth) {
|
||||
$template->assign('message','Impossible d\'authentifier la connexion !<br /><br />Si le problème perciste, contactez un administrateur.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('cms/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$ipe = $_SERVER['REMOTE_ADDR'];
|
||||
$bdd->connexion();
|
||||
$bruteforce = $bdd->unique_query("SELECT nombre FROM securite_identification WHERE ip = '$ipe';");
|
||||
if ($bruteforce['nombre'] >= 15) {
|
||||
$fichier = fopen(_FCORE."ban.xlist",'a+');
|
||||
fwrite($fichier, $_SERVER['REMOTE_ADDR']."\n\r");
|
||||
fclose($fichier);
|
||||
}
|
||||
$bdd->escape($HB_login);
|
||||
if (!$var = $bdd->unique_query("SELECT mdp_var FROM $table_user WHERE pseudo = '$HB_login';")) {
|
||||
if (isset($bruteforce['nombre'])) $bdd->query("UPDATE securite_identification SET nombre = nombre + 1 WHERE ip = '$ipe';");
|
||||
else $bdd->query("INSERT INTO securite_identification VALUES ('$ipe', '1', '".time()."');");
|
||||
$bdd->deconnexion();
|
||||
$template->assign('message','Nom d\'utilisateur ou mot de passe incorrect.');
|
||||
$template->assign('couleur','red');
|
||||
|
|
@ -286,7 +311,7 @@ else {
|
|||
$bdd->escape($HB_password);
|
||||
|
||||
//Limiter le nombre de personnes en ligne simutanément
|
||||
$connecte = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_sessions WHERE active = '1' AND var_session != '';");
|
||||
$connecte = $bdd->unique_query("SELECT COUNT(xid) AS nombre FROM $table_sessions WHERE active = true AND var_session != '';");
|
||||
if ($connecte['nombre'] > 1500) {
|
||||
$template->assign('message','Il y a actuellement trop de monde connecté sur Halo-Battle. Pour permettre aux joueurs une navigation convenable, nous vous remercions de revenir plus tard.');
|
||||
$template->assign('couleur','red');
|
||||
|
|
@ -310,7 +335,6 @@ else {
|
|||
}
|
||||
|
||||
if ($resultat['mv'] != 0) {
|
||||
file_log('!! MV connection : '.var_export($_REQUEST,TRUE));
|
||||
if ($resultat['last_visite']+259200 > time() && $resultat['auth_level'] < 2) {
|
||||
if ($resultat['mv'] == 3) $template->assign('message','Vous êtes définitivement banni de cette galaxie pour '.$resultat['raisonmv'].'. Vous ne pouvez plus vous reconnecter sur votre compte');
|
||||
elseif ($resultat['mv'] == 2) $template->assign('message','Un opérateur a placé votre compte en mode vacances pour '.$resultat['raisonmv'].'. Vous ne pouvez pas vous reconnecter sur votre compte avant le<br />'.strftime("%A %d %B à %H:%M", $resultat['last_visite']+259200));
|
||||
|
|
@ -369,14 +393,13 @@ else {
|
|||
}
|
||||
|
||||
$bdd->query("UPDATE $table_user SET last_visite = '$time', last_ip = '$ip' WHERE id = '$id';");
|
||||
$bdd->query("INSERT INTO $table_registre_identification (id_util, ip) VALUES ('".$id."','".$ip."');");
|
||||
$bdd->query("INSERT INTO $table_registre_identification (id_util, ip) VALUES (".$id.",'".$ip."');");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$sess->values['connected'] = TRUE;
|
||||
$sess->values['id'] = $resultat['id'];
|
||||
$sess->values['idPlan'] = $resultatP['id'];
|
||||
$sess->values['auth_level'] = $resultat['auth_level'];
|
||||
if ($resultat['auth_level'] > 0) file_log('!! connection : '.var_export($_REQUEST,TRUE));
|
||||
$sess->put();
|
||||
|
||||
header('Location: ./?p=accueil');
|
||||
|
|
@ -394,8 +417,8 @@ else {
|
|||
}
|
||||
}
|
||||
|
||||
if (!isset($_GET['p'])) $_GET['p'] = '';
|
||||
switch($_GET['p']){
|
||||
$p = gpc('p');
|
||||
switch($p){
|
||||
//Serveur principal
|
||||
/* case "validation":
|
||||
include('game/validation.php');
|
||||
|
|
@ -425,8 +448,8 @@ else {
|
|||
include(_FCORE."hb_game/jeu/regles.php");
|
||||
break;
|
||||
default:
|
||||
$page = 'mini';
|
||||
//header('Location: http://halo-battle.s-fr.com/?p=connexion');
|
||||
//$page = 'mini';
|
||||
header('Location: http://halo-battle.s-fr.com/?p=connexion');
|
||||
//exit;
|
||||
}
|
||||
$template->display('cms/'.$page.'.tpl');
|
||||
|
|
|
|||
|
|
@ -56,9 +56,9 @@ function max(i)
|
|||
|
||||
function vaisseaux(b)
|
||||
{
|
||||
for(i=1; document.getElementById('v_'+i) && document.getElementsByName('v'+i)[0]; i++)
|
||||
for(i=1; i<=12; i++)
|
||||
{
|
||||
document.getElementsByName('v'+i)[0].value = b ? document.getElementById('v_'+i).innerHTML : '0';
|
||||
if (document.getElementById('v_'+i) && document.getElementsByName('v'+i)[0]) document.getElementsByName('v'+i)[0].value = b ? document.getElementById('v_'+i).innerHTML : '0';
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
361
htdocs/sign.php
|
|
@ -5,165 +5,230 @@ $onyx = @file_get_contents('./.onyx') or die("Configuration introuvable.");
|
|||
define("_FCORE",trim($onyx));
|
||||
require_once(_FCORE."common.php");
|
||||
|
||||
|
||||
header ("Content-type: image/png");
|
||||
|
||||
$fontfile = _FCORE."hb_game/signatures/ARIAL.TTF";
|
||||
|
||||
$id = gpc('i');
|
||||
if (!is_numeric($id)) $id = 0;
|
||||
|
||||
$bdd->connexion();
|
||||
$bdd->escape($id);
|
||||
$joueur = $bdd->unique_query("SELECT $table_user.pseudo, $table_user.auth_level, $table_user.race, $table_user.place_points, $table_user.points, $table_user.batiments, $table_user.flotte, $table_alliances.tag, $table_alliances.nom FROM $table_user INNER JOIN $table_alliances ON $table_user.id_alliance = $table_alliances.id WHERE $table_user.id = $id;");
|
||||
if ($joueur == false) $joueur = $bdd->unique_query("SELECT pseudo, auth_level, race, place_points, points, batiments, flotte FROM $table_user WHERE id = $id;");
|
||||
$nomjoueur = $joueur['pseudo'];
|
||||
$raid = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = '$nomjoueur' AND contenu LIKE '<b>Le combat contre % est termi%';");
|
||||
$transport = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE contenu LIKE 'Les vaisseaux de $nomjoueur %';");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$f = gpc('f');
|
||||
$s = gpc('s');
|
||||
|
||||
if ($joueur['race'] == 'covenant') {
|
||||
switch($f){
|
||||
case 1:
|
||||
$img = 'userbarallicopygs1.png';
|
||||
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
|
||||
$entete = imagecolorallocate($_img, 255, 255, 255);
|
||||
$contenu = imagecolorallocate($_img, 255, 255, 255);
|
||||
$infos = array(
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($raid['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['batiments'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['flotte'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($transport['nombre'])
|
||||
)
|
||||
);
|
||||
break;
|
||||
default:
|
||||
$img = 'covenantuserbarus1.png';
|
||||
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
|
||||
$entete = imagecolorallocate($_img, 255, 255, 255);
|
||||
$contenu = imagecolorallocate($_img, 0, 0, 0);
|
||||
$infos = array(
|
||||
array(
|
||||
imagecolorallocate($_img, 0, 0, 0),
|
||||
separerNombres($raid['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 0, 0, 0),
|
||||
separerNombres($joueur['flotte'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 0, 0, 0),
|
||||
separerNombres($transport['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 0, 0, 0),
|
||||
separerNombres($joueur['batiments'])
|
||||
)
|
||||
);
|
||||
}
|
||||
$_imgavatar = imagecreatefrompng(_FCORE."hb_game/signatures/covi.png");
|
||||
header ("Content-type: image/png");
|
||||
|
||||
if (file_exists(_FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign") && time() - filemtime(_FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign") < $config['cache']['signatures']) {
|
||||
readfile(_FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign");
|
||||
}
|
||||
else {
|
||||
switch($f){
|
||||
case 1:
|
||||
$img = 'userbarallicopygs1.png';
|
||||
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
|
||||
$entete = imagecolorallocate($_img, 255, 255, 255);
|
||||
$contenu = imagecolorallocate($_img, 255, 255, 255);
|
||||
$infos = array(
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($raid['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['batiments'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['flotte'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($transport['nombre'])
|
||||
)
|
||||
);
|
||||
break;
|
||||
default:
|
||||
$img = 'humainuserbarhz2.png';
|
||||
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
|
||||
$entete = imagecolorallocate($_img, 255, 255, 255);
|
||||
//$contenu = imagecolorallocate($_img, 160, 160, 0);
|
||||
$contenu = imagecolorallocate($_img, 255, 255, 255);
|
||||
$infos = array(
|
||||
array(
|
||||
imagecolorallocate($_img, 0, 0, 0),
|
||||
separerNombres($raid['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['flotte'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($transport['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['batiments'])
|
||||
)
|
||||
);
|
||||
$fontfile = _FCORE."hb_game/signatures/ARIAL.TTF";
|
||||
|
||||
$bdd->connexion();
|
||||
$bdd->escape($id);
|
||||
$joueur = $bdd->unique_query("SELECT $table_user.pseudo, $table_user.auth_level, $table_user.race, $table_user.place_points, $table_user.points, $table_user.batiments, $table_user.flotte, $table_alliances.tag, $table_alliances.nom FROM $table_user INNER JOIN $table_alliances ON $table_user.id_alliance = $table_alliances.id WHERE $table_user.id = $id;");
|
||||
if ($joueur == false) $joueur = $bdd->unique_query("SELECT pseudo, auth_level, race, place_points, points, batiments, flotte FROM $table_user WHERE id = $id;");
|
||||
$nomjoueur = $joueur['pseudo'];
|
||||
$raid = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE destinataire = '$nomjoueur' AND contenu LIKE '<b>Le combat contre % est termi%';");
|
||||
$transport = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM $table_mail WHERE contenu LIKE 'Les vaisseaux de $nomjoueur %';");
|
||||
$bdd->deconnexion();
|
||||
|
||||
if (!empty($s) && $joueur['auth_level'] >= 1) {
|
||||
switch($s){
|
||||
case 1:
|
||||
$img = 'mixte1userbarju7.png';
|
||||
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
|
||||
$entete = imagecolorallocate($_img, 255, 255, 255);
|
||||
$contenu = imagecolorallocate($_img, 255, 255, 255);
|
||||
$infos = array(
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($raid['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['flotte'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($transport['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['batiments'])
|
||||
)
|
||||
);
|
||||
break;
|
||||
default:
|
||||
$img = 'mixte1userbarju7.png';
|
||||
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
|
||||
$entete = imagecolorallocate($_img, 255, 255, 255);
|
||||
$contenu = imagecolorallocate($_img, 255, 255, 255);
|
||||
$infos = array(
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($raid['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['flotte'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($transport['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['batiments'])
|
||||
)
|
||||
);
|
||||
}
|
||||
if ($joueur['race'] == 'covenant') $_imgavatar = imagecreatefrompng(_FCORE."hb_game/signatures/covi.png");
|
||||
else $_imgavatar = imagecreatefrompng(_FCORE."hb_game/signatures/hum.png");
|
||||
}
|
||||
$_imgavatar = imagecreatefrompng(_FCORE."hb_game/signatures/hum.png");
|
||||
}
|
||||
|
||||
$blanc = imagecolorallocate($_img, 255, 255, 255);
|
||||
$noir = imagecolorallocate($_img, 0, 0, 0);
|
||||
$rouge = imagecolorallocate($_img, 255, 0, 0);
|
||||
$vert = imagecolorallocate($_img, 0, 255, 0);
|
||||
$bleu = imagecolorallocate($_img, 0, 0, 255);
|
||||
$jaune = imagecolorallocate($_img, 255, 255, 0);
|
||||
|
||||
if ($joueur == false) ImageTTFText($_img, 20, -20, 123, 17, $rouge, $fontfile, 'Joueur introuvable !');
|
||||
else {
|
||||
if ($joueur['auth_level'] > 4) ImageTTFText($_img, 12, 0, 45, 23, $vert, $fontfile, ucfirst($joueur['pseudo']));
|
||||
elseif ($joueur['auth_level'] >= 1) ImageTTFText($_img, 12, 0, 45, 23, $jaune, $fontfile, ucfirst($joueur['pseudo']));
|
||||
else ImageTTFText($_img, 12, 0, 45, 23, $entete, $fontfile, ucfirst($joueur['pseudo']));
|
||||
|
||||
ImageTTFText($_img, 12, 0, 255, 23, $entete, $fontfile, $config['serveur_name']);
|
||||
|
||||
if (isset($joueur['tag'])) {
|
||||
ImageTTFText($_img, 11, 0, 32, 47, $contenu, $fontfile, "Classement : ".separerNombres($joueur['place_points']).($joueur['place_points']==1?'er':'ème'));
|
||||
ImageTTFText($_img, 11, 0, 32, 64, $contenu, $fontfile, "Points : ".separerNombres($joueur['points']));
|
||||
ImageTTFText($_img, 11, 0, 32, 82, $contenu, $fontfile, "Alliance : [".$joueur['tag']."] ".substr($joueur['nom'],0,9).(strlen($joueur['nom'])>9?'...':''));
|
||||
elseif ($joueur['race'] == 'covenant') {
|
||||
switch($f){
|
||||
case 1:
|
||||
$img = 'userbarallicopygs1.png';
|
||||
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
|
||||
$entete = imagecolorallocate($_img, 255, 255, 255);
|
||||
$contenu = imagecolorallocate($_img, 255, 255, 255);
|
||||
$infos = array(
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($raid['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['batiments'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['flotte'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($transport['nombre'])
|
||||
)
|
||||
);
|
||||
break;
|
||||
default:
|
||||
$img = 'covenantuserbarus1.png';
|
||||
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
|
||||
$entete = imagecolorallocate($_img, 255, 255, 255);
|
||||
$contenu = imagecolorallocate($_img, 0, 0, 0);
|
||||
$infos = array(
|
||||
array(
|
||||
imagecolorallocate($_img, 0, 0, 0),
|
||||
separerNombres($raid['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 0, 0, 0),
|
||||
separerNombres($joueur['flotte'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 0, 0, 0),
|
||||
separerNombres($transport['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 0, 0, 0),
|
||||
separerNombres($joueur['batiments'])
|
||||
)
|
||||
);
|
||||
}
|
||||
$_imgavatar = imagecreatefrompng(_FCORE."hb_game/signatures/covi.png");
|
||||
}
|
||||
else {
|
||||
ImageTTFText($_img, 11, 0, 32, 55, $contenu, $fontfile, "Classement : ".separerNombres($joueur['place_points']).($joueur['place_points']==1?'er':'ème'));
|
||||
ImageTTFText($_img, 11, 0, 32, 75, $contenu, $fontfile, "Points : ".separerNombres($joueur['points']));
|
||||
switch($f){
|
||||
case 1:
|
||||
$img = 'userbarallicopygs1.png';
|
||||
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
|
||||
$entete = imagecolorallocate($_img, 255, 255, 255);
|
||||
$contenu = imagecolorallocate($_img, 255, 255, 255);
|
||||
$infos = array(
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($raid['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['batiments'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['flotte'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($transport['nombre'])
|
||||
)
|
||||
);
|
||||
break;
|
||||
default:
|
||||
$img = 'humainuserbarhz2.png';
|
||||
$_img = imagecreatefrompng(_FCORE."hb_game/signatures/".$img);
|
||||
$entete = imagecolorallocate($_img, 255, 255, 255);
|
||||
//$contenu = imagecolorallocate($_img, 160, 160, 0);
|
||||
$contenu = imagecolorallocate($_img, 255, 255, 255);
|
||||
$infos = array(
|
||||
array(
|
||||
imagecolorallocate($_img, 0, 0, 0),
|
||||
separerNombres($raid['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['flotte'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($transport['nombre'])
|
||||
),
|
||||
array(
|
||||
imagecolorallocate($_img, 255, 255, 255),
|
||||
separerNombres($joueur['batiments'])
|
||||
)
|
||||
);
|
||||
}
|
||||
$_imgavatar = imagecreatefrompng(_FCORE."hb_game/signatures/hum.png");
|
||||
}
|
||||
|
||||
ImageTTFText($_img, 12, 0, 272, 51, $infos[0][0], $fontfile, $infos[0][1]);
|
||||
ImageTTFText($_img, 12, 0, 272, 78, $infos[1][0], $fontfile, $infos[1][1]);
|
||||
ImageTTFText($_img, 12, 0, 355, 50, $infos[2][0], $fontfile, $infos[2][1]);
|
||||
ImageTTFText($_img, 12, 0, 355, 78, $infos[3][0], $fontfile, $infos[3][1]);
|
||||
$blanc = imagecolorallocate($_img, 255, 255, 255);
|
||||
$noir = imagecolorallocate($_img, 0, 0, 0);
|
||||
$rouge = imagecolorallocate($_img, 255, 0, 0);
|
||||
$vert = imagecolorallocate($_img, 0, 255, 0);
|
||||
$bleu = imagecolorallocate($_img, 0, 0, 255);
|
||||
$jaune = imagecolorallocate($_img, 255, 255, 0);
|
||||
|
||||
if ($joueur == false) {
|
||||
ImageTTFText($_img, 20, -20, 123, 17, $rouge, $fontfile, 'Joueur introuvable !');
|
||||
if (file_exists(_FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign")) unlink(_FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign");
|
||||
}
|
||||
else {
|
||||
if ($joueur['auth_level'] > 4) ImageTTFText($_img, 12, 0, 45, 23, $vert, $fontfile, ucfirst($joueur['pseudo']));
|
||||
elseif ($joueur['auth_level'] >= 1) ImageTTFText($_img, 12, 0, 45, 23, $jaune, $fontfile, ucfirst($joueur['pseudo']));
|
||||
else ImageTTFText($_img, 12, 0, 45, 23, $entete, $fontfile, ucfirst($joueur['pseudo']));
|
||||
|
||||
ImageTTFText($_img, 12, 0, 255, 23, $entete, $fontfile, $config['serveur_name']);
|
||||
|
||||
if (isset($joueur['tag'])) {
|
||||
ImageTTFText($_img, 11, 0, 32, 47, $contenu, $fontfile, "Classement : ".separerNombres($joueur['place_points']).($joueur['place_points']==1?'er':'ème'));
|
||||
ImageTTFText($_img, 11, 0, 32, 64, $contenu, $fontfile, "Points : ".separerNombres($joueur['points']));
|
||||
ImageTTFText($_img, 11, 0, 32, 82, $contenu, $fontfile, "Alliance : [".$joueur['tag']."] ".substr($joueur['nom'],0,9).(strlen($joueur['nom'])>9?'...':''));
|
||||
}
|
||||
else {
|
||||
ImageTTFText($_img, 11, 0, 32, 55, $contenu, $fontfile, "Classement : ".separerNombres($joueur['place_points']).($joueur['place_points']==1?'er':'ème'));
|
||||
ImageTTFText($_img, 11, 0, 32, 75, $contenu, $fontfile, "Points : ".separerNombres($joueur['points']));
|
||||
}
|
||||
|
||||
ImageTTFText($_img, 12, 0, 272, 51, $infos[0][0], $fontfile, $infos[0][1]);
|
||||
ImageTTFText($_img, 12, 0, 272, 78, $infos[1][0], $fontfile, $infos[1][1]);
|
||||
ImageTTFText($_img, 12, 0, 355, 50, $infos[2][0], $fontfile, $infos[2][1]);
|
||||
ImageTTFText($_img, 12, 0, 355, 78, $infos[3][0], $fontfile, $infos[3][1]);
|
||||
}
|
||||
imagecopy($_img, $_imgavatar, 435, 0, 0, 0, 98, 100);
|
||||
|
||||
imagealphablending($_img, false);
|
||||
imagesavealpha($_img, true);
|
||||
|
||||
if ($joueur == false) imagepng($_img);
|
||||
else {
|
||||
imagepng($_img, _FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign");
|
||||
readfile(_FCORE."hb_game/signatures/cache/".$id.".".$f.$s.".sign");
|
||||
}
|
||||
}
|
||||
imagecopy($_img, $_imgavatar, 435, 0, 0, 0, 98, 100);
|
||||
|
||||
imagealphablending($_img, false);
|
||||
imagesavealpha($_img, true);
|
||||
|
||||
imagepng($_img);
|
||||
?>
|
||||
|
|
@ -63,6 +63,15 @@ border: #1F6183 solid 1px;
|
|||
margin: 10px 4px;
|
||||
}
|
||||
|
||||
select
|
||||
{
|
||||
color: #3D4B59;
|
||||
background-color: #CEDAEC;
|
||||
border: #1F6183 solid 1px;
|
||||
margin: 2px 4px;
|
||||
width: 140px;
|
||||
}
|
||||
|
||||
input.text, input.password
|
||||
{
|
||||
color: #3D4B59;
|
||||
|
|
|
|||
|
|
@ -1,22 +1,13 @@
|
|||
<?php
|
||||
|
||||
if (!defined("_FCORE")) die('non autorise');
|
||||
|
||||
$var___db['mysql']['host'] = "localhost";
|
||||
|
||||
$var___db['mysql']['login'] = "root";
|
||||
|
||||
$var___db['mysql']['password'] = "rmss169";
|
||||
|
||||
$var___db['mysql']['db'] = "halo_battle";
|
||||
|
||||
|
||||
$var___db['pgsql']['host'] = "localhost";
|
||||
|
||||
$var___db['pgsql']['login'] = "postgres";
|
||||
|
||||
$var___db['pgsql']['password'] = "Ods8kfPsk5f876";
|
||||
|
||||
$var___db['pgsql']['db'] = "halo_battle";
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -3,8 +3,6 @@ if(!defined('INDEX')) { header('Location: ./'); exit; }
|
|||
|
||||
require_once(_FCORE."kernel.php");
|
||||
|
||||
define('VERSION', $config['version']);
|
||||
|
||||
//Constante permettant de savoir si les attaques sont désactivées ou non
|
||||
define("ATTAQUES", $config['attaques']);
|
||||
//Définition des limites de la galaxie
|
||||
|
|
@ -74,7 +72,7 @@ $nbcovie = $bdd->unique_query("SELECT COUNT(id) AS covenants FROM $table_user WH
|
|||
$nbhumain = $bdd->unique_query("SELECT COUNT(id) AS humains FROM $table_user WHERE race = 'humain';");
|
||||
|
||||
//Nombre de joueur(s) en ligne ^^
|
||||
$enligne = $bdd->unique_query("SELECT COUNT(xid) AS enligne FROM sessions WHERE active=1 AND var_session !='';");
|
||||
$enligne = $bdd->unique_query("SELECT COUNT(xid) AS enligne FROM sessions WHERE active = true AND var_session !='';");
|
||||
|
||||
//Bandeau d'informations
|
||||
$infos = $bdd->query("SELECT * FROM $table_infoshead");
|
||||
|
|
@ -86,4 +84,5 @@ $template->assign('infos',$infos);
|
|||
$template->assign('nbinfos',$bdd->num_rows-1);
|
||||
$template->assign('enligne',$enligne['enligne']);
|
||||
$template->assign('count',array('humains' => $nbhumain['humains'], 'covenants' => $nbcovie['covenants'], 'serveurs' => 'cette'));
|
||||
$template->assign('version', $config['version']);
|
||||
?>
|
||||
|
|
@ -14,14 +14,14 @@ lang: "FRA"
|
|||
log_error: "1"
|
||||
hide_error: "0"
|
||||
htdocs: "htdocs"
|
||||
db_type: "mysql"
|
||||
db_type: "postgresql"
|
||||
db_log: "1"
|
||||
db_prefix: ""
|
||||
no_db: "no_db"
|
||||
db_injection: "0"
|
||||
no_db_message: "Connexion à la base de donnée impossible"
|
||||
|
||||
version: "1.7b"
|
||||
version: "1.8"
|
||||
flottes: "0"
|
||||
attaques: "1"
|
||||
galaxie: "1"
|
||||
|
|
@ -29,6 +29,9 @@ nb_amas: "10"
|
|||
nb_systeme: "99"
|
||||
nb_planete: "12"
|
||||
|
||||
cache[dir]: "cache/"
|
||||
cache[signatures]: "43200"
|
||||
|
||||
link[self]: "./"
|
||||
link[accueil]: "http://halo-battle.s-fr.com/"
|
||||
link[blog]: "http://halo-battle.s-fr.com/ark/"
|
||||
|
|
@ -62,6 +65,7 @@ menu[chat]: "?p=chat"
|
|||
menu[forums]: "http://halo-battle.s-fr.com/forum/"
|
||||
menu[bugs]: "?p=bugs"
|
||||
menu[faq]: "?p=faq"
|
||||
menu[bourse]: "?p=bourse"
|
||||
menu[deconnexion]: "?p=deconnexion"
|
||||
|
||||
menuadmin[accueil]: "?p=accueil"
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ class Combat {
|
|||
if ($j == 0) $groupe[] = array($nbvaispgroupe + $nbrest, $nomvais_bc[$i-1] * (1 + $tableTechno[0]/10), $nomvais_pv[$i-1]);
|
||||
else $groupe[] = array($nbvaispgroupe, $nomvais_bc[$i-1] * (1 + $tableTechno[0]/10), $nomvais_pv[$i-1]);
|
||||
}
|
||||
$this->ATvais[] = array($i, $flotteAT['vaisseau_'.$i], $nbgroupes, $groupe);
|
||||
$this->ATvais[] = array($i, $flotteAT['vaisseau_'.$i], $nbgroupes, $groupe, $nomvais_initiative[$i-1]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -81,7 +81,7 @@ class Combat {
|
|||
if ($j == 0) $groupe[] = array($nbvaispgroupe + $nbrest, $nomvais_bc[$i-1] * (1 + $tableTechno[1]/10), $nomvais_pv[$i-1]);
|
||||
else $groupe[] = array($nbvaispgroupe, $nomvais_bc[$i-1] * (1 + $tableTechno[1]/10), $nomvais_pv[$i-1]);
|
||||
}
|
||||
$this->ENvais[] = array($i, $flotteEN['vaisseau_'.$i], $nbgroupes, $groupe);
|
||||
$this->ENvais[] = array($i, $flotteEN['vaisseau_'.$i], $nbgroupes, $groupe, $nomvais_initiative[$i-1]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -100,7 +100,7 @@ class Combat {
|
|||
if ($j == 0) $groupe[] = array($nbvaispgroupe + $nbrest, $defense_bc[$i-1] * (1 + $tableTechno[1]/10), $defense_pv[$i-1]);
|
||||
else $groupe[] = array($nbvaispgroupe, $defense_bc[$i-1] * (1 + $tableTechno[1]/10), $defense_pv[$i-1]);
|
||||
}
|
||||
$this->ENdef[] = array($i, $defEN['def_'.$i], $nbgroupes, $groupe);
|
||||
$this->ENdef[] = array($i, $defEN['def_'.$i], $nbgroupes, $groupe, $defense_initiative[$i-1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -270,6 +270,7 @@ class Combat {
|
|||
$vaisEff = array();
|
||||
$nbvais = 0;
|
||||
$countj = count($this->ENvais);
|
||||
$countd = count($this->ENdef);
|
||||
for ($i=0 ; $i<$countj ; $i++) {
|
||||
$nbvais += $this->ENvais[$i][1];
|
||||
}
|
||||
|
|
@ -280,10 +281,15 @@ class Combat {
|
|||
$puissance = 0;
|
||||
$count = count($this->ATvais);
|
||||
for ($i=0 ; $i<$count ; $i++) {
|
||||
if ($this->ATvais[$i][4] > $this->Ntour) continue;
|
||||
|
||||
$bonus = 0;
|
||||
for ($j=0 ; $j<$countj ; $j++) {
|
||||
$bonus += $nomvais_rf[$this->ATvais[$i][0]-1][$this->ENvais[$i][0]-1] * $vaisEff[$this->ENvais[$i][0]];
|
||||
}
|
||||
for ($j=0 ; $j<$countd ; $j++) {
|
||||
$bonus += 1/$countd;
|
||||
}
|
||||
$maxat = $nomvais_at[$this->ATvais[$i][0]-1] * (1 + $armement/10);
|
||||
$puissance += $maxat * $pourcentage/100 * $this->ATvais[$i][1] * $bonus;
|
||||
}
|
||||
|
|
@ -304,6 +310,8 @@ class Combat {
|
|||
$puissance = 0;
|
||||
$count = count($this->ENvais);
|
||||
for ($i=0 ; $i<$count ; $i++) {
|
||||
if ($this->ENvais[$i][4] > $this->Ntour) continue;
|
||||
|
||||
$bonus = 0;
|
||||
for ($j=0 ; $j<$countj ; $j++) {
|
||||
$bonus += $nomvais_rf[$this->ENvais[$i][0]-1][$this->ATvais[$i][0]-1] * $vaisEff[$this->ATvais[$i][0]];
|
||||
|
|
@ -315,6 +323,8 @@ class Combat {
|
|||
//Défenses
|
||||
$count = count($this->ENdef);
|
||||
for ($i=0 ; $i<$count ; $i++) {
|
||||
if ($this->ENdef[$i][4] > $this->Ntour) continue;
|
||||
|
||||
$maxat = $defense_at[$this->ENdef[$i][0]-1] * (1 + $armement/10);
|
||||
$puissance += $maxat * $pourcentage/100 * $this->ENdef[$i][1];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,8 +109,8 @@ class Rapport{
|
|||
$db->escape($rapportB);
|
||||
$db->escape($utilA);
|
||||
$db->escape($utilB);
|
||||
$db->query("INSERT INTO ".$this->table." VALUES('', '1', '$utilA', '', '$titreA', '$rapportA', '$temps')");
|
||||
$db->query("INSERT INTO ".$this->table." VALUES('', '1', '$utilB', '', '$titreB', '$rapportB', '$temps')");
|
||||
$db->query("INSERT INTO ".$this->table." (destinataire, expediteur, sujet, contenu, temps) VALUES($utilA, '', '$titreA', '$rapportA', '$temps')");
|
||||
$db->query("INSERT INTO ".$this->table." (destinataire, expediteur, sujet, contenu, temps) VALUES($utilB, '', '$titreB', '$rapportB', '$temps')");
|
||||
$db->deconnexion();
|
||||
}
|
||||
|
||||
|
|
@ -139,8 +139,8 @@ class Rapport{
|
|||
$db->escape($utilA);
|
||||
$db->escape($utilB);
|
||||
|
||||
$db->query("INSERT INTO ".$this->table." VALUES('', '1', '$utilA', '', '$titre', '$rapportA', '$temps')");
|
||||
if ($utilA != $utilB) $db->query("INSERT INTO ".$this->table." VALUES('', '1', '$utilB', '', '$titre', '$rapportB', '$temps')");
|
||||
$db->query("INSERT INTO ".$this->table." (destinataire, expediteur, sujet, contenu, temps) VALUES($utilA, '', '$titre', '$rapportA', '$temps')");
|
||||
if ($utilA != $utilB) $db->query("INSERT INTO ".$this->table." (destinataire, expediteur, sujet, contenu, temps) VALUES($utilB, '', '$titre', '$rapportB', '$temps')");
|
||||
$db->deconnexion();
|
||||
}
|
||||
|
||||
|
|
@ -158,7 +158,7 @@ class Rapport{
|
|||
$db->escape($titre);
|
||||
$db->escape($rapport);
|
||||
$db->escape($utilA);
|
||||
$db->query("INSERT INTO ".$this->table." VALUES('', '1', '$utilA', '', '$titre', '$rapport', '$temps')");
|
||||
$db->query("INSERT INTO ".$this->table." (destinataire, expediteur, sujet, contenu, temps) VALUES($utilA, '', '$titre', '$rapport', '$temps')");
|
||||
$db->deconnexion();
|
||||
}
|
||||
|
||||
|
|
@ -175,7 +175,7 @@ class Rapport{
|
|||
$db->escape($titre);
|
||||
$db->escape($rapport);
|
||||
$db->escape($utilA);
|
||||
$db->query("INSERT INTO ".$this->table." VALUES('', '1', '$utilA', '', '$titre', '$rapport', '$temps')");
|
||||
$db->query("INSERT INTO ".$this->table." (destinataire, expediteur, sujet, contenu, temps) VALUES($utilA, '', '$titre', '$rapport', '$temps')");
|
||||
$db->deconnexion();
|
||||
}
|
||||
|
||||
|
|
@ -283,8 +283,8 @@ class Rapport{
|
|||
$db->escape($rapportB);
|
||||
$db->escape($utilA);
|
||||
$db->escape($utilB);
|
||||
$db->query("INSERT INTO ".$this->table." VALUES('', '1', '$utilA', '', '$titreA', '$rapportA', '$temps')");
|
||||
$db->query("INSERT INTO ".$this->table." VALUES('', '1', '$utilB', '', '$titreB', '$rapportB', '$temps')");
|
||||
$db->query("INSERT INTO ".$this->table." (destinataire, expediteur, sujet, contenu, temps) VALUES($utilA, '', '$titreA', '$rapportA', '$temps')");
|
||||
$db->query("INSERT INTO ".$this->table." (destinataire, expediteur, sujet, contenu, temps) VALUES($utilB, '', '$titreB', '$rapportB', '$temps')");
|
||||
$db->deconnexion();
|
||||
}
|
||||
|
||||
|
|
@ -357,7 +357,7 @@ class Rapport{
|
|||
$db->escape($rapportA);
|
||||
$utilA = trouvNom($this->utilA);
|
||||
$db->escape($utilA);
|
||||
$db->query("INSERT INTO ".$this->table." VALUES('', '1', '$utilA', '', '$titreA', '$rapportA', '$temps')");
|
||||
$db->query("INSERT INTO ".$this->table." (destinataire, expediteur, sujet, contenu, temps) VALUES($utilA, '', '$titreA', '$rapportA', '$temps')");
|
||||
$db->deconnexion();
|
||||
}
|
||||
|
||||
|
|
@ -374,7 +374,7 @@ class Rapport{
|
|||
$db->escape($rapportA);
|
||||
$utilA = trouvNom($this->utilA);
|
||||
$db->escape($utilA);
|
||||
$db->query("INSERT INTO ".$this->table." VALUES('', '1', '$utilA', '', '$titreA', '$rapportA', '$temps')");
|
||||
$db->query("INSERT INTO ".$this->table." (destinataire, expediteur, sujet, contenu, temps) VALUES($utilA, '', '$titreA', '$rapportA', '$temps')");
|
||||
$db->deconnexion();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ for ($i = 0; $i < $nbFlottes; $i++) {
|
|||
$bdd->escape($titreA);
|
||||
$rapportA = 'La flotte '.$queryFlottes[$i]['nom_flotte'].' n\'a pas pu effectuer sa mission correctement car lorsqu\'elle est arrivée sur place, la planète était déserte.';
|
||||
$bdd->escape($rapportA);
|
||||
$db->query("INSERT INTO $table_mail VALUES('', '1', '".$queryFlottes[$i]['id_user']."', '', '$titreA', '$rapportA', '".$end_time."')");
|
||||
$db->query("INSERT INTO $table_mail (destinataire, expediteur, sujet, contenu, temps) VALUES(".$queryFlottes[$i]['id_user'].", '', '$titreA', '$rapportA', '".$end_time."')");
|
||||
$bdd->deconnexion();
|
||||
continue;
|
||||
}
|
||||
|
|
@ -196,7 +196,7 @@ for ($i = 0; $i < $nbFlottes; $i++) {
|
|||
$timesuite = $combat->timestamp;
|
||||
$idFleet = $queryFlottes[$i]['id'];
|
||||
if ($queryFlottes[$i]['effectue']) $bdd->query("UPDATE $table_flottes_combats SET serialize = '$serialise', tactiqueAT = '0', tactiqueEN = '0', timestamp = '$timesuite' WHERE refflotte = '$id_flotte';");
|
||||
else $bdd->query("INSERT INTO $table_flottes_combats VALUES(NULL, '$idFleet', '$timesuite', '$serialise', '0', '0');");
|
||||
else $bdd->query("INSERT INTO $table_flottes_combats (refflotte, timestamp, serialize, tactiqueAT, tactiqueEN) VALUES('$idFleet', '$timesuite', '$serialise', '0', '0');");
|
||||
}
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
|
|
@ -321,7 +321,7 @@ for ($i = 0; $i < $nbFlottes; $i++) {
|
|||
$rapport = new Rapport($mission, $id_att, $id_userT, $end_time);
|
||||
|
||||
if ($diffNiveau < 0) {
|
||||
$rapport->addInfo($resultatT, 0);
|
||||
$rapport->addInfo($queryEN, 0);
|
||||
$rapport->addInfo(false, 1);
|
||||
}
|
||||
if ($diffNiveau >= 0) $rapport->addInfo($queryEN, 0);
|
||||
|
|
|
|||
|
|
@ -1,16 +1,18 @@
|
|||
<?php
|
||||
function trouvNom($id_user){
|
||||
global $table_user;
|
||||
$base = new bdd();
|
||||
$base->connexion();
|
||||
$resultat = $base->unique_query("SELECT pseudo FROM user WHERE `id` = '$id_user'");
|
||||
$resultat = $base->unique_query("SELECT pseudo FROM $table_user WHERE id = '$id_user'");
|
||||
$base->deconnexion();
|
||||
return $resultat['pseudo'];
|
||||
}
|
||||
|
||||
function trouvInfo($id_user, $info){
|
||||
global $table_user;
|
||||
$base = new bdd();
|
||||
$base->connexion();
|
||||
$resultat = $base->unique_query("SELECT `$info` FROM user WHERE `id` = '$id_user'");
|
||||
$resultat = $base->unique_query("SELECT $info FROM $table_user WHERE id = '$id_user'");
|
||||
$base->deconnexion();
|
||||
return $resultat[$info];
|
||||
}
|
||||
|
|
@ -190,4 +192,34 @@ function vaisTempsdeplacement($start_amas, $start_ss, $start_pos, $end_amas,$end
|
|||
function vais_conso($tempsDeplacement,$nbvais = 1){
|
||||
return intval($tempsDeplacement*$nbvais/20);
|
||||
}
|
||||
|
||||
function send_mail($mail, $sujet, $corps){
|
||||
require_once(_FCORE."hb_game/Class/class.phpmailer.php");
|
||||
|
||||
$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($mail);
|
||||
$mail->AddReplyTo('no-reply@halo-battle.s-fr.com');
|
||||
$mail->Subject = $sujet;
|
||||
$mail->Body = $corps;
|
||||
|
||||
$return = $mail->Send();
|
||||
$mail->SmtpClose();
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
function mdp($nom, $mdp, $alea){
|
||||
hash_var(strtoupper($HB_login).':'.$HB_password.'♂♪'.$var['mdp_var']);
|
||||
// xor
|
||||
}
|
||||
?>
|
||||
|
|
@ -6,33 +6,20 @@ $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());
|
||||
}
|
||||
}
|
||||
}
|
||||
$queryMail = $bdd->unique_query("SELECT COUNT(id) AS nbre FROM $table_mail WHERE destinataire = '$pseudo' AND vu = '1';");
|
||||
|
||||
//Affichage de l'alliance du joueur
|
||||
$alli = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = '".$queryUser['id_alliance']."';");
|
||||
|
||||
//On regarde si le joueur a une attaque en vue
|
||||
$radar = $bdd->query("SELECT F.start_galaxie, F.start_ss, F.start_position, F.start_time, F.end_time FROM $table_flottes F WHERE id_user = $id_user;");
|
||||
$bdd->deconnexion();
|
||||
|
||||
var_dump($radar, true);
|
||||
exit;
|
||||
|
||||
|
||||
|
||||
//Affichage des informations sur la planète
|
||||
$diametre = separerNombres($queryPlanete['cases'] * 92);
|
||||
$Classpoints = separerNombres($queryUser['points']);
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ if (!empty($_GET['i']) && $_GET['i'] == 'add') {
|
|||
$chapeau->connexion();
|
||||
$chapeau->escape($texte);
|
||||
$chapeau->escape($color);
|
||||
$chapeau->query("INSERT INTO $table_infoshead VALUES (NULL, '$texte', '$color');");
|
||||
$chapeau->query("INSERT INTO $table_infoshead (texte, color) VALUES ('$texte', '$color');");
|
||||
$chapeau->deconnexion();
|
||||
|
||||
header('Location: admin.php?p=bandeau');
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ include_once(_FCORE."hb_game/Class/class.rapport.php");
|
|||
|
||||
//Si le joueur est membre de l'alliance
|
||||
$bdd->connexion();
|
||||
if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 && $alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = '".$queryUser['id_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(
|
||||
|
|
@ -19,7 +19,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
elseif ($queryUser['id_grade_alliance'] != 0) {
|
||||
$id_grade_alliance = $queryUser['id_grade_alliance'];
|
||||
$bdd->connexion();
|
||||
$grade = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = '$id_grade_alliance';");
|
||||
$grade = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = $id_grade_alliance;");
|
||||
$bdd->deconnexion();
|
||||
$access = array(
|
||||
'fondateur' => 0,
|
||||
|
|
@ -50,7 +50,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$alliId = $alliance['id'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($i);
|
||||
$bdd->query("DELETE FROM $table_alliances_chat WHERE id = '$i' AND id_alliance = '$alliId';");
|
||||
$bdd->query("DELETE FROM $table_alliances_chat WHERE id = $i AND id_alliance = $alliId;");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=alliances&q=adm_chat#chat');
|
||||
exit;
|
||||
|
|
@ -58,7 +58,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$page = 'alliance_adm_chat';
|
||||
$alliId = $alliance['id'];
|
||||
$bdd->connexion();
|
||||
$chat = $bdd->query("SELECT * FROM $table_alliances_chat WHERE id_alliance = '$alliId' ORDER BY id DESC LIMIT 50;");
|
||||
$chat = $bdd->query("SELECT * FROM $table_alliances_chat WHERE id_alliance = $alliId ORDER BY id DESC LIMIT 50;");
|
||||
$bdd->deconnexion();
|
||||
for($i = 0; $i < $bdd->num_rows ; $i++){
|
||||
$chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']);
|
||||
|
|
@ -78,14 +78,14 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$bdd->escape($id);
|
||||
$bdd->escape($nom);
|
||||
$bdd->escape($description);
|
||||
@$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']."';");
|
||||
@$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'].";");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
else {
|
||||
$bdd->connexion();
|
||||
$bdd->escape($nom);
|
||||
$bdd->escape($description);
|
||||
@$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'])."');");
|
||||
@$bdd->query("INSERT INTO $table_alliances_grade (id_alliance, nom, description, gest_chat, gest_rang, gest_membre, gest_ecriture, gest_admin) VALUES (".$alliance['id'].", '$nom', '$description', ".ceil($_POST['gest_chat']).", ".ceil($_POST['gest_rang']).", ".ceil($_POST['gest_membre']).", ".ceil($_POST['gest_ecriture']).", ".ceil($_POST['gest_alliance']).");");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
header('Location: ?p=alliances&q=adm_grades');
|
||||
|
|
@ -98,7 +98,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$i = $_GET['i'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($i);
|
||||
$mod = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = '$i' AND id_alliance = '".$alliance['id']."';");
|
||||
$mod = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = $i AND id_alliance = ".$alliance['id'].";");
|
||||
$bdd->deconnexion();
|
||||
$template->assign('mod', $mod);
|
||||
}
|
||||
|
|
@ -106,7 +106,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$page = 'alliance_adm_grades';
|
||||
$alliId = $alliance['id'];
|
||||
$bdd->connexion();
|
||||
$grades = $bdd->query("SELECT * FROM $table_alliances_grade WHERE id_alliance = '$alliId' ORDER BY nom ASC;");
|
||||
$grades = $bdd->query("SELECT * FROM $table_alliances_grade WHERE id_alliance = $alliId ORDER BY nom ASC;");
|
||||
$bdd->deconnexion();
|
||||
$template->assign('grades', $grades);
|
||||
}
|
||||
|
|
@ -121,7 +121,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$bdd->connexion();
|
||||
$bdd->escape($text);
|
||||
$bdd->escape($mod);
|
||||
$bdd->query("UPDATE $table_alliances SET $mod = '$text' WHERE id = '$alliId';");
|
||||
$bdd->query("UPDATE $table_alliances SET $mod = '$text' WHERE id = $alliId;");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=alliances&q=adm_ecrits&t='.$mod);
|
||||
exit;
|
||||
|
|
@ -140,7 +140,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$bdd->escape($titre);
|
||||
$bdd->escape($texte);
|
||||
$bdd->escape($expediteur);
|
||||
$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '$alliId';");
|
||||
$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = $alliId;");
|
||||
$bdd->deconnexion();
|
||||
$nbmembre = $bdd->num_rows;
|
||||
$temps = time();
|
||||
|
|
@ -148,7 +148,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
for($i = 0; $i < $nbmembre; $i++){
|
||||
$pseudos = $membres[$i]['pseudo'];
|
||||
$bdd->escape($pseudos);
|
||||
$bdd->query("INSERT INTO $table_mail VALUES(NULL, 1, '$pseudos', '$expediteur', '$titre', '$texte', '$temps');");
|
||||
$bdd->query("INSERT INTO $table_mail (destinataire, expediteur, sujet, contenu, temps) VALUES ('$pseudos', '$expediteur', '$titre', '$texte', '$temps');");
|
||||
}
|
||||
$bdd->deconnexion();
|
||||
$template->assign('message','Le message privé a été communiqué à tous les joueurs de l\'alliance.');
|
||||
|
|
@ -263,7 +263,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$user = floor($_GET['accept']);
|
||||
$bdd->connexion();
|
||||
$bdd->escape($user);
|
||||
$verif = $bdd->unique_query("SELECT * FROM $table_alliances_attente WHERE id_alliance = '".$alliance['id']."' AND id_membre = '$user';");
|
||||
$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';");
|
||||
|
|
@ -275,13 +275,13 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$user = floor($_GET['refus']);
|
||||
$bdd->connexion();
|
||||
$bdd->escape($user);
|
||||
$bdd->query("DELETE FROM $table_alliances_attente WHERE id_membre = '$user' AND id_alliance = '".$alliance['id']."';");
|
||||
$bdd->query("DELETE FROM $table_alliances_attente WHERE id_membre = $user AND id_alliance = ".$alliance['id'].";");
|
||||
$bdd->deconnexion();
|
||||
//TODO Envoyer un message au joueur renvoyé
|
||||
}
|
||||
$page = 'alliance_adm_membres';
|
||||
$bdd->connexion();
|
||||
$grades = $bdd->query("SELECT * FROM $table_alliances_grade WHERE id_alliance = '".$alliance['id']."' ORDER BY nom ASC;");
|
||||
$grades = $bdd->query("SELECT * FROM $table_alliances_grade WHERE id_alliance = ".$alliance['id']." ORDER BY nom ASC;");
|
||||
$bdd->deconnexion();
|
||||
$grade = array(); $gradei = array();
|
||||
for($i = 0; $i < $bdd->num_rows ; $i++){
|
||||
|
|
@ -291,8 +291,8 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$template->assign('grades', $grade);
|
||||
$template->assign('gradei', $gradei);
|
||||
$bdd->connexion();
|
||||
$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."';");
|
||||
$candidats = $bdd->query("SELECT * FROM $table_alliances_attente WHERE id_alliance = '".$alliance['id']."' ORDER BY timestamp ASC;");
|
||||
$membres = $bdd->query("SELECT pseudo, race, last_visite, id, id_grade_alliance FROM $table_user WHERE id_alliance = ".$alliance['id'].";");
|
||||
$candidats = $bdd->query("SELECT A.message, A.timestamp, A.id_membre, U.pseudo AS pseudo_membre FROM $table_alliances_attente A WHERE id_alliance = ".$alliance['id']." INNER JOIN $table_user U ON U.id = A.id_membre ORDER BY timestamp ASC;");
|
||||
$bdd->deconnexion();
|
||||
$template->assign('membres', $membres);
|
||||
$template->assign('candidats', $candidats);
|
||||
|
|
@ -316,7 +316,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$message = $_POST['msg'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($message);
|
||||
if (!empty($message)) $bdd->query("INSERT INTO $table_alliances_chat VALUES (NULL, '".$alliance['id']."', '$id_user', '".time()."', '$message')");
|
||||
if (!empty($message)) $bdd->query("INSERT INTO $table_alliances_chat (id_alliance, emetteur, timestamp, message) VALUES (".$alliance['id'].", $id_user, ".time().", '$message')");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=alliances&q=chat#chat');
|
||||
exit;
|
||||
|
|
@ -324,7 +324,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$page = 'alliance_chat';
|
||||
//Chat
|
||||
$bdd->connexion();
|
||||
$chat = $bdd->query("SELECT * FROM $table_alliances_chat WHERE id_alliance = '".$alliance['id']."' ORDER BY id DESC LIMIT 30");
|
||||
$chat = $bdd->query("SELECT * FROM $table_alliances_chat WHERE id_alliance = ".$alliance['id']." ORDER BY id DESC LIMIT 30");
|
||||
$bdd->deconnexion();
|
||||
for($i = 0; $i < $bdd->num_rows ; $i++){
|
||||
$chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']);
|
||||
|
|
@ -338,7 +338,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$alliance['texte_interne'] = bbcode(htmlspecialchars($alliance['texte_interne']),1);
|
||||
$template->assign('alliance', $alliance);
|
||||
$bdd->connexion();
|
||||
$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."';");
|
||||
$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = ".$alliance['id'].";");
|
||||
$bdd->deconnexion();
|
||||
$template->assign('nbmembre', $bdd->num_rows);
|
||||
if (!isset($grade)) $template->assign('grade', 0);
|
||||
|
|
@ -346,7 +346,7 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
|
||||
//Chat
|
||||
$bdd->connexion();
|
||||
$chat = $bdd->query("SELECT * FROM $table_alliances_chat WHERE id_alliance = '".$alliance['id']."' ORDER BY id DESC LIMIT 30;");
|
||||
$chat = $bdd->query("SELECT * FROM $table_alliances_chat WHERE id_alliance = ".$alliance['id']." ORDER BY id DESC LIMIT 30;");
|
||||
$bdd->deconnexion();
|
||||
for($i = 0; $i < $bdd->num_rows ; $i++){
|
||||
$chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']);
|
||||
|
|
@ -355,8 +355,8 @@ if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 &
|
|||
$template->assign('chat', $chat);
|
||||
}
|
||||
}
|
||||
elseif (!empty($queryUser['id_alliance']) && $bdd->connexion() && !$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';");
|
||||
elseif (!empty($queryUser['id_alliance']) && $bdd->connexion() && !$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;
|
||||
}
|
||||
|
|
@ -381,11 +381,11 @@ else {
|
|||
$id = $_GET['i'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($id);
|
||||
if (isset($_GET['t']) && $_GET['t'] == 'classement') $membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '$id' ORDER BY place_points DESC;");
|
||||
else $membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '$id';");
|
||||
if (isset($_GET['t']) && $_GET['t'] == 'classement') $membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = $id ORDER BY place_points DESC;");
|
||||
else $membres = $bdd->query("SELECT * FROM $table_user WHERE id_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']."';");
|
||||
$grade = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = ".$membres[$i]['id_grade_alliance'].";");
|
||||
$membres[$i]['grade_alliance'] = $grade['nom'];
|
||||
}
|
||||
$bdd->deconnexion();
|
||||
|
|
@ -396,12 +396,12 @@ else {
|
|||
$id = $_GET['i'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($id);
|
||||
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = '$id';");
|
||||
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = $id;");
|
||||
if ($alliance) {
|
||||
$page = 'alliance_nm_view';
|
||||
$alliance['presentation'] = bbcode(htmlspecialchars($alliance['presentation']),1);
|
||||
$template->assign('alliance', $alliance);
|
||||
$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."';");
|
||||
$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = ".$alliance['id'].";");
|
||||
$bdd->deconnexion();
|
||||
$template->assign('nbmembre', $bdd->num_rows);
|
||||
}
|
||||
|
|
@ -417,11 +417,11 @@ else {
|
|||
$id = $_GET['i'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($id);
|
||||
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = '$id';");
|
||||
$alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = $id;");
|
||||
if (!empty($_POST['message'])) {
|
||||
$message = $_POST['message'];
|
||||
$bdd->escape($message);
|
||||
$bdd->query("INSERT INTO $table_alliances_attente VALUES (NULL, '".$alliance['id']."', '".$id_user."', '".$queryUser['pseudo']."', '".time()."', '$message');");
|
||||
$bdd->query("INSERT INTO $table_alliances_attente (id_alliance, id_membre, timestamp, message, ) VALUES (NULL, ".$alliance['id'].", ".$id_user.", '".time()."', '$message');");
|
||||
$bdd->deconnexion();
|
||||
$template->assign('message','Votre candidature a été envoyée avec succès à l\'alliance : '.$alliance['nom']);
|
||||
$template->assign('couleur','green');
|
||||
|
|
@ -457,7 +457,7 @@ else {
|
|||
$bdd->connexion();
|
||||
$bdd->escape($tag);
|
||||
$bdd->escape($nom);
|
||||
$bdd->query("INSERT INTO $table_alliances VALUES (NULL, '$tag', '$nom', '".$alliance['fondateur']."', 'A faire', 'A faire', '', '', 1, 1, '');");
|
||||
$bdd->query("INSERT INTO $table_alliances (tag, nom, fondateur, presentation, texte_interne, url, image, etat_inscription, defcon, defcon_txt) VALUES ('$tag', '$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']."';");
|
||||
|
|
@ -511,6 +511,9 @@ else {
|
|||
elseif ($_GET['q'] == 'fonder') {
|
||||
if (!empty($_POST['nom']) && !empty($_POST['tag'])) {
|
||||
|
||||
$nom = htmlentities($_POST['nom']);
|
||||
$tag = 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>');
|
||||
|
|
@ -548,14 +551,11 @@ else {
|
|||
}
|
||||
|
||||
$bdd->connexion();
|
||||
$nom = htmlentities($_POST['nom']);
|
||||
$tag = htmlentities($_POST['tag']);
|
||||
|
||||
$bdd->escape($nom);
|
||||
$bdd->escape($tag);
|
||||
|
||||
$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';");
|
||||
$test = $bdd->query("SELECT * FROM $table_alliances WHERE nom = '$nom' AND tag = '$tag';");
|
||||
$test2 = $bdd->query("SELECT * FROM $table_alliances_creation WHERE nom = '$nom' AND tag = '$tag';");
|
||||
$bdd->deconnexion();
|
||||
if ($test || $test2) {
|
||||
$template->assign('message','Le nom ou le tag que vous avez choisit est déjà utilisé par une alliance.');
|
||||
|
|
@ -567,7 +567,7 @@ else {
|
|||
else {
|
||||
$lien = sha1($tag.'Hb$'.$nom.'☺Ø'.$id_user.rand());
|
||||
$bdd->connexion();
|
||||
$bdd->query("INSERT INTO alliances_creation VALUES(NULL, '$lien' ,'$tag', '$nom', '$id_user', '');");
|
||||
$bdd->query("INSERT INTO $table_alliances_creation (lien, tag, nom, fondateur, signatures) VALUES ('$lien' ,'$tag', '$nom', '$id_user', '');");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$rapport = new Rapport(7, $id_user, 0, time());
|
||||
|
|
|
|||
|
|
@ -3,28 +3,43 @@ if(!defined('INDEX')) { header('Location: ../'); exit; }
|
|||
$page = 'bourse';
|
||||
$titre = 'Bourse';
|
||||
|
||||
$ressourceArgent = 'metal';
|
||||
|
||||
$bdd->connexion();
|
||||
$queryBourseMetal = $bdd->unique_query("SELECT SUM(nombre) AS nombre, SUM(prix)/COUNT(prix) AS prix FROM $table_bourse WHERE type = 0;");
|
||||
$queryBourseCristal = $bdd->unique_query("SELECT SUM(nombre) AS nombre, SUM(prix)/COUNT(prix) AS prix FROM $table_bourse WHERE type = 1;");
|
||||
$queryBourseHydrogene = $bdd->unique_query("SELECT SUM(nombre) AS nombre, SUM(prix)/COUNT(prix) AS prix FROM $table_bourse WHERE type = 2;");
|
||||
$bdd->deconnexion();
|
||||
|
||||
if (isset($_POST['metal']) is_numeric($_POST['metal'])) {
|
||||
$demand = floor($_POST['metal'])
|
||||
if ($queryPlanete[$ressourceArgent] >= $queryBourseMetal['prix']*$demand && ) {
|
||||
$queryBMetal = $bdd->query("SELECT id, nombre FROM $table_bourse WHERE type = 0 ORDER BY prix ASC;");
|
||||
|
||||
$dispo =
|
||||
for($i = 0; ($i < $bdd->num_rows || ); $i++){
|
||||
$queryBMetal[$i]
|
||||
}
|
||||
|
||||
$argent = $queryPlanete[$ressourceArgent] - $queryBourseMetal['prix']*$demand;
|
||||
$bdd->query("UPDATE $table_planete SET $ressourceArgent = $argent WHERE id = '$idPlan';");
|
||||
}
|
||||
if ($queryPlanetes[0]['id'] != $queryPlanete['id']) {
|
||||
$template->assign('message','Vous devez être sur votre planète mère pour utilisez la bourse.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$a = gpc('a');
|
||||
$nb = gpc('a'.$a, 'post');
|
||||
if (!empty($a) && is_numeric($nb) && $nb < 1000) {
|
||||
$bdd->connexion();
|
||||
$bdd->escape($a);
|
||||
$bdd->escape($nb);
|
||||
$action = $bdd->unique_query("SELECT FLOOR(B.metal/SUM(A.nombre)) AS metal, FLOOR(B.cristal/SUM(A.nombre)) AS cristal FROM $table_bourse B JOIN $table_bourse_actions A ON B.id = A.id_action WHERE B.id = $a GROUP BY A.id_action;");
|
||||
$bdd->deconnexion();
|
||||
$metal -= $action['metal']*$nb;
|
||||
$cristal -= $action['cristal']*$nb;
|
||||
if ($metal < 0 || $cristal < 0) {
|
||||
$template->assign('message','Vous n\'avez pas assez de ressource pour acheter ces actions.');
|
||||
$template->assign('couleur','red');
|
||||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
$bdd->connexion();
|
||||
$bdd->query("UPDATE $table_planete SET metal = $metal, cristal = $cristal WHERE id = $idPlan;");
|
||||
$bdd->query("INSERT INTO $table_bourse_actions (id_user, id_action, nombre) VALUES ($id_user, $a, $nb);");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=bourse');
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
$bdd->connexion();
|
||||
$bourse = $bdd->query("SELECT B.id, B.nom, SUM(U.nombre) AS nbactions, FLOOR(SUM(A.nombre)/B.metal) AS metal, FLOOR(SUM(A.nombre)/B.cristal) AS cristal, B.last_nombre, FLOOR(((SUM(A.nombre)/B.last_nombre)-1)*100) AS evolution FROM $table_bourse B INNER JOIN $table_bourse_actions A ON B.id = A.id_action INNER JOIN $table_bourse_actions U ON B.id = U.id_action AND U.id_user = $id_user GROUP BY A.id_action;");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
|
||||
$template->assign('bourse', array($queryBourseMetal, $queryBourseCristal, $queryBourseHydrogene));
|
||||
|
||||
$template->assign('bourse', $bourse);
|
||||
}
|
||||
?>
|
||||
|
|
@ -12,7 +12,7 @@ if (!empty($_POST['page']) && !empty($_POST['description'])) {
|
|||
$bdd->connexion();
|
||||
$bdd->escape($pages);
|
||||
$bdd->escape($description);
|
||||
$bdd->query("INSERT INTO $table_bug VALUES(NULL, '$pseudo', '$time', '$pages', '$description');");
|
||||
$bdd->query("INSERT INTO $table_bug (pseudo, temps, page, description) VALUES('$pseudo', '$time', '$pages', '$description');");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=bugs');
|
||||
exit;
|
||||
|
|
@ -21,7 +21,7 @@ elseif (isset($_GET['a']) && $_GET['a'] == 'del' && isset($_GET['i']) && $sess->
|
|||
$i = $_GET['i'];
|
||||
$bdd->connexion();
|
||||
$bdd->escape($i);
|
||||
$bdd->query("DELETE FROM $table_bug WHERE id = '$i' LIMIT 1;");
|
||||
$bdd->query("DELETE FROM $table_bug WHERE id = $i;");
|
||||
$bdd->deconnexion();
|
||||
header('Location: ?p=bugs');
|
||||
exit;
|
||||
|
|
|
|||
|
|
@ -42,22 +42,15 @@ 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';");
|
||||
$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']) {
|
||||
$alliId = $e['id_alliance'];
|
||||
$eA = $bdd->unique_query("SELECT tag FROM $table_alliances WHERE id = '$alliId';");
|
||||
}
|
||||
else $eA = false;
|
||||
$d = $bdd->unique_query("SELECT P.nom_planete, P.debris_met, P.debris_cri, U.pseudo, U.race, U.id_alliance, A.tag FROM $table_planete P INNER JOIN $table_user U ON U.id = P.id_user LEFT OUTER JOIN $table_alliances A ON A.id = U.id_alliance WHERE galaxie = $g AND ss = $s AND position = $i;");
|
||||
$bdd->deconnexion();
|
||||
if ($e['race'] == 'covenant') $ra = '(c)';
|
||||
elseif ($auth_level >= 6 && md5($e['race']) == '34c19b21bd4a3dda389e767d32fe9779') $ra = '(f)';
|
||||
if ($d['race'] == 'covenant') $ra = '(c)';
|
||||
elseif ($auth_level >= 6 && md5($d['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']);
|
||||
$TEMP_carte[] = array($i, htmlspecialchars($d['nom_planete']), $d['debris_met'], $d['debris_cri'], $ra, $d['pseudo'], '<a href="?p=envoyer&d='.$d['pseudo'].'" class="msg"><span>Message</span></a>', $d['tag']);//, $eA['tag']);
|
||||
}
|
||||
else {
|
||||
$bdd->deconnexion();
|
||||
|
|
|
|||
|
|
@ -3,29 +3,49 @@ if(!defined('INDEX')) { header('Location: ../'); exit; }
|
|||
$page = 'classement';
|
||||
$titre = 'Classement';
|
||||
|
||||
if (isset($_GET['q']) && is_numeric($_GET['q']) && $_GET['q'] > 0) $pageClassement = $_GET['q'];
|
||||
//Page affichée
|
||||
$q = gpc('q');
|
||||
if (is_numeric($q) && $q > 0) $pageClassement = $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';
|
||||
//Type de classement
|
||||
$t = gpc('t');
|
||||
switch($t){
|
||||
case '0':
|
||||
$TypeSearch = false;
|
||||
break;
|
||||
default:
|
||||
$TypeSearch = true;
|
||||
}
|
||||
$template->assign('t', $TypeSearch);
|
||||
|
||||
if (isset($_GET['t'])) {
|
||||
if ($_GET['t'] == '0') $TypeSearch = '0';
|
||||
else $TypeSearch = '1';
|
||||
}
|
||||
else $TypeSearch = '0';
|
||||
//Catégorie du classement
|
||||
$e = gpc('e');
|
||||
switch($e){
|
||||
case 'batiment':
|
||||
$export = 'batiments';
|
||||
break;
|
||||
case 'flotte':
|
||||
$export = 'flottes';
|
||||
break;
|
||||
case 'recherches':
|
||||
$export = 'recherches';
|
||||
break;
|
||||
default:
|
||||
$export = 'points';
|
||||
}
|
||||
$template->assign('export', $export);
|
||||
|
||||
$nbppage = 100;
|
||||
if (isset($_GET['c']) && is_numeric($_GET['c']) && $_GET['c'] > 0) $pageClassement = floor($_GET['c']/($nbppage+1))+1;
|
||||
$pageClassementN = ($pageClassement-1) * $nbppage;
|
||||
//Nombre de joueurs par page
|
||||
$n = gpc('n');
|
||||
if (is_numeric($n) && $n > 0) $nbppage = $n;
|
||||
else $nbppage = 100;
|
||||
|
||||
$pageClassementN = ($pageClassement-1);
|
||||
|
||||
$nbpages = ceil(($nbhumain['humains']+$nbcovie['covenants'])/$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>';
|
||||
|
|
@ -34,15 +54,45 @@ for($i=1 ; $i<=$nbpages ; $i++) {
|
|||
$TEMP_pages .= '</select>';
|
||||
$template->assign('q', $TEMP_pages);
|
||||
|
||||
$template->assign('t', $TypeSearch);
|
||||
$plage_debut = $nbppage * $pageClassementN;
|
||||
$plage_fin = $nbppage * ($pageClassementN + 1);
|
||||
if ($TypeSearch) {
|
||||
$bdd->connexion();
|
||||
$data = $bdd->query("SELECT C.".$export.", C.nbr_membres FROM $table_classement_alliances C JOIN $table_alliances A ON 1 = A.id ORDER BY C.$export DESC LIMIT $plage_fin OFFSET $plage_debut;");
|
||||
$bdd->deconnexion();
|
||||
$nbres = $bdd->num_rows;
|
||||
var_dump($data);
|
||||
|
||||
$plage_debut = $nbppage * $pageClassementN + 1;
|
||||
$plage_fin = $nbppage * ($pageClassementN + 1) + 1;
|
||||
$j = ($pageClassement-1)*$nbppage;
|
||||
|
||||
$TEMP_classement = array();
|
||||
for ($i=0; $i<$nbres; $i++) {
|
||||
$j++;
|
||||
$TEMP_classement[] = array($j, $data[$i]['tag'], $data[$i]['nbr_membres'], separerNombres($data[$i][$export]),0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$bdd->connexion();
|
||||
$data = $bdd->query("SELECT C.$export, U.pseudo, U.race, A.tag, A.nom FROM $table_classement C INNER JOIN $table_user U ON C.id_user = U.id LEFT OUTER JOIN $table_alliances A ON A.id = U.id_alliance ORDER BY C.$export DESC LIMIT $plage_fin OFFSET $plage_debut;");
|
||||
$bdd->deconnexion();
|
||||
$nbres = $bdd->num_rows;
|
||||
|
||||
$j = ($pageClassement-1)*$nbppage;
|
||||
|
||||
$TEMP_classement = array();
|
||||
for ($i=0; $i<$nbres; $i++) {
|
||||
$j++;
|
||||
$TEMP_classement[] = array($j, $data[$i]['pseudo'], $data[$i]['race'], $data[$i]['tag'], $data[$i]['nom'], separerNombres($data[$i][$export]));
|
||||
}
|
||||
|
||||
$template->assign('places', $TEMP_classement);
|
||||
}
|
||||
|
||||
/*
|
||||
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;");
|
||||
$result = $bdd->query("SELECT tag, nbr_membres, ".$export.", points_".$export."_by_members FROM classement_alliances ORDER BY $export DESC LIMIT $pageClassementN OFFSET $nbppage;");
|
||||
$bdd->deconnexion();
|
||||
$nbres = $bdd->num_rows;
|
||||
|
||||
|
|
@ -58,28 +108,5 @@ if (isset($_GET['t']) && $_GET['t'] == '1')
|
|||
|
||||
$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);
|
||||
}
|
||||
*/
|
||||
?>
|
||||
|
|
@ -21,7 +21,7 @@ if (!empty($_POST['objet']) && !empty($_POST['nom']) && !empty($_POST['message']
|
|||
$bdd->escape($util);
|
||||
if ($bdd->unique_query("SELECT pseudo FROM $table_user WHERE pseudo = '$util';")) {
|
||||
$pseudo = $queryUser["pseudo"];
|
||||
$bdd->query("INSERT INTO $table_mail VALUES(NULL, '1', '$util', '$pseudo', '$objet', '$message', '$time');");
|
||||
$bdd->query("INSERT INTO $table_mail (destinataire, expediteur, sujet, contenu, temps) VALUES('$util', '$pseudo', '$objet', '$message', '$time');");
|
||||
}
|
||||
else {
|
||||
$bdd->deconnexion();
|
||||
|
|
|
|||
|
|
@ -248,7 +248,6 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && isset($_POST['amas']
|
|||
$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 ( && ( || $mission != 5)) {
|
||||
if ($contenu_metal + $contenu_cristal + $contenu_hydrogene + $conso > $contenu_max && $contenu_metal + $contenu_cristal + $contenu_hydrogene != 0) {
|
||||
$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>');
|
||||
|
|
@ -275,7 +274,7 @@ if (!empty($_POST['cds']) && !empty($_POST['nomflotte']) && isset($_POST['amas']
|
|||
$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, $reqb tactiqueAT, 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("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, $reqb tactiqueAT, 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();
|
||||
|
||||
|
|
@ -360,7 +359,7 @@ elseif (!empty($_POST['v1']) || !empty($_POST['v2']) || !empty($_POST['v3']) ||
|
|||
$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>');
|
||||
|
||||
$template->assign('favoris', '<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']);
|
||||
|
|
@ -462,7 +461,7 @@ else {
|
|||
|
||||
$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>');
|
||||
else $template->assign('action', '<span class="lack">Nombre de flottes maximum simultanées atteint</span>');
|
||||
|
||||
$template->assign('nbflotte', $nbr);
|
||||
$template->assign('nbflottemax', $trez);
|
||||
|
|
|
|||
5
onyx/hb_game/jeu/gestion.php
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
$page = 'gestion';
|
||||
$titre = 'Gestion';
|
||||
?>
|
||||
|
|
@ -4,6 +4,12 @@ if(!defined('INDEX')) { header('Location: ../'); exit; }
|
|||
$sess->values['connected'] = FALSE;
|
||||
$sess->close();
|
||||
|
||||
header('Location: ./');
|
||||
exit;
|
||||
if (!empty($HB_login)) {
|
||||
header('Location: '.$_SERVER["REQUEST_URI"]);
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
header('Location: ./');
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
require_once(_FCORE."hb_game/Class/class.phpmailer.php");
|
||||
$page = 'options';
|
||||
$titre = 'Options';
|
||||
$template->assign('page',$page);
|
||||
|
|
@ -74,24 +73,7 @@ if (isset($_GET['chg']) && $_GET['chg'] == 'mdp') {
|
|||
$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='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($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.
|
||||
if(!send_mail($mailUtil, 'Halo-Battle :: Activation de votre nouveau mot de passe', '<!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>')){ //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');
|
||||
|
|
@ -149,23 +131,7 @@ elseif (isset($_GET['chg']) && $_GET['chg'] == 'mail') {
|
|||
$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='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 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.
|
||||
if(!send_mail($Nmail, 'Halo-Battle :: Activation de votre nouvelle adresse électronique', '<!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>')){ //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');
|
||||
|
|
|
|||
|
|
@ -56,23 +56,7 @@ if (isset($_POST['HB_pseudo']) && isset($_POST['HB_mail']) && isset($_POST['HB_c
|
|||
$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="http://'.$_SERVER['HTTP_HOST'].'?p=oubliemdp&i='.$passNOUV.'&n='.$HB_pseudo.'">http://'.$_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.
|
||||
if(!send_mail($HB_mail, 'Halo-Battle :: Reinitialisation du mot de passe', '<!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="http://'.$_SERVER['HTTP_HOST'].'?p=oubliemdp&i='.$passNOUV.'&n='.$HB_pseudo.'">http://'.$_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>')){ //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');
|
||||
|
|
|
|||
|
|
@ -14,10 +14,17 @@ if (isset($_POST['planete'])) {
|
|||
$template->display('game/erreur.tpl');
|
||||
exit;
|
||||
}
|
||||
elseif (ereg('staf', strtolower($nouvNom)) && $sess->values['auth_level'] < 4) {
|
||||
$template->assign('message','Vous devez faire parti du staff pour afficher le nom "staff" dans le nom de votre 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->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>');
|
||||
|
|
@ -26,7 +33,7 @@ if (isset($_POST['planete'])) {
|
|||
exit;
|
||||
}
|
||||
}
|
||||
elseif(isset($_GET['a']) && $_GET['a'] == $sess->values['abandon'] && !empty($id_plan)) {
|
||||
elseif(isset($_GET['a']) && isset($_GET['i']) && $_GET['a'] == $sess->values['abandon'] && !empty($id_plan) && $id_plan == $_GET['i']) {
|
||||
$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' AND galaxie = '$galaxie' AND ss = '$ss' AND position = '$position' LIMIT 1;");
|
||||
|
|
|
|||
|
|
@ -11,47 +11,49 @@ if (!isset($auth_level)) @$auth_level = $sess->values['auth_level'];
|
|||
'Les Elites constituent l\'ossature des armées covenantes. Excellents soldats, tacticiens émérites et disciplinés, combattants agressifs, ils représentent la principale force des covenants. Plus rapides, plus forts et plus résistants que les humains, ils combattent en groupes restreints et dirigent souvent des escouades de Grunts. La couleur de leur armure indique leur rang.',
|
||||
'Le sniper est une classe des jackals. Excellents tireurs de nature, les Jackals qui se sont spécialisés dans ce domaine bénéficient d\'un rang plus élevé que leurs congénères. Ils sont très destructeurs de loin mais assez peu de près. Ils ne possèdent cependant pas de bouclier de protection comme leurs frères.',
|
||||
'Les Hunters sont des ennemis incroyablement dangereux qui sont déployés plus comme du matériel que comme des soldats. Ils sont utilisés pour des tâches de démolitions ou de défense lourde et se battent toujours par deux. Ces créatures massives portent une armure quasiment impénétrable et une arme à combustible redoutable au combat.',
|
||||
'Les médecins sont sur le champ de bataille pour aider les soldats blessés par des tirs lors des affrontements. Ils peuvent réduire le nombre de morts lorsqu\'ils sont bien utilisés, et donc peuvent peut être changer l’issue de la bataille.',
|
||||
'Les médecins sont sur le champ de bataille pour aider les soldats blessés par des tirs lors des affrontements. Ils peuvent réduire le nombre de morts lorsqu\'ils sont bien utilisés, et donc peuvent peut être changer l\'issue de la bataille.',
|
||||
'Les ingénieurs, appelés Huragok en langage covenant, forment la seule unité non-combattante connue des forces covenantes. Celle-ci répare vos unités et véhicules sur le champ de bataille ; plus vous en recrutez, plus vos unités et véhicules au sol auront une chance de survivre.',
|
||||
'Moins bien connus que les Elites, les Brutes combattent en groupes et sont physiquement plus forts que leurs congénères. Les Brutes démontrent les mêmes aptitudes au combat que les Elites et leur nombre s\'est considérablement accru depuis le début du conflit. Ils portent une arme balistique explosive à laquelle est fixée une baïonnette.');
|
||||
$casernea = array('grunt(s)','jackal(s)','drone(s)','élite(s)','sniper(s)','hunter(s)','médecin(s)','ingénieur(s)','brute(s)');
|
||||
$casernei = array('grunt1.jpg','jackal.jpg','94990342wb4.jpg','98004530fx3.jpg','88091275ja8.jpg','hunter1.jpg','81770345oo4.jpg','88218731ts1.jpg','72188202fg9.jpg');
|
||||
$batimend = array('purificateur_m','purificateur_c','ionisateur','centrale_s','centrale_fusion','oeil','recherches','chantier_terrestre','???','caserne','silo','centre_info');
|
||||
$batimeni = array('purificateurdemtalhb3.jpg','cristaloo3.png','powersupplycoviejq1.jpg','solaire.jpg','sanstitrevi7.jpg','oeilduprophetewj6.jpg','covielabocn5.jpg','chantierterrestrehg1.jpg','sanstitretruecolor09zn6.jpg','caserncov0ry.jpg','stockagebasement1cs10bl.jpg','ordianteur_hologramme.jpg');
|
||||
$batimeni = array('batimentcovieux4.jpg','cristaloo3.png','powersupplycoviejq1.jpg','solaire.jpg','sanstitrevi7.jpg','oeilduprophetewj6.jpg','covielabocn5.jpg','chantierterrestrehg1.jpg','sanstitretruecolor09zn6.jpg','caserncov0ry.jpg','stockagebasement1cs10bl.jpg','ordianteur_hologramme.jpg');
|
||||
$batiment = array('Purificateur de métal','Purificateur de cristal','Ionisateur','Centrale solaire','Centrale de fusion','Oeil des prophètes','Centre de recherches','Chantier terrestre','Chantier spatial',0/*'Caserne'*/,'Entrepôt','Centrale informatique');
|
||||
$batimede = array( 'Le purificateur de métal vous fournit les matières premières pour la construction de vos infrastructures et de vos unités. Plus vous développerez vos purificateurs, plus ils produiront de ressources. Les purificateurs les plus développés ont aussi besoin de plus d\'énergie.',
|
||||
'Le purificateur de cristal vous fournit les ressources pour vos installations électroniques et pour les alliages. Le purificateur de cristal consomme deux fois plus d\'énergie que celui de métal. Tous les vaisseaux et bâtiments ont besoin de cristal pour leur bouclier ou encore leurs composants électroniques. La production augmente avec le développement de l’usine.',
|
||||
'Le purificateur de cristal vous fournit les ressources pour vos installations électroniques et pour les alliages. Le purificateur de cristal consomme deux fois plus d\'énergie que celui de métal. Tous les vaisseaux et bâtiments ont besoin de cristal pour leur bouclier ou encore leurs composants électroniques. La production augmente avec le développement de l\'usine.',
|
||||
'L\'ionisateur utilise des ions négatifs et positifs d\'hydrogène pour créer une source conventionnelle de courant stable, servant à alimenter les bâtiments covenants qui nécessitent une arrivée massive de cette "ressource" pour actionner les divers éléments matériels des contrôles. La centrale de fusion à besoin de beaucoup d\'ions pour fonctionner.',
|
||||
'Pour assurer l\'approvisionnement des purificateurs, des centrales solaires sont nécessaires. Plus ces installations sont développées, plus vous obtiendrez d’énergie pour vos purificateurs. Les centrales solaires sont la base de l\'approvisionnement pour votre planète en énergie. Elles sont composées d’un recueilleur sur le haut de sa structure qui capte en grandes quantités l’énergie solaire.',
|
||||
'La centrale à fusion vous permet de créer l’énergie nécessaire à vos purificateurs. Elles est constitué d’un réacteur à fusion qui en tournant produit de l’énergie. Sa production reste nettement inférieure à celle d’une centrale solaire.',
|
||||
'Les grands prophètes ont partagé leur savoir pour construire ces structures qui permettent de repérer les éléments s’approchants de votre planète. Le système est constitué de deux grands arcs qui envoient des signaux électriques dans l’espace et captent ceux qui reviennent présageant ainsi l’arrivée d’un vaisseau.',
|
||||
'Le centre de recherches, l\'un des bâtiments les plus importants de votre colonie, vous permet de vous accaparer des technologies aliens aujourd’hui disparues ou des technologies en cours de développement dans d’autres factions. Le niveau du centre détermine la vitesse de la recherche. Chaque planète que vous coloniserez devra être équipée d’un centre d\'étude des artefacts et des technologies.',
|
||||
'Le chantier terrestre vous permet de construire tous les véhicules atmosphériques du type ghosts, spectres ou autres. Il permet ainsi à vos armées d’accéder plus rapidement à un endroit et d’avoir un avantage avec l’armement de ces véhicules.',
|
||||
'Ce bâtiment permet la création de toutes vos unités spatiales ou volantes. La force des covenants a souvent été due à ses grandes avancées technologiques en matière d’aéronautique. Un grand chantier spatial permet de créer des unités de plus en plus fortes et de surcroît de les créer de plus en plus rapidement.',
|
||||
'Le Temple de la Guerre vous permet de créer l’élite des forces d’infanterie. Des soldats y sont fanatisés puis entraînés au maniement des armes et à la stratégie militaire. Plus vous développez le temple, plus la vitesse de production sera rapide.',
|
||||
'Les ressources qui ne sont pas encore traitées sont mises en stock dans ces entrepôts géants. Un entrepôt plus grand permet le stockage d\'une plus grande quantité de ressources. Lorsque l’entrepôt est plein, l\'extraction est stoppée. Il est grandement conseillé de développer ce genre d’infrastructure.',
|
||||
'Pour assurer l\'approvisionnement des purificateurs, des centrales solaires sont nécessaires. Plus ces installations sont développées, plus vous obtiendrez d\'énergie pour vos purificateurs. Les centrales solaires sont la base de l\'approvisionnement pour votre planète en énergie. Elles sont composées d\'un recueilleur sur le haut de sa structure qui capte en grandes quantités l\'énergie solaire.',
|
||||
'La centrale à fusion vous permet de créer l\'énergie nécessaire à vos purificateurs. Elles est constitué d\'un réacteur à fusion qui en tournant produit de l\'énergie. Sa production reste nettement inférieure à celle d\'une centrale solaire.',
|
||||
'Les grands prophètes ont partagé leur savoir pour construire ces structures qui permettent de repérer les éléments s\'approchants de votre planète. Le système est constitué de deux grands arcs qui envoient des signaux électriques dans l\'espace et captent ceux qui reviennent présageant ainsi l\'arrivée d\'un vaisseau.',
|
||||
'Le centre de recherches, l\'un des bâtiments les plus importants de votre colonie, vous permet de vous accaparer des technologies aliens aujourd\'hui disparues ou des technologies en cours de développement dans d\'autres factions. Le niveau du centre détermine la vitesse de la recherche. Chaque planète que vous coloniserez devra être équipée d\'un centre d\'étude des artefacts et des technologies.',
|
||||
'Le chantier terrestre vous permet de construire tous les véhicules atmosphériques du type ghosts, spectres ou autres. Il permet ainsi à vos armées d\'accéder plus rapidement à un endroit et d\'avoir un avantage avec l\'armement de ces véhicules.',
|
||||
'Ce bâtiment permet la création de toutes vos unités spatiales ou volantes. La force des covenants a souvent été due à ses grandes avancées technologiques en matière d\'aéronautique. Un grand chantier spatial permet de créer des unités de plus en plus fortes et de surcroît de les créer de plus en plus rapidement.',
|
||||
'Le Temple de la Guerre vous permet de créer l\'élite des forces d\'infanterie. Des soldats y sont fanatisés puis entraînés au maniement des armes et à la stratégie militaire. Plus vous développez le temple, plus la vitesse de production sera rapide.',
|
||||
'Les ressources qui ne sont pas encore traitées sont mises en stock dans ces entrepôts géants. Un entrepôt plus grand permet le stockage d\'une plus grande quantité de ressources. Lorsque l\'entrepôt est plein, l\'extraction est stoppée. Il est grandement conseillé de développer ce genre d\'infrastructure.',
|
||||
'La centrale informatique est le coeur de votre planète, le cerveau de votre territoire, analysant chaque particule détectée avec grand soin. Plus votre centrale est améliorée, plus rapidement et aisément les données seront traitées.');
|
||||
$technolo = array('Informatique','Detection','Armement','Bouclier','Maitrise de l\'énergie','Réacteur à antigravité','Réacteur à fusion','Réacteur à fusion Forerunner','Médecine','Commandement militaire',0);
|
||||
$technode = array( 'L’informatique vous permet de traiter les informations de façon très rapide réduisant ainsi les temps de réactions qui dans les combats peuvent s’avérer fatales.',
|
||||
'La détection est cruciale pour préserver sa flotte et ses planètes. Développer cette technologie vous permet de construire une base « œil des prophètes » qui repèrera les vaisseaux s’approchant de votre planète.',
|
||||
$technolo = array('Informatique','Detection','Armement','Bouclier','Maitrise de l\'énergie','Réacteur à antigravité','Réacteur à fusion','Réacteur à fusion Forerunner','Médecine','Commandement militaire',0,'Cristal Mémoriel');
|
||||
$technode = array( 'L\'informatique vous permet de traiter les informations de façon très rapide réduisant ainsi les temps de réaction qui, dans les combats, peut s\'avérer fatal.',
|
||||
'La détection est cruciale pour préserver sa flotte et ses planètes. Développer cette technologie vous permet de construire une base « œil des prophètes » qui repèrera les vaisseaux s\'approchant de votre planète.',
|
||||
'Un soldat n\'est rien sans son arme, et qu\'est-ce qu\'un soldat démuni face aux assauts féroces adverses ? Cette technologie vous permettra de rechercher de nouveaux systèmes d\'armements afin de rendre vos outils de guerre plus précis et mortels.',
|
||||
'Le bouclier est un champ de force qui entoure vos vaisseaux et les protège. Ainsi il permet à vos vaisseaux de tenir plus longtemps face aux missiles adverses, ceci s\'avérant peut être décisif dans l’issue de la bataille.',
|
||||
'Le bouclier est un champ de force qui entoure vos vaisseaux et les protège. Ainsi il permet à vos vaisseaux de tenir plus longtemps face aux missiles adverses, ceci s\'avérant peut être décisif dans l\'issue de la bataille.',
|
||||
'L\'énergie est la base de tout. Sans énergie, pas de voyages stellaires ni même de quoi faire marcher vos installations. C\'est pourquoi l\'étude de nouvelles façons de produire de l\'énergie est vitale pour vos planètes et vaisseaux ; vos chercheurs vous permettront également d\'accéder à de nouveaux types d\'énergies, beaucoup plus intéressants.',
|
||||
'Les réacteurs à antigravité sont les moteurs basiques covenant. Ils utilisent une technologie complexe projetant des particules quantiques créant un champ gravitationnel inverse annulant ainsi la gravité présente. Le principe fonctionne également dans l\'espace puisque l\'absence de gravité dans l\'espace, sans compter les étoiles et les autres anomalies spatiales, permet une projection plus puissante du champ.',
|
||||
'Après la combustion, voici la fusion. Ce type de réacteur est beaucoup plus puissant que la combustion utilisée depuis déjà des centaines d\'années. Il génère une énergie cinétique de grande envergure. Aucun dirigeant politique désirant voyager dans le cosmos ne pourrait s’en passer.',
|
||||
'Les covenants ont découvert d’anciens réacteurs à fusion utilisant la technologie d’hyperpropulsion Forerunner. Cette technologie, beaucoup plus puissante que le réacteur conventionnel au Plasma, autorise des sauts dans le sous-espace ultra précis. Ce type de réacteur est le plus cher mais aussi le plus rapide et puissant de toute la flotte covenante.',
|
||||
'La médecine vous permet d’avoir moins de pertes au combat et ainsi d’avoir une force de frappe qui résiste plus longtemps. Au lieu de laisser mourir les soldats blessés, le médecin les soigne pour les remettre sur pied et les rendre de nouveau aptes au combat.',
|
||||
'En tant que général, vous devez avoir un esprit fin pour gagner vos batailles terrestres aussi bien que les affrontements spatiaux. C\'est pourquoi il vous faudra toujours innover en matière de stratégie, vous montrer toujours plus rusé que votre impitoyable adversaire, aussi feriez-vous bien d\'étudier de nouvelles tactiques de combat pour vous assurer une franche victoire.');
|
||||
$technoli = array('informatique1.jpg','detection.jpg','sanstitretruecolor04no6.jpg','boucliervaiseaucovenantey4.jpg','energie.jpg','reacteurantigravyd1.jpg','reacteur_f.jpg','reacteurfusionforerunnewu0.jpg','medecine.JPG','commandement.jpg');
|
||||
'Après la combustion, voici la fusion. Ce type de réacteur est beaucoup plus puissant que la combustion utilisée depuis déjà des centaines d\'années. Il génère une énergie cinétique de grande envergure. Aucun dirigeant politique désirant voyager dans le cosmos ne pourrait s\'en passer.',
|
||||
'Les covenants ont découvert d\'anciens réacteurs à fusion utilisant la technologie d\'hyperpropulsion Forerunner. Cette technologie, beaucoup plus puissante que le réacteur conventionnel au Plasma, autorise des sauts dans le sous-espace ultra précis. Ce type de réacteur est le plus cher mais aussi le plus rapide et puissant de toute la flotte covenante.',
|
||||
'La médecine vous permet d\'avoir moins de pertes au combat et ainsi d\'avoir une force de frappe qui résiste plus longtemps. Au lieu de laisser mourir les soldats blessés, le médecin les soigne pour les remettre sur pied et les rendre de nouveau aptes au combat.',
|
||||
'En tant que général, vous devez avoir un esprit fin pour gagner vos batailles terrestres aussi bien que les affrontements spatiaux. C\'est pourquoi il vous faudra toujours innover en matière de stratégie, vous montrer toujours plus rusé que votre impitoyable adversaire, aussi feriez-vous bien d\'étudier de nouvelles tactiques de combat pour vous assurer une franche victoire.',
|
||||
'',
|
||||
'Le cristal mémoriel a longtemps été une technologie très poussée et courrement utilisée par les anciens. Toutefois ce savoir s\'est peu à peu dissipé et ceci vous limite dans la gestion de vos informations. Heureusement, il vous est possible de le retrouver en développant cette technologie. Chaque évolution de cette technologie vous permet de rajouter une unité supplémentaire dans votre file d\'attente.');
|
||||
$technoli = array('informatique1.jpg','detection.jpg','sanstitretruecolor04no6.jpg','boucliervaiseaucovenantey4.jpg','ernergieforruner.jpg','reacteurantigravyd1.jpg','reacteur_f.jpg','39969905fullew4.jpg','medecine.JPG','commandement.jpg','','../covenant_na.jpg');
|
||||
$nomvaisa = array('cargos de classe Inquisitor','grand(s) transporteur(s)','vaisseau(x) de colonisation','sonde(s)','recycleur(s)','séraphin(s)','frégate(s)','croiseur(s) de classe CCS','croiseur(s) de classe Reverence','porte-vaisseaux','station(s) orbitale','super(s) porte-vaisseaux');
|
||||
$nomvaisi = array('cargosparabola.jpg','cargosladen.jpg','coviecolobv3.jpg','sonde_despionnage1.jpg','charognard.jpg','chasseurlourd7id.jpg','croiseur8er.jpg','vaisseauuu0.jpg','vaisseaudebataille9na.jpg','pv.jpg','stationorbitalezt7.jpg','citecovenant.jpg');
|
||||
$nomvaisi = array('cargo2pb6.jpg','sanstitre2copiegw9.jpg','colocopiers4.jpg','sonde_despionnage1.jpg','charognard.jpg','chasseurlourd7id.jpg','contactharvestbynameleszk3.jpg','vaisseauuu0.jpg','vaisseaudebataille9na.jpg','pv.jpg','stationorbitalezt7.jpg','citecovenant.jpg');
|
||||
$nomvaisn = array('Cargos de classe Inquisitor','Cargos de classe Interdictor','Vaisseau de colonisation de classe Returning','Sonde de reconnaissance de classe Perception','Charognard','Séraphin','Frégate','Croiseur de classe CCS','Croiseur de classe Reverence','Porte vaisseaux','Station orbitale covenant','Super porte vaisseaux');
|
||||
$nomvaisd = array( 'Les cargos Inquisitor sont la base du transport de troupes et de ressources covenantes, capables de transporter un grand nombre de ressources sur une grande distance. Pratiquement sans armement, le cargo est sans défense et nécessite une défense rapprochée pour les trajets de grande distance.',
|
||||
'Les cargos Interdictor sont une évolution du transport de classe Inquisitor. Ayant une capacité de transport nettement supérieure à sa version précédente. Ce transport, quoique plus récent et disposant d\'un plus grand fret, dispose du même genre de défense que le modèle antérieur, une escorte est donc fortement recommandée lors de l\'utilisation de celui-ci.',
|
||||
'Tout comme les humains, les covenants ont besoins d\'espace pour étendre leur empire et c\'est pourquoi ces vaisseaux ont été pensés et conçus. Capable de transformer la nature même d\'une planète en très peu de temps, ce vaisseau est essentiel au développement de la société covenante.',
|
||||
'Cette sonde de reconnaissance covenante est largement utilisée lorsqu\'il est trop dangereux d\'envoyer un vaisseau. Sa fonction consiste à rassembler des données sur les vaisseaux ou encore sur une planète dans un système planétaire.',
|
||||
'Chaque bataille amène des pertes des 2 côtés, et ce vaisseau est conçu pour en tirer tous les bénéfices. Le Charognard, en retrait de la flotte principale, ramasse ce qu\'il reste des vaisseaux détruits et les ramène à sa planète d\'origine où ces "déchets" pourront être utilisés pour produire des matières premières.',
|
||||
'Le plus puissant et probablement le plus craint de tous les vaisseaux Covenants. Le Séraphin est le principal vaisseau offensif dans l’espace et peut être employé comme bombardier aérien. Le Séraphin est d\'environ trois fois la taille d\'un Banshee, il possède plusieurs canons de plasma qu\'il utilise lors des engagements aériens pour éliminer des opposants de type LongsWord et Pélican.',
|
||||
'Le plus puissant et probablement le plus craint de tous les vaisseaux Covenants. Le Séraphin est le principal vaisseau offensif dans l\'espace et peut être employé comme bombardier aérien. Le Séraphin est d\'environ trois fois la taille d\'un Banshee, il possède plusieurs canons de plasma qu\'il utilise lors des engagements aériens pour éliminer des opposants de type LongsWord et Pélican.',
|
||||
'La frégate covenante est un vaisseau de tonnage moyen composant majoritairement les flottes habituelles. Équipée de lasers à impulsion et de lanceurs de torpilles au plasma latéraux, elle possède ainsi une puissance de feu raisonnable. Sa coque est aussi protégée par un bouclier énergétique la rendant beaucoup plus difficile à détruire.',
|
||||
'Ce vaisseau redoutable et titanesque sème sans le moindre doute la terreur chez l\'ennemi. Armé d\'un bout à l\'autre de lasers à impulsion, de torpilles au plasma et de bien d\'autres armes, ce croiseur est une arme extraordinaire à ne jamais sous estimer.',
|
||||
'Un des plus grands vaisseaux de combat covenant, mesurant 3000 mètres. Équipé de deux canons à projection énergétique et de sept lanceurs de torpilles, il est d\'une puissance extraordinaire. Le seul problème réside dans le fait que son équipement demande une capacité d\'énergie phénoménale.',
|
||||
|
|
@ -60,19 +62,19 @@ if (!isset($auth_level)) @$auth_level = $sess->values['auth_level'];
|
|||
'Le vaisseau ultime de la flotte covenante, long de plus de 5400 mètres. Ce vaisseau est capable de transporter des quantités de chasseurs hors du commun. Armé de projecteurs énergétique et de laser à impulsion, ce vaisseau est le plus puissant après la station spatiale.');
|
||||
$nomterra = array('banshee(s)','spirit(s)','phantom','boarding craft','ghost(s)','shadow','spectre(s)','apparition(s)','shade','strong shade','tourelle(s) à barreau de combustible','canon(s) à plasma','lanceur(s) de torpilles plasma');
|
||||
$nomterrn = array('Banshees', 'Spirit', 'Phantom', 'Boarding craft', 'Ghost', 'Shadow', 'Spectre', 'Apparition', 'Shade', 'Strong shade', 'Tourelle à barreau de combustible', 'Canon à plasma', 'Lanceur de torpilles plasma');
|
||||
$nomterri = array('bansheeqp0.jpg', 'spirit1.jpg', 'phantomfu2.jpg', 'boardingcraft.jpg', 'ghostic1.jpg', 'shadow.jpg', 'spectre.jpg', 'wraith.jpg', 'shade.jpg', 'strongshade.jpg', 'tourellebarreau.jpg', 'tourelle.jpg', 'lanceur_torpilles.jpg');
|
||||
$nomterri = array('bansheeqp0.jpg', 'spirit1.jpg', 'phantomfu2.jpg', 'boardingcraft.jpg', 'ghostic1.jpg', 'shadow.jpg', 'spectre.jpg', 'wraith.jpg', 'shade.jpg', 'defcovie.jpg', 'tourellebarreau.jpg', 'tourelle.jpg', 'lanceur_torpilles.jpg');
|
||||
$nomterde = array( 'Rapide et maniable, le Banshee est un formidable véhicule d\'assaut aérien, efficacement blindé contre les armes à feu légères mais ne résistant cependant pas aux armes plus lourdes. Le canon à combustible dont il est équipé en fait un bombardier dangereux tout autant qu\'un chasseur rapide. Le Banshee a la possibilité de faire des tonneaux et des vrilles, ce qui serait impossible pour des véhicules à l\'aérodynamique conventionnelle.',
|
||||
'Le spirit est une navette de transport de troupes terrestre. De capacité moyenne, il peut transporter un petit contingent armé dans les zones les plus repoussées des planètes. Le spirit est équipé d\'une tourelle de type shade de puissance moyenne, qui permet de maintenir les troupes ennemis à distance jusqu\'à ce que le largage des troupes soit effectué.<br />Malheureusement, un manque d\'espace empêche l\'installation de générateur énergétique plus puissant qui pourrait supporter des boucliers standards ou même de faible intensité.',
|
||||
'Le Phantom est un vaisseau beaucoup plus fiable que le vaisseau de débarquement « Spirit ». Il possède trois tourelles plasma particulièrement puissantes et peut laisser tomber ses occupants à terre via un ascenseur gravitationnel sans devoir se poser. Le Phantom a un blindage beaucoup plus résistant que son prédécesseur, une puissance de feu accrue et peut transporter tout type d’équipage comme des hunters.<br />Le Phantom est assez nouveau dans l\'arsenal Covenant mais est rapidement devenu une crainte car son bombardement de plasma peut éliminer un bon nombre de marines.',
|
||||
'Le Phantom est un vaisseau beaucoup plus fiable que le vaisseau de débarquement « Spirit ». Il possède trois tourelles plasma particulièrement puissantes et peut laisser tomber ses occupants à terre via un ascenseur gravitationnel sans devoir se poser. Le Phantom a un blindage beaucoup plus résistant que son prédécesseur, une puissance de feu accrue et peut transporter tout type d\'équipage comme des hunters.<br />Le Phantom est assez nouveau dans l\'arsenal Covenant mais est rapidement devenu une crainte car son bombardement de plasma peut éliminer un bon nombre de marines.',
|
||||
'~#DESCRIPTION MANQUANTE#~ Boarding craft',
|
||||
'Le ghost est un véhicule de reconnaissance et d\'attaque rapide déployée par les Covenants dans tout combat terrestre. Cet engin, très souvent piloté par les Elites, est très maniable. Il est capable de tirer des doubles décharges de plasma surchauffées d\'une puissance de 100-250 kW. Le ghost peut également effectuer des pointes de vitesse soutenues.',
|
||||
'Le Shadow est le principal moyen de transport terrestre des troupes covenantes. Ce véhicule peut accueillir un pilote, un artilleur et jusqu\'à huit passagers en fonction du type de Covenants qui monte à bord. Il est en outre équipé pour transporter des Elites, des Brutes, des Grunts ou des Jackals. Si le Shadow est équipé d\'un canon à plasma, sa vocation reste le déploiement de troupes.',
|
||||
'Le Spectre est un transport multi troupes blindé de petite taille. Quoique relativement lent, il est tout à fait maniable et se meut avec aisance dans les espaces confinés. Ses principales faiblesses étant son manque de vitesse et d\'accélération, ses occupants demeurent tout de même relativement exposés. Le canon à plasma monté à l\'arrière représente un grand danger pour l\'ennemi et le véhicule offre par ailleurs diverses positions de tir.',
|
||||
'Lent, massif et constituant une cible de taille, ce véhicule n\'en demeure pas moins le blindé covenant le plus destructeur. Ce géant de métal est bien protégé. Le tir de couverture qu\'il peut effectuer grâce à ses mortiers à plasma redoutables en fait un ennemi incroyablement dangereux. Le fait qu\'il soit piloté par une seule personne qui contrôle le véhicule et le système d\'armement limite quelque peu son champ de manoeuvre.',
|
||||
'Les tourelles shades sont des canons stationnaires énergétiques covenant composés de deux parties, la première étant une base stable à trois pieds pour la stabilité de l’appareil, la deuxième, un siège où le canon est fixé retenu par un champ gravitationnel artificiel. Ce canon lorsqu’il tire, envoie 3 « éclairs » relativement lents et d’efficacité moyenne.',
|
||||
'Cette tourelle est une version améliorée de la shade standard. Dans les modifications de la tourelle, le système d’accélération magnétique a été révisé pour le rendre plus performant, aboutissant à des rayons plus rapides. Également, un bouclier a été ajouté à l’avant, protégeant ainsi l’utilisateur des attaques aux armes à projectiles de petit et moyen calibre pendant une période de quelques secondes lors de feux nourris.',
|
||||
'Les tourelles shades sont des canons stationnaires énergétiques covenant composés de deux parties, la première étant une base stable à trois pieds pour la stabilité de l\'appareil, la deuxième, un siège où le canon est fixé retenu par un champ gravitationnel artificiel. Ce canon lorsqu\'il tire, envoie 3 « éclairs » relativement lents et d\'efficacité moyenne.',
|
||||
'Cette tourelle est une version améliorée de la shade standard. Dans les modifications de la tourelle, le système d\'accélération magnétique a été révisé pour le rendre plus performant, aboutissant à des rayons plus rapides. Également, un bouclier a été ajouté à l\'avant, protégeant ainsi l\'utilisateur des attaques aux armes à projectiles de petit et moyen calibre pendant une période de quelques secondes lors de feux nourris.',
|
||||
'La tourelle à barreau de combustible est une version fixe de ceux des hunters avec un système de visée amélioré et de condensateur ionique permettent de tirer trois rafales à la suite sans surcharger les relais du générateur. De puissance moyenne, elle est capable de détruire facilement des warthogs et autres véhicules légers avec une facilité hors norme.',
|
||||
'Le canon à plasma n’a pas besoin de canonnier pour tirer puisque équipé d’un système de visée automatisé, il utilise une technologie d’intelligence artificielle rudimentaire pour ensuite envoyer un projectile de plasma surchauffé à haute vitesse carbonisant tout sur son passage.',
|
||||
'Le canon à plasma n\'a pas besoin de canonnier pour tirer puisque équipé d\'un système de visée automatisé, il utilise une technologie d\'intelligence artificielle rudimentaire pour ensuite envoyer un projectile de plasma surchauffé à haute vitesse carbonisant tout sur son passage.',
|
||||
'Utilisant un principe similaire de la tourelle à plasma, le lanceur de torpilles plasma utilise un condensateur de matière pour condenser le flux de plasma surchauffé en une masse de destruction pure. Ce système est le système de défense terrestre le plus évolué jamais construit. Son défaut majeur reste sa cadence de tire lente, limitant sa défense face à de multiples adversaires.');
|
||||
}
|
||||
elseif ($auth_level >= 6 && md5($race) == '34c19b21bd4a3dda389e767d32fe9779') {
|
||||
|
|
@ -95,25 +97,25 @@ if (!isset($auth_level)) @$auth_level = $sess->values['auth_level'];
|
|||
$batimede = array( 'Le générateur de métal vous fournit les matières premières pour la construction de vos infrastructures et de vos unités. Plus vous développerez vos générateurs, plus uls vous rapportera. Les générateurs plus développés ont aussi besoin de plus d\'énergie.',
|
||||
'Le générateur de cristal vous fourni les ressources pour vos installations électroniques et pour les alliages. Le générateur consomme deux fois plus d\'énergie que celui du métal. Tous les vaisseaux et bâtiments ont besoin de cristal pour leur bouclier ou encore leur composant électronique. La production augmente avec le développement du générateur ainsi que sa consommation.',
|
||||
'L\'hydrogène n\'est pas directement disponible dans la nature. On doit le produire : par electrolyse de l\'eau ce qui consiste à faire passer un courant électrique dans de l\'eau pour que les molécules se séparent et forme du dihydrogène. Mais cette technique utilise de trop grande quantitée d\'énergie.',
|
||||
'Pour assurer l\'approvisionnement des générateurs, des générateurs énergie géantes sont nécessaires. Plus ces installations sont développées, plus vous obtiendrez d’énergie pour vos générateurs. Les générateurs d\'énergies sont la base de l\'approvisionnement pour votre planète en énergie.',
|
||||
'Pour assurer l\'approvisionnement des générateurs, des générateurs énergie géantes sont nécessaires. Plus ces installations sont développées, plus vous obtiendrez d\'énergie pour vos générateurs. Les générateurs d\'énergies sont la base de l\'approvisionnement pour votre planète en énergie.',
|
||||
0,
|
||||
0,
|
||||
'Le centre de recherche est nécessaire pour développer de nouvelles technologies. Le niveau du centre détermine la vitesse de la recherche. Chaque planète que vous coloniserez devra être équipée d’un centre de recherche.',
|
||||
'Le centre de recherche est nécessaire pour développer de nouvelles technologies. Le niveau du centre détermine la vitesse de la recherche. Chaque planète que vous coloniserez devra être équipée d\'un centre de recherche.',
|
||||
'~#DESCRIPTION MANQUANTE#~ Chantier terrestre',
|
||||
'Le chantier spatial vous permet de construire des vaisseaux, de l’infanterie et vos installations de défense. Plus le chantier est grand, plus la construction de vaisseaux, le recrutement de l’infanterie et la création d’installations de défense est rapide.',
|
||||
'Le chantier spatial vous permet de construire des vaisseaux, de l\'infanterie et vos installations de défense. Plus le chantier est grand, plus la construction de vaisseaux, le recrutement de l\'infanterie et la création d\'installations de défense est rapide.',
|
||||
0,
|
||||
'Les ressources qui ne sont pas encore traitées sont mises en stock dans ces entrepôts géants. Un entrepôt plus grand permet le stockage d\'une plus grande quantité de ressources. Lorsque l’entrepôt est plein, l\'extraction est stoppée. Il est grandement conseillé de développer ce genre d’infrastructure.',
|
||||
'Les ressources qui ne sont pas encore traitées sont mises en stock dans ces entrepôts géants. Un entrepôt plus grand permet le stockage d\'une plus grande quantité de ressources. Lorsque l\'entrepôt est plein, l\'extraction est stoppée. Il est grandement conseillé de développer ce genre d\'infrastructure.',
|
||||
0);
|
||||
$technolo = array('Informatique','Detection','Armement','Bouclier','Maitrise de l\'énergie','Réacteur à antigravité','Réacteur à fusion','Réacteur à fusion Forruner','Médecine','Commandement militaire',0);
|
||||
$technode = array( 'L’informatique vous permet de traiter les informations de façon très rapide réduisant ainsi les temps de réactions qui dans les combats peuvent s’avérer fatales.',
|
||||
'La détection est cruciale pour préserver sa flotte et ses planètes. Développer cette technologie vous permet de construire une base « œil des prophètes » qui repèrera les vaisseaux s’approchant de votre planète.',
|
||||
$technode = array( 'L\'informatique vous permet de traiter les informations de façon très rapide réduisant ainsi les temps de réactions qui dans les combats peuvent s\'avérer fatales.',
|
||||
'La détection est cruciale pour préserver sa flotte et ses planètes. Développer cette technologie vous permet de construire une base « œil des prophètes » qui repèrera les vaisseaux s\'approchant de votre planète.',
|
||||
'Un soldat n\'est rien sans son arme, et qu\'est-ce qu\'un soldat démuni face aux assauts féroces adverses ? Cette technologie vous permettra de rechercher de nouveaux systèmes d\'armements afin de rendre vos outils de guerre plus précis et mortels.',
|
||||
'Le bouclier est un champ de force qui entoure vos vaisseaux et les protège. Ainsi il permet à vos vaisseaux de tenir plus longtemps face aux missiles adverses, ceci s\'avérant peut être décisif dans l’issue de la bataille.',
|
||||
'Le bouclier est un champ de force qui entoure vos vaisseaux et les protège. Ainsi il permet à vos vaisseaux de tenir plus longtemps face aux missiles adverses, ceci s\'avérant peut être décisif dans l\'issue de la bataille.',
|
||||
'L\'énergie est la base de tout. Sans énergie, pas de voyages stellaires ni même de quoi faire marcher vos installations. C\'est pourquoi l\'étude de nouvelles façons de produire de l\'énergie est vitale pour vos planètes et vaisseaux ; vos chercheurs vous permettront également d\'accéder à de nouveaux types d\'énergies, beaucoup plus intéressants.',
|
||||
'Les réacteurs à antigravité sont les moteurs basiques covenant. Ils utilisent une technologie complexe projetant des particules quantiques créant un champ gravitationnel inverse annulant ainsi la gravité présente. Le principe fonctionne également dans l\'espace puisque l\'absence de gravité dans l\'espace, sans compter les étoiles et les autres anomalies spatiales, permet une projection plus puissante du champ.',
|
||||
'Après la combustion, voici la fusion. Ce type de réacteur est beaucoup plus puissant que la combustion utilisée depuis déjà des centaines d\'années. Il génère une énergie cinétique de grande envergure. Aucun dirigeant politique désirant voyager dans le cosmos ne pourrait s’en passer.',
|
||||
'Les covenants ont découvert d’anciens réacteurs à fusion utilisant la technologie d’hyperpropulsion Forruner. Cette technologie, beaucoup plus puissante que le réacteur conventionnel au Plasma, autorise des sauts dans le sous-espace ultra précis. Ce type de réacteur est le plus cher mais aussi le plus rapide et puissant de toute la flotte covenante.',
|
||||
'La médecine vous permet d’avoir moins de pertes au combat et ainsi d’avoir une force de frappe qui résiste plus longtemps. Au lieu de laisser mourir les soldats blessés, le médecin les soigne pour les remettre sur pied et les rendre de nouveau aptes au combat.',
|
||||
'Après la combustion, voici la fusion. Ce type de réacteur est beaucoup plus puissant que la combustion utilisée depuis déjà des centaines d\'années. Il génère une énergie cinétique de grande envergure. Aucun dirigeant politique désirant voyager dans le cosmos ne pourrait s\'en passer.',
|
||||
'Les covenants ont découvert d\'anciens réacteurs à fusion utilisant la technologie d\'hyperpropulsion Forruner. Cette technologie, beaucoup plus puissante que le réacteur conventionnel au Plasma, autorise des sauts dans le sous-espace ultra précis. Ce type de réacteur est le plus cher mais aussi le plus rapide et puissant de toute la flotte covenante.',
|
||||
'La médecine vous permet d\'avoir moins de pertes au combat et ainsi d\'avoir une force de frappe qui résiste plus longtemps. Au lieu de laisser mourir les soldats blessés, le médecin les soigne pour les remettre sur pied et les rendre de nouveau aptes au combat.',
|
||||
'En tant que général, vous devez avoir un esprit fin pour gagner vos batailles terrestres aussi bien que les affrontements spatiaux. C\'est pourquoi il vous faudra toujours innover en matière de stratégie, vous montrer toujours plus rusé que votre impitoyable adversaire, aussi feriez-vous bien d\'étudier de nouvelles tactiques de combat pour vous assurer une franche victoire.');
|
||||
$technoli = array('informatique1.jpg','detection.jpg','sanstitretruecolor04no6.jpg','boucliervaiseaucovenantey4.jpg','energie.jpg','reacteurantigravyd1.jpg','reacteur_f.jpg','reacteurfusionforerunnewu0.jpg','medecine.JPG','commandement.jpg');
|
||||
$nomvaisa = array('cargos de classe Inquisitor','grand(s) transporteur(s)','vaisseau(x) de colonisation','sonde(s)','recycleur(s)','séraphin(s)','frégate(s)','croiseur(s) de classe CCS','croiseur(s) de classe Reverence','porte-vaisseaux','station(s) orbitale','super(s) porte-vaisseaux');
|
||||
|
|
@ -157,7 +159,7 @@ if (!isset($auth_level)) @$auth_level = $sess->values['auth_level'];
|
|||
'Les TCAO sont des soldats d\'assauts largués depuis l\'espace directement sur les champs de batailles grâce à des modules spéciaux. Ces soldats sont surentraînés et très chevronnés, risquant leur vie à chaque instant en raison des sauts orbitaux qui font atteindre une chaleur extrême dans le module.',
|
||||
'Les snipers sont dotés de fusils de précision SA 2M capable de descendre un covenant à plusieurs centaines de mètres grâce à son zoom maximum de 10x. Grande portée de tir mais à courte portée, ils sont inutiles.',
|
||||
'Les spartans sont les unités d\'infanterie militaires les plus évoluées militairement du CSNU mais également des Covenants. Ils sont équipés d\'une armure de type Mjolnir améliorant leurs capacités de combat, déjà exceptionnelles grâce à leur entraînement militaire depuis leur plus jeune âge, ainsi qu\'à leurs implants cybernétiques, les rendants d\'une grande efficacité inégalée au sein de l\'infanterie.',
|
||||
'Les médecins sont sur le champ de bataille pour aider les soldats blessés par des tirs lors des affrontements. Ils peuvent réduire le nombre de morts lorsqu\'ils sont bien utilisés et ainsi peut être changer l’issue de la bataille.',
|
||||
'Les médecins sont sur le champ de bataille pour aider les soldats blessés par des tirs lors des affrontements. Ils peuvent réduire le nombre de morts lorsqu\'ils sont bien utilisés et ainsi peut être changer l\'issue de la bataille.',
|
||||
'Les ingénieurs sont là pour réparer vos véhicules endommagés lors des affrontements. Ils peuvent réduire le nombre de vos pertes de véhicules lorsqu\'ils sont bien utilisés.',
|
||||
'Les soldats exo squelettiques possèdent des armures de combat très résistantes et d\'une puissance énorme mais contre balancée par une faible autonomie d\'énergie, une mobilité faible et d\'une discrétion auditive aussi silencieuse qu\'un char d\'assaut dans un champs de mines lotus.');
|
||||
$casernea = array('marine(s)','fusiller(s)','grenadier(s)','T.C.A.O.','sniper(s)','spartan(s)','médecin(s)','ingénieur(s)','soldat(s) exo squellette');
|
||||
|
|
@ -166,18 +168,18 @@ if (!isset($auth_level)) @$auth_level = $sess->values['auth_level'];
|
|||
$batimede = array( 'Cette usine traite tous les métaux recueillis afin de produire du titanium-A ou différents types d\'alliages de qualité pour vos différentes constructions planétaires ou spatiales. Chaque niveau augmente la production de métal.',
|
||||
'L\'usine de cristal filtre les déchets récoltés avec les cristaux. Une fois séparés du reste ils sont classés par qualité par une quantité d\'appareils de haute technologie. Plus les cristaux sont purs plus ceux-ci peuvent être transformés en unités de stockage de données ou en conducteurs énergétiques de haute qualité. Plus ce bâtiment sera développé, plus vous pourrez traiter de cristaux rapidement.',
|
||||
'Ce bâtiment use de l\'eau pour la décomposer et en extraire l\'hydrogène, la base de toutes vos productions énergétiques, pour ensuite l\'acheminer dans des condensateurs ioniques afin de le rendre plus dense et par le fait même plus efficace. Chaque niveau augmente la production du synchronisateur.',
|
||||
'La centrale solaire produit l’énergie nécessaire au fonctionnement de vos usines. Elle fonctionne à partir d’une technologie Forruner qui consiste à envoyer un rayon à la verticale pour capter tous les rayons du soleil qui le croise.',
|
||||
'La centrale énergétique fonctionne avec un principe assez dépassé. En effet, l’énergie est produite par un réacteur à fusion qui en tournant produit de l’énergie comme le ferait une dynamo. Bien que ce principe fût révolutionnaire à l’époque, il fût rapidement dépassé par la centrale solaire qui permet de produire d’avantage d’énergie.',
|
||||
'La centrale solaire produit l\'énergie nécessaire au fonctionnement de vos usines. Elle fonctionne à partir d\'une technologie Forruner qui consiste à envoyer un rayon à la verticale pour capter tous les rayons du soleil qui le croise.',
|
||||
'La centrale énergétique fonctionne avec un principe assez dépassé. En effet, l\'énergie est produite par un réacteur à fusion qui en tournant produit de l\'énergie comme le ferait une dynamo. Bien que ce principe fût révolutionnaire à l\'époque, il fût rapidement dépassé par la centrale solaire qui permet de produire d\'avantage d\'énergie.',
|
||||
'Le centre de communication est un gigantesque relai de transmission envoyant des ondes entre les différents mondes connus et répertoriés de l\'univers. Grâce à lui, vous pourrez communiquer avec d\'autres administrateurs coloniaux afin de planifier ensemble des programmes d\'actions communs. Equipé d\'un radar, il vous permet de repérer les mouvements des flottes ennemies.',
|
||||
'Le centre de recherches est certainement l\'une des bâtisses les plus importantes que vous puissiez construire dans votre colonie. Vos chercheurs travailleront sans relâche aucun afin de mettre au point de nouvelles technologies vous assurant suprématie et victoire sur les champs de bataille. Chaque niveau dévellopé augmente la vitesse de recherche de vos technologies.',
|
||||
'Le chantier terrestre vous permet de construire tous les véhicules atmosphérique du type warthog ou scorpion. Il permet ainsi à vos troupes d’accéder plus rapidement à un endroit et d’avoir un avantage avec l’armement de ces véhicules.',
|
||||
'Le chantier spatial permet de construire vôtre flotte de vaisseaux spatiaux. Généralement à la limite de l’atmosphère d’une planète il ne peut cependant se déplacer et doit impérativement rester en orbite. Le chantier spatial, bien que ressemblant à une station spatial, ne peut être détruit grâce à sa position qui lui confère un camouflage total.',
|
||||
'Le chantier terrestre vous permet de construire tous les véhicules atmosphérique du type warthog ou scorpion. Il permet ainsi à vos troupes d\'accéder plus rapidement à un endroit et d\'avoir un avantage avec l\'armement de ces véhicules.',
|
||||
'Le chantier spatial permet de construire vôtre flotte de vaisseaux spatiaux. Généralement à la limite de l\'atmosphère d\'une planète il ne peut cependant se déplacer et doit impérativement rester en orbite. Le chantier spatial, bien que ressemblant à une station spatial, ne peut être détruit grâce à sa position qui lui confère un camouflage total.',
|
||||
'L\'académie militaire forme les meilleurs officiers et sous-officiers de la galaxie. Ces hommes expérimentés vous aideront à choisir de meilleures stratégies défensives ou offensives ou encore même économiques face aux différentes situations qui vous seront imposées. Plus vous augmenterez le niveau de cette structure plus vos officiers seront rapides et efficaces dans leurs tâches.',
|
||||
'Comme toutes choses, vos ressources ont besoin d\'espace pour être stockées ; c\'est pourquoi ces énormes silos vous seront d\'une aide précieuse afin d\'y renfermer une grande quantité de matières premières pour toutes vos productions. Plus le niveau du silo est haut, plus il pourra contenir de ressources supplémentaires.',
|
||||
'La centrale informatique est le coeur de votre planète, le cerveau de votre territoire, analysant chaque particule détectée avec grand soin. Plus votre centrale est améliorée, plus rapidement et aisément les données seront traitées.');
|
||||
$batimend = array('mine_m','mine_c','!!','centrale_s','centrale_f','radar','recherches','chantier_terrestre','???','ecole_militaire','silo','centre_info');
|
||||
$batimeni = array('mine_m.jpg','mine_c.png','synchroniseur.jpg','centrale solaire.jpg','centrale electrique.jpg','baseradardl3.jpg','recherches.jpg','chantierterrestrecopybj8.jpg','chantier spatial.jpg','ecole militaire.jpg','stockage.jpg','search0yp.jpg');
|
||||
$technolo = array('IA','Radar','Armement','Blindage','Maitrise de l\'énergie','Réacteur à combustion','Réacteur à fusion','Réacteur à fusion de type II','Médecine','Tactiques de combats','Spartan');
|
||||
$technolo = array('IA','Radar','Armement','Blindage','Maitrise de l\'énergie','Réacteur à combustion','Réacteur à fusion','Réacteur à fusion de type II','Médecine','Tactiques de combats','Spartan','Base de données');
|
||||
$technode = array( 'Le résultat absolu de l\'informatique. L\'IA ou Intelligence Artificielle est le résultat d\'années de travail acharné pour pouvoir en arriver à cette grande performance technique. Les IA sont des entités non biologiques dotées du pouvoir de la pensée. Développer cette technologie vous permettra non seulement de disposer d\'Intelligences Artificielles, mais de les rendre de plus en plus complexes, créatives et réactives.',
|
||||
'Ce système très ancien et usé par bien des militaires est utilisé pour la détection et l\'imagerie d\'objets faisant appel à des impulsions d\'ondes électromagnétiques à haute fréquence et sert à déterminer la position et la distance des vaisseaux. Pour chaque niveau, vous augmenterez la puissance de cette technologie et sa précision.',
|
||||
'Un soldat n\'est rien sans son arme, et qu\'est-ce qu\'un soldat démuni face aux assauts féroces adverses ? Cette technologie vous permettra de rechercher de nouveaux systèmes d\'armements afin de rendre vos outils de guerre plus précis et mortels.',
|
||||
|
|
@ -188,33 +190,34 @@ if (!isset($auth_level)) @$auth_level = $sess->values['auth_level'];
|
|||
'Cette technologie basée sur les réacteurs Covenants utilise la force électromagnétique résultant de l\'interaction entre un courant électrique et un champ magnétique pour accélérer un gaz ionisé appelé plasma. Bien plus efficace que tous les moyens de propulsions possibles, cette technologie révolutionnaire, très coûteuse, est un moyen efficace de parcourir de grandes distances en peu de temps.',
|
||||
'Depuis l\'aube des temps, chaque être vivant et pensant n\'a jamais cessé de chercher de nouvelles solutions en dévellopant les sciences médicales pour tenter d\'échapper à la mort et aux épidémies qui s\'abbatent sur lui. Seulement, aujourd\'hui, ce ne sont plus les maladies qui importent, mais plutot les blessures de guerre. Plus votre médecine sera éclatante, plus vos hommes de soins connaîtront de choses pour soigner vos blessés.',
|
||||
'En tant que général, vous devez avoir un esprit fin pour gagner vos batailles terrestres aussi bien que les affrontements spatiaux. C\'est pourquoi il vous faudra toujours innover en matière de stratégie, vous montrer toujours plus rusé que votre impitoyable adversaire, aussi feriez-vous bien d\'étudier de nouvelles tactiques de combat pour vous assurer une franche victoire.',
|
||||
'Ces formidables combattants constituent l\'élite de vos forces terrestres. Entraînés au maniement des armes, aux tactiques militaires et au combat de groupe depuis la naissance, ils sont pratiquement invincibles sur les champs de bataille face aux troupes covenantes. Les Spartans ont également subis plusieurs séries de modifications biologiques afin d\'améliorer leurs capacités physiques.');
|
||||
$technoli = array('IA4.jpg','radar7zr.jpg','arme.png','blindage.jpg','plasma4yl.jpg','reacteuracombustion.jpg','reacteurfusiontype1al5.jpg','reacteurfusiontype2nn6.jpg','medecin1.jpg','tactique.jpg','armuremc8ij.jpg');
|
||||
$nomvaisn = array('Cargos de classe Parabola','Cargos de classe Laden','Vaisseaux de colonisation de classe Odyssey','Drones d’espionnage de classe Clarion','Recycleurs de classe Minotaur','C709 Longsword Interceptor','Frégate','Croiseurs de classe Halcyon','Croiseurs de classe Marathon','Porte vaisseaux','Station orbitale','Super porte-vaisseaux');
|
||||
'Ces formidables combattants constituent l\'élite de vos forces terrestres. Entraînés au maniement des armes, aux tactiques militaires et au combat de groupe depuis la naissance, ils sont pratiquement invincibles sur les champs de bataille face aux troupes covenantes. Les Spartans ont également subis plusieurs séries de modifications biologiques afin d\'améliorer leurs capacités physiques.',
|
||||
'Les bases de données du CSNU enregistrent des informations de jours en jours. Toutefois il arrive que celles-ci parviennent à saturation et ne peuvent ainsi traiter qu\'un nombre limité d\'informations. Afin de résoudre ce problème, il est possible d\'améliorer la capacité de vos unités de stockage afin de gérer plus d\'informations. Chaque évolution de cette technologie vous permet de rajouter une unité supplémentaire dans votre file d\'attente.');
|
||||
$technoli = array('IA4.jpg','radar7zr.jpg','arme.png','blindage.jpg','plasma4yl.jpg','reacteuracombustion.jpg','reacteurfusiontype1al5.jpg','reacteurfusiontype2nn6.jpg','medecin1.jpg','tactique.jpg','armuremc8ij.jpg','../humain_na.jpg');
|
||||
$nomvaisn = array('Cargos de classe Parabola','Cargos de classe Laden','Vaisseaux de colonisation de classe Odyssey','Drones d\'espionnage de classe Clarion','Recycleurs de classe Minotaur','C709 Longsword Interceptor','Frégate','Croiseurs de classe Halcyon','Croiseurs de classe Marathon','Cuirassé de classe Magellan','Station orbitale','Cuirassé de classe Trafalgar');
|
||||
$nomvaisi = array('csnucargoparabola2mc9.jpg','csnucargoladen2al8.jpg','colonisation.jpg','drone_clarion.jpg','recycl10.jpg','longsworduf9.jpg','frgatecopiegw1.jpg','halcyo15.jpg','qsu169.jpg','62685810.jpg','station.jpg','cuiras18.jpg');
|
||||
$nomvaisd = array( 'Ces cargos de taille conséquente peuvent transporter assez de ressources et de nourriture pour nourrir une petite ville. Ils sont rapides, très manœuvrables mais peu résistants, ce qui est en fait des proies faciles pour les chasseurs ennemis.',
|
||||
'Ces cargos de taille massive permettent le transport d’une énorme quantité de ressources. Ils sont plus résistants que leurs homologues de classe Parabola, mais sont néanmoins les cibles prioritaires des chasseurs ennemis visant à faire le plus de pertes dans le camp adverse.',
|
||||
'Les vaisseaux de colonisation sont de vraies minis villes volantes ; ils contiennent la majeure partie des corps d’états de votre planète mère afin d’être le plus autonome lorsque que vous colonisez de nouvelles planètes.',
|
||||
'Drones extrêmement rapides et manœuvrables permettant la surveillance et l’espionnage des planètes alentours avec un risque moins élevé de repérage qu’avec un vaisseau furtif standard. Ils sont utilisés lors de l’espionnage de planètes ennemies et sont très fragiles, si bien que lorsqu’ils traversent un champ de débris, ils sont réduits en de vulgaires morceaux de métal.',
|
||||
'Ces cargos de taille massive permettent le transport d\'une énorme quantité de ressources. Ils sont plus résistants que leurs homologues de classe Parabola, mais sont néanmoins les cibles prioritaires des chasseurs ennemis visant à faire le plus de pertes dans le camp adverse.',
|
||||
'Les vaisseaux de colonisation sont de vraies minis villes volantes ; ils contiennent la majeure partie des corps d\'états de votre planète mère afin d\'être le plus autonome lorsque que vous colonisez de nouvelles planètes.',
|
||||
'Drones extrêmement rapides et manœuvrables permettant la surveillance et l\'espionnage des planètes alentours avec un risque moins élevé de repérage qu\'avec un vaisseau furtif standard. Ils sont utilisés lors de l\'espionnage de planètes ennemies et sont très fragiles, si bien que lorsqu\'ils traversent un champ de débris, ils sont réduits en de vulgaires morceaux de métal.',
|
||||
'Les guerres sont de plus en plus nombreuses et les pertes de plus en plus grandes laissant à chaque fois des champs de débris immenses limitant les routes des voies commerciales. Des recycleurs ont donc été créés afin de déblayer ces zones et de vous faire profiter de ces ressources gratuites. Lors du voyage de retour, le recycleur transforme les débris pour vous les redonner sous forme de ressources primaires.',
|
||||
'Vaisseau orbital et atmosphérique lourd, apte au combat spatial, atmosphérique, et au bombardement lourd sur des positions stratégiques. Ces vaisseaux sont capable de bombarder une vaste position adverse, grâce à leurs bombes au Napalm, mais sont aussi capables de cibler précisément leurs cibles et de les détruire grâce à leurs nombreux missiles air-air air-sol.',
|
||||
'Cette classe de vaisseau est la plus répandue dans le CSNU. Ces vaisseaux sont très manœuvrables du fait de leur petite taille, mais sont aussi très faibles, à cause de leur blindage et de leur armement moindre. Ces vaisseaux sont peu coûteux mais également peu efficaces et sont surtout utilisés pour des patrouilles. Ils forment les éléments principaux des différentes flottes du CSNU. ',
|
||||
'Ces croiseurs sont des vaisseaux d’attaque, dépassés technologiquement, très peu répandus, très coûteux mais résistants : leur architecture interne leur permet de résister à de nombreux tirs de plasma. Cette architecture complexe à produire et à maintenir en état, en font des vaisseaux extrêmement rares et chers. Ils ont été très récemment remis à neuf et améliorés, avec un tout nouvel armement.',
|
||||
'Ces grands vaisseaux (2 fois et demie la longueur d’une frégate), sont des descendants de la lignée des croiseurs Halcyon. Ces vaisseaux ont une très grande puissance de feu (1 CAM lourd), un fort blindage (5 mètres 50 de Titane-A), et sont très rapides. Ils sont assez peu communs, mais restent des vaisseaux d’attaque très redoutables : ils peuvent encaisser de nombreux tirs de plasma avant de succomber.',
|
||||
'Ces immenses vaisseaux sont capables de transporter bon nombre de Longswords, d’Albatross, et tout autres types d’unités. Ces vaisseaux leurs permettent de se défendre contre une éventuelle attaque de chasseurs ennemis, mais sont également très lourdement armés. Ils sont usités lors d’attaques massives de planètes nécessitant un fort appui aérien et une très grosse puissance de feu. ',
|
||||
'Ces croiseurs sont des vaisseaux d\'attaque, dépassés technologiquement, très peu répandus, très coûteux mais résistants : leur architecture interne leur permet de résister à de nombreux tirs de plasma. Cette architecture complexe à produire et à maintenir en état, en font des vaisseaux extrêmement rares et chers. Ils ont été très récemment remis à neuf et améliorés, avec un tout nouvel armement.',
|
||||
'Ces grands vaisseaux (2 fois et demie la longueur d\'une frégate), sont des descendants de la lignée des croiseurs Halcyon. Ces vaisseaux ont une très grande puissance de feu (1 CAM lourd), un fort blindage (5 mètres 50 de Titane-A), et sont très rapides. Ils sont assez peu communs, mais restent des vaisseaux d\'attaque très redoutables : ils peuvent encaisser de nombreux tirs de plasma avant de succomber.',
|
||||
'Ces immenses vaisseaux sont capables de transporter bon nombre de Longswords, d\'Albatross, et tout autres types d\'unités. Ces vaisseaux leurs permettent de se défendre contre une éventuelle attaque de chasseurs ennemis, mais sont également très lourdement armés. Ils sont usités lors d\'attaques massives de planètes nécessitant un fort appui aérien et une très grosse puissance de feu. ',
|
||||
'Les station orbitales humaines sont basées sur un même modèle : de multiples DCA légères et lourdes pour les chasseurs, des missiles ARCHERS et un CAM standard capable de pénétrer la plupart des boucliers stellaires. Cette base orbitale est très bien équipée et est considérée comme la défense principale des planètes du CSNU.',
|
||||
'Ces vaisseaux sont beaucoup plus chers du fait de leur meilleur armement, blindage et importante capacité de transport. Ces vaisseaux sont très peu vus sur le terrain, leur rôle principal est de déployer des Longswords afin de fournir aux vaisseaux alliés un appui orbital. Ils font partis des plus puissants vaisseaux du CSNU. Ils sont capables de transporter bon nombre d’unités terrestres et aériennes.');
|
||||
'Ces vaisseaux sont beaucoup plus chers du fait de leur meilleur armement, blindage et importante capacité de transport. Ces vaisseaux sont très peu vus sur le terrain, leur rôle principal est de déployer des Longswords afin de fournir aux vaisseaux alliés un appui orbital. Ils font partis des plus puissants vaisseaux du CSNU. Ils sont capables de transporter bon nombre d\'unités terrestres et aériennes.');
|
||||
$nomvaisa = array('cargos de classe Parabola','cargos de classe Laden','vaisseau(x) de colonisation de classe Odyssey','drone(s) d\'espionnage de classe Clarion','recycleur(s) de classe Minotaur','C709 Longsword Interceptor','Frégates','croiseur(s) de classe Halcyon','croiseur(s) de classe Marathon','porte vaisseaux','station(s) orbitale','super(s) porte-vaisseaux');
|
||||
$nomvaisi = array('csnucargoparabola2mc9.jpg','csnucargoladen2al8.jpg','colonisation.jpg','drone_clarion.jpg','../humain_na.jpg','longsworduf9.jpg','fregatewz5.jpg','croiseurclassealcyon130om6.jpg','croiseurmarathonke3.jpg','csnuportevaisseauxgy3.jpg','station.jpg','csnusuperportevaisseauxrw4.jpg');
|
||||
$nomterra = array('sparrowhawk','077-TC Pelican','C703 Shortsword Bomber','SHD Albatros','M12 LRV Warthogs','M12G1 LAAV Warthogs','M12A1 LAAV Warthogs','M808B Scorpions MBT','mitrailleuse(s) automatique M247 GP','DCA légère(s)','DCA lourde(s)','canon(s) Gauss','lanceur(s) de missiles');
|
||||
$nomterrn = array('Sparrowhawk','077-TC Pelican','C703 Shortsword Bomber','SHD Albatros','M12 LRV Warthogs','M12G1 LAAV Warthogs','M12A1 LAAV Warthogs','M808B Scorpions MBT','Mitrailleuse automatique M247 GP','DCA légère','DCA lourde','Canon Gauss','Lanceur de missiles');
|
||||
$nomterde = array( 'Véhicule à propulsion verticale permettant des attaques extrêmement rapides et destructrices grâce à ses six tubes lance-missiles, ses deux mitrailleuses légères, et sa mitrailleuse lourde frontale. Ces vaisseaux d’assaut rapide sont de véritables broyeurs de tôle grâce à leurs 6 tubes lance-missiles et sont capables de détruire des véhicules et des positions fortement blindées.',
|
||||
'Véhicule aérien de transport léger permettant le transport rapide de troupes à des endroits stratégiques tel un warthog ou un scorpion. Ils sont la base des renforts terrestres et permettent l’acheminement de troupes et de munitions rapidement.',
|
||||
'Vaisseau suborbital très rapide apte tant au combat aérien rapproché qu’au bombardement ciblé. Ces bombardiers ont un pointeur laser qui leur permet de viser au mieux les cibles ennemies, qu\'elles soient au sol ou aériennes. Ils sont néanmoins capables de combattre en combat aérien rapproché grâce à leurs missiles thermo guidés et sont utilisés lors de bombardements de cibles mineures.',
|
||||
'Véhicule aérien de transport lourd permettant le transport en masse de troupes ou de véhicules tels que des warthogs ou bien une paire de scorpions vers des zones de largage. Ces véhicules de soutien aérien lourd sont surtout utilisés lors d’offensives nécessitant un déploiement en masse d’unités blindées et de munitions au plus près des lignes adverses.',
|
||||
'Véhicule d’attaque léger permettant des assauts rapides et efficaces, ainsi que le transport léger de troupes. Ces véhicules sont la base des véhicules terrestres du CSNU.',
|
||||
'Véhicule léger équipé d’un canon à accélération magnétique (CAM), très efficace contre du personnel, des véhicules moyennement blindés, ou bien contre des véhicules aériens légers. Les Warthog M12G1 sont très répandus et surtout utilisés lors d\'offensives sur des cibles disposant d’un appui aérien ou terrestre léger.',
|
||||
'Véhicule léger, armé d’un lance-missiles anti-véhicule permettant des assauts rapides contre des véhicules blindés ou contre des positions fortifiées. Ils sont surtout utilisés en cas d’attaques de postes avancés.',
|
||||
'Tank blindé anti-véhicules. Permet l’attaque de cibles fortifiées grâce à ses balles perforantes de gros calibre. Ces tanks sont utilisés lors d’assauts massifs sur des bases fortifiées et vitales à l’ennemi.',
|
||||
$nomterde = array( 'Véhicule à propulsion verticale permettant des attaques extrêmement rapides et destructrices grâce à ses six tubes lance-missiles, ses deux mitrailleuses légères, et sa mitrailleuse lourde frontale. Ces vaisseaux d\'assaut rapide sont de véritables broyeurs de tôle grâce à leurs 6 tubes lance-missiles et sont capables de détruire des véhicules et des positions fortement blindées.',
|
||||
'Véhicule aérien de transport léger permettant le transport rapide de troupes à des endroits stratégiques tel un warthog ou un scorpion. Ils sont la base des renforts terrestres et permettent l\'acheminement de troupes et de munitions rapidement.',
|
||||
'Vaisseau suborbital très rapide apte tant au combat aérien rapproché qu\'au bombardement ciblé. Ces bombardiers ont un pointeur laser qui leur permet de viser au mieux les cibles ennemies, qu\'elles soient au sol ou aériennes. Ils sont néanmoins capables de combattre en combat aérien rapproché grâce à leurs missiles thermo guidés et sont utilisés lors de bombardements de cibles mineures.',
|
||||
'Véhicule aérien de transport lourd permettant le transport en masse de troupes ou de véhicules tels que des warthogs ou bien une paire de scorpions vers des zones de largage. Ces véhicules de soutien aérien lourd sont surtout utilisés lors d\'offensives nécessitant un déploiement en masse d\'unités blindées et de munitions au plus près des lignes adverses.',
|
||||
'Véhicule d\'attaque léger permettant des assauts rapides et efficaces, ainsi que le transport léger de troupes. Ces véhicules sont la base des véhicules terrestres du CSNU.',
|
||||
'Véhicule léger équipé d\'un canon à accélération magnétique (CAM), très efficace contre du personnel, des véhicules moyennement blindés, ou bien contre des véhicules aériens légers. Les Warthog M12G1 sont très répandus et surtout utilisés lors d\'offensives sur des cibles disposant d\'un appui aérien ou terrestre léger.',
|
||||
'Véhicule léger, armé d\'un lance-missiles anti-véhicule permettant des assauts rapides contre des véhicules blindés ou contre des positions fortifiées. Ils sont surtout utilisés en cas d\'attaques de postes avancés.',
|
||||
'Tank blindé anti-véhicules. Permet l\'attaque de cibles fortifiées grâce à ses balles perforantes de gros calibre. Ces tanks sont utilisés lors d\'assauts massifs sur des bases fortifiées et vitales à l\'ennemi.',
|
||||
'La mitrailleuse M247 est une arme de calibre moyen envoyant des balles de calibre 30 à une cadence de tir de 6 balles par seconde. Généralement positionnée dans des endroits fixes, cette tourelle, efficace contre l\'infanterie et les véhicules légers de petite taille est de précision moyenne suffisante pour éliminer une menace de quelques soldats covenants.',
|
||||
'Les DCA légères sont des canons anti-aérien de puissance moyenne mais de cadence de tir et de calibre de munitions à tête explosive élevée permettant de détruire la plupart des chasseurs légers avec aisance. Ce modèle est équipé d\'un emplacement spécial lui permettant de tirer également sur des cibles au sol.',
|
||||
'Les DCA lourdes sont quasi-similaires aux légères mais possèdent tout de même une différence au niveau du calibre des balles qui, plus élevé avec une tête explosif supérieure est comparable à une explosion de mine lotus. Il a en contre partie une capacité de tir plus limitée question cadence et une quantité de munitions moindre dans chaque chargeur.',
|
||||
|
|
|
|||
BIN
onyx/hb_game/signatures/Copie de ARIAL.png
Normal file
BIN
onyx/hb_game/signatures/cache/4.sign
vendored
Normal file
|
After Width: | Height: | Size: 86 KiB |
BIN
onyx/hb_game/signatures/cache/8..sign
vendored
Normal file
|
After Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 70 KiB |
BIN
onyx/hb_game/signatures/mixte1userbarju7.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
|
|
@ -1,12 +1,13 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
||||
|
||||
/* //Tables MySQL
|
||||
$table_alliances = $config['db_prefix'].'alliances';
|
||||
$table_alliances_attente = $config['db_prefix'].'alliances_attente';
|
||||
$table_alliances_chat = $config['db_prefix'].'alliances_chat';
|
||||
$table_alliances_creation = $config['db_prefix'].'alliances_creation';
|
||||
$table_alliances_grade = $config['db_prefix'].'alliances_grade';
|
||||
$table_bourse = $config['db_prefix'].'bourse';
|
||||
$table_bourse_actions = $config['db_prefix'].'bourse_actions';
|
||||
$table_bug = $config['db_prefix'].'bug';
|
||||
$table_classement = $config['db_prefix'].'classement';
|
||||
$table_flottes = $config['db_prefix'].'flottes';
|
||||
|
|
@ -22,4 +23,28 @@ $table_sessions = $config['db_prefix'].'sessions';
|
|||
$table_user = $config['db_prefix'].'user';
|
||||
$table_user_inscriptions = $config['db_prefix'].'user_inscriptions';
|
||||
$table_version = $config['db_prefix'].'version';
|
||||
*/
|
||||
$table_alliances = '"public"."'.$config['db_prefix'].'alliances"';
|
||||
$table_alliances_attente = '"public"."'.$config['db_prefix'].'alliances_attente"';
|
||||
$table_alliances_chat = '"public"."'.$config['db_prefix'].'alliances_chat"';
|
||||
$table_alliances_creation = '"public"."'.$config['db_prefix'].'alliances_creation"';
|
||||
$table_alliances_grade = '"public"."'.$config['db_prefix'].'alliances_grade"';
|
||||
$table_bourse = '"public"."'.$config['db_prefix'].'bourse"';
|
||||
$table_bourse_actions = '"public"."'.$config['db_prefix'].'bourse_actions"';
|
||||
$table_bug = '"public"."'.$config['db_prefix'].'bug"';
|
||||
$table_classement = '"public"."'.$config['db_prefix'].'classement"';
|
||||
$table_classement_alliances = '"public"."'.$config['db_prefix'].'classement_alliances"';
|
||||
$table_flottes = '"public"."'.$config['db_prefix'].'flottes"';
|
||||
$table_flottes_combats = '"public"."'.$config['db_prefix'].'flottes_combats"';
|
||||
$table_infoshead = '"public"."'.$config['db_prefix'].'infoshead"';
|
||||
$table_mail = '"public"."'.$config['db_prefix'].'mail"';
|
||||
$table_ope_faq = '"public"."'.$config['db_prefix'].'ope_faq"';
|
||||
$table_ope_mail = '"public"."'.$config['db_prefix'].'ope_mail"';
|
||||
$table_ope_modele = '"public"."'.$config['db_prefix'].'ope_modele"';
|
||||
$table_planete = '"public"."'.$config['db_prefix'].'planete"';
|
||||
$table_registre_identification = '"public"."'.$config['db_prefix'].'registre_identification"';
|
||||
$table_sessions = '"public"."'.$config['db_prefix'].'sessions"';
|
||||
$table_user = '"public"."'.$config['db_prefix'].'user"';
|
||||
$table_user_inscriptions = '"public"."'.$config['db_prefix'].'user_inscriptions"';
|
||||
$table_version = '"public"."'.$config['db_prefix'].'version"';
|
||||
?>
|
||||
|
|
@ -165,7 +165,7 @@ $batimentTECH = array(
|
|||
array($technolo[0], 'informatique', 2)
|
||||
)
|
||||
);
|
||||
$technoloVAR = array('informatique','detection','armement','blindage','energie_t','reacteur','reacteur_f','reacteur_ff','medecine','tactique','spartan');
|
||||
$technoloVAR = array('informatique','detection','armement','blindage','energie_t','reacteur','reacteur_f','reacteur_ff','medecine','tactique','spartan','prodfile');
|
||||
$technoloCALC = array(
|
||||
array(
|
||||
'$a = 0;',
|
||||
|
|
@ -232,6 +232,12 @@ $technoloCALC = array(
|
|||
'$b=ceil(pow(3,$n)*4250);',
|
||||
'$c=ceil(pow(3,$n)*850);',
|
||||
'$sec = ceil((5000*2*($queryUser["spartan"]+1))/pow(1.25,($queryPlanete["labo"]-8)));'
|
||||
),
|
||||
array(
|
||||
'$a=ceil(pow(4,$n)*6200);',
|
||||
'$b=ceil(pow(5,$n)*5250);',
|
||||
'$c=ceil(pow(3,$n)*4550);',
|
||||
'$sec = ceil(pow(3,$n)*5560/pow(1.25,($queryPlanete["labo"]-1)));'
|
||||
)
|
||||
);
|
||||
$technoloTECH = array(
|
||||
|
|
@ -274,6 +280,10 @@ $technoloTECH = array(
|
|||
array($batiment[6], 'labo', 8),
|
||||
array($technolo[8], 'medecine', 5),
|
||||
array($technolo[0], 'informatique', 8)
|
||||
),
|
||||
array(
|
||||
array($batiment[6], 'labo', 10),
|
||||
array($technolo[0], 'informatique', 8)
|
||||
)
|
||||
);
|
||||
$nomterrnVAR = array('vais_0','vais_1','vais_2','vais_3','vcl_1','vcl_2','vcl_3','vcl_4','def_1','def_2','def_3','def_4','def_5');
|
||||
|
|
|
|||
|
|
@ -313,6 +313,5 @@ function no_db()
|
|||
//die($config['no_db_message']);
|
||||
}
|
||||
|
||||
header("Content-Type: text/html;charset=utf-8");
|
||||
|
||||
@header("Content-Type: text/html;charset=utf-8");
|
||||
?>
|
||||
27
onyx/logs/02-07-2008.xlog
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
[17:19:46] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [GET] [/?a=43d2467cd6cd9e9565ecf7ce019b411ec0f3306a7553b56776d2cae2e2975fa5a50862c143468de005cde6d39f400e3982b7fa3dd9003368ea61d18dfad85c6b&l=nemunaire&p=mopmop] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://accueil.halobattle.local/]
|
||||
[17:19:46] MESSAGE : !! connection : array (
|
||||
'a' => '43d2467cd6cd9e9565ecf7ce019b411ec0f3306a7553b56776d2cae2e2975fa5a50862c143468de005cde6d39f400e3982b7fa3dd9003368ea61d18dfad85c6b',
|
||||
'l' => 'nemunaire',
|
||||
'p' => 'mopmop',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214324379.1214860298.60',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
) [127.0.0.1] [GET] [/?a=43d2467cd6cd9e9565ecf7ce019b411ec0f3306a7553b56776d2cae2e2975fa5a50862c143468de005cde6d39f400e3982b7fa3dd9003368ea61d18dfad85c6b&l=nemunaire&p=mopmop] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://accueil.halobattle.local/]
|
||||
[18:05:08] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [GET] [/?a=43d2467cd6cd9e9565ecf7ce019b411ec0f3306a7553b56776d2cae2e2975fa5a50862c143468de005cde6d39f400e3982b7fa3dd9003368ea61d18dfad85c6b&l=nemunaire&p=mopmop] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://accueil.halobattle.local/]
|
||||
[18:05:08] MESSAGE : !! connection : array (
|
||||
'a' => '43d2467cd6cd9e9565ecf7ce019b411ec0f3306a7553b56776d2cae2e2975fa5a50862c143468de005cde6d39f400e3982b7fa3dd9003368ea61d18dfad85c6b',
|
||||
'l' => 'nemunaire',
|
||||
'p' => 'mopmop',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214860298.1215011990.61',
|
||||
'__utmz' => '155506210.1215011990.61.2.utmcsr=accueil.halobattle.local|utmccn=(referral)|utmcmd=referral|utmcct=/',
|
||||
'__utmc' => '155506210',
|
||||
'hbsession' => '0cac81d5f9c625fdb1b34a587d637285397178b8fc3fef8ce3fd05e3cd52c812',
|
||||
) [127.0.0.1] [GET] [/?a=43d2467cd6cd9e9565ecf7ce019b411ec0f3306a7553b56776d2cae2e2975fa5a50862c143468de005cde6d39f400e3982b7fa3dd9003368ea61d18dfad85c6b&l=nemunaire&p=mopmop] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://accueil.halobattle.local/]
|
||||
[23:38:31] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [GET] [/?a=43d2467cd6cd9e9565ecf7ce019b411ec0f3306a7553b56776d2cae2e2975fa5a50862c143468de005cde6d39f400e3982b7fa3dd9003368ea61d18dfad85c6b&l=nemunaire&p=mopmop] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://accueil.halobattle.local/]
|
||||
[23:38:31] MESSAGE : !! connection : array (
|
||||
'a' => '43d2467cd6cd9e9565ecf7ce019b411ec0f3306a7553b56776d2cae2e2975fa5a50862c143468de005cde6d39f400e3982b7fa3dd9003368ea61d18dfad85c6b',
|
||||
'l' => 'nemunaire',
|
||||
'p' => 'mopmop',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1215011990.1215014710.62',
|
||||
'__utmz' => '155506210.1215014710.62.3.utmcsr=accueil.halobattle.local|utmccn=(referral)|utmcmd=referral|utmcct=/',
|
||||
'__utmc' => '155506210',
|
||||
) [127.0.0.1] [GET] [/?a=43d2467cd6cd9e9565ecf7ce019b411ec0f3306a7553b56776d2cae2e2975fa5a50862c143468de005cde6d39f400e3982b7fa3dd9003368ea61d18dfad85c6b&l=nemunaire&p=mopmop] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://accueil.halobattle.local/]
|
||||
0
onyx/logs/03-07-2008.xlog
Normal file
17
onyx/logs/04-07-2008.xlog
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
[02:44:36] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { SELECT B.id, B.nom, SUM(U.nombre) AS nbactions, FLOOR(SUM(A.nombre)/B.metal) AS metal, FLOOR(SUM(A.nombre)/B.cristal) AS cristal, B.last_nombre, FLOOR(((SUM(A.nombre)/B.last_nombre)-1)*100) AS evolution FROM "public"."bourse" B INNER JOIN "public"."bourse_actions" A ON B.id = A.id_action INNER JOIN "public"."bourse_actions" U ON B.id = U.id_action AND U.id_user = 8 GROUP BY A.id_action; }. [127.0.0.1] [GET] [/?p=bourse] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:45:08] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { SELECT SUM(U.id) AS nombre, SUM(U.points) AS points FROM "public"."alliances" A OUTER JOIN "public"."user" U ON A.id = U.id_alliance GROUP BY U.id_alliance; }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:49:08] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { INSERT INTO (tag, nbr_membres, points) VALUES ('pom', 858, 1163372); }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:49:08] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { INSERT INTO (tag, nbr_membres, points) VALUES ('pom', 4, 697155); }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:50:38] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { SELECT U.id_alliance, SUM(U.id) AS nombre, SUM(U.points) AS points FROM "public"."user" U GROUP BY U.id_alliance JOIN "public"."alliances" A ON U.id_alliance = A.id; }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:51:39] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { SELECT U.id_alliance, SUM(U.id) AS nombre, SUM(U.points) AS points FROM "public"."user" U NATURAL JOIN "public"."alliances" A ON A.id = U.id_alliance GROUP BY U.id_alliance; }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:52:12] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { INSERT INTO "public"."classement_alliances" (tag, nbr_membres, points) VALUES ('pom', , ); }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:52:26] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { INSERT INTO "public"."classement_alliances" (tag, nbr_membres, points) VALUES ('pom', , ); }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:53:17] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { SELECT U.id_alliance, SUM(U.id) AS nombre, SUM(U.points) AS points FROM "public"."user" U UNION JOIN "public"."alliances" A ON A.id = U.id_alliance GROUP BY U.id_alliance; }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:53:36] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { SELECT U.id_alliance, SUM(U.id) AS nombre, SUM(U.points) AS points FROM "public"."user" U CROSS JOIN "public"."alliances" A ON A.id = U.id_alliance GROUP BY U.id_alliance; }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:54:27] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { SELECT A.id, SUM(U.id) AS nombre, SUM(U.points) AS points FROM "public"."user" U LEFT OUTER JOIN "public"."alliances" A ON A.id = U.id_alliance GROUP BY U.id_alliance; }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:58:54] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { INSERT INTO "public"."classement_alliances" (id_alliance, nbr_membres, points, batiments, recherches, flotte, terrestre) VALUES (0, 858, 1355.9114219114219114, 422.6340326340326340, 922.8496503496503497, 10.1958041958041958, 0.23659673659673659674); }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:58:54] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { INSERT INTO "public"."classement_alliances" (id_alliance, nbr_membres, points, batiments, recherches, flotte, terrestre) VALUES (1, 4, 174288.750000000000, 162799.500000000000, 11471.2500000000000000, 11.0000000000000000, 7.0000000000000000); }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:59:18] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { INSERT INTO "public"."classement_alliances" (id_alliance, nbr_membres, points, batiments, recherches, flottes, terrestre) VALUES (0, 858, 1355.9114219114219114, 422.6340326340326340, 922.8496503496503497, 10.1958041958041958, 0.23659673659673659674); }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[02:59:18] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { INSERT INTO "public"."classement_alliances" (id_alliance, nbr_membres, points, batiments, recherches, flottes, terrestre) VALUES (1, 4, 174288.750000000000, 162799.500000000000, 11471.2500000000000000, 11.0000000000000000, 7.0000000000000000); }. [127.0.0.1] [GET] [/cron/classement.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[03:00:26] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { SELECT tag, nbr_membres, points, points_points_by_members FROM classement_alliances ORDER BY points DESC LIMIT 0 OFFSET 100; }. [127.0.0.1] [GET] [/?p=classement&t=1&e=points&q=1] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/?p=classement]
|
||||
[03:07:35] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { SELECT C.points, C.nbr_membres, A.tag, A.nom FROM "public"."classement_alliances" C ORDER BY C.points DESC LIMIT 100 OFFSET 0; }. [127.0.0.1] [GET] [/?p=classement&t=1&e=points&q=1] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/?p=classement]
|
||||
1
onyx/logs/08-07-2008.xlog
Normal file
|
|
@ -0,0 +1 @@
|
|||
[23:47:54] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { UPDATE "public"."planete" SET timestamp = '1215553673', metal = '157030.295887', cristal = '133412.459283', hydrogene = '3378.25651747', coeff = '0.99999998265', energie = '634', coeff_centrale_f = '0', coeff_mine_m = '0.922852983988', coeff_mine_c = '0.922852983988', coeff_mine_h = '0.922852983988' WHERE id_user = '1' AND galaxie = '9' AND ss = '35'AND position = '4' }. [127.0.0.1] [GET] [/?p=accueil] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://accueil.halobattle.local/]
|
||||
1
onyx/logs/09-07-2008.xlog
Normal file
|
|
@ -0,0 +1 @@
|
|||
[00:04:11] AVERTISSEMENT : Erreur PostGreSQL: " ", avec la requète: { SELECT F.start_galaxie, F.start_ss, F.start_position, F.start_time, F.end_time, S.nom_planete AS nom_start, E.nom_planete AS nom_end FROM "public"."flottes" F JOIN "public"."planete" S ON SHA1(CONCAT('g',F.start_galaxie,'s',F.start_ss,'p',F.start_position)) = P.hash_planete JOIN "public"."planete" E ON SHA1(CONCAT('g',F.end_galaxie,'s',F.end_ss,'p',F.end_position)) = P.hash_planete WHERE mission = 1 AND end_galaxie = 9 AND end_ss = 35 AND end_position = 4; }. [127.0.0.1] [GET] [/?p=accueil] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/?p=bugs]
|
||||
10
onyx/logs/20-06-2008.xlog
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
[23:22:29] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[23:22:29] MESSAGE : !! connection : array (
|
||||
'log' => '',
|
||||
'HB_login' => 'nemunaire',
|
||||
'HB_password' => 'mopmop',
|
||||
'galaxie' => 'Alpha',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1213711792.1213735572.55',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'hbsession' => 'e5a807d7c87f1d031c1ae340ab662e6dc601f9b10532ff633851715a817467c6',
|
||||
) [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
31
onyx/logs/22-06-2008.xlog
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
[02:12:12] AVERTISSEMENT : Erreur Mysql: " You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE pseudo = 'nemunaire'' at line 1 ", avec la requète: { SELECT mdp_var FROM WHERE pseudo = 'nemunaire'; }. [127.0.0.1] [] [] [] []
|
||||
[23:35:16] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[23:35:17] MESSAGE : !! connection : array (
|
||||
'log' => '',
|
||||
'HB_login' => 'nemunaire',
|
||||
'HB_password' => 'mopmop',
|
||||
'galaxie' => 'Alpha',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1213735572.1214058438.56',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'__utmc' => '155506210',
|
||||
'hbsession' => '0920aba39ed489fe07dfde1b766b10a4261edfa1f52f08b53cec1207b124f3c8',
|
||||
) [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[23:50:03] MESSAGE : array (
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214058438.1214170521.57',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'__utmc' => '155506210',
|
||||
'hbsession' => '0920aba39ed489fe07dfde1b766b10a4261edfa1f52f08b53cec1207b124f3c8',
|
||||
'__utmb' => '155506210.12.10.1214170521',
|
||||
) [127.0.0.1] [GET] [/admin.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[23:53:57] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/?p=bourse]
|
||||
[23:53:57] MESSAGE : !! connection : array (
|
||||
'log' => '',
|
||||
'HB_login' => 'nemunaire',
|
||||
'HB_password' => 'mopmop',
|
||||
'galaxie' => 'Alpha',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214058438.1214170521.57',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'__utmc' => '155506210',
|
||||
'hbsession' => '4ecba17e3de7c3005103480803bdd674104f75514258a09deeee2541be00317a',
|
||||
'__utmb' => '155506210.19.10.1214170521',
|
||||
) [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/?p=bourse]
|
||||
43
onyx/logs/23-06-2008.xlog
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
[00:31:52] AVERTISSEMENT : Erreur Mysql: " Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause ", avec la requète: { SELECT B.id, SUM(A.nombre) AS nombre, B.nom, FLOOR(B.metal/100) AS metal, FLOOR(B.cristal/100) AS cristal, B.last_nombre, FLOOR((B.last_nombre/100-1)*100) AS evolution FROM bourse B INNER JOIN bourse_actions A ON B.id = A.id_action; }. [127.0.0.1] [GET] [/?p=bourse] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[00:33:43] AVERTISSEMENT : Erreur Mysql: " You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FULL OUTER JOIN bourse_actions A ON B.id = A.id_action' at line 1 ", avec la requète: { SELECT B.id, SUM(A.nombre) AS nombre, B.nom, FLOOR(B.metal/100) AS metal, FLOOR(B.cristal/100) AS cristal, B.last_nombre, FLOOR((B.last_nombre/100-1)*100) AS evolution FROM bourse B FULL OUTER JOIN bourse_actions A ON B.id = A.id_action; }. [127.0.0.1] [GET] [/?p=bourse] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[00:34:00] AVERTISSEMENT : Erreur Mysql: " You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OUTER JOIN bourse_actions A ON B.id = A.id_action' at line 1 ", avec la requète: { SELECT B.id, SUM(A.nombre) AS nombre, B.nom, FLOOR(B.metal/100) AS metal, FLOOR(B.cristal/100) AS cristal, B.last_nombre, FLOOR((B.last_nombre/100-1)*100) AS evolution FROM bourse B OUTER JOIN bourse_actions A ON B.id = A.id_action; }. [127.0.0.1] [GET] [/?p=bourse] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[00:34:25] AVERTISSEMENT : Erreur Mysql: " Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause ", avec la requète: { SELECT B.id, SUM(A.nombre) AS nombre, B.nom, FLOOR(B.metal/100) AS metal, FLOOR(B.cristal/100) AS cristal, B.last_nombre, FLOOR((B.last_nombre/100-1)*100) AS evolution FROM bourse B LEFT JOIN bourse_actions A ON B.id = A.id_action; }. [127.0.0.1] [GET] [/?p=bourse] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[00:34:37] AVERTISSEMENT : Erreur Mysql: " Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause ", avec la requète: { SELECT B.id, SUM(A.nombre) AS nombre, B.nom, FLOOR(B.metal/100) AS metal, FLOOR(B.cristal/100) AS cristal, B.last_nombre, FLOOR((B.last_nombre/100-1)*100) AS evolution FROM bourse B RIGHT JOIN bourse_actions A ON B.id = A.id_action; }. [127.0.0.1] [GET] [/?p=bourse] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[00:37:27] AVERTISSEMENT : Erreur Mysql: " Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause ", avec la requète: { SELECT B.id, SUM(A.nombre) AS nombre, B.nom, FLOOR(B.metal/100) AS metal, FLOOR(B.cristal/100) AS cristal, B.last_nombre, FLOOR((B.last_nombre/100-1)*100) AS evolution FROM bourse B JOIN bourse_actions A ON B.id = A.id_action; }. [127.0.0.1] [GET] [/?p=bourse] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[00:38:04] AVERTISSEMENT : Erreur Mysql: " Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause ", avec la requète: { SELECT B.id, SUM(A.nombre) AS nombre, B.nom, FLOOR(B.metal/100) AS metal, FLOOR(B.cristal/100) AS cristal, B.last_nombre, FLOOR((B.last_nombre/100-1)*100) AS evolution FROM bourse_actions A JOIN bourse B ON B.id = A.id_action; }. [127.0.0.1] [GET] [/?p=bourse] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[00:42:00] AVERTISSEMENT : Erreur Mysql: " Unknown column 'nombret' in 'field list' ", avec la requète: { SELECT B.id, SUM(A.nombre) AS nombret, B.nom, FLOOR(B.metal/nombret) AS metal, FLOOR(B.cristal/nombret) AS cristal, B.last_nombre, FLOOR((B.last_nombre/nombret-1)*100) AS evolution FROM bourse B JOIN bourse_actions A ON B.id = A.id_action GROUP BY A.id_action; }. [127.0.0.1] [GET] [/?p=bourse] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[00:49:01] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/?p=bourse]
|
||||
[00:49:01] MESSAGE : !! connection : array (
|
||||
'log' => '',
|
||||
'HB_login' => 'nemunaire',
|
||||
'HB_password' => 'mopmop',
|
||||
'galaxie' => 'Alpha',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214058438.1214170521.57',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'__utmc' => '155506210',
|
||||
'hbsession' => 'addb545faa863634ac362818d1e7b8a590aebb9ed97d4e52785a92f0500e389e',
|
||||
) [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/?p=bourse]
|
||||
[01:06:21] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/?p=bourse]
|
||||
[01:06:21] MESSAGE : !! connection : array (
|
||||
'log' => '',
|
||||
'HB_login' => 'nemunaire',
|
||||
'HB_password' => 'mopmop',
|
||||
'galaxie' => 'Alpha',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214058438.1214170521.57',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'__utmc' => '155506210',
|
||||
'hbsession' => '633bacd3bc2a807e4a2f4f1876855a6abf2702140e8a04ba12cc99dfe6af4c6b',
|
||||
) [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/?p=bourse]
|
||||
[01:16:55] AVERTISSEMENT : Erreur Mysql: " You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN bourse_actions U ON B.id = U.id_action AND U.id_user = 8' at line 1 ", avec la requète: { SELECT B.id, B.nom, FLOOR(B.metal/SUM(A.nombre)) AS metal, FLOOR(B.cristal/SUM(A.nombre)) AS cristal, B.last_nombre, FLOOR((B.last_nombre/SUM(A.nombre)-1)*100) AS evolution FROM bourse B INNER JOIN bourse_actions A ON B.id = A.id_action GROUP BY A.id_action INNER JOIN bourse_actions U ON B.id = U.id_action AND U.id_user = 8; }. [127.0.0.1] [GET] [/?p=bourse] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[01:17:13] AVERTISSEMENT : Erreur Mysql: " Column 'id_action' in group statement is ambiguous ", avec la requète: { SELECT B.id, B.nom, FLOOR(B.metal/SUM(A.nombre)) AS metal, FLOOR(B.cristal/SUM(A.nombre)) AS cristal, B.last_nombre, FLOOR((B.last_nombre/SUM(A.nombre)-1)*100) AS evolution FROM bourse B INNER JOIN bourse_actions A ON B.id = A.id_action INNER JOIN bourse_actions U ON B.id = U.id_action AND U.id_user = 8 GROUP BY id_action; }. [127.0.0.1] [GET] [/?p=bourse] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] []
|
||||
[01:24:09] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/?p=bourse]
|
||||
[01:24:09] MESSAGE : !! connection : array (
|
||||
'log' => '',
|
||||
'HB_login' => 'nemunaire',
|
||||
'HB_password' => 'mopmop',
|
||||
'galaxie' => 'Alpha',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214058438.1214170521.57',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'__utmc' => '155506210',
|
||||
'hbsession' => '8996eef618a815f11198822cb1b689e92e6974df8bb5c0aa86177ee2710b974f',
|
||||
) [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/?p=bourse]
|
||||
63
onyx/logs/24-06-2008.xlog
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
[18:19:37] AVERTISSEMENT : Erreur Mysql: " Table 'halo_battle.secure_identification' doesn't exist ", avec la requète: { SELECT nombre FROM secure_identification WHERE ip = '7f000001'; }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:19:37] AVERTISSEMENT : Erreur Mysql: " You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''7f000001', '1', '1214324377')' at line 1 ", avec la requète: { INSERT INTO secure_identification ('7f000001', '1', '1214324377'); }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:19:37] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:19:37] MESSAGE : !! connection : array (
|
||||
'log' => '',
|
||||
'HB_login' => 'nemunaire',
|
||||
'HB_password' => 'mopmop',
|
||||
'galaxie' => 'Alpha',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214170521.1214202554.58',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'hbsession' => '6c76154df05ccc35a91dfaf5940fa1667f1c9512a45480d3fc476fc3ec3cd347',
|
||||
) [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:20:57] AVERTISSEMENT : Erreur Mysql: " You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''7f000001', '1', '1214324457')' at line 1 ", avec la requète: { INSERT INTO securite_identification ('7f000001', '1', '1214324457'); }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:20:57] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:20:57] MESSAGE : !! connection : array (
|
||||
'log' => '',
|
||||
'HB_login' => 'nemunaire',
|
||||
'HB_password' => 'mopmop',
|
||||
'galaxie' => 'Alpha',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214202554.1214324379.59',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'__utmb' => '155506210.2.10.1214324379',
|
||||
'__utmc' => '155506210',
|
||||
'hbsession' => '3428a8cac81fffc5c1826278990a1770e7cbee0cc1650a2e843bc5ec89d62670',
|
||||
) [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:22:00] AVERTISSEMENT : Erreur Mysql: " You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''7f000001', '1', '1214324520')' at line 1 ", avec la requète: { INSERT INTO securite_identification ('7f000001', '1', '1214324520'); }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:22:00] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:22:00] MESSAGE : !! connection : array (
|
||||
'log' => '',
|
||||
'HB_login' => 'nemunaire',
|
||||
'HB_password' => 'mopmop',
|
||||
'galaxie' => 'Alpha',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214202554.1214324379.59',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'__utmb' => '155506210.3.10.1214324379',
|
||||
'__utmc' => '155506210',
|
||||
'hbsession' => '82fd6f2d3f95b7ff1eafceaf6c58835f3d914ca8f0a07b1fc2851e6f358e70d7',
|
||||
) [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:23:37] AVERTISSEMENT : Erreur Mysql: " You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''7f000001', '1', '1214324617')' at line 1 ", avec la requète: { INSERT INTO securite_identification ('7f000001', '1', '1214324617'); }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:23:37] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:23:37] MESSAGE : !! connection : array (
|
||||
'log' => '',
|
||||
'HB_login' => 'nemunaire',
|
||||
'HB_password' => 'mopmop',
|
||||
'galaxie' => 'Alpha',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214202554.1214324379.59',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'__utmb' => '155506210.5.10.1214324379',
|
||||
'__utmc' => '155506210',
|
||||
'hbsession' => '4d0844800532a7120349546c48337a9edf1a9aa97189f349b33e97af8852b581',
|
||||
) [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:24:11] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
[18:24:11] MESSAGE : !! connection : array (
|
||||
'log' => '',
|
||||
'HB_login' => 'nemunaire',
|
||||
'HB_password' => 'mopmop',
|
||||
'galaxie' => 'Alpha',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214202554.1214324379.59',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'__utmb' => '155506210.6.10.1214324379',
|
||||
'__utmc' => '155506210',
|
||||
'hbsession' => '4eaf2cad9831da942ce38966047ba7d12dcadfd47bf97c78c9b04247527ef9e2',
|
||||
) [127.0.0.1] [POST] [/?log] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
26
onyx/logs/30-06-2008.xlog
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
[23:11:19] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [GET] [/?a=32604c0e8cc5aa47e21f45f5069ca838de17d172a70dd64b9232566bf11ed235fdc90eae9aaecbe96c510d6985648ce169b22111fde52c8aafa9632980060af3&l=nemunaire&p=mopmop] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://accueil.halobattle.local/]
|
||||
[23:11:20] MESSAGE : !! connection : array (
|
||||
'a' => '32604c0e8cc5aa47e21f45f5069ca838de17d172a70dd64b9232566bf11ed235fdc90eae9aaecbe96c510d6985648ce169b22111fde52c8aafa9632980060af3',
|
||||
'l' => 'nemunaire',
|
||||
'p' => 'mopmop',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214202554.1214324379.59',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'hbsession' => 'b5321bc9b24d0db250572b353c73f45334835996cff4486cf7b666a908909232',
|
||||
) [127.0.0.1] [GET] [/?a=32604c0e8cc5aa47e21f45f5069ca838de17d172a70dd64b9232566bf11ed235fdc90eae9aaecbe96c510d6985648ce169b22111fde52c8aafa9632980060af3&l=nemunaire&p=mopmop] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://accueil.halobattle.local/]
|
||||
[23:31:52] AVERTISSEMENT : Erreur Mysql: " Unknown column 'id' in 'field list' ", avec la requète: { SELECT COUNT(id) AS nombre FROM sessions WHERE active = '1' AND var_session != ''; }. [127.0.0.1] [GET] [/?a=32604c0e8cc5aa47e21f45f5069ca838de17d172a70dd64b9232566bf11ed235fdc90eae9aaecbe96c510d6985648ce169b22111fde52c8aafa9632980060af3&l=nemunaire&p=mopmop] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://accueil.halobattle.local/]
|
||||
[23:31:52] MESSAGE : !! connection : array (
|
||||
'a' => '32604c0e8cc5aa47e21f45f5069ca838de17d172a70dd64b9232566bf11ed235fdc90eae9aaecbe96c510d6985648ce169b22111fde52c8aafa9632980060af3',
|
||||
'l' => 'nemunaire',
|
||||
'p' => 'mopmop',
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214324379.1214860298.60',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'__utmb' => '155506210.5.10.1214860298',
|
||||
'__utmc' => '155506210',
|
||||
) [127.0.0.1] [GET] [/?a=32604c0e8cc5aa47e21f45f5069ca838de17d172a70dd64b9232566bf11ed235fdc90eae9aaecbe96c510d6985648ce169b22111fde52c8aafa9632980060af3&l=nemunaire&p=mopmop] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://accueil.halobattle.local/]
|
||||
[23:39:19] MESSAGE : array (
|
||||
'__utma' => '155506210.4054156253863705600.1211214258.1214324379.1214860298.60',
|
||||
'__utmz' => '155506210.1211214259.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)',
|
||||
'__utmb' => '155506210.21.10.1214860298',
|
||||
'__utmc' => '155506210',
|
||||
'hbsession' => '75164d5772f05b9114bfb400717ac53a368e6c70b5aac9839ae7feaaa7253bf5',
|
||||
) [127.0.0.1] [GET] [/admin.php] [Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0] [http://halobattle.local/]
|
||||
|
|
@ -25,7 +25,7 @@ class session {
|
|||
|
||||
$time = time()-$config['session_time'];
|
||||
$table = $config['db_prefix']."sessions";
|
||||
$db->query("DELETE FROM $table WHERE time < $time AND active = '1'");
|
||||
$db->query("DELETE FROM $table WHERE time < $time AND active = True;");
|
||||
|
||||
$db->deconnexion();
|
||||
}
|
||||
|
|
@ -45,7 +45,7 @@ class session {
|
|||
$sess_cookie = random(256);
|
||||
$ip = encode_ip();
|
||||
$table = $config['db_prefix']."sessions";
|
||||
$db->query("INSERT INTO $table(xid,session,time,ip,var_session,level,hash,active) VALUES('$xid','$sess_cookie','$time','$ip','','1','','0') ");
|
||||
$db->query("INSERT INTO $table(xid,session,time,ip,var_session,level,hash,active) VALUES('$xid','$sess_cookie','$time','$ip','','1','',True) ");
|
||||
$db->hash($table,"xid = '$xid'");
|
||||
|
||||
$this->xid = $xid;
|
||||
|
|
@ -75,7 +75,7 @@ class session {
|
|||
|
||||
$table = $config['db_prefix']."sessions";
|
||||
$db->check($table,"session = '$cookie'");
|
||||
$query = $db->unique_query("SELECT * FROM $table WHERE session='$cookie' AND active='1'");
|
||||
$query = $db->unique_query("SELECT * FROM $table WHERE session='$cookie' AND active = True;");
|
||||
|
||||
if($db->num_rows == 1 && $query['ip'] == encode_ip())
|
||||
{
|
||||
|
|
@ -131,7 +131,7 @@ class session {
|
|||
|
||||
$xid = $this->xid;
|
||||
$table = $config['db_prefix']."sessions";
|
||||
$db->query("DELETE FROM $table WHERE xid = '$xid' AND active = '1'");
|
||||
$db->query("DELETE FROM $table WHERE xid = '$xid' AND active = True;");
|
||||
|
||||
$db->deconnexion();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<a href="?p={$linkpage}&i=add">Ajouter un titre</a>
|
||||
<table>
|
||||
<thead>
|
||||
|
|
@ -15,5 +14,4 @@
|
|||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,9 +1,7 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<form action="?p={$linkpage}&i={$id}" method="post">
|
||||
Texte : <input type="text" name="texte" value="{$mod.texte}" /><br />
|
||||
Couleur : <input type="text" name="color" value="{$mod.color}" /><br />
|
||||
<input type="submit" class="submit" value="GO" />
|
||||
</form>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,3 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<div class="error"{if $couleur} style="color: {$couleur};"{/if}>{$message}</div>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<table style="width: 80%;">
|
||||
<thead>
|
||||
<tr>
|
||||
|
|
@ -22,5 +21,4 @@
|
|||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<table style="width: 90%;">
|
||||
<thead{if $req.statut >= 1} style="background: #{if $req.statut == 1}770000{elseif $req.statut == 2}007700{elseif $req.statut == 3}000077{elseif $req.statut == 4}770077{elseif $req.statut == 5}007777{elseif $req.statut == 6}777700{/if};"{/if}>
|
||||
<tr>
|
||||
|
|
@ -34,5 +33,4 @@
|
|||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<table>
|
||||
{foreach from=$tableau item=ligne key=key}
|
||||
<tr>
|
||||
|
|
@ -8,5 +7,4 @@
|
|||
</tr>
|
||||
{/foreach}
|
||||
</table>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<h2>{$titre}</h2>
|
||||
<table>
|
||||
<tr>
|
||||
|
|
@ -23,5 +22,4 @@
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<h2>{$titre}</h2>
|
||||
<table>
|
||||
<tr>
|
||||
|
|
@ -21,5 +20,4 @@
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="?p={$linkpage}&id={$idPlan}">{$key}</a></td>
|
||||
|
|
@ -15,5 +14,4 @@
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,9 +1,7 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
{foreach from=$tableau item=ligne key=key}
|
||||
<dl>
|
||||
<dt><input class="button2" type="button" onclick="hide(this); return false;" />{$ligne.sujet} de {$ligne.destinataire} à {$ligne.temps|date_format:"%d/%m/%y %H:%M:%S"}</dt><dd>{$ligne.contenu}</dd>
|
||||
</dl>
|
||||
{/foreach}
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<h2>{$titre}</h2>
|
||||
<form action="admin.php" method="get">
|
||||
<table>
|
||||
|
|
@ -24,5 +23,4 @@
|
|||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<a href="?p={$linkpage}&i=add">Ajouter une version</a>
|
||||
<table>
|
||||
<thead>
|
||||
|
|
@ -21,5 +20,4 @@
|
|||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,9 +1,7 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<form action="?p={$linkpage}&i={$id}" method="post">
|
||||
Version : <input type="text" name="version" value="{$mod.version}" /><br />
|
||||
Contenu :<br /><textarea cols="10" rows="10" name="contenu">{$mod.contenu}</textarea><br />
|
||||
<input type="submit" class="submit" value="GO" />
|
||||
</form>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<h2>Vérification des flottes</h2>
|
||||
<table style="text-align: center; margin: auto;">
|
||||
<thead>
|
||||
|
|
@ -23,5 +22,4 @@
|
|||
{/foreach}
|
||||
</tbody>
|
||||
</table
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<h2>Vérification des IP</h2>
|
||||
<a href="?p=vip&v={$numpage-1}"><<<</a> page {$numpage}/{$nbpage} <a href="?p=vip&v={$numpage+1}">>>></a>
|
||||
<table style="text-align: center; margin: auto;">
|
||||
|
|
@ -25,5 +24,4 @@
|
|||
</tbody>
|
||||
</table>
|
||||
<a href="?p=vip&v={$numpage-1}"><<<</a> page {$numpage}/{$nbpage} <a href="?p=vip&v={$numpage+1}">>>></a>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,6 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<div class="error">... veuillez patienter ...</div>
|
||||
<div class="border_bt"></div>
|
||||
{$contenu}
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,8 +1,30 @@
|
|||
{include file='cms/header.tpl'}
|
||||
<div id="connexion" class="block">
|
||||
<div class="header">Connexion</div>
|
||||
<div class="corps"><form action="?log" method="post"><fieldset><span><input type="text" class="text" name="HB_login" maxlength="32" tabindex="1" /><input type="password" class="password" name="HB_password" maxlength="32" tabindex="2" /><input type="submit" class="submit" value="GO" tabindex="3" /></span><span><label for="galaxie">Galaxie :</label> <select name="galaxie" id="galaxie"><optgroup label="Galaxies standards"><option> Alpha</option></optgroup></select> <a href="{$link.oubliemdp}" tabindex="4">Mot de passe oublié</a></span></fieldset></form></div>
|
||||
<div class="corps">
|
||||
<form action="?log" method="post">
|
||||
<fieldset>
|
||||
<span>
|
||||
<input type="text" class="text" name="HB_login" maxlength="32" tabindex="1" />
|
||||
<input type="password" class="password" name="HB_password" maxlength="32" tabindex="2" />
|
||||
<input type="submit" class="submit" value="GO" tabindex="3" />
|
||||
</span>
|
||||
<span>
|
||||
<label for="galaxie">Galaxie :</label>
|
||||
<select name="galaxie" id="galaxie">
|
||||
<optgroup label="Galaxies standards">
|
||||
<option> Alpha</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
<a href="{$link.oubliemdp}" tabindex="4">Mot de passe oublié</a>
|
||||
</span>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="inscription" class="block"><span><a href="{$link.inscription}">INSCRIVEZ VOUS</a> Rejoignez l'alliance ou engagez-vous</span> <p><strong>DEFENDREZ VOUS L'HUMANITE OU LA DETRUIREZ VOUS?</strong><br /><br />Repoussez l'ennemi et partez a la conquète des mondes-anneaux dans des univers vastes et riches basés sur l'univers du jeu vidéo Halo<br /><br /><em>Une simple inscription gratuite et un navigateur internet sont demandés pour pouvoir participer a des batailles épiques!</em></p> <a href="{$link.inscription}" class="link"><span>Cliquez ici pour vous inscrire</span></a> <a href="{$link.inscription}" class="more">En savoir plus</a></div>
|
||||
<div id="dernierminute" class="block">
|
||||
<a href="http://www.halo.fr/" onclick="window.open(this.href); return false;"><img src="images/hfr.jpg" alt="Halo.fr" /></a>
|
||||
</div>
|
||||
{include file='cms/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<b>Le combat est terminé !</b><br /><br />
|
||||
Nombre de tour : {$tour}<br /><br />
|
||||
Puissance d'attaque attaquant : {$infoPLUS}<br /><br />
|
||||
|
|
@ -193,5 +192,4 @@ Puissance d'attaque attaquant : {$infoPLUS}<br /><br />
|
|||
{if !$termine}Le combat n'est pas terminé !</b>
|
||||
{elseif $attaquantG}<strong>Nous avons gagné le combat !<br />Nous repartons avec {$pillage.0} {$ressources.0}, {$pillage.1} {$ressources.1} et {$pillage.2} {$ressources.2}.</strong>
|
||||
{else}<strong>Nous avons perdu le combat !</strong>{/if}
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<h2>Evénements</h2>
|
||||
<em>Heure du serveur: {$datehb}</em>
|
||||
{foreach from=$attaques item=attaque key=key}
|
||||
|
|
@ -16,5 +15,4 @@
|
|||
<h4>position: <a href="?p=carte&galaxie={$planete.galaxie}&ss={$planete.ss}">{$planete.galaxie}.{$planete.ss}.{$planete.position}</a></h4>
|
||||
<h4>Classement: <a href="?p=classement&j={$user.id}&c={$user.place_points}#moi">{$points} points ({if $user.place_points == '0'}non classé{else}{$user.place_points}{if $user.place_points == '1'}er{else}ème{/if}{/if})</a></h4>
|
||||
{if $alliance}<h4>Alliance: <a href="?p=alliances">[{$alliance.tag|upper}] {$alliance.nom}</a></h4>{/if}
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<h2>Aide de Halo-Battle :: Avertissements</h2>
|
||||
<h3>Avertissement aux utilisateurs de téléviseurs à rétroprojection</h3><br />
|
||||
Les images fixes peuvent endommager de manière irréversible le tube cathodique ou marquer à jamais les luminophores qui constituent l'écran de ces téléviseurs.<br />C'est pourquoi il est conseillé d'éviter d'utiliser des jeux vidéo trop souvent ou de façon prolongée avec les téléviseurs à rétroprojection.<br /><br />
|
||||
|
|
@ -29,5 +28,4 @@
|
|||
<li>Evitez la prise de produits stimulants : coca-cola, thé, café, vitamine C…</li>
|
||||
<li>La régularité du sommeil reste le meilleur gage de qualité.</li>
|
||||
</ul>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<h2>Aide de Halo-Battle :: Comment jouer</h2>
|
||||
<h3>Astuces à l'intention des nouveaux administrateurs coloniaux</h3>
|
||||
Vous voilà inscrit et connecté sur votre compte ; si vous pensez que le plus difficile est maintenant derrière-vous, vous vous trompez lourdement. De lourdes tâches vous attendent désormais, et il va vous falloir tout votre sang-froid et votre maîtrise pour triompher des épreuves qui jalonneront votre route.<br /><br />
|
||||
|
|
@ -16,5 +15,4 @@
|
|||
<br /><h3>Exemple : la colonie Reach</h3>
|
||||
Voici un petit tutorial pour commencer à jouer dans le jeu. Ici, nous aborderons les différents aspects élémentaires pour développer notre planète principale : Reach. Ce tutorial utilise la race Humaine ; toutefois, les données demeurent les mêmes pour la race Covenante. Notez enfin que parfois, les ressources indiquées dans les illustrations diffèrent avec les coûts réels.<br /><br />
|
||||
[...]
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<h2>Aide de Halo-Battle :: Configuration requise</h2>
|
||||
<br /><h3>Configuration nécessaire</h3><br />
|
||||
Pour jouer à Halo-Battle, un simple navigateur internet est suffisant. Assurez-vous donc de disposer du matériel informatique adéquat ainsi que d'une connexion internet.<br />
|
||||
|
|
@ -13,5 +12,4 @@
|
|||
<br /><h2>Démarrage du jeu</h2>
|
||||
Pour pouvoir jouer à Halo-Battle, rendez-vous sur la page d'accueil du site puis cliquez sur l'onglet « Jeu » pour accéder au menu principal. Renseignez dans les champs appropriés votre login de joueur puis votre mot de passe pour accéder à votre compte.<br />
|
||||
Il faut être impérativement inscrit pour pouvoir jouer. Si vous ne l'êtes pas, cliquez sur l'onglet « S'inscrire » via la page d'accueil du site, puis laissez-vous guider. Si vous ne comprenez pas ce que l'on vous demande, il vous suffit de cliquer dans la case appropriée et un texte d'aide apparaîtra sur votre gauche.
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<h2>Aide de Halo-Battle :: Introduction</h2>
|
||||
<i>Même la plus puissante des nations finit par succomber un jour...</i><br /><br />
|
||||
Neuvième Age de la Réclamation. La majestueuse Grande Bonté n'est plus. La voici désormais en proie au Parasite, gangrénée et empoisonnée de l'intérieur. Le glas de la fin du collectif Covenant se fait entendre par-delà les étoiles, alors que les trompettes de la victoire résonnent sur Terre...<br /><br />
|
||||
|
|
@ -10,5 +9,4 @@
|
|||
<i>Préparez-vous à vous battre pour votre cause.</i><br /><br />
|
||||
Quel que soit votre camp, que vous soyez Humain ou Covenant, vous aussi devez vous préparer à l'inévitable conflit qui se prépare. Si vous espérez un tant soit peu survivre, il vous faudra développer votre économie, rechercher de nouvelles technologies innovatrices et surtout préparer votre armée. Sachez que vos frères d'armes comptent sur vous.<br /><br />
|
||||
<i>Qu'importe les moyens, seule la victoire compte.</i><br />
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,9 +1,7 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<h2>Aide de Halo-Battle :: Sommaire</h2>
|
||||
<h3><a href="{$menu.faq}&q=1">Avertissements</a></h3>
|
||||
<h3><a href="{$menu.faq}&q=2">Configuration nécessaire & démarrage du jeu</a></h3>
|
||||
<h3><a href="{$menu.faq}&q=3">Introduction</a></h3>
|
||||
<h3><a href="{$menu.faq}&q=4">Comment jouer ?</a></h3>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{include file='game/header.tpl'}
|
||||
<div class="border_top"></div>
|
||||
<h2>[{$alliance.tag|upper}] {$alliance.nom|capitalize}</h2>
|
||||
<table cellpadding="2" cellspacing="0" style="text-align: center; width: 100%;">
|
||||
<tbody>
|
||||
|
|
@ -64,5 +63,4 @@
|
|||
<form method="post" action="{$menu.alliance}&q=chat">
|
||||
Réponse : <input name="msg" type="text" size="50" maxlength="250"> <input value="GO" class="submit" type="submit">
|
||||
</form>
|
||||
<div class="border_bt"></div>
|
||||
{include file='game/footer.tpl'}
|
||||