Browse Source

convert forbidden character in filename(Windows) with underline

Saleh Souzanchi 12 years ago
parent
commit
e157d8a7e6

+ 1 - 1
lib/Cake/Cache/Engine/FileEngine.php

@@ -388,7 +388,7 @@ class FileEngine extends CacheEngine {
 			return false;
 		}
 
-		$key = Inflector::underscore(str_replace(array(DS, '/', '.'), '_', strval($key)));
+		$key = Inflector::underscore(str_replace(array(DS, '/', '.','<','>','?',':','|','*','"'), '_', strval($key)));
 		return $key;
 	}
 

+ 8 - 0
lib/Cake/Test/Case/Cache/Engine/FileEngineTest.php

@@ -305,6 +305,14 @@ class FileEngineTest extends CakeTestCase {
 
 		$result = Cache::clear(false, 'file_test');
 		$this->assertTrue($result);
+
+		$result = Cache::write('domain.test.com:8080', 'here', 'file_test');
+		$this->assertTrue($result);
+		$this->assertTrue(file_exists(CACHE . 'cake_domain_test_com_8080'));
+
+		$result = Cache::write('command>dir|more', 'here', 'file_test');
+		$this->assertTrue($result);
+		$this->assertTrue(file_exists(CACHE . 'cake_command_dir_more'));
 	}
 
 /**