Add PrintStrategy implementation for TextQuestion, YesNoQuestion and CheckBoxQuestion

AdminInterface
Alexis 2 years ago
parent 8bc44a6740
commit 73bb808485

@ -20,7 +20,7 @@ abstract class BoxQuestion extends Question
public abstract function responseStrategy();
public abstract function printStrategy();
public abstract function printStrategy(): string;
/**
* @return array

@ -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 = "<div id='question'>
<label>$content</label>";
for($i = 0; $i < count($possibleResponses); $i++)
{
$html.= "<input type='checkbox' id='checkBoxQuestion' name='answers[]' value='$categories[$i]' />
<label>$possibleResponses[$i]</label>";
}
$html.= "</div>";
return $html;
}
}

@ -4,5 +4,5 @@ namespace FORM_BusinessClass;
interface IPrintQuestionStrategy
{
public function printStrategy();
public function printStrategy(): string;
}

@ -19,7 +19,7 @@ class ListBoxQuestion extends BoxQuestion
// TODO: Implement responseStrategy() method.
}
public function printStrategy()
public function printStrategy(): string
{
// TODO: Implement printStrategy() method.
}

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

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

@ -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 "<div id='question'>
<label>$content</label>
<select name='answers[]'>
<option value='Yes' selected>Yes</option>
<option value='No'>No</option>
</select>
</div>";
}
}

@ -7,3 +7,4 @@ $login="";
$password="";
$views['form'] = 'Views/HTML/form.php';
$views['textQuestion'] = 'Views/HTML/TextQuestion.js';

@ -2,8 +2,7 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="../CSS/form.css" />
<link rel="stylesheet" href="../CSS/base.css" />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300&display=swap" rel="stylesheet">
@ -18,34 +17,9 @@
<!-- L'intégralité du formulaire de témoignage -->
<form id="container_form">
<?php
<!-- La partie gauche du formulaire ("Vos informations" et "Votre statut") -->
<div id="container_personalInfos">
<h2>Vos informations :</h2>
<input class="inputs" type="text" name="surname" placeholder="Saisir votre nom..."/>
<input class="inputs" type="text" name="firstname" placeholder="Saisir votre prénom..."/>
<h2>Votre statut :</h2>
<select class="inputs" name="status">
<option value="">Étudiant</option>
<option value="">Professeur</option>
<option value="">Ancien Étudiant</option>
</select>
</div>
<!-- La partie droite du formulaire ("Votre témoignage" et "Ajouter une vidéo") -->
<div id="container_testimony">
<h2>Votre témoignage :</h2>
<textarea id="description" name="description" placeholder="Saisir une description..."></textarea>
<label id="video">Ajouter une vidéo :</label>
<input id="addVideo" type="file" name="video"/>
<!-- Le bouton pour envoyer le témoignage -->
<input id="button" type="submit" value="Envoyer">
</div>
?>
</form>
</body>

Loading…
Cancel
Save