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 '
(', $this->get_dbtype(), '): ', htmlentities($sql); + echo '
(', $this->get_dbtype(), '): ', htmlentities($sql, ENT_QUOTES, 'UTF-8'); if($params) { echo ' (parameters '; print_r($params); diff --git a/lib/filelib.php b/lib/filelib.php index 6c935efdfd6..ab120b39593 100644 --- a/lib/filelib.php +++ b/lib/filelib.php @@ -2286,7 +2286,7 @@ function send_file($path, $filename, $lifetime = 'default' , $filter=0, $pathiss $options = new stdClass(); $options->newlines = false; $options->noclean = true; - $text = htmlentities($pathisstring ? $path : implode('', file($path))); + $text = htmlentities($pathisstring ? $path : implode('', file($path)), ENT_QUOTES, 'UTF-8'); $output = '
'. 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); }