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

ServeurDeTest
Johan LACHENAL 2 years ago
commit 36e3c6f531

@ -18,6 +18,7 @@ $vues['signUp'] = 'View/src/pages/LogSign/SignUp.php';
$vues['test'] = 'View/src/pages/FirstTests/FirstTest1.html';
$vues['next'] = 'View/src/pages/FirstTests/FirstTest';
$vues['admin'] = 'View/src/pages/Admin/Admin.php';
$vues['addEnigmeSolo'] = 'View/src/pages/Admin/AddEnigmeSolo.php';
$vues['enigmeMultiManager'] = 'View/src/pages/Admin/EnigmeMultiManager.php';
// Enigme
$vues['enigme'] = 'View/src/pages/Enigme/Palindrome.html';

@ -54,11 +54,14 @@ class AdminController extends UserController
case "goToQueue":
$this->goToQueue()();
break;
case "goToAddEnigmeSolo":
$this->goToAddEnigmeSolo()();
break;
case "logout":
$this->logout();
break;
case "addNewEnigme":
$this->addNewEnigme();
case "addNewEnigmeSolo":
$this->addNewEnigmeSolo();
break;
case "goToEnigmeMultiManager":
$this->goToEnigmeMultiManager();
@ -77,16 +80,26 @@ class AdminController extends UserController
}
}
function goToAdmin()
public function goToAdmin()
{
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']);
}
}
public function goToEnigmeMultiManager()
{
@ -99,8 +112,23 @@ class AdminController extends UserController
}
}
function addNewEnigme()
public function addNewEnigmeSolo()
{
try {
global $rep, $vues;
$model = new AdminModel();
$nom = $_POST['nom'];
$enonce = $_POST['enigme'];
$aide = $_POST['aide'];
$rappel = $_POST['rappel'];
$exemple = $_POST['exemple'];
$test = $_POST['test'];
$solution = $_POST['solution'];
$enigme = $model->addNewEnigmeSolo($nom, $enonce, $aide, $rappel, $exemple, $test, $solution);
require($rep . $vues['enigmePage']);
} catch (Exception $e) {
$error = $e->getMessage();
require($rep . $vues['erreur']);
}
}
}

@ -35,13 +35,13 @@ class EnigmeGateway
*/
public function insert(Enigme $enigme)
{
$query = "INSERT INTO Enigme VALUES (:id,:nom,:enonce,:aide,:rappel,:solution,:test,:tempsDeResolution,:points)";
$query = "INSERT INTO Enigme VALUES (NULL,:nom,:enonce,:aide,:rappel,:exemple,:solution,:test,:tempsDeResolution,:points)";
$this->con->executeQuery($query, array(
':id' => array($enigme->getIdEnigme(),SQLITE3_INTEGER),
':nom' => array($enigme->getNom(), SQLITE3_TEXT),
':enonce' => array($enigme->getEnonce(), SQLITE3_TEXT),
':aide' => array($enigme->getAide(), SQLITE3_TEXT),
':rappel' => array($enigme->getRappel(), SQLITE3_TEXT),
':exemple' => array($enigme->getExemple(), SQLITE3_TEXT),
':solution' => array($enigme->getSolution(), SQLITE3_TEXT),
':test' => array($enigme->getTest(), SQLITE3_TEXT),
':tempsDeResolution' => array($enigme->getTempsDeResolution(), SQLITE3_INTEGER),
@ -121,7 +121,14 @@ class EnigmeGateway
$tabEnigme=EnigmeFactory::create($results);
return $tabEnigme;
}
public function findLastEnigma() : array
{
$query = "SELECT * FROM Enigme ORDER BY id DESC LIMIT 1";
$this->con->executequery($query);
$results = $this->con->getResults();
$tabEnigme=EnigmeFactory::create($results);
return $tabEnigme;
}
public function showAll(): void
{
$query = "SELECT * FROM Enigme";

@ -50,7 +50,7 @@ class VisitorController
global $rep, $vues;
require($rep . $vues['main']);
} catch (Exception $e) {
$error = "404";
$error = $e->getMessage();
require($rep . $vues['erreur']);
}
}
@ -60,7 +60,7 @@ class VisitorController
global $rep, $vues;
require($rep . $vues['login']);
} catch (Exception $e) {
$error = "404";
$error = $e->getMessage();
require($rep . $vues['erreur']);
}
}
@ -70,7 +70,7 @@ class VisitorController
global $rep, $vues;
require($rep . $vues['signUp']);
} catch (Exception $e) {
$error = "404";
$error = $e->getMessage();
require($rep . $vues['erreur']);
}
}

@ -0,0 +1,24 @@
<?php
class AdminModel
{
private EnigmeGateway $enigme_gateway;
private Nettoyage $nettoyage;
private Validation $validation;
function __construct()
{
global $error, $view, $rep;
$this->enigme_gateway = new EnigmeGateway();
$this->nettoyage = new Nettoyage();
$this->validation = new Validation();
}
public function addNewEnigmeSolo(string $nom,string $enonce,string $aide,string $rappel,string $exemple,string $test,string $solution) : Enigme
{
$enigme = new Enigme(1,$nom, $enonce, $aide, $rappel, $exemple, $solution, $test);
$this->enigme_gateway->insert($enigme);
$tabEnigme = $this->enigme_gateway->findLastEnigma();
return $tabEnigme[0];
}
}

@ -0,0 +1,70 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Admin</title>
<!-- Required meta tags -->
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
<!-- CSS -->
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU"
crossorigin="anonymous"
/>
</head>
<body class="m-3">
<form action="index.php?action=addNewEnigmeSolo" method="POST">
<div class="col">
<div class="mb-3">
<label for="" class="form-label">Nom</label>
<textarea class="form-control" name="nom" id="nom" rows="3"></textarea>
</div>
</div>
<div class="col">
<div class="mb-3">
<label for="" class="form-label">Enigme</label>
<textarea class="form-control" name="enigme" id="enigme" rows="3"></textarea>
</div>
</div>
<div class="col">
<div class="mb-3">
<label for="" class="form-label">Rappel</label>
<textarea class="form-control" name="rappel" id="rappel" rows="3"></textarea>
</div>
</div>
<div class="col">
<div class="mb-3">
<label for="" class="form-label">Aide</label>
<textarea class="form-control" name="aide" id="aide" rows="3"></textarea>
</div>
</div>
<div class="col">
<div class="mb-3">
<label for="" class="form-label">Exemple</label>
<textarea class="form-control" name="exemple" id="exemple" rows="3"></textarea>
</div>
</div>
<div class="col">
<div class="mb-3">
<label for="" class="form-label">Solution</label>
<textarea class="form-control" name="solution" id="solution" rows="3"></textarea>
</div>
</div>
<div class="col">
<div class="mb-3">
<label for="" class="form-label">Test</label>
<textarea class="form-control" name="test" id="test" rows="3"></textarea>
</div>
</div>
<button class="left" type="submit">
Submit
</button>
</form>
</body>

@ -44,9 +44,6 @@
<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">
<?php
$gateways = new EnigmeGateway();
$tabEnigme = $gateways->findById(1);
$enigme = $tabEnigme[0];
echo $enigme->getNom();
?>
</h2>
@ -138,7 +135,7 @@
type="text/javascript" charset="utf-8"></script>
<script src="View/src/JS/base.js"></script>
<?php
echo '<script src="View/src/JS/' . $enigme->getNom() . '.js"></script>';
// echo '<script src="View/src/JS/' . $enigme->getNom() . '.js"></script>';
?>
</body>

@ -26,8 +26,8 @@ rappel varchar(250),
exemple varchar(250),
solution varchar(250) NOT NULL,
test varchar(250) NOT NULL,
tempsDeResolution numeric CHECK (tempsDeResolution >0),
points numeric CHECK (points >0)
tempsDeResolution numeric CHECK (tempsDeResolution >=0),
points numeric CHECK (points >=0)
);
CREATE TABLE Partie(

Loading…
Cancel
Save