Merge branch 'master' of https://codefirst.iut.uca.fr/git/nathan.boileau/Scripted
continuous-integration/drone/push Build is passing Details

ServeurDeTest
nathan boileau 2 years ago
commit ac6890ba1a

@ -38,6 +38,8 @@ $vues['chuckNorris'] = 'View/src/pages/Enigme/ChuckNorris.html';
$vues['hanoi'] = 'View/src/pages/Enigme/Hanoi.html'; $vues['hanoi'] = 'View/src/pages/Enigme/Hanoi.html';
$vues['trianglePascal'] = 'View/src/pages/Enigme/TrianglePascal.html'; $vues['trianglePascal'] = 'View/src/pages/Enigme/TrianglePascal.html';
$vues['doubleElement'] = 'View/src/pages/Enigme/DoubleElement.html'; $vues['doubleElement'] = 'View/src/pages/Enigme/DoubleElement.html';
// Server
$server = './server.js';
//Error //Error
$vues['erreur'] = 'View/src/pages/Erreur.php'; $vues['erreur'] = 'View/src/pages/Erreur.php';

@ -1,11 +1,11 @@
<?php <?php
require("server.js");
class UserController class UserController
{ {
function __construct() function __construct()
{ {
try { try {
global $dsn, $rep, $vues, $error; global $dsn, $rep, $vues, $error, $server;
$action = $_REQUEST['action']; $action = $_REQUEST['action'];
echo $action; echo $action;
switch ($action) { switch ($action) {
@ -206,12 +206,8 @@ class UserController
$model = new UserModel(); $model = new UserModel();
$model->addToQueue(); $model->addToQueue();
$userGroup = $model->findUserGroup(); $userGroup = $model->findUserGroup();
echo ' $io = get_io();
<script> $io->to($userGroup)->emit("launchGame");
const socket = io();
io.to("'.$userGroup.'").emit("launchGame", {});
</script>
';
} catch (Exception $e) { } catch (Exception $e) {
$error = $e->getMessage(); $error = $e->getMessage();
require($rep . $vues['erreur']); require($rep . $vues['erreur']);

@ -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 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){ if ($last != null){
$ordre = $last[0]->getOrdre() + 1; $ordre = $last[0]->getOrdre() + 1;
} else { } else {
@ -44,11 +44,32 @@ async function submit(){
return $tabEnigme[0]; 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 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); $this->enigme_gateway->delete($id);
unlink('View/src/JS/'.$nom.'.js'); unlink('View/src/JS/'.$nom.'.js');
$this->majOrdreAfterDelete($ordre);
} }
public function getEnigmesSolo() : array public function getEnigmesSolo() : array
@ -91,20 +112,19 @@ async function submit(){
$lesNombres = array(); $lesNombres = array();
foreach ($lesOrdres as $ordre) { foreach ($lesOrdres as $ordre) {
if ($ordre[1] < 1) { if ($ordre[1] < 1) {
return false; throw new Exception("Aucune énigme ne peut avoir un ordre inférieur à 1");
} }
$lesNombres[] = $ordre[1]; $lesNombres[] = $ordre[1];
} }
sort($lesNombres); sort($lesNombres);
if ($lesNombres[0] != 1) { if ($lesNombres[0] != 1) {
return false; throw new Exception("La première énigme doit avoir un ordre de 1");
} }
$last = end($lesNombres); $last = end($lesNombres);
$i = 0; $i = 0;
while ($i < $last) { while ($i < $last) {
if ($lesNombres[$i] != $i+1) { if ($lesNombres[$i] != $i+1) {
echo "Error"; throw new Exception("L'ordre des énigmes doit être consécutif");
return false;
} }
$i++; $i++;
} }

@ -2,8 +2,6 @@
async function submit(){ async function submit(){
var test = editor.getValue()+`\n var test = editor.getValue()+`\n
import random as r
def EncryptVerif(text, key): def EncryptVerif(text, key):
result = "" result = ""
for i in range(len(text)): for i in range(len(text)):
@ -16,6 +14,7 @@ def EncryptVerif(text, key):
result += chr((ord(char) + key - 97) % 26 + 97) result += chr((ord(char) + key - 97) % 26 + 97)
return result return result
import random as r
def testEncrypte(x): def testEncrypte(x):
Encrypt("",1) Encrypt("",1)
if(Encrypt("Hello world",2)!="Jgnnq yqtnf"): if(Encrypt("Hello world",2)!="Jgnnq yqtnf"):

@ -19,6 +19,7 @@ io.on('launchGame' , function () {
console.log('launch the game'); console.log('launch the game');
location.reload(); location.reload();
}) })
module.exports = { module.exports = {
io: io io: io
}; };

Loading…
Cancel
Save