PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.19.4
GiveWP – Donation Plugin and Fundraising Platform v3.19.4
4.16.4 4.16.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 / vendor / vendor-prefixed / stellarwp / validation / src / Rules / Currency.php
give / vendor / vendor-prefixed / stellarwp / validation / src / Rules Last commit date
Abstracts 1 year ago Boolean.php 1 year ago Currency.php 1 year ago DateTime.php 1 year ago Email.php 1 year ago Exclude.php 1 year ago ExcludeIf.php 1 year ago ExcludeUnless.php 1 year ago In.php 1 year ago InStrict.php 1 year ago Integer.php 1 year ago Max.php 1 year ago Min.php 1 year ago Nullable.php 1 year ago NullableIf.php 1 year ago NullableUnless.php 1 year ago Numeric.php 1 year ago Optional.php 1 year ago OptionalIf.php 1 year ago OptionalUnless.php 1 year ago Required.php 1 year ago Size.php 1 year ago
Currency.php
192 lines
1 <?php
2 /**
3 * @license GPL-2.0-or-later
4 *
5 * Modified by impress-org on 07-January-2025 using Strauss.
6 * @see https://github.com/BrianHenryIE/strauss
7 */
8
9 declare(strict_types=1);
10
11 namespace Give\Vendors\StellarWP\Validation\Rules;
12
13 use Closure;
14 use Give\Vendors\StellarWP\Validation\Contracts\ValidatesOnFrontEnd;
15 use Give\Vendors\StellarWP\Validation\Contracts\ValidationRule;
16
17 class Currency implements ValidationRule, ValidatesOnFrontEnd
18 {
19 /**
20 * @inheritDoc
21 *
22 * @since 1.0.0
23 */
24 public static function id(): string
25 {
26 return 'currency';
27 }
28
29 /**
30 * @inheritDoc
31 *
32 * @since 1.0.0
33 */
34 public static function fromString(string $options = null): ValidationRule
35 {
36 return new self();
37 }
38
39 /**
40 * @inheritDoc
41 *
42 * @since 1.0.0
43 */
44 public function serializeOption()
45 {
46 return null;
47 }
48
49 /**
50 * @inheritDoc
51 *
52 * @since 1.0.0
53 */
54 public function __invoke($value, Closure $fail, string $key, array $values)
55 {
56 if (!is_string($value) || !in_array(strtoupper($value), self::currencyCodes(), true)) {
57 $fail(sprintf(__('%s must be a valid currency', 'give'), '{field}'));
58 }
59 }
60
61 /**
62 * @since 1.0.0
63 *
64 * @return string[]
65 */
66 public static function currencyCodes(): array
67 {
68 static $codes = null;
69
70 if ($codes === null) {
71 $codes = [
72 "ALL",
73 "AFN",
74 "ARS",
75 "AWG",
76 "AUD",
77 "AZN",
78 "BSD",
79 "BBD",
80 "BDT",
81 "BYR",
82 "BZD",
83 "BMD",
84 "BOB",
85 "BAM",
86 "BWP",
87 "BGN",
88 "BRL",
89 "BND",
90 "KHR",
91 "CAD",
92 "KYD",
93 "CLP",
94 "CNY",
95 "COP",
96 "CRC",
97 "HRK",
98 "CUP",
99 "CZK",
100 "DKK",
101 "DOP",
102 "XCD",
103 "EGP",
104 "SVC",
105 "EEK",
106 "EUR",
107 "FKP",
108 "FJD",
109 "GHC",
110 "GIP",
111 "GTQ",
112 "GGP",
113 "GYD",
114 "HNL",
115 "HKD",
116 "HUF",
117 "ISK",
118 "INR",
119 "IDR",
120 "IRR",
121 "IMP",
122 "ILS",
123 "JMD",
124 "JPY",
125 "JEP",
126 "KZT",
127 "KPW",
128 "KRW",
129 "KGS",
130 "LAK",
131 "LVL",
132 "LBP",
133 "LRD",
134 "LTL",
135 "MKD",
136 "MYR",
137 "MUR",
138 "MXN",
139 "MNT",
140 "MZN",
141 "NAD",
142 "NPR",
143 "ANG",
144 "NZD",
145 "NIO",
146 "NGN",
147 "NOK",
148 "OMR",
149 "PKR",
150 "PAB",
151 "PYG",
152 "PEN",
153 "PHP",
154 "PLN",
155 "QAR",
156 "RON",
157 "RUB",
158 "SHP",
159 "SAR",
160 "RSD",
161 "SCR",
162 "SGD",
163 "SBD",
164 "SOS",
165 "ZAR",
166 "LKR",
167 "SEK",
168 "CHF",
169 "SRD",
170 "SYP",
171 "TWD",
172 "THB",
173 "TTD",
174 "TRY",
175 "TRL",
176 "TVD",
177 "UAH",
178 "GBP",
179 "USD",
180 "UYU",
181 "UZS",
182 "VEF",
183 "VND",
184 "YER",
185 "ZWD",
186 ];
187 }
188
189 return $codes;
190 }
191 }
192