@ -36,7 +36,9 @@ class ControllerAdminQuestions
echo $twig->render($vues["adminQuestions"], [
echo $twig->render($vues["adminQuestions"], [
'questions' => $questions,
'questions' => $questions,
'chapters' => $chapters,
'chapters' => $chapters,
'error' => $_SESSION["error"],
]);
]);
$_SESSION["error"] = null;
} else {
} else {
header("Location:/loginAdmin");
header("Location:/loginAdmin");
}
}
@ -55,106 +57,147 @@ class ControllerAdminQuestions
function add($param)
function add($param)
{
{
$content = $_POST['content'];
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
$idChapter = intval($_POST['idChapter']);
$_SESSION["error"] = "Méthode non autorisée.";
$AnswersPost = array();
header("Location:/admin/questions");
$AnswersPost[0] = $_POST['answer1'];
} else {
$AnswersPost[1] = $_POST['answer2'];
$trimmedContent = trim($_POST['content']);
$AnswersPost[2] = $_POST['answer3'];
$trimmedAnswer1 = trim($_POST['answer1']);
$AnswersPost[3] = $_POST['answer4'];
$trimmedAnswer2 = trim($_POST['answer2']);
$correctAnswer = intval($_POST['correctAnswer']);
$trimmedAnswer3 = trim($_POST['answer3']);
$trimmedAnswer4 = trim($_POST['answer4']);
$Question = [
if (
'content' => $content,
isset($_POST['content']) & & !empty($_POST['content']) & & !empty($trimmedContent)
'idchapter' => $idChapter,
& & isset($_POST['answer1']) & & !empty($_POST['answer1']) & & !empty($trimmedAnswer1)
'idanswergood' => $correctAnswer,
& & isset($_POST['answer2']) & & !empty($_POST['answer2']) & & !empty($trimmedAnswer2)
'difficulty' => 1,
& & isset($_POST['answer3']) & & !empty($_POST['answer3']) & & !empty($trimmedAnswer3)
'nbfails' => 0,
& & isset($_POST['answer4']) & & !empty($_POST['answer4']) & & !empty($trimmedAnswer4)
];
) {
$content = $_POST['content'];
$idquestion = intval($this->mdQuestion->addQuestion($Question));
$idChapter = intval($_POST['idChapter']);
$AnswersPost = array();
for ($i = 0; $i < = 3; $i++) {
$AnswersPost[0] = $_POST['answer1'];
$Answers[] = [
$AnswersPost[1] = $_POST['answer2'];
'content' => $AnswersPost[$i],
$AnswersPost[2] = $_POST['answer3'];
'idquestion' => $idquestion,
$AnswersPost[3] = $_POST['answer4'];
];
$correctAnswer = intval($_POST['correctAnswer']);
}
$Question = [
'content' => $content,
$answersId = array();
'idchapter' => $idChapter,
for ($i = 0; $i < = 3; $i++) {
'idanswergood' => $correctAnswer,
$answersId[$i] = $this->mdAnswer->addAnswer($Answers[$i]);
'difficulty' => 1,
'nbfails' => 0,
];
$idquestion = intval($this->mdQuestion->addQuestion($Question));
for ($i = 0; $i < = 3; $i++) {
$Answers[] = [
'content' => $AnswersPost[$i],
'idquestion' => $idquestion,
];
}
$answersId = array();
for ($i = 0; $i < = 3; $i++) {
$answersId[$i] = $this->mdAnswer->addAnswer($Answers[$i]);
}
$Question = [
'content' => $content,
'idchapter' => $idChapter,
'difficulty' => 1,
'nbfails' => 0,
'idanswergood' => $answersId[$correctAnswer],
];
$this->mdQuestion->updateQuestion($idquestion, $Question);
header("Location:/admin/questions");
} else {
$_SESSION["error"] = "Veuillez remplir tous les champs";
header("Location:/admin/questions");
}
}
}
$Question = [
'content' => $content,
'idchapter' => $idChapter,
'difficulty' => 1,
'nbfails' => 0,
'idanswergood' => $answersId[$correctAnswer],
];
$this->mdQuestion->updateQuestion($idquestion, $Question);
header("Location:/admin/questions");
}
}
function updatemodal($param)
function updatemodal($param)
{
{
$question = $this->mdQuestion->getQuestionByID($param["id"]);
$answers = $this->mdAnswer->getAnswersByIDQuestions($param["id"]);
$question = $this->mdQuestion->getQuestionByID($param["id"]) ?? null;
$answers = $this->mdAnswer->getAnswersByIDQuestions($param["id"]) ?? null;
$chapters = $this->mdChapter->getChapters() ?? null;
$chapters = $this->mdChapter->getChapters();
if ($question == null || $answers == null || $chapters == null) {
$_SESSION["error"] = "Erreur lors de la récupération des données";
header("Location:/admin/questions");
} else {
echo $this->twig->render($this->vues["adminQuestionsModal"], [
echo $this->twig->render($this->vues["adminQuestionsModal"], [
'question' => $question,
'question' => $question,
'chapters' => $chapters,
'chapters' => $chapters,
'answers' => $answers,
'answers' => $answers,
]);
]);
}
}
}
function update($param)
function update($param)
{
{
if (
$id = intval($_POST['id']);
isset($_POST['content'], $_POST['answer1'], $_POST['answer2'], $_POST['answer3'], $_POST['answer4'], $_POST['idChapter'], $_POST['correctAnswer']) & &
$content = $_POST['content'];
!empty($_POST['content']) & & !empty(trim($_POST['content'])) & &
$idChapter = intval($_POST['idChapter']);
!empty($_POST['answer1']) & & !empty(trim($_POST['answer1'])) & &
$correctAnswer = intval($_POST['correctAnswer']);
!empty($_POST['answer2']) & & !empty(trim($_POST['answer2'])) & &
!empty($_POST['answer3']) & & !empty(trim($_POST['answer3'])) & &
$answersId = array();
!empty($_POST['answer4']) & & !empty(trim($_POST['answer4'])) & &
$answersId[0] = intval($_POST['IdAnswer1']);
!empty($_POST['idChapter']) & &
$answersId[1] = intval($_POST['IdAnswer2']);
is_numeric($_POST['correctAnswer']) & & $_POST['correctAnswer'] >= 0 & & $_POST['correctAnswer'] < = 3
$answersId[2] = intval($_POST['IdAnswer3']);
) {
$answersId[3] = intval($_POST['IdAnswer4']);
$id = intval($_POST['id']);
$content = $_POST['content'];
$answers = array();
$idChapter = intval($_POST['idChapter']);
$answers[0] = $_POST['answer1'];
$correctAnswer = intval($_POST['correctAnswer']);
$answers[1] = $_POST['answer2'];
$answers[2] = $_POST['answer3'];
$answersId = array();
$answers[3] = $_POST['answer4'];
$answersId[0] = intval($_POST['IdAnswer1']);
$answersId[1] = intval($_POST['IdAnswer2']);
$answersId[2] = intval($_POST['IdAnswer3']);
$questionDataArray = [
$answersId[3] = intval($_POST['IdAnswer4']);
'content' => $content,
'idchapter' => $idChapter,
$answers = array();
'idanswergood' => $answersId[$correctAnswer],
$answers[0] = $_POST['answer1'];
];
$answers[1] = $_POST['answer2'];
$answers[2] = $_POST['answer3'];
$this->mdQuestion->updateQuestion($id, $questionDataArray);
$answers[3] = $_POST['answer4'];
for ($i = 0; $i < = 3; $i++) {
$answersDataArray[] = [
$questionDataArray = [
'content' => $answers[$i],
'content' => $content,
'id' => $id,
'idchapter' => $idChapter,
'idanswergood' => $answersId[$correctAnswer],
];
];
}
for ($i = 0; $i < = 3; $i++) {
$this->mdQuestion->updateQuestion($id, $questionDataArray);
$this->mdAnswer->updateAnswer($answersId[$i], $answersDataArray[$i]);
}
header("Location:/admin/questions");
for ($i = 0; $i < = 3; $i++) {
$answersDataArray[] = [
'content' => $answers[$i],
'id' => $id,
];
}
for ($i = 0; $i < = 3; $i++) {
$this->mdAnswer->updateAnswer($answersId[$i], $answersDataArray[$i]);
}
header("Location:/admin/questions");
} else {
$_SESSION["error"] = "Veuillez remplir tous les champs";
header("Location:/admin/questions");
}
}
}
}
}