PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.27.3
GiveWP – Donation Plugin and Fundraising Platform v2.27.3
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Framework / FieldsAPI / File.php
give / src / Framework / FieldsAPI Last commit date
Actions 3 years ago Concerns 3 years ago Contracts 3 years ago Exceptions 3 years ago Facades 4 years ago Checkbox.php 3 years ago Date.php 3 years ago Element.php 3 years ago Email.php 3 years ago Factory.php 4 years ago Field.php 3 years ago File.php 3 years ago Form.php 3 years ago Group.php 3 years ago Hidden.php 3 years ago Html.php 4 years ago Option.php 3 years ago Phone.php 3 years ago Radio.php 3 years ago Section.php 3 years ago Select.php 3 years ago Text.php 3 years ago Textarea.php 3 years ago Types.php 4 years ago Url.php 3 years ago
File.php
92 lines
1 <?php
2
3 namespace Give\Framework\FieldsAPI;
4
5 use Give\Framework\ValidationRules\Rules\AllowedTypes;
6
7 use function get_allowed_mime_types;
8 use function wp_max_upload_size;
9
10 /**
11 * A file upload field.
12 *
13 * @since 2.12.0
14 * @since 2.23.1 Moved default rule values inline since inherited constructor is final.
15 */
16 class File extends Field
17 {
18 use Concerns\AllowMultiple;
19 use Concerns\HasEmailTag;
20 use Concerns\HasHelpText;
21 use Concerns\HasLabel;
22 use Concerns\AllowMultiple;
23
24 const TYPE = 'file';
25
26 /**
27 * Set the maximum file size.
28 *
29 * @param int $maxSize
30 *
31 * @return $this
32 */
33 public function maxSize($maxSize)
34 {
35 if ($this->hasRule('max')) {
36 /** @var Max $rule */
37 $rule = $this->getRule('max');
38 $rule->size($maxSize);
39 }
40
41 $this->rules("max:$maxSize");
42
43 return $this;
44 }
45
46 /**
47 * Access the maximum file size.
48 */
49 public function getMaxSize(): int
50 {
51 if (!$this->hasRule('max')) {
52 return wp_max_upload_size();
53 }
54
55 return $this->getRule('max')->getSize();
56 }
57
58 /**
59 * Set the allowed file types.
60 *
61 * @param string[] $allowedTypes
62 *
63 * @return $this
64 */
65 public function allowedTypes(array $allowedTypes)
66 {
67 if ($this->hasRule('allowedTypes')) {
68 /** @var AllowedTypes $rule */
69 $rule = $this->getRule('allowedTypes');
70 $rule->setAllowedtypes($allowedTypes);
71 }
72
73 $this->rules('allowedTypes:' . implode(',', $allowedTypes));
74
75 return $this;
76 }
77
78 /**
79 * Access the allowed file types.
80 *
81 * @return string[]
82 */
83 public function getAllowedTypes()
84 {
85 if (!$this->hasRule('allowedTypes')) {
86 return get_allowed_mime_types();
87 }
88
89 return $this->getRule('allowedTypes')->getAllowedTypes();
90 }
91 }
92