MDL-59136 roles: avoid double escaping in role names
authorMarina Glancy <marina@moodle.com>
Fri, 16 Jun 2017 01:02:01 +0000 (09:02 +0800)
committerMarina Glancy <marina@moodle.com>
Mon, 26 Jun 2017 03:57:09 +0000 (11:57 +0800)
course/switchrole.php

index 4b50090..b4840f9 100644 (file)
@@ -101,7 +101,8 @@ if ($switchrole > 0 && has_capability('moodle/role:switchroles', $context)) {
 
     foreach ($roles as $key => $role) {
         $url = new moodle_url('/course/switchrole.php', array('id' => $id, 'switchrole' => $key, 'returnurl' => $returnurl));
-        echo $OUTPUT->container($OUTPUT->single_button($url, $role), 'm-x-3 m-b-1');
+        // Button encodes special characters, apply htmlspecialchars_decode() to avoid double escaping.
+        echo $OUTPUT->container($OUTPUT->single_button($url, htmlspecialchars_decode($role)), 'm-x-3 m-b-1');
     }
 
     $url = new moodle_url($returnurl);