From 5424704757baf03d5376fbee3eae06bec1957557 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@users.sourceforge.net> Date: Sat, 25 Oct 2008 22:54:31 +0000 Subject: [PATCH] No special chars in filename --- htdocs/lib/functions.lib.php | 47 +++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/htdocs/lib/functions.lib.php b/htdocs/lib/functions.lib.php index 3a30720a569..06edcf5ec1c 100644 --- a/htdocs/lib/functions.lib.php +++ b/htdocs/lib/functions.lib.php @@ -96,30 +96,37 @@ function dol_string_unaccent($str) { $string = rawurlencode($str); $replacements = array( - '%C3%A0' => 'a','%C3%A1' => 'a','%C3%A2' => 'a', - '%C3%A8' => 'e','%C3%A9' => 'e','%C3%AA' => 'e','%C3%AB' => 'e', - '%C3%AC' => 'i','%C3%AD' => 'i', - '%C3%B2' => 'o','%C3%B3' => 'o', - '%C3%B9' => 'u','%C3%BA' => 'u', - '%C3%80' => 'A','%C3%81' => 'A', - '%C3%88' => 'E','%C3%89' => 'E', - '%C3%8C' => 'I','%C3%8D' => 'I', - '%C3%92' => 'O','%C3%93' => 'O', - '%C3%99' => 'U','%C3%9A' => 'U' + '%C3%80' => 'A','%C3%81' => 'A', + '%C3%88' => 'E','%C3%89' => 'E', + '%C3%8C' => 'I','%C3%8D' => 'I', + '%C3%92' => 'O','%C3%93' => 'O', + '%C3%99' => 'U','%C3%9A' => 'U', + '%C3%A0' => 'a','%C3%A1' => 'a','%C3%A2' => 'a', + '%C3%A8' => 'e','%C3%A9' => 'e','%C3%AA' => 'e','%C3%AB' => 'e', + '%C3%AC' => 'i','%C3%AD' => 'i', + '%C3%B2' => 'o','%C3%B3' => 'o', + '%C3%B9' => 'u','%C3%BA' => 'u' ); - $ret=strtr($string, $replacements); - return rawurldecode($ret); + $string=strtr($string, $replacements); + return rawurldecode($string); } else { - $translationiso=array( - "\xE0" => "a", "\xE1" => "a", "\xE2" => "a", - "\xE8" => "e", "\xE9" => "e", "\xEA" => "e", "\xEB" => "e", - "\xEE" => "i", "\xEF" => "i", - "\xF4" => "o", "\xF6" => "o", - "\xFB" => "u", "\xFC" => "u"); - $ret=str_replace(array_keys($translationiso), array_values($translationiso), $str); - return $ret; + $string = strtr($str, + "xC0\xC1\xC2\xC3\xC5\xC7 + \xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1 + \xD2\xD3\xD4\xD5\xD8\xD9\xDA\xDB\xDD + \xE0\xE1\xE2\xE3\xE5\xE7\xE8\xE9\xEA\xEB + \xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF8 + \xF9\xFA\xFB\xFD\xFF", + "AAAAAC + EEEEIIIIDN + OOOOOUUUY + aaaaaceeee + iiiidnooooo + uuuyy"); + $string = strtr($string, array("\xC4"=>"Ae", "\xC6"=>"AE", "\xD6"=>"Oe", "\xDC"=>"Ue", "\xDE"=>"TH", "\xDF"=>"ss", "\xE4"=>"ae", "\xE6"=>"ae", "\xF6"=>"oe", "\xFC"=>"ue", "\xFE"=>"th")); + return $string; } } -- GitLab