diff --git a/backup/util/loggers/file_logger.class.php b/backup/util/loggers/file_logger.class.php
index e4ab4b1d824..5c05380d36f 100644
--- a/backup/util/loggers/file_logger.class.php
+++ b/backup/util/loggers/file_logger.class.php
@@ -75,7 +75,7 @@ class file_logger extends base_logger {
if (substr($this->fullpath, -5) !== '.html') {
$content = $prefix . str_repeat(' ', $depth) . $message . PHP_EOL;
} else {
- $content = $prefix . str_repeat(' ', $depth) . htmlentities($message, ENT_QUOTES) . '
' . PHP_EOL;
+ $content = $prefix . str_repeat(' ', $depth) . htmlentities($message, ENT_QUOTES, 'UTF-8') . '
' . PHP_EOL;
}
if (false === fwrite($this->fhandle, $content)) {
throw new base_logger_exception('error_writing_file', $this->fullpath);
diff --git a/backup/util/loggers/output_indented_logger.class.php b/backup/util/loggers/output_indented_logger.class.php
index 8bb68113920..2eaea5b60a6 100644
--- a/backup/util/loggers/output_indented_logger.class.php
+++ b/backup/util/loggers/output_indented_logger.class.php
@@ -38,7 +38,7 @@ class output_indented_logger extends base_logger {
if (defined('STDOUT')) {
echo $prefix . str_repeat(' ', $depth) . $message . PHP_EOL;
} else {
- echo $prefix . str_repeat(' ', $depth) . htmlentities($message, ENT_QUOTES) . '
' . PHP_EOL;
+ echo $prefix . str_repeat(' ', $depth) . htmlentities($message, ENT_QUOTES, 'UTF-8') . '
' . PHP_EOL;
}
flush();
return true;
diff --git a/backup/util/loggers/output_text_logger.class.php b/backup/util/loggers/output_text_logger.class.php
index fe61536c039..9d13dfdc63e 100644
--- a/backup/util/loggers/output_text_logger.class.php
+++ b/backup/util/loggers/output_text_logger.class.php
@@ -37,7 +37,7 @@ class output_text_logger extends base_logger {
if (defined('STDOUT')) {
echo $prefix . $message . PHP_EOL;
} else {
- echo $prefix . htmlentities($message, ENT_QUOTES) . '
' . PHP_EOL;
+ echo $prefix . htmlentities($message, ENT_QUOTES, 'UTF-8') . '
' . PHP_EOL;
}
flush();
return true;
diff --git a/cache/classes/definition.php b/cache/classes/definition.php
index 607f0743a36..e278bbbec21 100644
--- a/cache/classes/definition.php
+++ b/cache/classes/definition.php
@@ -750,7 +750,7 @@ class cache_definition {
if (!empty($this->identifiers)) {
$identifiers = array();
foreach ($this->identifiers as $key => $value) {
- $identifiers[] = htmlentities($key).'='.htmlentities($value);
+ $identifiers[] = htmlentities($key, ENT_QUOTES, 'UTF-8').'='.htmlentities($value, ENT_QUOTES, 'UTF-8');
}
$this->keyprefixmulti['identifiers'] = join('&', $identifiers);
}
diff --git a/lib/datalib.php b/lib/datalib.php
index 454bc7ec7b8..bd917ba1b69 100644
--- a/lib/datalib.php
+++ b/lib/datalib.php
@@ -1802,7 +1802,7 @@ function add_to_log($courseid, $module, $action, $url='', $info='', $cm=0, $user
$timenow = time();
$info = $info;
if (!empty($url)) { // could break doing html_entity_decode on an empty var.
- $url = html_entity_decode($url);
+ $url = html_entity_decode($url, ENT_QUOTES, 'UTF-8');
} else {
$url = '';
}
diff --git a/lib/dml/pdo_moodle_database.php b/lib/dml/pdo_moodle_database.php
index 4aae9ce6ed6..61b161c156d 100644
--- a/lib/dml/pdo_moodle_database.php
+++ b/lib/dml/pdo_moodle_database.php
@@ -172,7 +172,7 @@ abstract class pdo_moodle_database extends moodle_database {
* Function to print/save/ignore debugging messages related to SQL queries.
*/
protected function debug_query($sql, $params = null) {
- echo '
'. format_text($text, FORMAT_MOODLE, $options, $COURSE->id) .''; readstring_accel($output, $mimetype, false); diff --git a/lib/navigationlib.php b/lib/navigationlib.php index 3ac2a8b0cad..b4e69c6557c 100644 --- a/lib/navigationlib.php +++ b/lib/navigationlib.php @@ -3389,9 +3389,9 @@ class settings_navigation extends navigation_node { continue; } if ($type->modclass == MOD_CLASS_RESOURCE) { - $resources[html_entity_decode($type->type)] = $type->typestr; + $resources[html_entity_decode($type->type, ENT_QUOTES, 'UTF-8')] = $type->typestr; } else { - $activities[html_entity_decode($type->type)] = $type->typestr; + $activities[html_entity_decode($type->type, ENT_QUOTES, 'UTF-8')] = $type->typestr; } } } else { @@ -4275,7 +4275,7 @@ class navigation_json { } if ($child->forcetitle || $child->title !== $child->text) { - $attributes['title'] = htmlentities($child->title); + $attributes['title'] = htmlentities($child->title, ENT_QUOTES, 'UTF-8'); } if (array_key_exists($child->key.':'.$child->type, $this->expandable)) { $attributes['expandable'] = $child->key; diff --git a/mod/wiki/pagelib.php b/mod/wiki/pagelib.php index 2616c4f9555..507c4c7fd04 100644 --- a/mod/wiki/pagelib.php +++ b/mod/wiki/pagelib.php @@ -656,7 +656,7 @@ class page_wiki_comments extends page_wiki { $parsedcontent = wiki_parse_content('nwiki', $comment->content, $options); } - $cell4->text = format_text(html_entity_decode($parsedcontent['parsed_text']), FORMAT_HTML); + $cell4->text = format_text(html_entity_decode($parsedcontent['parsed_text'], ENT_QUOTES, 'UTF-8'), FORMAT_HTML); } else { $cell4->text = format_text($comment->content, FORMAT_HTML); } diff --git a/mod/wiki/parser/utils.php b/mod/wiki/parser/utils.php index eb14bc07657..f777f28058d 100644 --- a/mod/wiki/parser/utils.php +++ b/mod/wiki/parser/utils.php @@ -14,9 +14,9 @@ require_once($CFG->dirroot . "/lib/outputcomponents.php"); class parser_utils { public static function h($tag, $text = null, $options = array(), $escape_text = false) { - $tag = htmlentities($tag); + $tag = htmlentities($tag, ENT_COMPAT, 'UTF-8'); if(!empty($text) && $escape_text) { - $text = htmlentities($text); + $text = htmlentities($text, ENT_COMPAT, 'UTF-8'); } return html_writer::tag($tag, $text, $options); }