Переглянути джерело

MMICore lib dol_string_unaccent() : remove COMBINING characteres from CC80 to CDAF to repair SMTPISUTF8 error with MacOS

Mathieu Moulin 2 роки тому
батько
коміт
b59e8b4c08
1 змінених файлів з 4 додано та 1 видалено
  1. 4 1
      htdocs/core/lib/functions.lib.php

+ 4 - 1
htdocs/core/lib/functions.lib.php

@@ -1295,7 +1295,6 @@ function dol_sanitizeUrl($stringtoclean, $type = 1)
 function dol_string_unaccent($str)
 {
 	global $conf;
-
 	if (utf8_check($str)) {
 		if (extension_loaded('intl') && !empty($conf->global->MAIN_UNACCENT_USE_TRANSLITERATOR)) {
 			$transliterator = \Transliterator::createFromRules(':: Any-Latin; :: Latin-ASCII; :: NFD; :: [:Nonspacing Mark:] Remove; :: NFC;', \Transliterator::FORWARD);
@@ -1324,6 +1323,10 @@ function dol_string_unaccent($str)
 		'%C3%BD' => 'y', '%C3%BF' => 'y'
 		);
 		$string = strtr($string, $replacements);
+		$replacements = [];
+		foreach(['%CC%8','%CC%9','%CC%A','%CC%B','%CD%8','%CD%9','%CD%A'] as $i) foreach([0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'] as $j)
+				$replacements["$i$j"] = '';
+		$string = strtr($string, $replacements);
 		return rawurldecode($string);
 	} else {
 		// See http://www.ascii-code.com/