mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #55510
[Bug 1836588] Re: Multibyte comments broken
** Changed in: mahara
Status: In Progress => Fix Committed
** Also affects: mahara/19.04
Importance: Undecided
Status: New
** Also affects: mahara/19.10
Importance: High
Status: Fix Committed
** Changed in: mahara/19.04
Milestone: None => 19.04.2
** Changed in: mahara/19.04
Importance: Undecided => High
** Changed in: mahara/19.04
Status: New => Fix Committed
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1836588
Title:
Multibyte comments broken
Status in Mahara:
Fix Committed
Status in Mahara 19.04 series:
Fix Committed
Status in Mahara 19.10 series:
Fix Committed
Bug description:
When we post English and Japanese comments on a page "Add comment"
field, only Japanese characters are corrupted as the attached
screenshot (mahara_comment.png).
We can fix the issue using mb_convert_encoding function as below.
Hopefully this fix helps Mahara multibyte character users.
---------------------------
Program file to modify:
artefact/comment/lib.php
Line number to modify;
1184
[ Before ]
/*
* Removes the classes from the text of the comment that could interfere
* with the comment display
* @param string $comment the text content of the comment
*/
public static function remove_comments_classes($comment) {
if (empty($comment)) {
return "";
}
$dom = new DOMDocument();
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadHTML($comment, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$xpath = new DOMXPath($dom);
[ After ]
/*
* Removes the classes from the text of the comment that could interfere
* with the comment display
* @param string $comment the text content of the comment
*/
public static function remove_comments_classes($comment) {
if (empty($comment)) {
return "";
}
$dom = new DOMDocument();
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
// $dom->loadHTML($comment, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
if (function_exists('mb_convert_encoding')) {
$dom->loadHTML(mb_convert_encoding($comment, 'HTML-ENTITIES', 'UTF-8'));
} else {
$dom->loadHTML($comment, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
}
$xpath = new DOMXPath($dom);
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1836588/+subscriptions
References