From 53dad06c2f4819f1fe97e9a7da1e06fa1bd148c8 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Tue, 21 Mar 2023 12:01:55 +0000 Subject: [PATCH] MDL-73138 group: remove double encoding of group/role names. --- group/index.php | 7 ++++--- user/selector/lib.php | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/group/index.php b/group/index.php index 3f79cb22927..ba52f45517f 100644 --- a/group/index.php +++ b/group/index.php @@ -95,7 +95,7 @@ switch ($action) { foreach($groupmemberroles as $roleid=>$roledata) { $shortroledata = new stdClass(); - $shortroledata->name = $roledata->name; + $shortroledata->name = html_entity_decode($roledata->name, ENT_QUOTES, 'UTF-8'); $shortroledata->users = array(); foreach($roledata->users as $member) { $shortmember = new stdClass(); @@ -183,7 +183,7 @@ if ($groups) { foreach ($groups as $group) { $selected = false; $usercount = $DB->count_records('groups_members', array('groupid' => $group->id)); - $groupname = format_string($group->name) . ' (' . $usercount . ')'; + $groupname = format_string($group->name, true, ['context' => $context, 'escape' => false]) . ' (' . $usercount . ')'; if (in_array($group->id, $groupids)) { $selected = true; if ($singlegroup) { @@ -234,8 +234,9 @@ if ($singlegroup) { $users[] = $shortmember; } + $members[] = (object)[ - 'role' => s($roledata->name), + 'role' => html_entity_decode($roledata->name, ENT_QUOTES, 'UTF-8'), 'rolemembers' => $users ]; } diff --git a/user/selector/lib.php b/user/selector/lib.php index efaf50c3306..943fe55aeb1 100644 --- a/user/selector/lib.php +++ b/user/selector/lib.php @@ -763,11 +763,11 @@ abstract class groups_user_selector_base extends user_selector_base { foreach ($roles as $role) { if ($search) { $a = new stdClass; - $a->role = $role->name; + $a->role = html_entity_decode($role->name, ENT_QUOTES, 'UTF-8'); $a->search = $search; $groupname = get_string('matchingsearchandrole', '', $a); } else { - $groupname = $role->name; + $groupname = html_entity_decode($role->name, ENT_QUOTES, 'UTF-8'); } $groupedusers[$groupname] = $role->users; foreach ($groupedusers[$groupname] as &$user) {