User Tools

Site Tools


squirrel-quoted
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


squirrel-quoted [2015-09-16 02:40:57] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== SquirrelMail not displaying some subjects/messages ======
  
 +Got report after upgrade to Debian Jessie that SquirrelMail does not show messages using quoted-printable.
 +
 +http://sourceforge.net/p/squirrelmail/bugs/2806/
 +
 +<code>
 +--- /usr/share/squirrelmail/functions/i18n.php.orig 2015-09-16 02:31:36.763732202 +0200
 ++++ /usr/share/squirrelmail/functions/i18n.php 2015-09-16 02:34:27.983563079 +0200
 +@@ -184,7 +184,7 @@
 +     }
 + 
 +     /* All HTML special characters are 7 bit and can be replaced first */
 +-    if (! $save_html) $string = sm_encode_html_special_chars ($string);
 ++    if (! $save_html) $string = sm_encode_html_special_chars($string, ENT_COMPAT, $charset);
 +     $charset = strtolower($charset);
 + 
 +     set_my_charset();
 +--- /usr/share/squirrelmail/functions/strings.php.orig 2015-09-16 02:34:52.320107664 +0200
 ++++ /usr/share/squirrelmail/functions/strings.php 2015-09-16 02:36:26.822222562 +0200
 +@@ -1496,6 +1496,24 @@
 + function sm_encode_html_special_chars($string, $flags=ENT_COMPAT,
 +                                       $encoding=NULL, $double_encode=TRUE)
 + {
 ++
 ++   static $htmlspecialchars_charsets = array(
 ++      'iso-8859-1', 'iso8859-1',
 ++      'iso-8859-5', 'iso8859-5',
 ++      'iso-8859-15', 'iso8859-15',
 ++      'utf-8',
 ++      'cp866', 'ibm866', '866',
 ++      'cp1251', 'windows-1251', 'win-1251', '1251',
 ++      'cp1252', 'windows-1252', '1252',
 ++      'koi8-R', 'koi8-ru', 'koi8r',
 ++      'big5', '950',
 ++      'gb2312', '936',
 ++      'big5-hkscs',
 ++      'shift_jis', 'sjis', 'sjis-win', 'cp932', '932',
 ++      'euc-jp', 'eucjp', 'eucjp-win',
 ++      'macroman',
 ++   );
 ++
 +    if (!$encoding)
 +    {
 +       global $default_charset;
 +@@ -1504,6 +1522,17 @@
 +       $encoding = $default_charset;
 +    }
 + 
 ++   if (!in_array(strtolower($encoding), $htmlspecialchars_charsets))
 ++   {
 ++      // use default from configuration if provided or hard-coded fallback
 ++      //
 ++      global $default_htmlspecialchars_encoding;
 ++      if (!empty($default_htmlspecialchars_encoding))
 ++         $encoding = $default_htmlspecialchars_encoding;
 ++      else
 ++         $encoding = 'iso-8859-1';
 ++   }
 ++
 +    if (check_php_version(5, 2, 3))
 +       return htmlspecialchars($string, $flags, $encoding, $double_encode);
 +</code>
 +
 +No idea what it does and if this is ever going to be mainlined.
squirrel-quoted.txt · Last modified: by 127.0.0.1

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki