PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.16.1
GiveWP – Donation Plugin and Fundraising Platform v4.16.1
4.17.0 4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 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 All 256 releases
give / src / DonorDashboards / Helpers / LocationList.php

LocationList.php in GiveWP – Donation Plugin and Fundraising Platform 4.16.1, at src/DonorDashboards/Helpers/LocationList.php

47 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Give\DonorDashboards\Helpers;
4
5 /**
6 * Normalize format of location type lists.
7 * 4.14.1 Replaces FormatObjectList with formatAsValueLabelPairs
8 * @since 2.10.0
9 */
10 class LocationList
11 {
12 public static function getCountries(): array
13 {
14 $countries = give_get_country_list();
15 unset($countries['']);
16
17 return self::formatAsValueLabelPairs($countries);
18 }
19
20 public static function getStates($country): array
21 {
22 $states = give_get_states($country);
23 $states[''] = sprintf('%s...', esc_html__('Select', 'give'));
24
25 return self::formatAsValueLabelPairs($states);
26 }
27
28 /**
29 * Formats an associative array as an array of value/label pairs for JS consumption.
30 *
31 * 4.14.1
32 */
33 private static function formatAsValueLabelPairs(array $data): array
34 {
35 return array_map(
36 static function ($key, $value) {
37 return [
38 'value' => $key,
39 'label' => $value,
40 ];
41 },
42 array_keys($data),
43 array_values($data)
44 );
45 }
46 }
47