From 1ff4acfb85bd0426435f7944d322c0b8da0836ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20GARNIER?= Date: Wed, 4 Jan 2023 12:42:21 +0100 Subject: [PATCH 1/7] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'WEB/View/src/J?= =?UTF-8?q?S/CesarEncrypt.js'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WEB/View/src/JS/{cesarEncrypt.js => CesarEncrypt.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename WEB/View/src/JS/{cesarEncrypt.js => CesarEncrypt.js} (100%) diff --git a/WEB/View/src/JS/cesarEncrypt.js b/WEB/View/src/JS/CesarEncrypt.js similarity index 100% rename from WEB/View/src/JS/cesarEncrypt.js rename to WEB/View/src/JS/CesarEncrypt.js From 770978d828fb6219b98769a548be2ee238839eae Mon Sep 17 00:00:00 2001 From: johan Date: Wed, 4 Jan 2023 12:57:10 +0100 Subject: [PATCH 2/7] test --- WEB/Config/Config.php | 2 ++ WEB/Controller/UserController.php | 11 ++++------- WEB/server.js | 6 ++++-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/WEB/Config/Config.php b/WEB/Config/Config.php index e422dc44..700dc2c5 100644 --- a/WEB/Config/Config.php +++ b/WEB/Config/Config.php @@ -38,6 +38,8 @@ $vues['chuckNorris'] = 'View/src/pages/Enigme/ChuckNorris.html'; $vues['hanoi'] = 'View/src/pages/Enigme/Hanoi.html'; $vues['trianglePascal'] = 'View/src/pages/Enigme/TrianglePascal.html'; $vues['doubleElement'] = 'View/src/pages/Enigme/DoubleElement.html'; +// Server +$server = 'server.js'; //Error $vues['erreur'] = 'View/src/pages/Erreur.php'; diff --git a/WEB/Controller/UserController.php b/WEB/Controller/UserController.php index 7a8226f1..f45dc2c7 100644 --- a/WEB/Controller/UserController.php +++ b/WEB/Controller/UserController.php @@ -5,9 +5,10 @@ class UserController function __construct() { try { - global $dsn, $rep, $vues, $error; + global $dsn, $rep, $vues, $error, $server; $action = $_REQUEST['action']; echo $action; + require $rep . $server; switch ($action) { case NULL: $this->goToHome(); @@ -206,12 +207,8 @@ class UserController $model = new UserModel(); $model->addToQueue(); $userGroup = $model->findUserGroup(); - echo ' - - '; + $io = get_io(); + $io->to($userGroup)->emit("launchGame"); } catch (Exception $e) { $error = $e->getMessage(); require($rep . $vues['erreur']); diff --git a/WEB/server.js b/WEB/server.js index 95726aa4..9622cdac 100644 --- a/WEB/server.js +++ b/WEB/server.js @@ -20,7 +20,9 @@ io.on('launchGame' , function () { location.reload(); }) module.exports = { - io : io -}; + get_io: function() { + return io; + } + }; console.log('iolisten'); \ No newline at end of file From ff4d6c84d3e8ddedd36ce26e297b89b9c422fb3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20Garnier?= Date: Wed, 4 Jan 2023 13:01:10 +0100 Subject: [PATCH 3/7] Corection de bug --- WEB/Model/AdminModel.php | 7 +++---- WEB/View/src/JS/Chouette.js | 2 +- WEB/View/src/JS/cesarEncrypt.js | 5 ++--- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/WEB/Model/AdminModel.php b/WEB/Model/AdminModel.php index 147feb63..7190f825 100644 --- a/WEB/Model/AdminModel.php +++ b/WEB/Model/AdminModel.php @@ -91,20 +91,19 @@ async function submit(){ $lesNombres = array(); foreach ($lesOrdres as $ordre) { if ($ordre[1] < 1) { - return false; + throw new Exception("Aucune énigme ne peut avoir un ordre inférieur à 1"); } $lesNombres[] = $ordre[1]; } sort($lesNombres); if ($lesNombres[0] != 1) { - return false; + throw new Exception("La première énigme doit avoir un ordre de 1"); } $last = end($lesNombres); $i = 0; while ($i < $last) { if ($lesNombres[$i] != $i+1) { - echo "Error"; - return false; + throw new Exception("L'ordre des énigmes doit être consécutif"); } $i++; } diff --git a/WEB/View/src/JS/Chouette.js b/WEB/View/src/JS/Chouette.js index 6e5fc2c2..1f107f0b 100644 --- a/WEB/View/src/JS/Chouette.js +++ b/WEB/View/src/JS/Chouette.js @@ -10,7 +10,7 @@ def chouetteVerif(valeur): if (i+j+k) == valeur: res.append([i, j, k]) return res - import random as r + import random as r def test_chouette(n): chouette(1) listTest=[] diff --git a/WEB/View/src/JS/cesarEncrypt.js b/WEB/View/src/JS/cesarEncrypt.js index 8f83e954..4268a506 100644 --- a/WEB/View/src/JS/cesarEncrypt.js +++ b/WEB/View/src/JS/cesarEncrypt.js @@ -2,8 +2,6 @@ async function submit(){ var test = editor.getValue()+`\n -import random as r - def EncryptVerif(text, key): result = "" for i in range(len(text)): @@ -15,7 +13,8 @@ def EncryptVerif(text, key): else: result += chr((ord(char) + key - 97) % 26 + 97) return result - + +import random as r def testEncrypte(x): Encrypt("",1) if(Encrypt("Hello world",2)!="Jgnnq yqtnf"): From f3726312749226a7743b191937c6330c07863d86 Mon Sep 17 00:00:00 2001 From: johan Date: Wed, 4 Jan 2023 13:12:15 +0100 Subject: [PATCH 4/7] changement su chemin du server --- WEB/Config/Config.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WEB/Config/Config.php b/WEB/Config/Config.php index 700dc2c5..38b6d00c 100644 --- a/WEB/Config/Config.php +++ b/WEB/Config/Config.php @@ -39,7 +39,7 @@ $vues['hanoi'] = 'View/src/pages/Enigme/Hanoi.html'; $vues['trianglePascal'] = 'View/src/pages/Enigme/TrianglePascal.html'; $vues['doubleElement'] = 'View/src/pages/Enigme/DoubleElement.html'; // Server -$server = 'server.js'; +$server = './server.js'; //Error $vues['erreur'] = 'View/src/pages/Erreur.php'; From f826bc8aed42f5b9e3d10cdc1827a602608f5d75 Mon Sep 17 00:00:00 2001 From: johan Date: Wed, 4 Jan 2023 13:19:26 +0100 Subject: [PATCH 5/7] corrections --- WEB/Controller/UserController.php | 4 ++-- WEB/server.js | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/WEB/Controller/UserController.php b/WEB/Controller/UserController.php index f45dc2c7..d750dd54 100644 --- a/WEB/Controller/UserController.php +++ b/WEB/Controller/UserController.php @@ -8,7 +8,6 @@ class UserController global $dsn, $rep, $vues, $error, $server; $action = $_REQUEST['action']; echo $action; - require $rep . $server; switch ($action) { case NULL: $this->goToHome(); @@ -207,7 +206,8 @@ class UserController $model = new UserModel(); $model->addToQueue(); $userGroup = $model->findUserGroup(); - $io = get_io(); + $server = require 'server.js'; + $io = $server->io; $io->to($userGroup)->emit("launchGame"); } catch (Exception $e) { $error = $e->getMessage(); diff --git a/WEB/server.js b/WEB/server.js index 9622cdac..0ed47547 100644 --- a/WEB/server.js +++ b/WEB/server.js @@ -19,10 +19,9 @@ io.on('launchGame' , function () { console.log('launch the game'); location.reload(); }) + module.exports = { - get_io: function() { - return io; - } - }; + io: io + }; console.log('iolisten'); \ No newline at end of file From d32c77c3eebd1f4d4bf5eb03e44fdfd8407c52b1 Mon Sep 17 00:00:00 2001 From: johan Date: Wed, 4 Jan 2023 13:28:47 +0100 Subject: [PATCH 6/7] test --- WEB/Controller/UserController.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/WEB/Controller/UserController.php b/WEB/Controller/UserController.php index d750dd54..f3fcf447 100644 --- a/WEB/Controller/UserController.php +++ b/WEB/Controller/UserController.php @@ -1,5 +1,5 @@ addToQueue(); $userGroup = $model->findUserGroup(); - $server = require 'server.js'; - $io = $server->io; + $io = get_io(); $io->to($userGroup)->emit("launchGame"); } catch (Exception $e) { $error = $e->getMessage(); From 67b1e931e31b4e302c16aabc4e39ae5c71616e7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20Garnier?= Date: Wed, 4 Jan 2023 13:29:14 +0100 Subject: [PATCH 7/7] =?UTF-8?q?Corection=20de=20bug=20-=20maj=20de=20l'ord?= =?UTF-8?q?re=20lors=20de=20l'ajout=20d'=C3=A9nigme=20et=20lors=20de=20la?= =?UTF-8?q?=20suppression?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WEB/Model/AdminModel.php | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/WEB/Model/AdminModel.php b/WEB/Model/AdminModel.php index 7190f825..5c696a1a 100644 --- a/WEB/Model/AdminModel.php +++ b/WEB/Model/AdminModel.php @@ -16,7 +16,7 @@ class AdminModel public function addNewEnigmeSolo(string $nom,string $enonce,string $aide,string $rappel,string $exemple,string $test,string $solution, string $prompt) : Enigme { - $last = $this->enigme_gateway->findLastEnigma(); + $last = $this->enigme_gateway->findLastEnigmaByOrdre(); if ($last != null){ $ordre = $last[0]->getOrdre() + 1; } else { @@ -44,11 +44,32 @@ async function submit(){ return $tabEnigme[0]; } + private function majOrdreAfterDelete(int $ordre){ + $lesEnigmes = $this->enigme_gateway->findSoloEnigma(); + if ($lesEnigmes == null) { + return; + } + $lastOrdre = $this->enigme_gateway->findLastEnigmaByOrdre()[0]->getOrdre(); + if ($ordre > $lastOrdre) { + return; + } + foreach ($lesEnigmes as $enigme) { + if ($enigme->getOrdre() <= $ordre) { + continue; + } + $enigme->setOrdre($enigme->getOrdre()-1); + $this->enigme_gateway->update($enigme); + } + } + public function deleteEnigme(int $id) : void { - $nom = $this->enigme_gateway->findById($id)[0]->getNom(); + $enigme = $this->enigme_gateway->findById($id)[0]; + $nom = $enigme->getNom(); + $ordre = $enigme->getOrdre(); $this->enigme_gateway->delete($id); unlink('View/src/JS/'.$nom.'.js'); + $this->majOrdreAfterDelete($ordre); } public function getEnigmesSolo() : array