Anthony RICHARD 1 year ago
commit f154a1717b

@ -92,15 +92,15 @@ class AbsController
throw new Exception("Erreur"); throw new Exception("Erreur");
} }
} }
public static function quiz(): void public function quiz($match): void
{ {
global $twig; global $twig;
$vocabId = $_GET['vocabID']; $vocabId = Validation::filter_int($match['params']['id'] ?? null);
$mdl = new TranslationGateway(); $mdl = new TranslationGateway();
$allTranslation = $mdl->findByIdVoc($vocabId); $allTranslation = $mdl->findByIdVoc($vocabId);
$shuffle = $allTranslation; $shuffle = $allTranslation;
shuffle($shuffle); shuffle($shuffle);
echo $twig->render('quizzView.html', ['translations' => $allTranslation, 'randomtranslations']); echo $twig->render('quizzView.html', ['translations' => $allTranslation, 'randomtranslations' => $shuffle]);
} }
public function login(): void { public function login(): void {

@ -43,6 +43,7 @@ class FrontController
break; break;
default : default :
if ($id != null && !$this->checkIdExist($id)) throw new Exception("identifiant invalide");
if ($target == null) throw new Exception("pas de target"); if ($target == null) throw new Exception("pas de target");
if (isset($_SESSION['login']) && isset($_SESSION['roles'])) { if (isset($_SESSION['login']) && isset($_SESSION['roles'])) {

@ -8,19 +8,28 @@
<section> <section>
<h1>Quiz</h1> <h1>Quiz</h1>
{% if translations is defined %} {% if translations is defined %}
{% for translation in translations %} {% for translation in translations %}
<h2>{{ translation.word1 }}</h2> <h2>{{ translation.word1 }}</h2>
{% set correctAnswer = translation.word2 %} {% set correctAnswer = translation.word2 %}
{% set otherTranslations = [translation.word2, translations[0].word2, translations[1].word2, translations[2].word2] %} {% if randomtranslations is defined %}
<input type="radio" name="answer" value="{{ correctAnswer }}"> {{ correctAnswer }}<br> {% set otherTranslations = [correctAnswer] %}
{% for otherTranslation in otherTranslations %} {% for randomtranslation in randomtranslations %}
{% if otherTranslation != correctAnswer %} {% if randomtranslation.word2 != correctAnswer and otherTranslations|length <= 3 %}
<input type="radio" name="answer" value="{{ otherAnswer }}"> {{ otherAnswer }}<br> {% set otherTranslations = otherTranslations|merge([randomtranslation.word2]) %}
{% endif %}
{% endfor %}
{# Affichage des réponses sous forme de radio buttons #}
<input type="radio" name="answer" value="{{ correctAnswer }}"> {{ correctAnswer }}<br>
{% for otherTranslation in otherTranslations %}
<input type="radio" name="answer" value="{{ otherTranslation }}"> {{ otherTranslation }}<br>
{% endfor %}
{% endif %}
{% endfor %}
{% endif %} {% endif %}
{% endfor %}
{% endfor %}
{% endif %}
<input type="submit" value="Submit" name="submitForm"> <input type="submit" value="Submit" name="submitForm">
</form> </form>
{% if submitted %} {% if submitted %}

Loading…
Cancel
Save