From a4d85aa8d7504561071f75a89fbfa6fb27d03209 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Thu, 3 Jun 2021 08:50:07 +0100 Subject: [PATCH] MDL-71846 group: consistent escaping of user/group names. --- group/clientlib.js | 2 +- group/index.php | 5 +++-- group/templates/index.mustache | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/group/clientlib.js b/group/clientlib.js index 8255c4442b1..9e433a196c4 100644 --- a/group/clientlib.js +++ b/group/clientlib.js @@ -97,7 +97,7 @@ function UpdatableMembersCombo(wwwRoot, courseId) { var optionEl = document.createElement("option"); optionEl.setAttribute("value", roles[i].users[j].id); optionEl.title = roles[i].users[j].name; - optionEl.innerHTML = roles[i].users[j].name; + optionEl.innerHTML = Y.Escape.html(roles[i].users[j].name); optgroupEl.appendChild(optionEl); } selectEl.appendChild(optgroupEl); diff --git a/group/index.php b/group/index.php index e2aa22b35e7..3f2c44cf8ae 100644 --- a/group/index.php +++ b/group/index.php @@ -98,7 +98,8 @@ switch ($action) { if ($extrafields) { $extrafieldsdisplay = []; foreach ($extrafields as $field) { - $extrafieldsdisplay[] = s($member->{$field}); + // No escaping here, handled client side in response to AJAX request. + $extrafieldsdisplay[] = $member->{$field}; } $shortmember->name .= ' (' . implode(', ', $extrafieldsdisplay) . ')'; } @@ -194,7 +195,7 @@ if ($groups) { $groupoptions[] = (object) [ 'value' => $group->id, 'selected' => $selected, - 'text' => $groupname + 'text' => s($groupname) ]; } } diff --git a/group/templates/index.mustache b/group/templates/index.mustache index 30e6d92f380..4a5b4d13220 100644 --- a/group/templates/index.mustache +++ b/group/templates/index.mustache @@ -120,7 +120,7 @@ {{#members}} {{#rolemembers}} - + {{/rolemembers}} {{/members}}