diff options
Diffstat (limited to 'libs/Zend/Validate/File/ExcludeMimeType.php')
-rw-r--r-- | libs/Zend/Validate/File/ExcludeMimeType.php | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/libs/Zend/Validate/File/ExcludeMimeType.php b/libs/Zend/Validate/File/ExcludeMimeType.php deleted file mode 100644 index fbb6c47201..0000000000 --- a/libs/Zend/Validate/File/ExcludeMimeType.php +++ /dev/null @@ -1,109 +0,0 @@ -<?php -/** - * Zend Framework - * - * LICENSE - * - * This source file is subject to the new BSD license that is bundled - * with this package in the file LICENSE.txt. - * It is also available through the world-wide-web at this URL: - * http://framework.zend.com/license/new-bsd - * If you did not receive a copy of the license and are unable to - * obtain it through the world-wide-web, please send an email - * to license@zend.com so we can send you a copy immediately. - * - * @category Zend - * @package Zend_Validate - * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - * @version $Id: ExcludeMimeType.php 23775 2011-03-01 17:25:24Z ralph $ - */ - -/** - * @see Zend_Validate_File_MimeType - */ -// require_once 'Zend/Validate/File/MimeType.php'; - -/** - * Validator for the mime type of a file - * - * @category Zend - * @package Zend_Validate - * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ -class Zend_Validate_File_ExcludeMimeType extends Zend_Validate_File_MimeType -{ - const FALSE_TYPE = 'fileExcludeMimeTypeFalse'; - const NOT_DETECTED = 'fileExcludeMimeTypeNotDetected'; - const NOT_READABLE = 'fileExcludeMimeTypeNotReadable'; - - /** - * Defined by Zend_Validate_Interface - * - * Returns true if the mimetype of the file does not matche the given ones. Also parts - * of mimetypes can be checked. If you give for example "image" all image - * mime types will not be accepted like "image/gif", "image/jpeg" and so on. - * - * @param string $value Real file to check for mimetype - * @param array $file File data from Zend_File_Transfer - * @return boolean - */ - public function isValid($value, $file = null) - { - if ($file === null) { - $file = array( - 'type' => null, - 'name' => $value - ); - } - - // Is file readable ? - // require_once 'Zend/Loader.php'; - if (!Zend_Loader::isReadable($value)) { - return $this->_throw($file, self::NOT_READABLE); - } - - $mimefile = $this->getMagicFile(); - if (class_exists('finfo', false)) { - $const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME; - if (!empty($mimefile)) { - $mime = new finfo($const, $mimefile); - } else { - $mime = new finfo($const); - } - - if (!empty($mime)) { - $this->_type = $mime->file($value); - } - unset($mime); - } - - if (empty($this->_type)) { - if (function_exists('mime_content_type') && ini_get('mime_magic.magicfile')) { - $this->_type = mime_content_type($value); - } elseif ($this->_headerCheck) { - $this->_type = $file['type']; - } - } - - if (empty($this->_type)) { - return $this->_throw($file, self::NOT_DETECTED); - } - - $mimetype = $this->getMimeType(true); - if (in_array($this->_type, $mimetype)) { - return $this->_throw($file, self::FALSE_TYPE); - } - - $types = explode('/', $this->_type); - $types = array_merge($types, explode('-', $this->_type)); - foreach($mimetype as $mime) { - if (in_array($mime, $types)) { - return $this->_throw($file, self::FALSE_TYPE); - } - } - - return true; - } -} |