diff --git a/filesystem/File.php b/filesystem/File.php index 961c48b7d..f636edce9 100755 --- a/filesystem/File.php +++ b/filesystem/File.php @@ -770,8 +770,9 @@ class File extends DataObject { // Extension validation // TODO Merge this with Upload_Validator $extension = $this->getExtension(); - if($extension && !in_array($extension, self::$allowed_extensions)) { - $exts = self::$allowed_extensions; + $allowed = array_map('strtolower', self::$allowed_extensions); + if($extension && !in_array(strtolower($extension), $allowed)) { + $exts = $allowed; sort($exts); $message = sprintf( _t( diff --git a/tests/filesystem/FileTest.php b/tests/filesystem/FileTest.php index 0f62ab7ed..4d2adebde 100644 --- a/tests/filesystem/FileTest.php +++ b/tests/filesystem/FileTest.php @@ -60,6 +60,11 @@ class FileTest extends SapphireTest { $v = $file->validate(); $this->assertTrue($v->valid()); + // Capital extension is valid as well + $file->Name = 'asdf.TXT'; + $v = $file->validate(); + $this->assertTrue($v->valid()); + File::$allowed_extensions = $origExts; }