PluginProbe
WPSSO Core – Complete Schema Markup and Meta Tags / 22.7.0
WPSSO Core – Complete Schema Markup and Meta Tags v22.7.0
22.7.0 22.6.1 22.6.0 22.5.3 22.5.2 22.5.1 22.4.0 22.3.0 22.2.1 22.2.0 22.1.3 22.1.2 22.1.1 22.1.0 22.0.0 21.13.3 21.13.2 trunk 21.13.1
← All changes | lib/com/currencies.php +395 -0 22.1.222.7.0 View file →
@@ -1,0 +1,395 @@
1 +<?php
2 +/*
3 + * License: GPLv3
4 + * License URI: https://www.gnu.org/licenses/gpl.txt
5 + * Copyright 2024-2026 Jean-Sebastien Morisset (https://surniaulula.com/)
6 + */
7 +
8 +if ( ! defined( 'ABSPATH' ) ) {
9 +
10 + die( 'These aren\'t the droids you\'re looking for.' );
11 +}
12 +
13 +if ( ! class_exists( 'SucomUtil' ) ) {
14 +
15 + require_once dirname( __FILE__ ) . '/util.php';
16 +}
17 +
18 +if ( ! class_exists( 'SucomCurrencies' ) ) {
19 +
20 + class SucomCurrencies {
21 +
22 + protected static $currencies = array(
23 + 'AED' => 'United Arab Emirates dirham',
24 + 'AFN' => 'Afghan afghani',
25 + 'ALL' => 'Albanian lek',
26 + 'AMD' => 'Armenian dram',
27 + 'ANG' => 'Netherlands Antillean guilder',
28 + 'AOA' => 'Angolan kwanza',
29 + 'ARS' => 'Argentine peso',
30 + 'AUD' => 'Australian dollar',
31 + 'AWG' => 'Aruban florin',
32 + 'AZN' => 'Azerbaijani manat',
33 + 'BAM' => 'Bosnia and Herzegovina convertible mark',
34 + 'BBD' => 'Barbadian dollar',
35 + 'BDT' => 'Bangladeshi taka',
36 + 'BGN' => 'Bulgarian lev',
37 + 'BHD' => 'Bahraini dinar',
38 + 'BIF' => 'Burundian franc',
39 + 'BMD' => 'Bermudian dollar',
40 + 'BND' => 'Brunei dollar',
41 + 'BOB' => 'Bolivian boliviano',
42 + 'BRL' => 'Brazilian real',
43 + 'BSD' => 'Bahamian dollar',
44 + 'BTC' => 'Bitcoin',
45 + 'BTN' => 'Bhutanese ngultrum',
46 + 'BWP' => 'Botswana pula',
47 + 'BYR' => 'Belarusian ruble',
48 + 'BZD' => 'Belize dollar',
49 + 'GBP' => 'British pound',
50 + 'CAD' => 'Canadian dollar',
51 + 'CDF' => 'Congolese franc',
52 + 'CHF' => 'Swiss franc',
53 + 'CLP' => 'Chilean peso',
54 + 'CNY' => 'Chinese yuan',
55 + 'COP' => 'Colombian peso',
56 + 'CRC' => 'Costa Rican col&oacute;n',
57 + 'CUC' => 'Cuban convertible peso',
58 + 'CUP' => 'Cuban peso',
59 + 'CVE' => 'Cape Verdean escudo',
60 + 'CZK' => 'Czech koruna',
61 + 'DJF' => 'Djiboutian franc',
62 + 'DKK' => 'Danish krone',
63 + 'DOP' => 'Dominican peso',
64 + 'DZD' => 'Algerian dinar',
65 + 'EGP' => 'Egyptian pound',
66 + 'ERN' => 'Eritrean nakfa',
67 + 'ETB' => 'Ethiopian birr',
68 + 'EUR' => 'Euro',
69 + 'FJD' => 'Fijian dollar',
70 + 'FKP' => 'Falkland Islands pound',
71 + 'GEL' => 'Georgian lari',
72 + 'GGP' => 'Guernsey pound',
73 + 'GHS' => 'Ghana cedi',
74 + 'GIP' => 'Gibraltar pound',
75 + 'GMD' => 'Gambian dalasi',
76 + 'GNF' => 'Guinean franc',
77 + 'GTQ' => 'Guatemalan quetzal',
78 + 'GYD' => 'Guyanese dollar',
79 + 'HKD' => 'Hong Kong dollar',
80 + 'HNL' => 'Honduran lempira',
81 + 'HRK' => 'Croatian kuna',
82 + 'HTG' => 'Haitian gourde',
83 + 'HUF' => 'Hungarian forint',
84 + 'IDR' => 'Indonesian rupiah',
85 + 'ILS' => 'Israeli new shekel',
86 + 'IMP' => 'Manx pound',
87 + 'INR' => 'Indian rupee',
88 + 'IQD' => 'Iraqi dinar',
89 + 'IRR' => 'Iranian rial',
90 + 'IRT' => 'Iranian toman',
91 + 'ISK' => 'Icelandic kr&oacute;na',
92 + 'JEP' => 'Jersey pound',
93 + 'JMD' => 'Jamaican dollar',
94 + 'JOD' => 'Jordanian dinar',
95 + 'JPY' => 'Japanese yen',
96 + 'KES' => 'Kenyan shilling',
97 + 'KGS' => 'Kyrgyzstani som',
98 + 'KHR' => 'Cambodian riel',
99 + 'KMF' => 'Comorian franc',
100 + 'KPW' => 'North Korean won',
101 + 'KRW' => 'South Korean won',
102 + 'KWD' => 'Kuwaiti dinar',
103 + 'KYD' => 'Cayman Islands dollar',
104 + 'KZT' => 'Kazakhstani tenge',
105 + 'LAK' => 'Lao kip',
106 + 'LBP' => 'Lebanese pound',
107 + 'LKR' => 'Sri Lankan rupee',
108 + 'LRD' => 'Liberian dollar',
109 + 'LSL' => 'Lesotho loti',
110 + 'LYD' => 'Libyan dinar',
111 + 'MAD' => 'Moroccan dirham',
112 + 'MDL' => 'Moldovan leu',
113 + 'MGA' => 'Malagasy ariary',
114 + 'MKD' => 'Macedonian denar',
115 + 'MMK' => 'Burmese kyat',
116 + 'MNT' => 'Mongolian t&ouml;gr&ouml;g',
117 + 'MOP' => 'Macanese pataca',
118 + 'MRO' => 'Mauritanian ouguiya',
119 + 'MUR' => 'Mauritian rupee',
120 + 'MVR' => 'Maldivian rufiyaa',
121 + 'MWK' => 'Malawian kwacha',
122 + 'MXN' => 'Mexican peso',
123 + 'MYR' => 'Malaysian ringgit',
124 + 'MZN' => 'Mozambican metical',
125 + 'NAD' => 'Namibian dollar',
126 + 'NGN' => 'Nigerian naira',
127 + 'NIO' => 'Nicaraguan c&oacute;rdoba',
128 + 'NOK' => 'Norwegian krone',
129 + 'NPR' => 'Nepalese rupee',
130 + 'NZD' => 'New Zealand dollar',
131 + 'OMR' => 'Omani rial',
132 + 'PAB' => 'Panamanian balboa',
133 + 'PEN' => 'Peruvian nuevo sol',
134 + 'PGK' => 'Papua New Guinean kina',
135 + 'PHP' => 'Philippine peso',
136 + 'PKR' => 'Pakistani rupee',
137 + 'PLN' => 'Polish z&#x142;oty',
138 + 'PRB' => 'Transnistrian ruble',
139 + 'PYG' => 'Paraguayan guaran&iacute;',
140 + 'QAR' => 'Qatari riyal',
141 + 'RON' => 'Romanian leu',
142 + 'RSD' => 'Serbian dinar',
143 + 'RUB' => 'Russian ruble',
144 + 'RWF' => 'Rwandan franc',
145 + 'SAR' => 'Saudi riyal',
146 + 'SBD' => 'Solomon Islands dollar',
147 + 'SCR' => 'Seychellois rupee',
148 + 'SDG' => 'Sudanese pound',
149 + 'SEK' => 'Swedish krona',
150 + 'SGD' => 'Singapore dollar',
151 + 'SHP' => 'Saint Helena pound',
152 + 'SLL' => 'Sierra Leonean leone',
153 + 'SOS' => 'Somali shilling',
154 + 'SRD' => 'Surinamese dollar',
155 + 'SSP' => 'South Sudanese pound',
156 + 'STD' => 'S&atilde;o Tom&eacute; and Pr&iacute;ncipe dobra',
157 + 'SYP' => 'Syrian pound',
158 + 'SZL' => 'Swazi lilangeni',
159 + 'THB' => 'Thai baht',
160 + 'TJS' => 'Tajikistani somoni',
161 + 'TMT' => 'Turkmenistan manat',
162 + 'TND' => 'Tunisian dinar',
163 + 'TOP' => 'Tongan pa&#x2bb;anga',
164 + 'TRY' => 'Turkish lira',
165 + 'TTD' => 'Trinidad and Tobago dollar',
166 + 'TWD' => 'New Taiwan dollar',
167 + 'TZS' => 'Tanzanian shilling',
168 + 'UAH' => 'Ukrainian hryvnia',
169 + 'UGX' => 'Ugandan shilling',
170 + 'USD' => 'United States dollar',
171 + 'UYU' => 'Uruguayan peso',
172 + 'UZS' => 'Uzbekistani som',
173 + 'VEF' => 'Venezuelan bol&iacute;var',
174 + 'VND' => 'Vietnamese &#x111;&#x1ed3;ng',
175 + 'VUV' => 'Vanuatu vatu',
176 + 'WST' => 'Samoan t&#x101;l&#x101;',
177 + 'XAF' => 'Central African CFA franc',
178 + 'XCD' => 'East Caribbean dollar',
179 + 'XOF' => 'West African CFA franc',
180 + 'XPF' => 'CFP franc',
181 + 'YER' => 'Yemeni rial',
182 + 'ZAR' => 'South African rand',
183 + 'ZMW' => 'Zambian kwacha',
184 + );
185 +
186 + protected static $currency_symbols = array(
187 + 'AED' => '&#x62f;.&#x625;',
188 + 'AFN' => '&#x60b;',
189 + 'ALL' => 'L',
190 + 'AMD' => 'AMD',
191 + 'ANG' => '&fnof;',
192 + 'AOA' => 'Kz',
193 + 'ARS' => '&#36;',
194 + 'AUD' => '&#36;',
195 + 'AWG' => 'Afl.',
196 + 'AZN' => 'AZN',
197 + 'BAM' => 'KM',
198 + 'BBD' => '&#36;',
199 + 'BDT' => '&#2547;&nbsp;',
200 + 'BGN' => '&#1083;&#1074;.',
201 + 'BHD' => '.&#x62f;.&#x628;',
202 + 'BIF' => 'Fr',
203 + 'BMD' => '&#36;',
204 + 'BND' => '&#36;',
205 + 'BOB' => 'Bs.',
206 + 'BRL' => '&#82;&#36;',
207 + 'BSD' => '&#36;',
208 + 'BTC' => '&#3647;',
209 + 'BTN' => 'Nu.',
210 + 'BWP' => 'P',
211 + 'BYR' => 'Br',
212 + 'BZD' => '&#36;',
213 + 'CAD' => '&#36;',
214 + 'CDF' => 'Fr',
215 + 'CHF' => '&#67;&#72;&#70;',
216 + 'CLP' => '&#36;',
217 + 'CNY' => '&yen;',
218 + 'COP' => '&#36;',
219 + 'CRC' => '&#x20a1;',
220 + 'CUC' => '&#36;',
221 + 'CUP' => '&#36;',
222 + 'CVE' => '&#36;',
223 + 'CZK' => '&#75;&#269;',
224 + 'DJF' => 'Fr',
225 + 'DKK' => 'DKK',
226 + 'DOP' => 'RD&#36;',
227 + 'DZD' => '&#x62f;.&#x62c;',
228 + 'EGP' => 'EGP',
229 + 'ERN' => 'Nfk',
230 + 'ETB' => 'Br',
231 + 'EUR' => '&euro;',
232 + 'FJD' => '&#36;',
233 + 'FKP' => '&pound;',
234 + 'GBP' => '&pound;',
235 + 'GEL' => '&#x10da;',
236 + 'GGP' => '&pound;',
237 + 'GHS' => '&#x20b5;',
238 + 'GIP' => '&pound;',
239 + 'GMD' => 'D',
240 + 'GNF' => 'Fr',
241 + 'GTQ' => 'Q',
242 + 'GYD' => '&#36;',
243 + 'HKD' => '&#36;',
244 + 'HNL' => 'L',
245 + 'HRK' => 'Kn',
246 + 'HTG' => 'G',
247 + 'HUF' => '&#70;&#116;',
248 + 'IDR' => 'Rp',
249 + 'ILS' => '&#8362;',
250 + 'IMP' => '&pound;',
251 + 'INR' => '&#8377;',
252 + 'IQD' => '&#x639;.&#x62f;',
253 + 'IRR' => '&#xfdfc;',
254 + 'IRT' => '&#x062A;&#x0648;&#x0645;&#x0627;&#x0646;',
255 + 'ISK' => 'kr.',
256 + 'JEP' => '&pound;',
257 + 'JMD' => '&#36;',
258 + 'JOD' => '&#x62f;.&#x627;',
259 + 'JPY' => '&yen;',
260 + 'KES' => 'KSh',
261 + 'KGS' => '&#x441;&#x43e;&#x43c;',
262 + 'KHR' => '&#x17db;',
263 + 'KMF' => 'Fr',
264 + 'KPW' => '&#x20a9;',
265 + 'KRW' => '&#8361;',
266 + 'KWD' => '&#x62f;.&#x643;',
267 + 'KYD' => '&#36;',
268 + 'KZT' => 'KZT',
269 + 'LAK' => '&#8365;',
270 + 'LBP' => '&#x644;.&#x644;',
271 + 'LKR' => '&#xdbb;&#xdd4;',
272 + 'LRD' => '&#36;',
273 + 'LSL' => 'L',
274 + 'LYD' => '&#x644;.&#x62f;',
275 + 'MAD' => '&#x62f;.&#x645;.',
276 + 'MDL' => 'MDL',
277 + 'MGA' => 'Ar',
278 + 'MKD' => '&#x434;&#x435;&#x43d;',
279 + 'MMK' => 'Ks',
280 + 'MNT' => '&#x20ae;',
281 + 'MOP' => 'P',
282 + 'MRO' => 'UM',
283 + 'MUR' => '&#x20a8;',
284 + 'MVR' => '.&#x783;',
285 + 'MWK' => 'MK',
286 + 'MXN' => '&#36;',
287 + 'MYR' => '&#82;&#77;',
288 + 'MZN' => 'MT',
289 + 'NAD' => '&#36;',
290 + 'NGN' => '&#8358;',
291 + 'NIO' => 'C&#36;',
292 + 'NOK' => '&#107;&#114;',
293 + 'NPR' => '&#8360;',
294 + 'NZD' => '&#36;',
295 + 'OMR' => '&#x631;.&#x639;.',
296 + 'PAB' => 'B/.',
297 + 'PEN' => 'S/.',
298 + 'PGK' => 'K',
299 + 'PHP' => '&#8369;',
300 + 'PKR' => '&#8360;',
301 + 'PLN' => '&#122;&#322;',
302 + 'PRB' => '&#x440;.',
303 + 'PYG' => '&#8370;',
304 + 'QAR' => '&#x631;.&#x642;',
305 + 'RMB' => '&yen;',
306 + 'RON' => 'lei',
307 + 'RSD' => '&#x434;&#x438;&#x43d;.',
308 + 'RUB' => '&#8381;',
309 + 'RWF' => 'Fr',
310 + 'SAR' => '&#x631;.&#x633;',
311 + 'SBD' => '&#36;',
312 + 'SCR' => '&#x20a8;',
313 + 'SDG' => '&#x62c;.&#x633;.',
314 + 'SEK' => '&#107;&#114;',
315 + 'SGD' => '&#36;',
316 + 'SHP' => '&pound;',
317 + 'SLL' => 'Le',
318 + 'SOS' => 'Sh',
319 + 'SRD' => '&#36;',
320 + 'SSP' => '&pound;',
321 + 'STD' => 'Db',
322 + 'SYP' => '&#x644;.&#x633;',
323 + 'SZL' => 'L',
324 + 'THB' => '&#3647;',
325 + 'TJS' => '&#x405;&#x41c;',
326 + 'TMT' => 'm',
327 + 'TND' => '&#x62f;.&#x62a;',
328 + 'TOP' => 'T&#36;',
329 + 'TRY' => '&#8378;',
330 + 'TTD' => '&#36;',
331 + 'TWD' => '&#78;&#84;&#36;',
332 + 'TZS' => 'Sh',
333 + 'UAH' => '&#8372;',
334 + 'UGX' => 'UGX',
335 + 'USD' => '&#36;',
336 + 'UYU' => '&#36;',
337 + 'UZS' => 'UZS',
338 + 'VEF' => 'Bs F',
339 + 'VND' => '&#8363;',
340 + 'VUV' => 'Vt',
341 + 'WST' => 'T',
342 + 'XAF' => 'Fr',
343 + 'XCD' => '&#36;',
344 + 'XOF' => 'Fr',
345 + 'XPF' => 'Fr',
346 + 'YER' => '&#xfdfc;',
347 + 'ZAR' => '&#82;',
348 + 'ZMW' => 'ZK',
349 + );
350 +
351 + public static function get( $key = null, $format = '%2$s (%1$s)' ) {
352 +
353 + if ( is_string( $key ) ) {
354 +
355 + return isset( self::$currencies[ $key ] ) ? sprintf( $format, $key, self::$currencies[ $key ] ) : false;
356 + }
357 +
358 + $currencies_fmtd = array();
359 +
360 + foreach ( self::$currencies as $abbrev => $name ) {
361 +
362 + $currencies_fmtd[ $abbrev ] = sprintf( $format, $abbrev, $name );
363 + }
364 +
365 + return $currencies_fmtd;
366 + }
367 +
368 + public static function get_symbols( $key = null, $decode = false ) {
369 +
370 + if ( $decode ) {
371 +
372 + if ( is_string( $key ) ) {
373 +
374 + return isset( self::$currency_symbols[ $key ] ) ? SucomUtil::decode_html( self::$currency_symbols[ $key ] ) : false;
375 + }
376 +
377 + $symbols_decoded = array();
378 +
379 + foreach ( self::$currency_symbols as $abbrev => $symbol ) {
380 +
381 + $symbols_decoded[ $abbrev ] = SucomUtil::decode_html( $symbol );
382 + }
383 +
384 + return $symbols_decoded;
385 + }
386 +
387 + if ( is_string( $key ) ) {
388 +
389 + return isset( self::$currency_symbols[ $key ] ) ? self::$currency_symbols[ $key ] : false;
390 + }
391 +
392 + return self::$currency_symbols;
393 + }
394 + }
395 +}