diff --git a/WEB/Controller/AdminController.php b/WEB/Controller/AdminController.php index a363c2b6..eaeb780c 100644 --- a/WEB/Controller/AdminController.php +++ b/WEB/Controller/AdminController.php @@ -82,24 +82,24 @@ class AdminController extends UserController public function goToAdmin() { - try{ + try { global $rep, $vues; - require($rep . $vues['admin']); + require($rep . $vues['admin']); } catch (Exception $e) { $error = $e->getMessage(); require($rep . $vues['erreur']); } } public function goToAddEnigmeSolo() - { - try { - global $rep, $vues; - require($rep . $vues['addEnigmeSolo']); - } catch (Exception $e) { - $error = $e->getMessage(); - require($rep . $vues['erreur']); - } + { + try { + global $rep, $vues; + require($rep . $vues['addEnigmeSolo']); + } catch (Exception $e) { + $error = $e->getMessage(); + require($rep . $vues['erreur']); } + } public function goToEnigmeMultiManager() { @@ -124,6 +124,18 @@ class AdminController extends UserController $exemple = $_POST['exemple']; $test = $_POST['test']; $solution = $_POST['solution']; + if (empty($nom) || empty($enonce) || empty($test) || empty($solution)) { + throw new Exception("Les champs nom, enigme, test et solution doivent être remplis"); + } + if (empty($aide)){ + $aide = "Il n'y a pas d'aide pour cette énigme"; + } + if (empty($rappel)){ + $rappel = "Il n'y a pas de rappel pour cette énigme"; + } + if (empty($exemple)){ + $exemple = "Il n'y a pas d'exemple pour cette énigme"; + } $enigme = $model->addNewEnigmeSolo($nom, $enonce, $aide, $rappel, $exemple, $test, $solution); require($rep . $vues['enigmePage']); } catch (Exception $e) { diff --git a/WEB/Model/AdminModel.php b/WEB/Model/AdminModel.php index 5afdb32b..1d74276c 100644 --- a/WEB/Model/AdminModel.php +++ b/WEB/Model/AdminModel.php @@ -19,6 +19,22 @@ class AdminModel $enigme = new Enigme(1,$nom, $enonce, $aide, $rappel, $exemple, $solution, $test); $this->enigme_gateway->insert($enigme); $tabEnigme = $this->enigme_gateway->findLastEnigma(); + $js = fopen("View/src/JS/$nom.js", "w"); + if (is_resource($js)) { + fwrite($js, "//~ Function that test the user code + +async function submit(){ + var test = editor.getValue()+`\\n\n". $solution . "\n". $test . "\n`; + exec(\"print ('True')\", \"code\"); + exec(test, \"solution\"); + result.innerHTML = \"Test en cours...\"; + await new Promise(r => setTimeout(r, 1500)); + check(); +}"); + fclose($js); + } else { + throw new Exception("Impossible d'ouvrir le fichier"); + } return $tabEnigme[0]; } } \ No newline at end of file diff --git a/WEB/View/src/pages/Admin/AddEnigmeSolo.php b/WEB/View/src/pages/Admin/AddEnigmeSolo.php index a5a5220f..a9e09fc6 100644 --- a/WEB/View/src/pages/Admin/AddEnigmeSolo.php +++ b/WEB/View/src/pages/Admin/AddEnigmeSolo.php @@ -23,13 +23,13 @@
- +
- +
@@ -53,13 +53,13 @@
- +
- +
diff --git a/WEB/View/src/pages/Enigme/EnigmePage.php b/WEB/View/src/pages/Enigme/EnigmePage.php index cf270c6f..ff15afc8 100644 --- a/WEB/View/src/pages/Enigme/EnigmePage.php +++ b/WEB/View/src/pages/Enigme/EnigmePage.php @@ -4,7 +4,11 @@ - Titre + + <?php + echo $enigme->getNom(); + ?> + getNom() . '.js">'; + echo ''; ?> diff --git a/WEB/View/src/pages/Enigme/Palindrome.html b/WEB/View/src/pages/Enigme/Palindrome.html index 13f9cdc5..5879e32e 100644 --- a/WEB/View/src/pages/Enigme/Palindrome.html +++ b/WEB/View/src/pages/Enigme/Palindrome.html @@ -70,7 +70,7 @@ Palindrome

- Écrire une fonction estPalindrome qui prend en argument un + Écrire une fonction estPalindrome(var) qui prend en argument un entier et qui renvoie True si c’est un palindrome et False sinon.