diff --git a/README.md b/README.md index 291969a..9b5071a 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,3 @@ 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). diff --git a/cron/classement.php b/cron/classement.php deleted file mode 100644 index 6f938ec..0000000 --- a/cron/classement.php +++ /dev/null @@ -1,16 +0,0 @@ -update_classement(); -$bdd->deconnexion(); diff --git a/docker-compose.yml b/docker-compose.yml index 9c34834..1f8e5f5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -28,7 +28,6 @@ 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 diff --git a/onyx2/include/Class/user.php b/onyx2/include/Class/user.php index 4492209..6571675 100644 --- a/onyx2/include/Class/user.php +++ b/onyx2/include/Class/user.php @@ -113,7 +113,6 @@ class User public function addPoints($metal, $cristal, $hydrogene, $credits = 0, $demolition = false) { - /* Ancien code, fait des calculs boursier dans le système de points, wtf ? global $table_bourse_ressources; //On charge les 3 valeurs boursières $bdd = new BDD(); @@ -130,11 +129,6 @@ class User $points = bourse_calcPrixBase($bourse[0]["dispo"], $metal); $points += bourse_calcPrixBase($bourse[1]["dispo"], $cristal); $points += bourse_calcPrixBase($bourse[2]["dispo"], $hydrogene); - */ - $rate = 0.7; - $points = $metal *$rate; - $points += $cristal *$rate; - $points += $hydrogene *$rate; if ($demolition) { $this->points -= intval($points); diff --git a/onyx2/load.php b/onyx2/load.php index 7a977a7..536ada1 100644 --- a/onyx2/load.php +++ b/onyx2/load.php @@ -50,9 +50,7 @@ if ($cached['check'] == md5_file(ONYX.'config/root.xml').md5_file(ONYX.'modules/ //$xml->validate(); if ($root = $xml->documentElement->getAttribute('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))) { + if ($root == substr(FILE, 0, strlen($root))) { define('ROOT', $root); $search = substr(FILE, strlen($root)); diff --git a/onyx2/modules/db/mysql.class.php b/onyx2/modules/db/mysql.class.php index fedbc8a..d355fc8 100644 --- a/onyx2/modules/db/mysql.class.php +++ b/onyx2/modules/db/mysql.class.php @@ -193,14 +193,4 @@ 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); - } } diff --git a/onyx2/modules/db/postgresql.class.php b/onyx2/modules/db/postgresql.class.php index 0d13051..16cc9d0 100644 --- a/onyx2/modules/db/postgresql.class.php +++ b/onyx2/modules/db/postgresql.class.php @@ -3,74 +3,74 @@ class BDD { public $connected; - + private $session; - + private $reponse; - + public $host; - + public $user; - + private $password; - + public $database; - + public $num_rows; - + public $nodb; - - + + public function __construct($profile=null) { if ($profile === false) { return false; } - + global $db_config; - + if (empty($profile)) { if (!$db_config['profile']) { return false; } $profile = &$db_config['profile']; } - + if (!ctype_alnum($profile)) { trigger_error('Le nom du profil contient des caracteres illegaux', E_USER_ERROR); } - + if ($db_config['profile']) { require(ONYX.'db/'.$profile.'.profile.php'); - + $db = &$___profile['db']; $host = &$___profile['host']; $user = &$___profile['user']; $pass = &$___profile['pass']; } - + if ($db_config['crypt']) { $pass = dbpass($pass, $db_config['crypt']); } - + return $this->connexion($host, $user, $pass, $db); } - + public function connexion($host, $user, $pass, $db=null) { if ($this->session) { $this->deconnexion(); } - + $this->reponse = null; - + $host = pg_escape_string($host); $user = pg_escape_string($user); $pass = pg_escape_string($pass); $db = pg_escape_string($db); - + $this->session = pg_connect("host='$host' port=5432 dbname='$db' user='$user' password='$pass'"); - + if (!$this->session) { elog('Connexion impossible a la base de donnee : '.$this->erreur(), 2); if (function_exists($this->nodb)) { @@ -78,54 +78,54 @@ class BDD } return false; } - + pg_setclientencoding($this->session, 'UTF8'); - + $this->host = $host; $this->user = $user; $this->password = $pass; $this->database = $db; - + $this->connected = true; } - + public function reconnexion() { if (!empty($this->host) && !empty($this->user) && !empty($this->password) && !empty($this->database)) { $this->connexion($this->host, $this->user, $this->password, $this->database); } } - + public function deconnexion() { if (!$this->session) { return false; } - + $r = pg_close($this->session); $this->session = false; $this->connected = false; return $r; } - + public function erreur() { if (!$this->session) { return false; } - + return pg_last_error($this->session); } - + public function db($db) { if (!$this->session) { return false; } - + return $this->database = pg_query($this->session, "\\connect ".pg_escape_string($db)) ? $db : $this->database; } - + public function escape(&$var) { if (!$this->session) { @@ -134,23 +134,23 @@ class BDD $var = pg_escape_string($this->session, $var); return $var; } - + public function query($query) { if (!$this->session) { return false; } - + $this->reponse = pg_query($this->session, $query); - + global $db_config; - + if (!$this->reponse && $db_config['log']) { elog('Erreur PostgreSQL: " '.$this->erreur().' ", avec la requète: { '.$query.' }.', 1); } - + $this->num_rows = pg_num_rows($this->reponse); - + if ($this->num_rows == 0) { return null; } elseif ($this->num_rows >= 1) { @@ -162,23 +162,23 @@ class BDD return false; } } - + public function unique_query($query) { if (!$this->session) { return false; } - + $this->reponse = pg_query($this->session, $query); - + global $db_config; - + if (!$this->reponse && $db_config['log']) { elog('Erreur PostgreSQL: " '.$this->erreur().' ", avec la requète: { '.$query.' }.', 1); } - + $this->num_rows = pg_num_rows($this->reponse); - + if ($this->num_rows == 0) { return null; } elseif ($this->num_rows >= 1) { @@ -187,23 +187,13 @@ class BDD return false; } } - + public function affected() { if (!$this->session) { return false; } - + return pg_affected_rows($this->reponse); } - - public function update_classement() - { - if (!$this->session) { - return false; - } - global $table_user; - $query = "UPDATE $table_user SET place_points=subquery.rn FROM (SELECT id, points, place_points, row_number() over (order by points DESC) as rn FROM $table_user) AS subquery WHERE $table_user.id=subquery.id;"; - pg_query($this->session, $query); - } }