From f7a23fb901d58a7c190f71439f22d489f9717e5b Mon Sep 17 00:00:00 2001
From: David Siegfried <david.siegfried@uni-vechta.de>
Date: Tue, 27 Aug 2024 13:49:19 +0000
Subject: [PATCH] prevent php-warnings on members.php, fixes #4533

Closes #4533

Merge request studip/studip!3328
---
 app/controllers/course/members.php | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/app/controllers/course/members.php b/app/controllers/course/members.php
index 2fd762238b3..b7b7d2c70d7 100644
--- a/app/controllers/course/members.php
+++ b/app/controllers/course/members.php
@@ -1155,7 +1155,7 @@ class Course_MembersController extends AuthenticatedController
             // insert admission user to autorlist
             $msgs = $this->setMemberStatus($users, $status, $next_status, 'upgrade');
 
-            if ($msgs['success']) {
+            if (!empty($msgs['success'])) {
                 PageLayout::postSuccess(sprintf(
                     _('Das Hochstufen auf den Status  %s von %s wurde erfolgreich durchgeführt'),
                     htmlReady($this->decoratedStatusGroups[$next_status]),
@@ -1163,7 +1163,7 @@ class Course_MembersController extends AuthenticatedController
                 ));
             }
 
-            if ($msgs['no_tutor']) {
+            if (!empty($msgs['no_tutor'])) {
                 PageLayout::postError(sprintf(
                     _('Das Hochstufen auf den Status %s von %s konnte nicht durchgeführt werden, weil die globale Rechtestufe "tutor" fehlt.') . ' ' . _('Bitte wenden Sie sich an den Support.'),
                     htmlReady($this->decoratedStatusGroups[$next_status]),
@@ -1208,7 +1208,7 @@ class Course_MembersController extends AuthenticatedController
         if (!empty($users)) {
             $msgs = $this->setMemberStatus($users, $status, $next_status, 'downgrade');
 
-            if ($msgs['success']) {
+            if (!empty($msgs['success'])) {
                 PageLayout::postSuccess(sprintf(
                     _('Der/die %s %s wurde auf den Status %s heruntergestuft.'),
                     htmlReady($this->decoratedStatusGroups[$status]),
@@ -1948,12 +1948,15 @@ class Course_MembersController extends AuthenticatedController
         }
     }
 
-    private function setMemberStatus($members, $status, $next_status, $direction)
+    private function setMemberStatus($members, $status, $next_status, $direction): array
     {
-        $msgs = [];
+        $msgs = [
+            'success'   => [],
+            'no_tutor'  => []
+        ];
         foreach ($members as $user_id) {
             $temp_user = User::find($user_id);
-            if ($next_status == 'tutor' && !$GLOBALS['perm']->have_perm('tutor', $user_id)) {
+            if ($next_status === 'tutor' && !$GLOBALS['perm']->have_perm('tutor', $user_id)) {
                 $msgs['no_tutor'][$user_id] = $temp_user->getFullName();
             } else {
                 if ($temp_user) {
@@ -1994,11 +1997,7 @@ class Course_MembersController extends AuthenticatedController
             }
         }
 
-        if (!empty($msgs)) {
-            return $msgs;
-        } else {
-            return false;
-        }
+        return $msgs;
     }
 
     public function addMember(string $user_id, bool $accepted = false, bool $consider_contingent = null, &$msg = []): bool
-- 
GitLab