From 73bb80848544e468aa878455b483bacd2d9c36b5 Mon Sep 17 00:00:00 2001 From: Alexis Date: Mon, 30 Jan 2023 07:53:45 +0100 Subject: [PATCH] Add PrintStrategy implementation for TextQuestion, YesNoQuestion and CheckBoxQuestion --- Source/BusinessClass/BoxQuestion.php | 2 +- Source/BusinessClass/CheckBoxQuestion.php | 18 +++++++++-- .../BusinessClass/IPrintQuestionStrategy.php | 2 +- Source/BusinessClass/ListBoxQuestion.php | 2 +- Source/BusinessClass/Question.php | 2 +- Source/BusinessClass/TextQuestion.php | 13 ++++++-- Source/BusinessClass/YesNoQuestion.php | 11 +++++-- Source/Config/config.php | 1 + Source/Views/HTML/form.php | 32 ++----------------- 9 files changed, 43 insertions(+), 40 deletions(-) diff --git a/Source/BusinessClass/BoxQuestion.php b/Source/BusinessClass/BoxQuestion.php index 054d877..b8e0fb7 100644 --- a/Source/BusinessClass/BoxQuestion.php +++ b/Source/BusinessClass/BoxQuestion.php @@ -20,7 +20,7 @@ abstract class BoxQuestion extends Question public abstract function responseStrategy(); - public abstract function printStrategy(); + public abstract function printStrategy(): string; /** * @return array diff --git a/Source/BusinessClass/CheckBoxQuestion.php b/Source/BusinessClass/CheckBoxQuestion.php index 98107d4..c79afdf 100644 --- a/Source/BusinessClass/CheckBoxQuestion.php +++ b/Source/BusinessClass/CheckBoxQuestion.php @@ -19,8 +19,22 @@ class CheckBoxQuestion extends BoxQuestion // TODO: Implement responseStrategy() method. } - public function printStrategy() + public function printStrategy(): string { - // TODO: Implement printStrategy() method. + $content = $this->getContent(); + $possibleResponses = $this->getPossibleResponses(); + $categories = $this->getCategories(); + + $html = "
+ "; + + for($i = 0; $i < count($possibleResponses); $i++) + { + $html.= " + "; + } + $html.= "
"; + + return $html; } } \ No newline at end of file diff --git a/Source/BusinessClass/IPrintQuestionStrategy.php b/Source/BusinessClass/IPrintQuestionStrategy.php index 9c38c24..cfda612 100644 --- a/Source/BusinessClass/IPrintQuestionStrategy.php +++ b/Source/BusinessClass/IPrintQuestionStrategy.php @@ -4,5 +4,5 @@ namespace FORM_BusinessClass; interface IPrintQuestionStrategy { - public function printStrategy(); + public function printStrategy(): string; } \ No newline at end of file diff --git a/Source/BusinessClass/ListBoxQuestion.php b/Source/BusinessClass/ListBoxQuestion.php index 8abad2c..3ce94b1 100644 --- a/Source/BusinessClass/ListBoxQuestion.php +++ b/Source/BusinessClass/ListBoxQuestion.php @@ -19,7 +19,7 @@ class ListBoxQuestion extends BoxQuestion // TODO: Implement responseStrategy() method. } - public function printStrategy() + public function printStrategy(): string { // TODO: Implement printStrategy() method. } diff --git a/Source/BusinessClass/Question.php b/Source/BusinessClass/Question.php index e5e80c9..97e9958 100644 --- a/Source/BusinessClass/Question.php +++ b/Source/BusinessClass/Question.php @@ -19,7 +19,7 @@ abstract class Question implements IResponseProcessingStrategy, IPrintQuestionSt public abstract function responseStrategy(); - public abstract function printStrategy(); + public abstract function printStrategy(): string; /** * @return string diff --git a/Source/BusinessClass/TextQuestion.php b/Source/BusinessClass/TextQuestion.php index c3ad4b1..a9465f8 100644 --- a/Source/BusinessClass/TextQuestion.php +++ b/Source/BusinessClass/TextQuestion.php @@ -18,8 +18,15 @@ class TextQuestion extends Question // TODO: Implement responseStrategy() method. } - public function printStrategy() - { - // TODO: Implement printStrategy() method. + /** + * @return string + */ + public function printStrategy(): string // Possibilité de rajouter l'id de la question en parametre + { // pour la mettre en id du input afin de la lier à ça question + $content = $this->getContent(); + return "
+ + +
"; } } \ No newline at end of file diff --git a/Source/BusinessClass/YesNoQuestion.php b/Source/BusinessClass/YesNoQuestion.php index e632fc6..d610901 100644 --- a/Source/BusinessClass/YesNoQuestion.php +++ b/Source/BusinessClass/YesNoQuestion.php @@ -18,8 +18,15 @@ class YesNoQuestion extends Question // TODO: Implement responseStrategy() method } - public function printStrategy() + public function printStrategy(): string { - // TODO: Implement printStrategy() method. + $content = $this->getContent(); + return "
+ + +
"; } } \ No newline at end of file diff --git a/Source/Config/config.php b/Source/Config/config.php index b7e538f..189a127 100644 --- a/Source/Config/config.php +++ b/Source/Config/config.php @@ -7,3 +7,4 @@ $login=""; $password=""; $views['form'] = 'Views/HTML/form.php'; +$views['textQuestion'] = 'Views/HTML/TextQuestion.js'; diff --git a/Source/Views/HTML/form.php b/Source/Views/HTML/form.php index 85b166c..0d4049f 100644 --- a/Source/Views/HTML/form.php +++ b/Source/Views/HTML/form.php @@ -2,8 +2,7 @@ - - + @@ -18,34 +17,9 @@
+ -
- -

Vos informations :

- - - -

Votre statut :

- - -
- - -
- -

Votre témoignage :

- - - - - - -
+ ?>