add question interface
continuous-integration/drone/push Build is passing Details

AdminInterface
Alexis 2 years ago
parent f580b7d45e
commit f19398eb73

@ -5,3 +5,4 @@ $rep = __DIR__ . '/../';
// Vues
$views['form'] = 'Views/HTML/form.php';
$views['admin'] = 'Views/HTML/admin.php';

@ -15,4 +15,10 @@ class ControllerAdmin
{
(new ModelAdmin())->createForm();
}
public function goToAdminPage(): void
{
global $rep, $views;
require($rep.$views['admin']);
}
}

@ -11,9 +11,32 @@ class ModelAdmin
{
public function addQuestion(): void
{
$question = new ListBoxQuestion(array("Réponse1", "Réponse2", "Réponse3"),
"Quelle est votre réponse préférée ?",
array(array("Catégorie1.1", "Catégorie 1.2", "Catégorie1.3"), array("Catégorie2.1", "Catégorie 2.2"), array("Catégorie3")), 0);
$questionContent = $_POST['question'];
$type = $_POST['type'];
$responses = $_POST['responses'];
$categories = $_POST['categories'];
$responses = explode(";", $responses);
array_pop($responses);
$categories = explode(";", $categories);
$tmp = [];
foreach($categories as $category)
{
$tmp[] = explode(",", $category);
}
$categories = $tmp;
array_pop($categories);
if(strcmp($type,"BusinessClass\TextQuestion") == 0)
{
$question = new $type($questionContent, 0);
}
else
{
$question = new $type($responses, $questionContent, $categories, 0);
}
$form = (new GatewayForm())->getForm();
if(!empty($form))

@ -44,7 +44,7 @@ class ModelCandidate
for($i = 0; $i < count($questionsTab[0]); $i++)
{
if(strcmp($questionsTab[0][$i]['type'], "TextQuestion") == 0)
if(strcmp($questionsTab[0][$i]['type'], "BusinessClass\TextQuestion") == 0)
{
$questions[] = new TextQuestion($questionsTab[0][$i]['content'], $questionsTab[0][$i]['id']);
}

@ -0,0 +1,60 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="Views/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">
<title>Formulaire de témoignage</title>
</head>
<body>
<!-- La barre bleue située en tête de page -->
<img id="logoUCA" src="https://cdn.uca.fr/images/logos/logo_uca_mini_light.png" height="35px" alt="logo UCA">
<h1>Administration</h1>
<h2>Ajouter une question :</h2>
<form method="post">
<label>Écrivez la question :</label>
<br>
<input name="question" type="text" size="100">
<br><br>
<label>Séléctionnez le type de question souhaitée :
<br>- Text permet à l'utilisateur d'écrire lui même la réponse.
<br>- ListBox permet à l'utilisateur de choisir une réponse parmis plusieurs possibilités.
<br>- CheckBox permet à l'utilisateur de choisir une ou plusieurs réponses parmis plusieurs possibilités.
</label>
<br>
<select name="type">
<option value="BusinessClass\ListBoxQuestion">ListBox</option>
<option value="BusinessClass\CheckBoxQuestion">CheckBox</option>
<option value="BusinessClass\TextQuestion">Text</option>
</select>
<br><br>
<label>Écrivez la liste des réponses possibles en les séparant comme cela :
<br>Réponse1; Réponse2; Réponse3;
</label>
<br>
<input name="responses" type="text" size="100">
<br><br>
<label>Écrivez la liste des catégories associée à chaque question comme cela :
<br>Catégorie1.1,Catégorié1.2; Catégorie2.1; Catégorié3.1,Catégorie3.2,Catégorie3.3;
</label>
<br>
<input name="categories" type="text" size="100">
<br><br>
<input type="submit" value="Confirmer">
<input type="hidden" name="action" value="addQuestion">
</form>
</body>
</html>
Loading…
Cancel
Save