Remove "$categories" from TextQuestion class

AdminInterface
alexi 2 years ago
parent 9c1530d5a0
commit 707fbbf062

@ -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;
}
}

@ -31,7 +31,12 @@ class ListBoxQuestion extends BoxQuestion
for($i = 0; $i < count($possibleResponses); $i++)
{
$html.= "\t\t\t\t\t<option value='$categories[$i]'>$possibleResponses[$i]</option>\n";
$categoriesSplit = "_";
foreach ($categories[$i] as $category)
{
$categoriesSplit.= $category."_";
}
$html.= "\t\t\t\t\t<option value='$categoriesSplit'>$possibleResponses[$i]</option>\n";
}
$html.= "\t\t\t\t</select>
</div>\n";

@ -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;
}
}

@ -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<div class='question'>
<label>$content</label>
<input type='text' name='answers[]' />

@ -1,32 +0,0 @@
<?php
namespace BusinessClass;
class YesNoQuestion extends Question
{
/**
* @param string $content
* @param array $categories
*/
public function __construct(string $content, array $categories)
{
parent::__construct($content, $categories);
}
public function responseStrategy()
{
// TODO: Implement responseStrategy() method
}
public function printStrategy(): string
{
$content = $this->getContent();
return "\t\t\t<div class='question'>
<label>$content</label>
<select name='answers[]'>
<option value='Yes' selected>Yes</option>
<option value='No'>No</option>
</select>
</div>\n";
}
}

@ -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);
/* ---------- */

Loading…
Cancel
Save