瀏覽代碼

[TESTS] Backport r18513 (Zend_Validate_File_IsCompressed updates) to trunk

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@18522 44c647ce-9c0f-0410-b52a-842ac1e357ba
matthew 16 年之前
父節點
當前提交
78c1669981
共有 2 個文件被更改,包括 25 次插入1 次删除
  1. 24 0
      library/Zend/Validate/File/MimeType.php
  2. 1 1
      tests/Zend/Validate/File/IsCompressedTest.php

+ 24 - 0
library/Zend/Validate/File/MimeType.php

@@ -80,6 +80,22 @@ class Zend_Validate_File_MimeType extends Zend_Validate_Abstract
     protected $_magicfile;
 
     /**
+     * If no $_ENV['MAGIC'] is set, try and autodiscover it based on common locations
+     * @var array
+     */
+    protected $_magicFiles = array(
+        '/usr/share/misc/magic',
+        '/usr/share/misc/magic.mime',
+        '/usr/share/misc/magic.mgc',
+        '/usr/share/mime/magic',
+        '/usr/share/mime/magic.mime',
+        '/usr/share/mime/magic.mgc',
+        '/usr/share/file/magic',
+        '/usr/share/file/magic.mime',
+        '/usr/share/file/magic.mgc',
+    );
+
+    /**
      * Option to allow header check
      *
      * @var boolean
@@ -123,6 +139,14 @@ class Zend_Validate_File_MimeType extends Zend_Validate_Abstract
      */
     public function getMagicFile()
     {
+        if (null === $this->_magicfile && empty($_ENV['MAGIC'])) {
+            foreach ($this->_magicFiles as $file) {
+                if (file_exists($file)) {
+                    $this->setMagicFile($file);
+                    break;
+                }
+            }
+        }
         return $this->_magicfile;
     }
 

+ 1 - 1
tests/Zend/Validate/File/IsCompressedTest.php

@@ -22,7 +22,7 @@
 
 // Call Zend_Validate_File_MimeTypeTest::main() if this source file is executed directly.
 if (!defined("PHPUnit_MAIN_METHOD")) {
-    define("PHPUnit_MAIN_METHOD", "Zend_Validate_File_MimeTypeTest::main");
+    define("PHPUnit_MAIN_METHOD", "Zend_Validate_File_IsCompressedTest::main");
 }
 
 /**