Corection de bug +

Modification de l'ordre des énigme via le site
ServeurDeTest
Noé GARNIER 2 years ago
parent ec72c626e2
commit 5ac97fe309

@ -252,7 +252,7 @@ class AdminController extends UserController
$lesOrdres = []; $lesOrdres = [];
$lesEnigmes=$model->getEnigmesSolo(); $lesEnigmes=$model->getEnigmesSolo();
foreach ($lesEnigmes as $enigme) { foreach ($lesEnigmes as $enigme) {
$lesOrdres[] = array($enigme->getIdEnigme(),$_POST['ordre'.$enigme->getIdEnigme()]); $lesOrdres[] = array($enigme->getIdEnigme(),(int)$_POST['ordre'.$enigme->getIdEnigme()]);
} }
$model->modifOrdre($lesOrdres); $model->modifOrdre($lesOrdres);
echo '<script>alert("L\'ordre a bien été modifier.");</script>'; echo '<script>alert("L\'ordre a bien été modifier.");</script>';

@ -86,13 +86,39 @@ async function submit(){
} }
return $enigme; return $enigme;
} }
private function checkOrdre(array $lesOrdres){
$lesNombres = array();
foreach ($lesOrdres as $ordre) {
if ($ordre[1] < 1) {
return false;
}
$lesNombres[] = $ordre[1];
}
sort($lesNombres);
if ($lesNombres[0] != 1) {
return false;
}
$last = end($lesNombres);
$i = 0;
while ($i < $last) {
if ($lesNombres[$i] != $i+1) {
echo "Error";
return false;
}
$i++;
}
return true;
}
public function modifOrdre(array $lesOrdres){ public function modifOrdre(array $lesOrdres){
$i = 1; if (!$this->checkOrdre($lesOrdres)){
throw new Exception("Les ordres ne sont pas corrects");
}
foreach ($lesOrdres as $ordre){ foreach ($lesOrdres as $ordre){
$enigme = $this->enigme_gateway->findById($ordre)[0]; $enigme = $this->enigme_gateway->findById($ordre[0])[0];
$enigme->setOrdre($i); $enigme->setOrdre($ordre[1]);
$this->enigme_gateway->update($enigme); $this->enigme_gateway->update($enigme);
$i++;
} }
} }
} }

@ -21,13 +21,13 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<a class="btn btn-primary m-3" href="index.php?action=modifOrdre" role="button">Retour</a> <a class="btn btn-primary m-3" href="index.php?action=goToSeeOrdre" role="button">Retour</a>
<h1>Ordre des énigmes</h1> <h1>Ordre des énigmes</h1>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<form action="" method="POST"> <form action="index?action=modifOrdre" method="POST">
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>

Loading…
Cancel
Save