From 9cd40405656826c8a5d270105712747b70f35f95 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Tue, 6 Jun 2023 22:50:18 +0100 Subject: [PATCH] MDL-76661 mod_bigbluebuttonbn: fix meeting attendee role comparison. --- mod/bigbluebuttonbn/classes/meeting.php | 6 +++--- mod/bigbluebuttonbn/classes/output/index.php | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/mod/bigbluebuttonbn/classes/meeting.php b/mod/bigbluebuttonbn/classes/meeting.php index e56b8f5f7d2..83ca31807d8 100644 --- a/mod/bigbluebuttonbn/classes/meeting.php +++ b/mod/bigbluebuttonbn/classes/meeting.php @@ -131,9 +131,9 @@ class meeting { /** * Get meeting attendees * - * @return mixed + * @return array[] */ - public function get_attendees() { + public function get_attendees(): array { return $this->get_meeting_info()->attendees ?? []; } @@ -276,7 +276,7 @@ class meeting { } $meetinginfo->attendees = []; if (!empty($info['attendees'])) { - // Make sure attendees is an array of object, not a simpleXML object. + // Ensure each returned attendee is cast to an array, rather than a simpleXML object. foreach ($info['attendees'] as $attendee) { $meetinginfo->attendees[] = (array) $attendee; } diff --git a/mod/bigbluebuttonbn/classes/output/index.php b/mod/bigbluebuttonbn/classes/output/index.php index 4fa5e4a4e9c..2bc8012bcbd 100644 --- a/mod/bigbluebuttonbn/classes/output/index.php +++ b/mod/bigbluebuttonbn/classes/output/index.php @@ -175,9 +175,10 @@ class index implements renderable { protected function get_room_attendee_list(meeting $meeting, string $role): string { $attendees = []; + // Iterate attendees, matching by their "role" property. foreach ($meeting->get_attendees() as $attendee) { - if ((string) $attendee->role == $role) { - $attendees[] = $attendee->fullName; + if (strcmp((string) $attendee['role'], $role) === 0) { + $attendees[] = $attendee['fullName']; } }