You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.1 KiB
111 lines
3.1 KiB
<?php
|
|
|
|
namespace Controller;
|
|
|
|
use Model\ModelAdmin;
|
|
|
|
/**
|
|
* Permet de controller les réponses à fournir en fonction des actions passer dans l'URL
|
|
* par l'administrateur
|
|
*/
|
|
class ControllerAdmin
|
|
{
|
|
/**
|
|
* Ajoute une question grâce à son contenu et son type récupéré dans le tableau $_POST
|
|
* Si la question n'est pas une question texte, on appelle un nouveau formulaire permettant
|
|
* d'ajouter des réponses prédéfinies à la question.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function addQuestion(): void
|
|
{
|
|
$type = $_POST['type'];
|
|
if (strcmp($type, "BusinessClass\TextQuestion") == 0) {
|
|
$this->goToAdminPage();
|
|
} else {
|
|
$idQuestion = (new ModelAdmin())->addQuestion();
|
|
$categories = (new ModelAdmin())->getCategories();
|
|
$questionContent = $_POST['question'];
|
|
global $rep, $views;
|
|
require_once($rep.$views['possibleResponsesForm']);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* Ajoute une possibilité de réponse à une question, on assige également cette réponse
|
|
* à des catégories. On propose ensuite à l'utilisateur de continuer l'ajout d'autre réponses.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function addResponse(): void
|
|
{
|
|
(new ModelAdmin())->addResponse();
|
|
$categories = (new ModelAdmin())->getCategories();
|
|
$idQuestion = $_POST['idQuestion'];
|
|
$questionContent = $_POST['question'];
|
|
$type = $_POST['type'];
|
|
global $rep, $views;
|
|
require_once($rep.$views['continue']);
|
|
}
|
|
|
|
|
|
/**
|
|
* Permet de proposer à l'utiliser de continuer ou non à ajouter des possibilités de réponses à l'aide
|
|
* de la fonction addResponse(). Si non, il retourne à la page d'admnistration.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function continueResponse(): void
|
|
{
|
|
$choose = $_POST['choose'];
|
|
if ($choose == "Oui") {
|
|
$idQuestion = $_POST['idQuestion'];
|
|
$categories = (new ModelAdmin())->getCategories();
|
|
$questionContent = $_POST['question'];
|
|
$type = $_POST['type'];
|
|
global $rep, $views;
|
|
require_once($rep.$views['possibleResponsesForm']);
|
|
} else {
|
|
$this->goToAdminPage();
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* Permet de créer un nouveau formulaire avec un titre et une description.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function createForm(): void
|
|
{
|
|
(new ModelAdmin())->createForm();
|
|
}
|
|
|
|
|
|
/**
|
|
* Permet de naviguer jusqu'à la page d'admninistration principale. On retrouve la gestion
|
|
* des données de notre application
|
|
*
|
|
* @return void
|
|
*/
|
|
public function goToAdminPage(): void
|
|
{
|
|
$categories = (new ModelAdmin())->getCategories();
|
|
$questions = (new ModelAdmin())->getQuestions();
|
|
global $rep, $views;
|
|
require_once($rep.$views['admin']);
|
|
}
|
|
|
|
|
|
/**
|
|
* Permet d'ajouter une catégories (mot-clef) à notre application
|
|
*
|
|
* @return void
|
|
*/
|
|
public function addKeyword(): void
|
|
{
|
|
(new ModelAdmin())->addKeyword();
|
|
}
|
|
}
|