diff --git a/core/lib/Thelia/Tests/Tools/FileManagerTest.php b/core/lib/Thelia/Tests/Tools/FileManagerTest.php index 8dce5afcc..8c1c9fe99 100644 --- a/core/lib/Thelia/Tests/Tools/FileManagerTest.php +++ b/core/lib/Thelia/Tests/Tools/FileManagerTest.php @@ -532,9 +532,9 @@ class FileManagerTest extends \PHPUnit_Framework_TestCase { ->getMock(); $fileManager = new FileManager($stubContainer); - $badFileName = 'azeéràçè§^"$*+-_°)(&é<>@#ty'; + $badFileName = 'a/ze\érà~çè§^"$*+-_°)(&é<>@#ty2/[\/:*?"<>|]/fi?.fUPPERile.exel../e*'; - $expected = 'azeyryZyy-_yty'; + $expected = 'azer-_ty2fi.fupperile.exel..e'; $actual = $fileManager->sanitizeFileName($badFileName); $this->assertEquals($expected, $actual); @@ -802,7 +802,7 @@ class FileManagerTest extends \PHPUnit_Framework_TestCase { $fileManager = new FileManager($stubContainer); - $expected = 'or1-g_nalyfilenme-1.yml'; + $expected = 'or1-g_nalfilenme-1.yml'; $actual = $fileManager->renameFile(1, $stubUploadedFile); $this->assertEquals($expected, $actual); @@ -830,7 +830,7 @@ class FileManagerTest extends \PHPUnit_Framework_TestCase { $fileManager = new FileManager($stubContainer); - $expected = 'or1-g_nalyfilenme-1'; + $expected = 'or1-g_nalfilenme-1'; $actual = $fileManager->renameFile(1, $stubUploadedFile); $this->assertEquals($expected, $actual); diff --git a/core/lib/Thelia/Tools/FileManager.php b/core/lib/Thelia/Tools/FileManager.php index 6c06fb416..ba5e1d24a 100644 --- a/core/lib/Thelia/Tools/FileManager.php +++ b/core/lib/Thelia/Tools/FileManager.php @@ -279,12 +279,7 @@ class FileManager */ public function sanitizeFileName($string) { - $cleanName = strtr($string, 'ŠŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ', 'SZszYAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy'); - $cleanName = strtr($cleanName, array('Þ' => 'TH', 'þ' => 'th', 'Ð' => 'DH', 'ð' => 'dh', 'ß' => 'ss', 'Œ' => 'OE', 'œ' => 'oe', 'Æ' => 'AE', 'æ' => 'ae', 'µ' => 'u')); - - $cleanName = preg_replace(array('/\s/', '/\.[\.]+/', '/[^\w_\.\-]/'), array('_', '.', ''), $cleanName); - - return $cleanName; + return strtolower(preg_replace('/[^a-zA-Z0-9-_\.]/', '', $string)); } /**