PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 1.3.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v1.3.1
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / libs / Zend / Validate / File / IsImage.php
matomo / app / libs / Zend / Validate / File Last commit date
Count.php 6 years ago Crc32.php 6 years ago ExcludeExtension.php 6 years ago ExcludeMimeType.php 6 years ago Exists.php 6 years ago Extension.php 6 years ago FilesSize.php 6 years ago Hash.php 6 years ago ImageSize.php 6 years ago IsCompressed.php 6 years ago IsImage.php 6 years ago Md5.php 6 years ago MimeType.php 6 years ago NotExists.php 6 years ago Sha1.php 6 years ago Size.php 6 years ago Upload.php 6 years ago WordCount.php 6 years ago
IsImage.php
174 lines
1 <?php
2 /**
3 * Zend Framework
4 *
5 * LICENSE
6 *
7 * This source file is subject to the new BSD license that is bundled
8 * with this package in the file LICENSE.txt.
9 * It is also available through the world-wide-web at this URL:
10 * http://framework.zend.com/license/new-bsd
11 * If you did not receive a copy of the license and are unable to
12 * obtain it through the world-wide-web, please send an email
13 * to license@zend.com so we can send you a copy immediately.
14 *
15 * @category Zend
16 * @package Zend_Validate
17 * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
18 * @license http://framework.zend.com/license/new-bsd New BSD License
19 * @version $Id: IsImage.php 23775 2011-03-01 17:25:24Z ralph $
20 */
21
22 /**
23 * @see Zend_Validate_File_MimeType
24 */
25 // require_once 'Zend/Validate/File/MimeType.php';
26
27 /**
28 * Validator which checks if the file already exists in the directory
29 *
30 * @category Zend
31 * @package Zend_Validate
32 * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
33 * @license http://framework.zend.com/license/new-bsd New BSD License
34 */
35 class Zend_Validate_File_IsImage extends Zend_Validate_File_MimeType
36 {
37 /**
38 * @const string Error constants
39 */
40 const FALSE_TYPE = 'fileIsImageFalseType';
41 const NOT_DETECTED = 'fileIsImageNotDetected';
42 const NOT_READABLE = 'fileIsImageNotReadable';
43
44 /**
45 * @var array Error message templates
46 */
47 protected $_messageTemplates = array(
48 self::FALSE_TYPE => "File '%value%' is no image, '%type%' detected",
49 self::NOT_DETECTED => "The mimetype of file '%value%' could not be detected",
50 self::NOT_READABLE => "File '%value%' is not readable or does not exist",
51 );
52
53 /**
54 * Sets validator options
55 *
56 * @param string|array|Zend_Config $mimetype
57 * @return void
58 */
59 public function __construct($mimetype = array())
60 {
61 if ($mimetype instanceof Zend_Config) {
62 $mimetype = $mimetype->toArray();
63 }
64
65 $temp = array();
66 // http://de.wikipedia.org/wiki/Liste_von_Dateiendungen
67 // http://www.iana.org/assignments/media-types/image/
68 $default = array(
69 'application/cdf',
70 'application/dicom',
71 'application/fractals',
72 'application/postscript',
73 'application/vnd.hp-hpgl',
74 'application/vnd.oasis.opendocument.graphics',
75 'application/x-cdf',
76 'application/x-cmu-raster',
77 'application/x-ima',
78 'application/x-inventor',
79 'application/x-koan',
80 'application/x-portable-anymap',
81 'application/x-world-x-3dmf',
82 'image/bmp',
83 'image/c',
84 'image/cgm',
85 'image/fif',
86 'image/gif',
87 'image/jpeg',
88 'image/jpm',
89 'image/jpx',
90 'image/jp2',
91 'image/naplps',
92 'image/pjpeg',
93 'image/png',
94 'image/svg',
95 'image/svg+xml',
96 'image/tiff',
97 'image/vnd.adobe.photoshop',
98 'image/vnd.djvu',
99 'image/vnd.fpx',
100 'image/vnd.net-fpx',
101 'image/x-cmu-raster',
102 'image/x-cmx',
103 'image/x-coreldraw',
104 'image/x-cpi',
105 'image/x-emf',
106 'image/x-ico',
107 'image/x-icon',
108 'image/x-jg',
109 'image/x-ms-bmp',
110 'image/x-niff',
111 'image/x-pict',
112 'image/x-pcx',
113 'image/x-portable-anymap',
114 'image/x-portable-bitmap',
115 'image/x-portable-greymap',
116 'image/x-portable-pixmap',
117 'image/x-quicktime',
118 'image/x-rgb',
119 'image/x-tiff',
120 'image/x-unknown',
121 'image/x-windows-bmp',
122 'image/x-xpmi',
123 );
124
125 if (is_array($mimetype)) {
126 $temp = $mimetype;
127 if (array_key_exists('magicfile', $temp)) {
128 unset($temp['magicfile']);
129 }
130
131 if (array_key_exists('headerCheck', $temp)) {
132 unset($temp['headerCheck']);
133 }
134
135 if (empty($temp)) {
136 $mimetype += $default;
137 }
138 }
139
140 if (empty($mimetype)) {
141 $mimetype = $default;
142 }
143
144 parent::__construct($mimetype);
145 }
146
147 /**
148 * Throws an error of the given type
149 * Duplicates parent method due to OOP Problem with late static binding in PHP 5.2
150 *
151 * @param string $file
152 * @param string $errorType
153 * @return false
154 */
155 protected function _throw($file, $errorType)
156 {
157 $this->_value = $file['name'];
158 switch($errorType) {
159 case Zend_Validate_File_MimeType::FALSE_TYPE :
160 $errorType = self::FALSE_TYPE;
161 break;
162 case Zend_Validate_File_MimeType::NOT_DETECTED :
163 $errorType = self::NOT_DETECTED;
164 break;
165 case Zend_Validate_File_MimeType::NOT_READABLE :
166 $errorType = self::NOT_READABLE;
167 break;
168 }
169
170 $this->_error($errorType);
171 return false;
172 }
173 }
174