forked from halo-battle/game
Ajoute un système de cron pour calculer le classement tous les jours, voir plus souvent
This commit is contained in:
parent
8bb4fdf398
commit
640d4bbec3
@ -12,3 +12,6 @@ vous connecter au serveur MySQL via `docker exec -it game_mariadb_1 mysql --user
|
||||
et récupérer votre jeton d'activation via `select id_activ from user_inscriptions WHERE pseudo LIKE 'VOTRE_PSEUDO_A_REMPLACER';`
|
||||
une fois l'ID récupérer, rendez-vous à l'adresse http://localhost:8080/?p=validation&i=VOTRE_ID (pensez
|
||||
bien à modifier l'id dans l'URL).
|
||||
|
||||
## Installer
|
||||
Un cron doit être rajouté sur la machine hôte pour calculer le classement des joueurs, en éxécutant le fichier `cron/classement.php` aussi souvent qu'il vous plaira (ou aussi souvent que votre CPU le permettra).
|
||||
|
16
cron/classement.php
Normal file
16
cron/classement.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
// Ce cron met à jour le classement des joueurs.
|
||||
|
||||
//Définition de la constante anti-hacking
|
||||
define("INDEX", 1);
|
||||
define("DEBUG", false);
|
||||
|
||||
//Inclusion de l'API Onyx
|
||||
require_once(__DIR__ . "/../onyx2/load.php");
|
||||
require_once("common.php");
|
||||
|
||||
$bdd = new BDD();
|
||||
|
||||
$updated = $bdd->update_classement();
|
||||
$bdd->deconnexion();
|
@ -28,6 +28,7 @@ services:
|
||||
volumes:
|
||||
- ./htdocs:/usr/src/hb-main/htdocs:rw
|
||||
- ./onyx2:/usr/src/hb-main/onyx2:rw
|
||||
- ./cron:/usr/src/hb-main/cron:rw
|
||||
# make cache and compile writable + don't add file to local host
|
||||
- /usr/src/hb-main/onyx2/cache
|
||||
- /usr/src/hb-main/onyx2/log
|
||||
|
@ -50,7 +50,9 @@ if ($cached['check'] == md5_file(ONYX.'config/root.xml').md5_file(ONYX.'modules/
|
||||
//$xml->validate();
|
||||
|
||||
if ($root = $xml->documentElement->getAttribute('root')) {
|
||||
if ($root == substr(FILE, 0, strlen($root))) {
|
||||
// Autorise les fichiers dans les dossiers htdocs/ et cron/
|
||||
$cron = str_replace("htdocs", "cron", $root);
|
||||
if ($root == substr(FILE, 0, strlen($root)) || $cron == substr(FILE, 0, strlen($cron))) {
|
||||
define('ROOT', $root);
|
||||
|
||||
$search = substr(FILE, strlen($root));
|
||||
|
@ -193,4 +193,14 @@ class BDD
|
||||
|
||||
return mysqli_affected_rows($this->session);
|
||||
}
|
||||
|
||||
public function update_classement()
|
||||
{
|
||||
if (!$this->session) {
|
||||
return false;
|
||||
}
|
||||
global $table_user;
|
||||
$query = "SET @p=0; UPDATE $table_user SET place_points = (@p:=@p+1) ORDER BY points DESC;";
|
||||
mysqli_multi_query($this->session, $query);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user