diff --git a/WEB/Config/Config.php b/WEB/Config/Config.php index e422dc44..38b6d00c 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..f3fcf447 100644 --- a/WEB/Controller/UserController.php +++ b/WEB/Controller/UserController.php @@ -1,11 +1,11 @@ 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/Model/AdminModel.php b/WEB/Model/AdminModel.php index 147feb63..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 @@ -91,20 +112,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/cesarEncrypt.js b/WEB/View/src/JS/CesarEncrypt.js similarity index 99% rename from WEB/View/src/JS/cesarEncrypt.js rename to 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"): 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/server.js b/WEB/server.js index 95726aa4..0ed47547 100644 --- a/WEB/server.js +++ b/WEB/server.js @@ -19,8 +19,9 @@ io.on('launchGame' , function () { console.log('launch the game'); location.reload(); }) + module.exports = { - io : io -}; + io: io + }; console.log('iolisten'); \ No newline at end of file