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 f542e3d239

@ -82,24 +82,24 @@ class AdminController extends UserController
public function goToAdmin() public function goToAdmin()
{ {
try{ try {
global $rep, $vues; global $rep, $vues;
require($rep . $vues['admin']); require($rep . $vues['admin']);
} catch (Exception $e) { } catch (Exception $e) {
$error = $e->getMessage(); $error = $e->getMessage();
require($rep . $vues['erreur']); require($rep . $vues['erreur']);
} }
} }
public function goToAddEnigmeSolo() public function goToAddEnigmeSolo()
{ {
try { try {
global $rep, $vues; global $rep, $vues;
require($rep . $vues['addEnigmeSolo']); require($rep . $vues['addEnigmeSolo']);
} catch (Exception $e) { } catch (Exception $e) {
$error = $e->getMessage(); $error = $e->getMessage();
require($rep . $vues['erreur']); require($rep . $vues['erreur']);
}
} }
}
public function goToEnigmeMultiManager() public function goToEnigmeMultiManager()
{ {
@ -124,6 +124,18 @@ class AdminController extends UserController
$exemple = $_POST['exemple']; $exemple = $_POST['exemple'];
$test = $_POST['test']; $test = $_POST['test'];
$solution = $_POST['solution']; $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); $enigme = $model->addNewEnigmeSolo($nom, $enonce, $aide, $rappel, $exemple, $test, $solution);
require($rep . $vues['enigmePage']); require($rep . $vues['enigmePage']);
} catch (Exception $e) { } catch (Exception $e) {

@ -19,6 +19,22 @@ class AdminModel
$enigme = new Enigme(1,$nom, $enonce, $aide, $rappel, $exemple, $solution, $test); $enigme = new Enigme(1,$nom, $enonce, $aide, $rappel, $exemple, $solution, $test);
$this->enigme_gateway->insert($enigme); $this->enigme_gateway->insert($enigme);
$tabEnigme = $this->enigme_gateway->findLastEnigma(); $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]; return $tabEnigme[0];
} }
} }

@ -23,13 +23,13 @@
<div class="col"> <div class="col">
<div class="mb-3"> <div class="mb-3">
<label for="" class="form-label">Nom</label> <label for="" class="form-label">Nom</label>
<textarea class="form-control" name="nom" id="nom" rows="3"></textarea> <textarea class="form-control" name="nom" id="nom" rows="3" required></textarea>
</div> </div>
</div> </div>
<div class="col"> <div class="col">
<div class="mb-3"> <div class="mb-3">
<label for="" class="form-label">Enigme</label> <label for="" class="form-label">Enigme</label>
<textarea class="form-control" name="enigme" id="enigme" rows="3"></textarea> <textarea class="form-control" name="enigme" id="enigme" rows="3" required></textarea>
</div> </div>
</div> </div>
<div class="col"> <div class="col">
@ -53,13 +53,13 @@
<div class="col"> <div class="col">
<div class="mb-3"> <div class="mb-3">
<label for="" class="form-label">Solution</label> <label for="" class="form-label">Solution</label>
<textarea class="form-control" name="solution" id="solution" rows="3"></textarea> <textarea class="form-control" name="solution" id="solution" rows="3" required></textarea>
</div> </div>
</div> </div>
<div class="col"> <div class="col">
<div class="mb-3"> <div class="mb-3">
<label for="" class="form-label">Test</label> <label for="" class="form-label">Test</label>
<textarea class="form-control" name="test" id="test" rows="3"></textarea> <textarea class="form-control" name="test" id="test" rows="3" required></textarea>
<!-- <div class="ace rounded" id="editor" name="test"></div> --> <!-- <div class="ace rounded" id="editor" name="test"></div> -->
</div> </div>
</div> </div>

@ -4,7 +4,11 @@
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Titre</title> <title>
<?php
echo $enigme->getNom();
?>
</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css" <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css"
integrity="sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I" crossorigin="anonymous" /> integrity="sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I" crossorigin="anonymous" />
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
@ -44,30 +48,30 @@
<div class="col-3 rounded p-3" style="background-color: #222831; min-height: 80vh; height: auto"> <div class="col-3 rounded p-3" style="background-color: #222831; min-height: 80vh; height: auto">
<h2 class="text-left py-3" style="color: #44fff6; font-weight: 500"> <h2 class="text-left py-3" style="color: #44fff6; font-weight: 500">
<?php <?php
echo $enigme->getNom(); echo $enigme->getNom();
?> ?>
</h2> </h2>
<p> <p>
<?php <?php
echo $enigme->getEnonce(); echo $enigme->getEnonce();
?> ?>
</p> </p>
<h3 class="text-left pb-3 pt-5" style="color: #44fff6">Rappel</h3> <h3 class="text-left pb-3 pt-5" style="color: #44fff6">Rappel</h3>
<p> <p>
<?php <?php
echo $enigme->getRappel(); echo $enigme->getRappel();
?> ?>
</p> </p>
<h3 class="text-left pb-3 pt-5" style="color: #44fff6">Exemple</h3> <h3 class="text-left pb-3 pt-5" style="color: #44fff6">Exemple</h3>
<p> <p>
<?php <?php
echo $enigme->getExemple(); echo $enigme->getExemple();
?> ?>
</p> </p>
<h3 class="text-left pb-3 pt-5 help" style="color: #44fff6; display: none">Aide</h3> <h3 class="text-left pb-3 pt-5 help" style="color: #44fff6; display: none">Aide</h3>
<p style="display: none" class="help"> <p style="display: none" class="help">
<?php <?php
echo $enigme->getAide(); echo $enigme->getAide();
?> ?>
</p> </p>
</div> </div>
@ -75,8 +79,7 @@
<!-- Second Column --> <!-- Second Column -->
<div class="col-5 pr-0"> <div class="col-5 pr-0">
<div class="ace rounded" id="editor"> <div class="ace rounded" id="editor"></div>
</div>
</div> </div>
<!-- End Second Column --> <!-- End Second Column -->
@ -135,7 +138,7 @@
type="text/javascript" charset="utf-8"></script> type="text/javascript" charset="utf-8"></script>
<script src="View/src/JS/base.js"></script> <script src="View/src/JS/base.js"></script>
<?php <?php
// echo '<script src="View/src/JS/' . $enigme->getNom() . '.js"></script>'; echo '<script src="View/src/JS/' . $enigme->getNom() . '.js"></script>';
?> ?>
</body> </body>

@ -70,7 +70,7 @@
Palindrome Palindrome
</h2> </h2>
<p> <p>
Écrire une fonction <b style="color: violet;">estPalindrome</b> qui prend en argument un Écrire une fonction <b style="color: violet;">estPalindrome(var)</b> qui prend en argument un
<b style="color:#44fff6">entier</b> et <b style="color:#44fff6">entier</b> et
qui renvoie <b style="color: green;">True</b> si cest un palindrome et <b style="color: red;">False</b> sinon. qui renvoie <b style="color: green;">True</b> si cest un palindrome et <b style="color: red;">False</b> sinon.
</p> </p>

Loading…
Cancel
Save