[BUGFIX] use fileInfo functions instead of mime_content_type
authorJigal van Hemert <jigal@xs4all.nl>
Tue, 1 May 2012 05:58:57 +0000 (07:58 +0200)
committerXavier Perseguers <xavier@typo3.org>
Tue, 8 May 2012 07:33:05 +0000 (09:33 +0200)
FAL needs mime type info. Use fileInfo functions here and make
fileinfo PHP extension mandatory.

Change-Id: If6fc39d4b42e0264927ecf6918e7deeb7ef9823c
Fixes: #36706
Releases: 6.0
Reviewed-on: http://review.typo3.org/10914
Reviewed-by: Tolleiv Nietsch
Tested-by: Tolleiv Nietsch
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
INSTALL.txt
t3lib/file/Driver/LocalDriver.php
typo3/sysext/install/mod/class.tx_install.php
typo3/sysext/reports/reports/status/class.tx_reports_reports_status_systemstatus.php

index 9218ea9..72d7edb 100644 (file)
@@ -22,6 +22,7 @@ cover using TYPO3 with other databases or web servers.
 The following configuration is the minimum required:
 - a web server capable of running PHP
 - PHP 5.3.0 or newer with the following extensions:
+       - fileinfo
        - filter
        - GD2
        - JSON
index 84b53d3..872237f 100644 (file)
@@ -487,13 +487,14 @@ class t3lib_file_Driver_LocalDriver extends t3lib_file_Driver_AbstractDriver {
         */
        protected function extractFileInformation($filePath, $containerPath) {
                $fileName = basename($filePath);
+               $fileMimeInformation = new finfo(FILEINFO_MIME_TYPE);
 
                $fileInformation = array(
                        'size' => filesize($filePath),
                        'atime' => fileatime($filePath),
                        'mtime' => filemtime($filePath),
                        'ctime' => filectime($filePath),
-                       'mimetype' => mime_content_type($filePath),
+                       'mimetype' => $fileMimeInformation->file($filePath),
                        'name' => $fileName,
                        'identifier' => $containerPath . $fileName,
                        'storage' => $this->storage->getUid()
index 63c15a8..eae4147 100644 (file)
@@ -138,6 +138,7 @@ class tx_install extends t3lib_install {
 
                // PHP modules which are required. Can be changed by hook in getMissingPhpModules()
        protected $requiredPhpModules = array(
+               'fileinfo',
                'filter',
                'gd',
                'json',
index cae239f..6855efd 100644 (file)
@@ -34,7 +34,7 @@ class tx_reports_reports_status_SystemStatus implements tx_reports_StatusProvide
 
                // PHP modules which are required. Can be changed by hook in getMissingPhpModules()
        protected $requiredPhpModules = array(
-               'filter', 'gd', 'json', 'mysql', 'pcre', 'session', 'SPL', 'standard', 'openssl', 'xml', 'zlib', 'soap'
+               'fileinfo', 'filter', 'gd', 'json', 'mysql', 'pcre', 'session', 'SPL', 'standard', 'openssl', 'xml', 'zlib', 'soap'
        );
 
        /**