From 707fbbf062a35e4c92e4711a302c59b0d034224f Mon Sep 17 00:00:00 2001 From: alexi Date: Tue, 31 Jan 2023 15:47:11 +0100 Subject: [PATCH] Remove "$categories" from TextQuestion class --- Source/BusinessClass/BoxQuestion.php | 20 ++++++++++++++- Source/BusinessClass/ListBoxQuestion.php | 7 +++++- Source/BusinessClass/Question.php | 22 +--------------- Source/BusinessClass/TextQuestion.php | 6 ++--- Source/BusinessClass/YesNoQuestion.php | 32 ------------------------ Source/Model/ModelCandidate.php | 8 +++--- 6 files changed, 33 insertions(+), 62 deletions(-) delete mode 100644 Source/BusinessClass/YesNoQuestion.php diff --git a/Source/BusinessClass/BoxQuestion.php b/Source/BusinessClass/BoxQuestion.php index a881256..f8d6384 100644 --- a/Source/BusinessClass/BoxQuestion.php +++ b/Source/BusinessClass/BoxQuestion.php @@ -6,6 +6,7 @@ abstract class BoxQuestion extends Question { private array $possibleResponses; // un dictionnaire qui associe chaque réponse // possible à un ou plusieurs objets Category + private array $categories; /** * @param array $possibleResponses @@ -14,7 +15,8 @@ abstract class BoxQuestion extends Question */ public function __construct(array $possibleResponses, string $content, array $categories) { - parent::__construct($content, $categories); + parent::__construct($content); + $this->categories = $categories; $this->possibleResponses = $possibleResponses; } @@ -37,4 +39,20 @@ abstract class BoxQuestion extends Question { $this->possibleResponses = $possibleResponses; } + + /** + * @return array + */ + public function getCategories(): array + { + return $this->categories; + } + + /** + * @param array $categories + */ + public function setCategories(array $categories): void + { + $this->categories = $categories; + } } \ No newline at end of file diff --git a/Source/BusinessClass/ListBoxQuestion.php b/Source/BusinessClass/ListBoxQuestion.php index e28d39e..e93673f 100644 --- a/Source/BusinessClass/ListBoxQuestion.php +++ b/Source/BusinessClass/ListBoxQuestion.php @@ -31,7 +31,12 @@ class ListBoxQuestion extends BoxQuestion for($i = 0; $i < count($possibleResponses); $i++) { - $html.= "\t\t\t\t\t\n"; + $categoriesSplit = "_"; + foreach ($categories[$i] as $category) + { + $categoriesSplit.= $category."_"; + } + $html.= "\t\t\t\t\t\n"; } $html.= "\t\t\t\t \n"; diff --git a/Source/BusinessClass/Question.php b/Source/BusinessClass/Question.php index fb47bc3..c40733f 100644 --- a/Source/BusinessClass/Question.php +++ b/Source/BusinessClass/Question.php @@ -5,16 +5,12 @@ namespace BusinessClass; abstract class Question implements IResponseProcessingStrategy, IPrintQuestionStrategy { private string $content; - private array $categories; // Liste d'objets Category - /** * @param string $content - * @param array $categories */ - public function __construct(string $content, array $categories) + public function __construct(string $content) { $this->content = $content; - $this->categories = $categories; } public abstract function responseStrategy(); @@ -36,20 +32,4 @@ abstract class Question implements IResponseProcessingStrategy, IPrintQuestionSt { $this->content = $content; } - - /** - * @return array - */ - public function getCategories(): array - { - return $this->categories; - } - - /** - * @param array $categories - */ - public function setCategories(array $categories): void - { - $this->categories = $categories; - } } \ No newline at end of file diff --git a/Source/BusinessClass/TextQuestion.php b/Source/BusinessClass/TextQuestion.php index ab82e0d..3f81dfd 100644 --- a/Source/BusinessClass/TextQuestion.php +++ b/Source/BusinessClass/TextQuestion.php @@ -6,11 +6,10 @@ class TextQuestion extends Question { /** * @param string $content - * @param array $categories */ - public function __construct(string $content, array $categories) + public function __construct(string $content) { - parent::__construct($content, $categories); + parent::__construct($content); } public function responseStrategy() @@ -24,6 +23,7 @@ class TextQuestion extends Question 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 "\t\t\t
diff --git a/Source/BusinessClass/YesNoQuestion.php b/Source/BusinessClass/YesNoQuestion.php deleted file mode 100644 index 06d649e..0000000 --- a/Source/BusinessClass/YesNoQuestion.php +++ /dev/null @@ -1,32 +0,0 @@ -getContent(); - return "\t\t\t
- - -
\n"; - } -} \ No newline at end of file diff --git a/Source/Model/ModelCandidate.php b/Source/Model/ModelCandidate.php index 5263c87..89981ed 100644 --- a/Source/Model/ModelCandidate.php +++ b/Source/Model/ModelCandidate.php @@ -21,10 +21,10 @@ class ModelCandidate $title = "Candidature à un témoignage"; $description = "Ce formulaire vous permet de candidater à un potentiel témoignage vidéo."; $questions = array( - new TextQuestion("Décrivez-nous votre parcours en quelques lignes :", array(null)), - new YesNoQuestion("Êtes-vous originaire de Clermont et ses alentours ? (- de 2 heures de trajet)", array("Origine")), - new ListBoxQuestion(array("BAC Général", "BAC Pro", "Étude supérieure"), "Quel étude avez-vous réalisé avant l'IUT?", array("Général", "Pro", "EtudSupp")), - new CheckBoxQuestion(array("Mathématiques", "Web", "Mobile", "Gestion"), "Quels matières appréciez-vous ?", array(array("Maths", "Maths2", "Maths3"), array("Web"), array(""), array("Gestion", "Gestion2"))) + new TextQuestion("Décrivez-nous votre parcours en quelques lignes :"), + new ListBoxQuestion(array("Oui", "Non"), "Êtes-vous originaire de Clermont et ses alentours ? (- de 2 heures de trajet)", array(array("Clermont"), array("OrigineLointaine"))), + new ListBoxQuestion(array("BAC Général", "BAC Pro", "Étude supérieure"), "Quel étude avez-vous réalisé avant l'IUT?", array(array("Général"), array("Pro"), array("EtudSupp"))), + new CheckBoxQuestion(array("Mathématiques", "Web", "Mobile", "Gestion"), "Quels matières appréciez-vous ?", array(array("Maths", "Maths2", "Maths3"), array("Web"), array(""), array("Gestion", "Gestion2"))), ); $form = new Form($title, $description, $questions); /* ---------- */