From 1f3ccb7701b3a8a193ed9729b3eb860a9d0f794f Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Tue, 28 Feb 2023 09:57:24 +0000
Subject: [PATCH] prevent php8 warnings, fixes #2222

Closes #2222

Merge request studip/studip!1454
---
 app/views/course/wizard/step.php              | 16 ++++++++++++---
 .../coursewizardsteps/BasicDataWizardStep.php | 20 +++++++++++--------
 2 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/app/views/course/wizard/step.php b/app/views/course/wizard/step.php
index 6df4594ffc8..6d6e6faeb87 100644
--- a/app/views/course/wizard/step.php
+++ b/app/views/course/wizard/step.php
@@ -1,5 +1,15 @@
+<?php
+/**
+ * @var Course_WizardController $controller
+ * @var string $content
+ * @var string $temp_id
+ * @var int $stepnumber
+ * @var bool $first_step
+ * @var bool|null $dialog
+ */
+?>
 <? if ($content) : ?>
-    <form class="default course-wizard-step-<?= $stepnumber ?>" action="<?= $controller->url_for('course/wizard/process', $stepnumber, $temp_id) ?>" method="post" data-secure>
+    <form class="default course-wizard-step-<?= $stepnumber ?>" action="<?= $controller->link_for('course/wizard/process', $stepnumber, $temp_id) ?>" method="post" data-secure>
         <fieldset>
         <?= $content ?>
         </fieldset>
@@ -10,13 +20,13 @@
             <?= Studip\Button::create(
                 _('Zurück'),
                 'back',
-                $dialog ? ['data-dialog' => 'size=50%'] : []
+                !empty($dialog) ? ['data-dialog' => 'size=50%'] : []
             ) ?>
         <? endif; ?>
             <?= Studip\Button::create(
                 _('Weiter'),
                 'next',
-                $dialog ? ['data-dialog' => 'size=50%'] : []
+                !empty($dialog) ? ['data-dialog' => 'size=50%'] : []
             ) ?>
         </footer>
     </form>
diff --git a/lib/classes/coursewizardsteps/BasicDataWizardStep.php b/lib/classes/coursewizardsteps/BasicDataWizardStep.php
index e3ddc47f9e2..ce3b57f0752 100644
--- a/lib/classes/coursewizardsteps/BasicDataWizardStep.php
+++ b/lib/classes/coursewizardsteps/BasicDataWizardStep.php
@@ -193,24 +193,28 @@ class BasicDataWizardStep implements CourseWizardStep
             && $GLOBALS['perm']->have_perm('dozent')
             && !$GLOBALS['perm']->have_perm('admin')
         ) {
-            $values['lecturers'][$GLOBALS['user']->id] = true;
+            $values['lecturers'] = [$GLOBALS['user']->id => true];
             // Remove from deputies if set.
-            if ($deputies && $values['deputies'][$GLOBALS['user']->id]) {
+            if ($deputies && isset($values['deputies'][$GLOBALS['user']->id])) {
                 unset($values['deputies'][$GLOBALS['user']->id]);
             }
             // Add your own default deputies if applicable.
             if ($deputies && Config::get()->DEPUTIES_DEFAULTENTRY_ENABLE) {
-                $values['deputies'] = array_merge($values['deputies'] ?: [],
-                    array_flip(Deputy::findDeputies($GLOBALS['user']->id)->pluck('user_id')));
+                $values['deputies'] = array_merge(
+                    $values['deputies'] ?? [],
+                    array_flip(Deputy::findDeputies($GLOBALS['user']->id)->pluck('user_id'))
+                );
             }
         }
         // Add lecturer from my courses filter.
-        if ($GLOBALS['user']->cfg->ADMIN_COURSES_TEACHERFILTER && !$values['lecturers'] && Request::isXhr()) {
-            $values['lecturers'][$GLOBALS['user']->cfg->ADMIN_COURSES_TEACHERFILTER] = true;
+        if ($GLOBALS['user']->cfg->ADMIN_COURSES_TEACHERFILTER && empty($values['lecturers']) && Request::isXhr()) {
+            $values['lecturers'] = [$GLOBALS['user']->cfg->ADMIN_COURSES_TEACHERFILTER => true];
             // Add this lecturer's default deputies if applicable.
             if ($deputies && Config::get()->DEPUTIES_DEFAULTENTRY_ENABLE) {
-                $values['deputies'] = array_merge($values['deputies'] ?: [],
-                    array_flip(Deputy::findDeputies($GLOBALS['user']->cfg->ADMIN_COURSES_TEACHERFILTER)->pluck('user_id')));
+                $values['deputies'] = array_merge(
+                    $values['deputies'] ?? [],
+                    array_flip(Deputy::findDeputies($GLOBALS['user']->cfg->ADMIN_COURSES_TEACHERFILTER)->pluck('user_id'))
+                );
             }
         }
         if (empty($values['lecturers'])) {
-- 
GitLab