Thank you Kristina.

I'll try the Mahara code review
(https://wiki.mahara.org/wiki/Developer_Area/Contributing_Code) next
time.

-- 
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

_______________________________________________
Mailing list: https://launchpad.net/~mahara-contributors
Post to     : mahara-contributors@lists.launchpad.net
Unsubscribe : https://launchpad.net/~mahara-contributors
More help   : https://help.launchpad.net/ListHelp

Reply via email to