"add a question" with java script front-end
continuous-integration/drone/push Build is passing Details

LoginModification
Alexis 2 years ago
parent e7e2fd4e97
commit 8ca6d3d021

@ -17,7 +17,19 @@ class GatewayQuestion
$this->connection = connect(); $this->connection = connect();
} }
public function insertQuestion(Question $question, int $idForm): void public function addQuestion(Question $question, int $idForm): int
{
$query = "INSERT INTO Question(content, type, form) VALUES(:content, :type, :form)";
$this->connection->executeQuery($query, array(
':content' => array($question->getContent(), PDO::PARAM_STR),
':type' => array(get_class($question), PDO::PARAM_STR),
':form' => array($idForm, PDO::PARAM_INT)
));
return $this->connection->lastInsertId();
}
public function insertQuestion(Question $question, int $idForm): int
{ {
$gatewayPossibleResponse = new GatewayPossibleResponse(); $gatewayPossibleResponse = new GatewayPossibleResponse();
@ -31,6 +43,7 @@ class GatewayQuestion
$idQuestion = $this->connection->lastInsertId(); $idQuestion = $this->connection->lastInsertId();
if (get_class($question) != TextQuestion::class) { if (get_class($question) != TextQuestion::class) {
var_dump($question);
$listPossibleResponse = $question->getPossibleResponses(); $listPossibleResponse = $question->getPossibleResponses();
for ($i = 0; $i < count($listPossibleResponse); $i++) { for ($i = 0; $i < count($listPossibleResponse); $i++) {
@ -51,6 +64,7 @@ class GatewayQuestion
} }
} }
return $idQuestion;
} }
public function deleteQuestion(Question $question): void public function deleteQuestion(Question $question): void

@ -20,7 +20,7 @@ abstract class BoxQuestion extends Question
$this->possibleResponses = $args[0]; $this->possibleResponses = $args[0];
break; break;
case 2: case 2:
parent::__construct($args[3], $args[1]); parent::__construct($args[0], $args[1]);
break; break;
default: default:
break; break;

@ -14,7 +14,7 @@ class ListBoxQuestion extends BoxQuestion
parent::__construct($args[0], $args[2], $args[3], $args[1]); parent::__construct($args[0], $args[2], $args[3], $args[1]);
break; break;
case 2: case 2:
parent::__construct($args[3], $args[1]); parent::__construct($args[0], $args[1]);
break; break;
default: default:
break; break;

@ -8,10 +8,13 @@ class ControllerAdmin
{ {
public function addQuestion(): void public function addQuestion(): void
{ {
$id = $_POST['id']; $idQuestion = (new ModelAdmin())->addQuestion();
(new ModelAdmin())->addQuestion($id);
}
if($idQuestion != -1)
$_POST['idQuestion'] = $idQuestion;
else
$_POST['idQuestion'] = null;
}
public function chooseQuestionAndType(): void public function chooseQuestionAndType(): void
{ {
@ -24,8 +27,6 @@ class ControllerAdmin
require_once($rep.$views['possibleResponsesForm']); require_once($rep.$views['possibleResponsesForm']);
} }
public function createForm(): void public function createForm(): void
{ {
(new ModelAdmin())->createForm(); (new ModelAdmin())->createForm();

@ -40,18 +40,19 @@ class ModelAdmin
} }
}*/ }*/
public function addQuestion(int|null $id): void public function addQuestion(): int
{ {
$questionContent = $_POST['question']; $questionContent = $_POST['question'];
$type = $_POST['type']; $type = $_POST['type'];
$question = new $type($questionContent, 0); $question = new $type(0, $questionContent);
$form = (new GatewayForm())->getForm(); $form = (new GatewayForm())->getForm();
if (!empty($form)) { if (!empty($form)) {
(new GatewayQuestion())->insertQuestion($question, $form[0]['id']); return (new GatewayQuestion())->addQuestion($question, $form[0]['id']);
} }
return -1;
} }
public function createForm(): void public function createForm(): void

@ -108,7 +108,7 @@
<div id="questionText"> <div id="questionText">
<label for="question">Écrivez la question : </label> <label for="question">Écrivez la question : </label>
<br> <br>
<input id ="question" name="question" type="text" size="100"> <input id="question" name="question" type="text" size="100">
</div> </div>
<div> <div>
<br><br> <br><br>

Loading…
Cancel
Save