PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.33.3
GiveWP – Donation Plugin and Fundraising Platform v2.33.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 2 years ago Contracts 3 years ago Exceptions 2 years ago Facades 4 years ago LegacyNodes 3 years ago ValueObjects 2 years ago Checkbox.php 2 years ago Date.php 2 years ago Element.php 3 years ago Email.php 2 years ago Factory.php 4 years ago Field.php 2 years ago File.php 2 years ago Form.php 3 years ago Group.php 3 years ago Hidden.php 3 years ago Html.php 3 years ago Option.php 3 years ago Phone.php 2 years ago Radio.php 2 years ago Section.php 2 years ago Select.php 2 years ago Text.php 2 years ago Textarea.php 2 years ago Types.php 2 years ago Url.php 2 years ago
File.php
176 lines
1 <?php
2
3 namespace Give\Framework\FieldsAPI;
4
5 use Give\Framework\ValidationRules\Rules\AllowedTypes;
6 use Give\Framework\ValidationRules\Rules\File as FileRule;
7 use Give\Vendors\StellarWP\Validation\Rules\Max;
8
9 /**
10 * A file upload field.
11 *
12 * @since 2.32.0 Updated to use the new Validation File Rule; added description
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 use Concerns\HasDescription;
24
25 const TYPE = 'file';
26
27 /**
28 * Set the maximum file size.
29 *
30 * @deprecated use maxUploadSize() instead
31 *
32 * @param int $maxSize
33 *
34 * @return $this
35 */
36 public function maxSize($maxSize)
37 {
38 if ($this->hasRule('max')) {
39 /** @var Max $rule */
40 $rule = $this->getRule('max');
41 $rule->size($maxSize);
42 }
43
44 $this->rules("max:$maxSize");
45
46 return $this;
47 }
48
49 /**
50 * Access the maximum file size.
51 *
52 * @deprecated use getMaxUploadSize() instead
53 */
54 public function getMaxSize(): int
55 {
56 if ( ! $this->hasRule('max')) {
57 return wp_max_upload_size();
58 }
59
60 return $this->getRule('max')->getSize();
61 }
62
63 /**
64 * Set the maximum file upload size.
65 *
66 * @since 2.32.0
67 */
68 public function maxUploadSize(int $maxUploadSize): File
69 {
70 if ($this->hasRule(FileRule::id())) {
71 /** @var FileRule $rule */
72 $rule = $this->getRule(FileRule::id());
73 $rule->maxSize($maxUploadSize);
74 }
75
76 $this->rules((new FileRule())->maxSize($maxUploadSize));
77
78 return $this;
79 }
80
81 /**
82 * Access the maximum file upload size.
83 *
84 * @since 2.32.0
85 */
86 public function getMaxUploadSize(): int
87 {
88 if (!$this->hasRule(FileRule::id())) {
89 return wp_max_upload_size();
90 }
91
92 /** @var FileRule $rule */
93 $rule = $this->getRule(FileRule::id());
94
95 return $rule->getMaxSize();
96 }
97
98 /**
99 * Set the allowed mime types.
100 *
101 * @since 2.32.0
102 *
103 * @param string[] $allowedMimeTypes
104 */
105 public function allowedMimeTypes(array $allowedMimeTypes): File
106 {
107 if ($this->hasRule(FileRule::id())) {
108 /** @var FileRule $rule */
109 $rule = $this->getRule(FileRule::id());
110
111 $rule->allowedMimeTypes($allowedMimeTypes);
112 } else {
113 $this->rules((new FileRule())->allowedMimeTypes($allowedMimeTypes));
114 }
115
116
117 return $this;
118 }
119
120 /**
121 * Access the allowed mime types.
122 *
123 * @return string[]
124 */
125 public function getAllowedMimeTypes(): array
126 {
127 if (!$this->hasRule(FileRule::id())) {
128 return get_allowed_mime_types();
129 }
130
131 /** @var FileRule $rule */
132 $rule = $this->getRule(FileRule::id());
133
134 return $rule->getAllowedMimeTypes();
135 }
136
137 /**
138 * Set the allowed file types.
139 *
140 * @deprecated use allowedMimeTypes() instead
141 *
142 * @param string[] $allowedTypes
143 */
144 public function allowedTypes(array $allowedTypes): File
145 {
146 if ($this->hasRule('allowedTypes')) {
147 /** @var AllowedTypes $rule */
148 $rule = $this->getRule('allowedTypes');
149 $rule->setAllowedtypes($allowedTypes);
150 }
151
152 $this->rules('allowedTypes:' . implode(',', $allowedTypes));
153
154 return $this;
155 }
156
157 /**
158 * Access the allowed file types.
159 *
160 * @deprecated use getAllowedMimeTypes() instead
161 *
162 * @return string[]
163 */
164 public function getAllowedTypes(): array
165 {
166 if ( ! $this->hasRule('allowedTypes')) {
167 return get_allowed_mime_types();
168 }
169
170 /** @var AllowedTypes $rule */
171 $rule = $this->getRule('allowedTypes');
172
173 return $rule->getAllowedTypes();
174 }
175 }
176