Ver código fonte

[GENERIC] Zend_File/Zend_Validate:

- fixed fileinfo extension for PHP 5.3

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@17198 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 anos atrás
pai
commit
92634475bb

+ 3 - 8
library/Zend/File/Transfer/Adapter/Abstract.php

@@ -1220,10 +1220,11 @@ abstract class Zend_File_Transfer_Adapter_Abstract
             }
 
             if (class_exists('finfo', false)) {
+                $const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME;
                 if (!empty($value['options']['magicFile'])) {
-                    $mime = new finfo(FILEINFO_MIME, $value['options']['magicFile']);
+                    $mime = new finfo($const, $value['options']['magicFile']);
                 } else {
-                    $mime = new finfo(FILEINFO_MIME);
+                    $mime = new finfo($const);
                 }
 
                 if ($mime !== false) {
@@ -1245,12 +1246,6 @@ abstract class Zend_File_Transfer_Adapter_Abstract
                 require_once 'Zend/File/Transfer/Exception.php';
                 throw new Zend_File_Transfer_Exception("The mimetype of file '{$value['name']}' could not been detected");
             }
-
-            // delete additional info
-            $pos = strpos($result[$key], ';');
-            if ($pos !== false) {
-                $result[$key] = substr($result[$key], 0, $pos);
-            }
         }
 
         if (count($result) == 1) {

+ 3 - 2
library/Zend/Validate/File/MimeType.php

@@ -229,10 +229,11 @@ class Zend_Validate_File_MimeType extends Zend_Validate_Abstract
         if ($file !== null) {
             $mimefile = $this->getMagicFile();
             if (class_exists('finfo', false)) {
+                $const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME;
                 if (!empty($mimefile)) {
-                    $mime = new finfo(FILEINFO_MIME, $mimefile);
+                    $mime = new finfo($const, $mimefile);
                 } else {
-                    $mime = new finfo(FILEINFO_MIME);
+                    $mime = new finfo($const);
                 }
 
                 if ($mime !== false) {

+ 1 - 1
tests/Zend/File/Transfer/Adapter/AbstractTest.php

@@ -710,7 +710,7 @@ class Zend_File_Transfer_Adapter_AbstractTest extends PHPUnit_Framework_TestCase
 
     public function testMimeTypeByTmpName()
     {
-        $this->assertRegexp('#^text/plain#', $this->adapter->getMimeType('baz.text'));
+        $this->assertRegexp('text/plain', $this->adapter->getMimeType('baz.text'));
     }
 
     public function testSetOwnErrorMessage()

+ 1 - 1
tests/Zend/Form/Element/FileTest.php

@@ -379,7 +379,7 @@ class Zend_Form_Element_FileTest extends PHPUnit_Framework_TestCase
         $adapter = new Zend_Form_Element_FileTest_MockAdapter();
         $element->setTransferAdapter($adapter);
 
-        $this->assertRegexp('#^text/plain#', $element->getMimeType('baz.text'));
+        $this->assertRegexp('text/plain', $element->getMimeType('baz.text'));
     }
 
     public function testAddedErrorsAreDisplayed()