From fd2c6d5dbbf8887b51a8e35ea8f68b900f7d16c6 Mon Sep 17 00:00:00 2001
From: David Siegfried <david.siegfried@uni-vechta.de>
Date: Wed, 12 Jul 2023 11:26:16 +0000
Subject: [PATCH] prevent php8-warnings, closes #2837

Closes #2837

Merge request studip/studip!1921
---
 .../questionnaire/question_types/likert/likert_answer.php      | 2 +-
 .../question_types/rangescale/rangescale_answer.php            | 2 +-
 .../questionnaire/question_types/vote/vote_evaluation.php      | 3 +++
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/app/views/questionnaire/question_types/likert/likert_answer.php b/app/views/questionnaire/question_types/likert/likert_answer.php
index 7157421e081..18475877214 100644
--- a/app/views/questionnaire/question_types/likert/likert_answer.php
+++ b/app/views/questionnaire/question_types/likert/likert_answer.php
@@ -40,7 +40,7 @@ $responseData = isset($response->answerdata['answers']) ? $response->answerdata[
                                title="<?= htmlReady($answer) ?>"
                                aria-labelledby="<?= $html_id ?>"
                                name="answers[<?= $vote->getId() ?>][answerdata][answers][<?= htmlReady($index) ?>]"
-                                <?= $responseData[$index] === $answer_index ? 'checked' : '' ?>
+                                <?= isset($responseData[$index]) && $responseData[$index] === $answer_index ? 'checked' : '' ?>
                                value="<?= htmlReady($answer_index) ?>">
                     </td>
                 <? endforeach ?>
diff --git a/app/views/questionnaire/question_types/rangescale/rangescale_answer.php b/app/views/questionnaire/question_types/rangescale/rangescale_answer.php
index 169b0f53ef7..3525b4cff48 100644
--- a/app/views/questionnaire/question_types/rangescale/rangescale_answer.php
+++ b/app/views/questionnaire/question_types/rangescale/rangescale_answer.php
@@ -40,7 +40,7 @@ $responseData = $response['answerdata'] && $response['answerdata']['answers'] ?
                                title="<?= htmlReady($i) ?>"
                                aria-labelledby="<?= $html_id ?>"
                                name="answers[<?= $vote->getId() ?>][answerdata][answers][<?= htmlReady($index) ?>]"
-                               <?= $responseData[$index] == $i ? 'checked' : '' ?>
+                               <?= isset($responseData[$index]) && $responseData[$index] == $i ? 'checked' : '' ?>
                                value="<?= htmlReady($i) ?>">
                     </td>
                 <? endfor ?>
diff --git a/app/views/questionnaire/question_types/vote/vote_evaluation.php b/app/views/questionnaire/question_types/vote/vote_evaluation.php
index 6f97c04c2f2..e618e6a2c50 100644
--- a/app/views/questionnaire/question_types/vote/vote_evaluation.php
+++ b/app/views/questionnaire/question_types/vote/vote_evaluation.php
@@ -15,6 +15,9 @@ if ($numTaskAnswers > 0) {
         if ($vote->questiondata['multiplechoice']) {
             if (is_array($answer['answerdata']['answers']) || $answer['answerdata']['answers'] instanceof Traversable) {
                 foreach ($answer['answerdata']['answers'] as $a) {
+                    if (!isset($results[(int)$a])) {
+                        $results[(int)$a] = 0;
+                    }
                     $results[(int)$a]++;
                     $results_users[(int)$a][] = $answer['user_id'];
                 }
-- 
GitLab