PluginProbe
WPIDE – File Manager & Code Editor / 3.5.9
WPIDE – File Manager & Code Editor v3.5.9
3.5.9 3.5.8 3.5.7 2.0.14 2.0.15 2.0.16 2.0.2 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1 2.2 2.3 2.3.1 2.3.2 2.4.0 2.5 2.6 3.0 3.1 3.2 3.3 All 55 releases
wpide / vendor / rakit / validation / src / Rules / Extension.php

Extension.php in WPIDE – File Manager & Code Editor 3.5.9, at vendor/rakit/validation/src/Rules/Extension.php

51 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Rakit\Validation\Rules;
4
5 use Rakit\Validation\Helper;
6 use Rakit\Validation\Rule;
7
8 class Extension extends Rule
9 {
10
11 /** @var string */
12 protected $message = "The :attribute must be a :allowed_extensions file";
13
14 /**
15 * Given $params and assign the $this->params
16 *
17 * @param array $params
18 * @return self
19 */
20 public function fillParameters(array $params): Rule
21 {
22 if (count($params) == 1 && is_array($params[0])) {
23 $params = $params[0];
24 }
25 $this->params['allowed_extensions'] = $params;
26 return $this;
27 }
28
29 /**
30 * Check the $value is valid
31 *
32 * @param mixed $value
33 * @return bool
34 */
35 public function check($value): bool
36 {
37 $this->requireParameters(['allowed_extensions']);
38 $allowedExtensions = $this->parameter('allowed_extensions');
39 foreach ($allowedExtensions as $key => $ext) {
40 $allowedExtensions[$key] = ltrim($ext, '.');
41 }
42
43 $or = $this->validation ? $this->validation->getTranslation('or') : 'or';
44 $allowedExtensionsText = Helper::join(Helper::wraps($allowedExtensions, ".", ""), ', ', ", {$or} ");
45 $this->setParameterText('allowed_extensions', $allowedExtensionsText);
46
47 $ext = strtolower(pathinfo($value, PATHINFO_EXTENSION));
48 return ($ext && in_array($ext, $allowedExtensions)) ? true : false;
49 }
50 }
51