diff --git a/blog/edit.php b/blog/edit.php
index fc5e5bd4f24..ce2cb15ba55 100755
--- a/blog/edit.php
+++ b/blog/edit.php
@@ -115,7 +115,7 @@ switch ($action) {
$post->action = $action;
$strformheading = get_string('updateentrywithid', 'blog');
- if ($itemptags = html_entity_decode(tag_get_tags_csv('post', $post->id, TAG_RETURN_TEXT, 'default'))) {
+ if ($itemptags = tag_get_tags_csv('post', $post->id, TAG_RETURN_TEXT, 'default')) {
$post->ptags = $itemptags;
}
diff --git a/tag/edit.php b/tag/edit.php
index 1939f1aab4d..724d712787a 100644
--- a/tag/edit.php
+++ b/tag/edit.php
@@ -32,8 +32,7 @@ $systemcontext = get_context_instance(CONTEXT_SYSTEM);
require_capability('moodle/tag:edit', $systemcontext);
// set the relatedtags field of the $tag object that will be passed to the form
-// need to use html_entity_decode because formslib does it for us later on.
-$tag->relatedtags = html_entity_decode(tag_get_related_tags_csv(tag_get_related_tags($tag->id, TAG_RELATED_MANUAL), TAG_RETURN_TEXT));
+$tag->relatedtags = tag_get_related_tags_csv(tag_get_related_tags($tag->id, TAG_RELATED_MANUAL), TAG_RETURN_TEXT);
if (can_use_html_editor()) {
$options = new object();
diff --git a/tag/lib.php b/tag/lib.php
index 75a8f78fbb2..15c9a8254e0 100644
--- a/tag/lib.php
+++ b/tag/lib.php
@@ -47,7 +47,6 @@ define('TAG_RELATED_ALL', 0);
define('TAG_RELATED_MANUAL', 1);
define('TAG_RELATED_CORRELATED', 2);
-
require_once($CFG->dirroot .'/tag/locallib.php');
///////////////////////////////////////////////////////
@@ -299,7 +298,7 @@ function tag_get_tags_csv($record_type, $record_id, $html=TAG_RETURN_HTML, $type
$tags_names = array();
foreach(tag_get_tags($record_type, $record_id, $type) as $tag) {
if ($html == TAG_RETURN_TEXT) {
- $tags_names[] = tag_display_name($tag);
+ $tags_names[] = tag_display_name($tag, TAG_RETURN_TEXT);
} else { // TAG_RETURN_HTML
$tags_names[] = ''. tag_display_name($tag) .'';
}
@@ -439,7 +438,7 @@ function tag_get_related_tags_csv($related_tags, $html=TAG_RETURN_HTML) {
$tags_names = array();
foreach($related_tags as $tag) {
if ( $html == TAG_RETURN_TEXT) {
- $tags_names[] = tag_display_name($tag);
+ $tags_names[] = tag_display_name($tag, TAG_RETURN_TEXT);
} else {
// TAG_RETURN_HTML
$tags_names[] = ''. tag_display_name($tag) .'';
@@ -544,24 +543,31 @@ function tag_delete_instance($record_type, $record_id, $tagid) {
* Function that returns the name that should be displayed for a specific tag
*
* @param object $tag_object a line out of tag table, as returned by the adobd functions
+ * @param int $html TAG_RETURN_HTML (default) will return htmlspecialchars encoded string, TAG_RETURN_TEXT will not encode.
* @return string
*/
-function tag_display_name($tag_object) {
+function tag_display_name($tagobject, $html=TAG_RETURN_HTML) {
global $CFG;
- if(!isset($tag_object->name)) {
+ if(!isset($tagobject->name)) {
return '';
}
if (empty($CFG->keeptagnamecase)) {
//this is the normalized tag name
$textlib = textlib_get_instance();
- return htmlspecialchars($textlib->strtotitle($tag_object->name));
+ $tagname = $textlib->strtotitle($tagobject->name);
} else {
//original casing of the tag name
- return htmlspecialchars($tag_object->rawname);
+ $tagname = $tagobject->rawname;
}
+
+ if ($html == TAG_RETURN_TEXT) {
+ return $tagname;
+ } else { // TAG_RETURN_HTML
+ return htmlspecialchars($tagname);
+ }
}
/**
diff --git a/tag/tag_autocomplete.php b/tag/tag_autocomplete.php
index 6d88cd0fad6..755d38d3b0d 100644
--- a/tag/tag_autocomplete.php
+++ b/tag/tag_autocomplete.php
@@ -13,7 +13,7 @@ $query = addslashes(optional_param('query', '', PARAM_RAW));
if ($similar_tags = tag_autocomplete($query)) {
foreach ($similar_tags as $tag) {
- echo html_entity_decode(tag_display_name($tag)) . "\t" . tag_display_name($tag) . "\n";
+ echo $tag->name . "\t" . tag_display_name($tag) . "\n";
}
}
diff --git a/user/editadvanced.php b/user/editadvanced.php
index 26c3d379d17..90a0fca9b7f 100644
--- a/user/editadvanced.php
+++ b/user/editadvanced.php
@@ -69,7 +69,7 @@
//user interests separated by commas
if (!empty($CFG->usetags)) {
require_once($CFG->dirroot.'/tag/lib.php');
- $user->interests = html_entity_decode(tag_get_tags_csv('user', $id, TAG_RETURN_TEXT)); // formslib uses htmlentities itself
+ $user->interests = tag_get_tags_csv('user', $id, TAG_RETURN_TEXT); // formslib uses htmlentities itself
}
//create form