** Description changed:

  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) {
+     /*
+      * 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);
+         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) {
+     /*
+      * 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;
+         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);
+         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);

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

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