2008-09-20 10:00:00 +00:00
< ? 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' );
2008-11-08 11:00:00 +00:00
require_once ( _FCORE . " ../game/cron/class.user.php " );
require_once ( _FCORE . " ../game/cron/class.planete.php " );
2008-09-20 10:00:00 +00:00
//*
//Classement Joueurs
$bdd -> connexion ();
$bdd -> query ( " TRUNCATE TABLE $table_classement ; " );
$users = $bdd -> query ( " SELECT * FROM $table_user ; " );
$bdd -> deconnexion ();
2008-11-08 11:00:00 +00:00
foreach ( $users as $queryUser ){
$id_user = $queryUser [ 'id' ];
2008-09-20 10:00:00 +00:00
$pointsbat = 0 ;
$pointsterr = 0 ;
$pointsvais = 0 ;
$bdd -> connexion ();
$planetes = $bdd -> query ( " SELECT * FROM $table_planete WHERE id_user = $id_user ; " );
$bdd -> deconnexion ();
2008-11-08 11:00:00 +00:00
//Calcul des points par planète
if ( ! empty ( $planetes )) {
foreach ( $planetes as $planete ){
$plan = new Planete ( $planete , $queryUser );
$pointsbat += $plan -> calculerBatiments ();
$pointsterr += $plan -> calculerTerrestres ();
$pointsvais += $plan -> calculerVaisseaux ();
2008-09-20 10:00:00 +00:00
}
}
2008-11-08 11:00:00 +00:00
//Calcul des points du joueur
$pointstech = $plan -> calculerTechnologies ();
2008-09-20 10:00:00 +00:00
2008-11-08 11:00:00 +00:00
//Division par 1000
2008-09-20 10:00:00 +00:00
$pointstech /= 1000 ;
$pointsvais /= 1000 ;
$pointsterr /= 1000 ;
$pointsbat /= 1000 ;
2008-11-08 11:00:00 +00:00
//Calcul des points totaux
2008-09-20 10:00:00 +00:00
$points = $pointsbat + $pointsterr + $pointsvais + $pointstech ;
2008-11-08 11:00:00 +00:00
//Mise à jour des points pour le joueur
2008-09-20 10:00:00 +00:00
$bdd -> connexion ();
$bdd -> query ( " UPDATE $table_user SET points = $points , batiments = $pointsbat , recherches = $pointstech , flotte = $pointsvais , terrestre = $pointsterr WHERE id = $id_user ; " );
2008-11-08 11:00:00 +00:00
if ( $queryUser [ 'auth_level' ] < 2 && $queryUser [ 'mv' ] < 2 ) $bdd -> query ( " INSERT INTO $table_classement (id_user, pseudo, points, flottes, terrestres, recherches, batiments) VALUES ( $id_user , ' " . $queryUser [ 'pseudo' ] . " ', $points , $pointsvais , $pointsterr , $pointstech , $pointsbat ); " );
2008-09-20 10:00:00 +00:00
$bdd -> deconnexion ();
}
2008-11-08 11:00:00 +00:00
$p = 0 ;
2008-09-20 10:00:00 +00:00
$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; " );
2008-11-08 11:00:00 +00:00
foreach ( $classement as $ligne ){
if ( $ligne [ 'auth_level' ] < 2 ) {
2008-09-20 10:00:00 +00:00
$p ++ ;
2008-11-08 11:00:00 +00:00
$bdd -> query ( " UPDATE $table_user SET place_points = $p WHERE id = " . $ligne [ 'id' ]);
2008-09-20 10:00:00 +00:00
}
2008-11-08 11:00:00 +00:00
else $bdd -> query ( " UPDATE $table_user SET place_points = 0 WHERE id = " . $ligne [ 'id' ]);
2008-09-20 10:00:00 +00:00
}
2008-11-08 11:00:00 +00:00
2008-09-20 10:00:00 +00:00
$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; " );
2008-11-08 11:00:00 +00:00
foreach ( $alliances as $alliance ){
if ( $alliance [ 'id_alliance' ] != 0 ) $bdd -> query ( " INSERT INTO $table_classement_alliances (id_alliance, nbr_membres, points, batiments, recherches, flottes, terrestres) VALUES ( " . $alliance [ 'id_alliance' ] . " , " . $alliance [ 'nombre' ] . " , " . $alliance [ 'points' ] . " , " . $alliance [ 'batiments' ] . " , " . $alliance [ 'recherches' ] . " , " . $alliance [ 'flotte' ] . " , " . $alliance [ 'terrestre' ] . " ); " );
2008-09-20 10:00:00 +00:00
}
$bdd -> deconnexion ();
print '<br />Fin de la génération du classement ; il est : ' . date ( 'd/m/Y H:i:s' );
2008-11-08 11:00:00 +00:00
2008-09-20 10:00:00 +00:00
?>