|
|
@@ -83,58 +83,4 @@ class Zend_Validate_File_IsCompressed extends Zend_Validate_File_MimeType
|
|
|
|
|
|
$this->setMimeType($mimetype);
|
|
|
}
|
|
|
-
|
|
|
- /**
|
|
|
- * Defined by Zend_Validate_Interface
|
|
|
- *
|
|
|
- * Returns true if and only if the file is compression with the set compression types
|
|
|
- *
|
|
|
- * @param string $value Real file to check for compression
|
|
|
- * @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);
|
|
|
- }
|
|
|
-
|
|
|
- if (class_exists('finfo', false) && defined('MAGIC')) {
|
|
|
- $mime = new finfo(FILEINFO_MIME);
|
|
|
- $this->_type = $mime->file($value);
|
|
|
- unset($mime);
|
|
|
- } elseif (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);
|
|
|
- }
|
|
|
-
|
|
|
- $compressions = $this->getMimeType(true);
|
|
|
- if (in_array($this->_type, $compressions)) {
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- $types = explode('/', $this->_type);
|
|
|
- $types = array_merge($types, explode('-', $this->_type));
|
|
|
- foreach ($compressions as $mime) {
|
|
|
- if (in_array($mime, $types)) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return $this->_throw($file, self::FALSE_TYPE);
|
|
|
- }
|
|
|
}
|