sonar resolve bugs
continuous-integration/drone/push Build is passing Details

LoginModification
alexi 2 years ago
parent 9236f70b15
commit d27c5dde63

@ -19,8 +19,7 @@ abstract class BoxQuestion extends Question
public function __construct(int $ctp, array $args)
{
switch($ctp)
{
switch ($ctp) {
case 4:
parent::__construct($args[3], $args[1]);
$this->categories = $args[2];

@ -7,15 +7,6 @@ namespace BusinessClass;
*/
class TextQuestion extends Question
{
/**
* @param string $content
* @param int $id
*/
public function __construct(int $id, string $content)
{
parent::__construct($id, $content);
}
/**
* Permet de définir la manière donc la réponse doit être traitée
*

@ -6,7 +6,9 @@ class Clean
{
/**
* Cette fonction prend une chaîne de caractères en entrée et retourne une version nettoyée de cette chaîne.
* Elle supprime les espaces de début et de fin, ainsi que toutes les balises HTML, et encode les caractères spéciaux.
* Elle supprime les espaces de début et de fin, ainsi que toutes les balises HTML, et encode les
* caractères spéciaux.
*
* @param string $string La chaîne à nettoyer
* @return string La chaîne nettoyée
*/
@ -20,7 +22,8 @@ class Clean
/**
* Cette fonction prend une chaîne de caractères en entrée et retourne une version nettoyée de cette chaîne.
* Elle supprime les espaces de début et de fin, ainsi que toutes les balises HTML, et encode les caractères spéciaux.
* Elle supprime les espaces de début et de fin, ainsi que toutes les balises HTML, et encode les
* caractères spéciaux.
* @param $email
* @return string La chaîne nettoyée
*/

@ -5,21 +5,22 @@ namespace DataManagement;
class Validate
{
/**
* Valide une adresse e-mail en utilisant la fonction filter_var() de PHP et une longueur maximale définie globalement.
* Valide une adresse e-mail en utilisant la fonction filter_var() de PHP et une
* longueur maximale définie globalement.
*
* @param string $email L'adresse e-mail à valider.
* @return bool Vrai si l'adresse e-mail est valide et respecte la longueur maximale définie, faux sinon.
*/
public static function email (String $email): bool
public static function email(String $email): bool
{
global $emailMaxLength;
return (filter_var($email, FILTER_VALIDATE_EMAIL) && strlen($email) <= $emailMaxLength);
}
/**
* Valide un pseudo en vérifiant que la longueur est suffisante, qu'il contient uniquement des caractères alphanumériques,
* et qu'il respecte la longueur maximale définie globalement.
* Valide un pseudo en vérifiant que la longueur est suffisante, qu'il contient uniquement des
* caractères alphanumériques, et qu'il respecte la longueur maximale définie globalement.
*
* @param string $pseudo Le pseudo à valider.
* @return bool Vrai si le pseudo est valide, faux sinon.
@ -32,8 +33,8 @@ class Validate
}
/**
* Valide un mot de passe en vérifiant que la longueur est suffisante, qu'il contient au moins un chiffre et une lettre,
* et qu'il respecte la longueur maximale définie globalement.
* Valide un mot de passe en vérifiant que la longueur est suffisante, qu'il contient au moins un chiffre
* et une lettre, et qu'il respecte la longueur maximale définie globalement.
*
* @param string $password Le mot de passe à valider.
* @return bool Vrai si le mot de passe est valide, faux sinon.
@ -42,7 +43,7 @@ class Validate
public static function password(string $password) : bool
{
global $passwordMaxLength;
return (strlen($password) >= 8 && strlen($password) <=$passwordMaxLength && preg_match("#[0-9]+#", $password) && preg_match("#[a-zA-Z]+#", $password));
return (strlen($password) >= 8 && strlen($password) <=$passwordMaxLength && preg_match("/\d/", $password) && preg_match("#[a-zA-Z]+#", $password));
}
/**
@ -91,7 +92,8 @@ class Validate
* @return bool Vrai si la réponse est valide, faux sinon.
*/
public static function response(string $response) : bool{
public static function response(string $response) : bool
{
global $responseMaxLength;
return (strlen($response) <= $responseMaxLength);
}

@ -20,7 +20,7 @@ class ControllerAdmin
public function addQuestion(): void
{
$type = $_POST['type'];
if(strcmp($type, "BusinessClass\TextQuestion") == 0) {
if (strcmp($type, "BusinessClass\TextQuestion") == 0) {
$this->goToAdminPage();
} else {
$idQuestion = (new ModelAdmin())->addQuestion();
@ -59,7 +59,7 @@ class ControllerAdmin
public function continueResponse(): void
{
$choose = $_POST['choose'];
if($choose == "Oui") {
if ($choose == "Oui") {
$idQuestion = $_POST['idQuestion'];
$categories = (new ModelAdmin())->getCategories();
$questionContent = $_POST['question'];

@ -83,8 +83,9 @@ class ModelAdmin
public function getCategories(): array
{
$categories = [];
foreach ((new GatewayKeyword())->getAllKeyword() as $category)
foreach ((new GatewayKeyword())->getAllKeyword() as $category) {
$categories[] = $category["word"];
}
return $categories;
}

@ -35,3 +35,11 @@ h1 {
flex-direction: row;
justify-content: space-around;
}
.form-center {
text-align: center;
}
.hidden-content {
visibility: hidden;
}

@ -27,7 +27,7 @@
<input type="hidden" name="action" value="addKeyword">
</form>
<button id="printCategory">Les catégories ▼</button>
<ul id="listCategories" style="visibility: hidden">
<ul id="listCategories" class="hidden-content">
<?php
foreach ($categories as $category) {
?> <li><?php echo $category; ?></li> <?php
@ -38,7 +38,7 @@
<div>
<button id="printQuestion">Les questions ▼</button>
<ul id="listQuestions" style="visibility: hidden">
<ul id="listQuestions" class="hidden-content">
<?php
foreach ($questions as $question) {
?>
@ -52,9 +52,9 @@
</div>
<div style="text-align: center">
<div class="form-center">
<button id="addNewQuestion">Ajouter une question ▼</button>
<form id="addQuestionForm" method="post" style="visibility: hidden">
<form id="addQuestionForm" method="post" class="hidden-content">
<div id="questionText">
<label for="question">Écrivez la question : </label>
<br>
@ -64,9 +64,9 @@
<br><br>
<label for="type">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 parmi plusieurs possibilités.
<br>- CheckBox permet à l'utilisateur de choisir une ou plusieurs réponses parmi plusieurs possibilités.
<br>- Text permet d'écrire la réponse librement.
<br>- ListBox permet de choisir une réponse parmi plusieurs possibilités.
<br>- CheckBox permet de choisir une ou plusieurs réponses parmi plusieurs possibilités.
</label>
<br>
<select id="type" name="type">
@ -86,16 +86,6 @@
<script src="Views/JS/form_category.js"></script>
<script src="Views/JS/form_question.js"></script>
<script>
const printCategoryButton = document.querySelector('#printCategory');
printCategoryButton.addEventListener('click', printCategories);
const printQuestionButton = document.querySelector('#printQuestion');
printQuestionButton.addEventListener('click', printQuestion);
const printFormQuestionButton = document.querySelector('#addNewQuestion');
printFormQuestionButton.addEventListener('click', addQuestion);
</script>
<script src="Views/JS/constant.js"></script>
</html>

@ -19,7 +19,7 @@
<img id="logoUCA" src="<?php echo $logoUCA; ?>" height="35px" width="auto" alt="logo UCA">
<h1>Administration</h1>
<div style="text-align: center">
<div class="form-center">
<h2>Continuer d'ajouter des possibilités de réponses ?</h2>
<form method="post">
<input name="idQuestion" type="hidden" value="<?php echo $idQuestion; ?>">

@ -19,7 +19,7 @@
<img id="logoUCA" src="<?php echo $logoUCA; ?>" height="35px" width="auto" alt="logo UCA">
<h1>Administration</h1>
<div style="text-align: center">
<div class="form-center">
<form method="post">
<input name="idQuestion" type="hidden" value="<?php echo $idQuestion; ?>">
<input name="question" type="hidden" value="<?php echo $questionContent; ?>">
@ -51,19 +51,6 @@
</body>
<script>
let responsesAndCategories = new Map();
function addResponse() {
const response = document.querySelector('#response');
const categories = document.querySelectorAll(".categories");
responsesAndCategories.set(response.value, categories.forEach(category => console.log(category.value)));
}
const addPossiblesResponsesButton = document.querySelector('#addNewResponse');
addPossiblesResponsesButton.addEventListener('click', addResponse);
</script>
<script src="Views/JS/possibleResponses.js"></script>
</html>

@ -0,0 +1,8 @@
const printCategoryButton = document.querySelector('#printCategory');
printCategoryButton.addEventListener('click', printCategories);
const printQuestionButton = document.querySelector('#printQuestion');
printQuestionButton.addEventListener('click', printQuestion);
const printFormQuestionButton = document.querySelector('#addNewQuestion');
printFormQuestionButton.addEventListener('click', addQuestion);

@ -0,0 +1,11 @@
let responsesAndCategories = new Map();
function addResponse() {
const response = document.querySelector('#response');
const categories = document.querySelectorAll(".categories");
responsesAndCategories.set(response.value, categories.forEach(category => console.log(category.value)));
}
const addPossiblesResponsesButton = document.querySelector('#addNewResponse');
addPossiblesResponsesButton.addEventListener('click', addResponse);
Loading…
Cancel
Save