mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #55286
[Bug 1836588] Re: Multibyte comments broken
Thank you Mits. We'll add this to our code review.
If you like, you can connect to the Mahara code review yourself in order
to submit your patches straight into it. Instructions are available at
https://wiki.mahara.org/wiki/Developer_Area/Contributing_Code
** Changed in: mahara
Status: New => In Progress
--
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:
In Progress
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