forked from halo-battle/game
Version 1.9a
This commit is contained in:
parent
5f81f76b17
commit
d028822d0b
437 changed files with 27543 additions and 81793 deletions
10
game/cron/bourse.php
Normal file
10
game/cron/bourse.php
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
if(!defined('CRON')) { header('Location: ../'); exit; }
|
||||
print '<br /><br />Début des taches de la bourse ; il est : '.date('d/m/Y H:i:s');
|
||||
|
||||
$bdd->connexion();
|
||||
$bdd->query("UPDATE $table_bourse SET metalAnc = metal, cristalAnc = cristal");
|
||||
$bdd->deconnexion();
|
||||
|
||||
print '<br />Fin des taches de la bourse ; il est : '.date('d/m/Y H:i:s').'<br />';
|
||||
?>
|
||||
109
game/cron/classement.php
Normal file
109
game/cron/classement.php
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
<?php
|
||||
if(!defined('CRON')) { header('Location: ../'); exit; }
|
||||
print 'Début de la génération du classement ; il est : '.date('d/m/Y H:i:s');
|
||||
|
||||
//*
|
||||
//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]) * $n;
|
||||
}
|
||||
}
|
||||
|
||||
$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]) * $n;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$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');
|
||||
?>
|
||||
34
game/cron/inactifs.php
Normal file
34
game/cron/inactifs.php
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
if(!defined('CRON')) { header('Location: ../'); exit; }
|
||||
print '<br /><br />Début de la gestion des joueurs inactifs ; il est : '.date('d/m/Y H:i:s');
|
||||
|
||||
$limite1 = time() - 7 * 86400;
|
||||
$limite2 = time() - 8 * 86400;
|
||||
$limiteS = time() - 14 * 86400;
|
||||
$bdd->connexion();
|
||||
$utils = $bdd->query("SELECT id, pseudo, mail FROM $table_user WHERE last_visite < $limite1 AND last_visite > $limite2 AND mv = 0;");
|
||||
$utils['nombre'] = $bdd->num_rows;
|
||||
for($i = 0; $i < $utils['nombre']; $i++){
|
||||
send_mail($utils[$i]['mail'], "Compte de jeu inactif", '<!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 :: Compte de jeu inactif</title></head><body><p>Bonjour '.$utils[$i]['pseudo'].',<br />Cela fait plus d\'une semaine que vous ne vous êtes pas connecté au jeu <a href="http://www.halo-battle.s-fr.com/">Halo-Battle</a>.<br />Pour que vos planètes et vos vaisseaux soient concervés, pensez à mettre votre compte en mode vacances avant qu\'il ne soit définitivement supprimé de nos serveurs.<br /><br />A bientôt dans Halo-Battle,<br />Le staff</p></body></html>');
|
||||
print '<br />Envoie d\'un mail au joueur inactif '.$utils[$i]['pseudo'];
|
||||
}
|
||||
|
||||
$utils = $bdd->query("SELECT id, pseudo, mail FROM $table_user WHERE last_visite < $limiteS AND mv = 0;");
|
||||
$utils['nombre'] = $bdd->num_rows;
|
||||
for($i = 0; $i < $utils['nombre']; $i++){
|
||||
send_mail($utils[$i]['mail'], "Compte de jeu supprimé", '<!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 :: Suppression de votre compte</title></head><body><p>Bonjour '.$utils[$i]['pseudo'].',<br />Cela fait plus de deux semaines que vous ne vous êtes pas connecté au jeu <a href="http://www.halo-battle.s-fr.com/">Halo-Battle</a>.<br />Votre compte ainsi que toutes les données personnelles vous concernant viennent d\'être supprimées de notre serveur de jeu, ainsi, vous ne recevrez plus de courriels de notre part.<br /><br />A bientôt dans Halo-Battle,<br />Le staff</p></body></html>');
|
||||
/* $bdd->query("DELETE FROM $table_flottes WHERE id_user = ".$utils[$i]['id']);
|
||||
//TODO vérifier la suppression desactions du joueur
|
||||
$action = new Bourse();
|
||||
$action->delUser($utils[$i]['id']);
|
||||
//TODO Ajouter CASCADE !! pour supprimer les combats avec les flottes
|
||||
$bdd->query("DELETE FROM $table_planete WHERE id_user = ".$utils[$i]['id']);
|
||||
$bdd->query("DELETE FROM $table_user WHERE id = ".$utils[$i]['id']);
|
||||
$bdd->query("DELETE FROM $table_mail WHERE destinataire = ".$utils[$i]['pseudo']);
|
||||
$bdd->query("DELETE FROM $table_mail WHERE expediteur = ".$utils[$i]['pseudo']);
|
||||
*/ print '<br />Envoie d\'un mail et suppression du joueur inactif '.$utils[$i]['pseudo'];
|
||||
}
|
||||
$bdd->deconnexion();
|
||||
|
||||
print '<br />Fin de la gestion des joueurs inactifs ; il est : '.date('d/m/Y H:i:s').'<br />';
|
||||
?>
|
||||
15
game/cron/optimize.php
Normal file
15
game/cron/optimize.php
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
if(!defined('INDEX')) define('INDEX', 1);
|
||||
|
||||
set_time_limit(0);
|
||||
require('../includes/common.php');
|
||||
|
||||
$chapeau = new bdd();
|
||||
$chapeau->connexion();
|
||||
$chapeau->db();
|
||||
|
||||
$chapeau->query("OPTIMIZE TABLE `alliances` , `alliances_attente` , `alliances_chat` , `alliances_creation` , `alliances_grade` , `banni` , `bug` , `classement` , `flottes` , `flottes_combats` , `historique` , `infoshead` , `mail` , `planete` , `registre_identification` , `securite_identification` , `sessions` , `user` , `user_inscriptions` , `version`;
|
||||
TRUNCATE TABLE `registre_identification`;");
|
||||
|
||||
$chapeau->deconnexion();
|
||||
?>
|
||||
110
game/cron/sauvebdd.php
Normal file
110
game/cron/sauvebdd.php
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
<?php
|
||||
if(!defined('CRON')) { header('Location: ../'); exit; }
|
||||
print '<br /><br />Début de la sauvegarde de la base de données ; il est : '.date('d/m/Y H:i:s');
|
||||
|
||||
function dumpTable($fp, $nomtable) {
|
||||
global $config;
|
||||
include(_FCORE."../game/tables.php");
|
||||
$bdd = new bdd();
|
||||
|
||||
if (!function_exists('gzopen')) $fwrite = 'fwrite';
|
||||
else $fwrite = 'gzwrite';
|
||||
|
||||
$fwrite($fp, "-- Données de la table $nomtable\n\n");
|
||||
$bdd->connexion();
|
||||
$nomtable = ${'table_'.$nomtable};
|
||||
$res = $bdd->query('SELECT * FROM '.$nomtable.';');
|
||||
$bdd->deconnexion();
|
||||
|
||||
for($i = 0; $i < $bdd->num_rows; $i++){
|
||||
$strFieldsNames = '';
|
||||
$strFieldsValues = '';
|
||||
|
||||
foreach ($res[$i] 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 dumpTableXML($fp, $nomtable) {
|
||||
global $config;
|
||||
include(_FCORE."../game/tables.php");
|
||||
$bdd = new bdd();
|
||||
$bdd->connexion();
|
||||
$nomtable = ${'table_'.$nomtable};
|
||||
$res = $bdd->query('SELECT * FROM '.$nomtable.';');
|
||||
$bdd->deconnexion();
|
||||
|
||||
fwrite($fp, "<table name=\"$nomtable>\"\n");
|
||||
for($i = 0; $i < $bdd->num_rows; $i++){
|
||||
fwrite($fp, "\t<enregistrement i=\"$i\">\n");
|
||||
foreach ($res[$i] as $field_name => $field_value){
|
||||
fwrite($fp, "\t\t<$field_name>".htmlentities($field_value)."</$field_name>\n");
|
||||
}
|
||||
fwrite($fp, "\t</enregistrement>\n");
|
||||
}
|
||||
fwrite($fp, "</table>\n");
|
||||
}
|
||||
|
||||
//Création du fichier de destination
|
||||
$fname = _FCORE."backup/".date('Y-m-d H-i-s');
|
||||
if (true || !function_exists('gzopen')) {
|
||||
$fp = fopen($fname.'.sql', 'w+');
|
||||
$ext = 'sql';
|
||||
$fwrite = 'fwrite';
|
||||
}
|
||||
else {
|
||||
$fp = gzopen($fname.'.gz', 'w+');
|
||||
$ext = 'gz';
|
||||
$fwrite = 'gzwrite';
|
||||
}
|
||||
$fpx = fopen($fname.'.xml', 'w+');
|
||||
|
||||
if ($fp) {
|
||||
$fwrite($fp, "-- Utilitaire de sauvegarde de base de données de HB\n-- Sauvegarde du ".date('d/m/Y H:i:s')."\n-- Version du jeu : ".$config['version']."\n\n");
|
||||
fwrite($fpx, '<?xml version="1.0" encoding="UTF-8" ?>'."\n<!DOCTYPE SavBDD_HB>\n");
|
||||
|
||||
//Liste des tables à sauvegarder
|
||||
$list = array('alliances', 'alliances_attente', 'alliances_chat', 'alliances_creation', 'alliances_grade', 'flottes', 'flottes_combats', 'planete', 'user');
|
||||
|
||||
foreach($list as $table) {
|
||||
dumpTable($fp, $table);
|
||||
dumpTableXML($fpx, $table);
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('gzopen')) fclose($fp);
|
||||
else gzclose($fp);
|
||||
|
||||
// TODO tester l'envoie de mail !!
|
||||
if (@$envoyer_mail) {
|
||||
require_once(_FCORE."../game/Class/class.phpmailer.php");
|
||||
|
||||
$mail = new PHPmailer();
|
||||
$mail->SetLanguage('fr', _FCORE."../game/Class/");
|
||||
$mail->IsSMTP();
|
||||
$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('sauv@gmail.com');
|
||||
$mail->AddReplyTo('no-reply@halo-battle.s-fr.com');
|
||||
$mail->Subject = 'Sauvegarde du '.date('d/m/Y à H:i:s');
|
||||
$mail->Body = 'Utilitaire de sauvegarde de base de données de HB version '.$config['version'];
|
||||
$mail->AddAttachment($fname.'.'.$ext);
|
||||
|
||||
$return = $mail->Send();
|
||||
$mail->SmtpClose();
|
||||
}
|
||||
|
||||
print '<br />Fin de la sauvegarde de la base de données ; il est : '.date('d/m/Y H:i:s').'<br />';
|
||||
?>
|
||||
27
game/cron/suppr_joueurs.php
Normal file
27
game/cron/suppr_joueurs.php
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
if(!defined('CRON')) { header('Location: ../'); exit; }
|
||||
print '<br /><br />Début de la suppression des joueurs ; il est : '.date('d/m/Y H:i:s');
|
||||
|
||||
require(_FCORE."../game/Class/class.bourse.php");
|
||||
|
||||
$bdd->connexion();
|
||||
$utils = $bdd->query("SELECT id, pseudo, bourse FROM $table_user WHERE mv = -1;");
|
||||
$utils['nombre'] = $bdd->num_rows;
|
||||
for($i = 0; $i < $utils['nombre']; $i++){
|
||||
//TODO vérifier la suppression desactions du joueur
|
||||
$action = new Bourse();
|
||||
$action->delUser($utils[$i]['id']);
|
||||
|
||||
$bdd->query("DELETE FROM $table_flottes WHERE id_user = ".$utils[$i]['id']);
|
||||
//TODO Ajouter CASCADE !! pour supprimer les combats avec les flottes
|
||||
$bdd->query("DELETE FROM $table_planete WHERE id_user = ".$utils[$i]['id']);
|
||||
$bdd->query("DELETE FROM $table_user WHERE id = ".$utils[$i]['id']);
|
||||
$bdd->query("DELETE FROM $table_mail WHERE destinataire = ".$utils[$i]['pseudo']);
|
||||
$bdd->query("DELETE FROM $table_mail WHERE expediteur = ".$utils[$i]['pseudo']);
|
||||
print '<br />Supression de l\'utilisateur '.$utils[$i]['pseudo'];
|
||||
}
|
||||
$bdd->query("UPDATE $table_user SET mv = -1 WHERE mv = -2;");
|
||||
$bdd->deconnexion();
|
||||
|
||||
print '<br />Fin de la suppression des joueurs ; il est : '.date('d/m/Y H:i:s').'<br />';
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue