From 2e439b4dea1fef37c6a28e16ccc7e02fb79a29d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Noack?= <noack@data-quest.de>
Date: Tue, 8 Aug 2023 14:07:49 +0000
Subject: [PATCH] Resolve "Export von Gruppenteilnehmern : Alle Tn stehen
 nochmal in Gruppe "keiner Funktion oder Gruppe""

Closes #3002

Merge request studip/studip!2012
---
 lib/export/export_studipdata_func.inc.php | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/lib/export/export_studipdata_func.inc.php b/lib/export/export_studipdata_func.inc.php
index 82a70d620fa..924507abd4e 100644
--- a/lib/export/export_studipdata_func.inc.php
+++ b/lib/export/export_studipdata_func.inc.php
@@ -588,6 +588,7 @@ function export_teilis($inst_id, $ex_sem_id = "no")
     }
 
     $data_object = xml_open_tag($xml_groupnames_person['group']);
+    $person_out = [];
 
     foreach ($gruppe as $key1 => $val1) {
         $parameters = [];
@@ -696,14 +697,10 @@ function export_teilis($inst_id, $ex_sem_id = "no")
         $object_counter_tmp = $object_counter;
         if (count($data) > 0) {
             $data_object_tmp .= xml_open_tag($xml_groupnames_person['subgroup1'], $val1);
-            $person_out = [];
             foreach ($data as $row) {
-                if (!isset($person_out[$row['user_id']])) {
-                    $person_out[$row['user_id']] = false;
-                }
                 // Nur Personen ausgeben, die entweder einer Gruppe angehoeren
                 // oder zur Veranstaltung gehoeren und noch nicht ausgegeben wurden.
-                if ($key1 !== 'no' || !$person_out[$row['user_id']]) {
+                if ($key1 !== 'no' || empty($person_out[$row['user_id']])) {
                     $object_counter  += 1;
                     $data_object_tmp .= xml_open_tag($xml_groupnames_person["object"], $row['username']);
 
-- 
GitLab