PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.19.4
GiveWP – Donation Plugin and Fundraising Platform v3.19.4
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 / Onboarding / Routes / LocationRoute.php
give / src / Onboarding / Routes Last commit date
AddonsRoute.php 4 years ago CurrencyRoute.php 3 years ago FeaturesRoute.php 1 year ago FormRoute.php 4 years ago LocationRoute.php 4 years ago SettingsRoute.php 4 years ago
LocationRoute.php
88 lines
1 <?php
2
3 namespace Give\Onboarding\Routes;
4
5 use Give\API\RestRoute;
6 use Give\Onboarding\Helpers\CountryCode;
7 use Give\Onboarding\Helpers\LocationList;
8 use WP_REST_Request;
9
10 /**
11 * @since 2.8.0
12 */
13 class LocationRoute implements RestRoute
14 {
15
16 /** @var string */
17 protected $endpoint = 'onboarding/location';
18
19 /**
20 * @since 2.8.0
21 *
22 * @param WP_REST_Request $request
23 *
24 * @return array
25 *
26 */
27 public function handleRequest(WP_REST_Request $request)
28 {
29 return [
30 'states' => LocationList::getStates(
31 $request->get_param('countryCode')
32 ),
33 ];
34 }
35
36 /**
37 * @inheritDoc
38 */
39 public function registerRoute()
40 {
41 register_rest_route(
42 'give-api/v2',
43 $this->endpoint,
44 [
45 [
46 'methods' => 'GET',
47 'callback' => [$this, 'handleRequest'],
48 'permission_callback' => function () {
49 return current_user_can('manage_options');
50 },
51 'args' => [
52 'countryCode' => [
53 'type' => 'string',
54 'required' => true,
55 'validate_callback' => 'give_get_country_name_by_key',
56 'sanitize_callback' => 'sanitize_text_field',
57 ],
58 ],
59 ],
60 'schema' => [$this, 'getSchema'],
61 ]
62 );
63 }
64
65 /**
66 * @since 2.8.0
67 * @return array
68 *
69 */
70 public function getSchema()
71 {
72 return [
73 // This tells the spec of JSON Schema we are using which is draft 4.
74 '$schema' => 'http://json-schema.org/draft-04/schema#',
75 // The title property marks the identity of the resource.
76 'title' => 'onboarding',
77 'type' => 'object',
78 // In JSON Schema you can specify object properties in the properties attribute.
79 'properties' => [
80 'countryCode' => [
81 'description' => esc_html__('A short alphabetic geographical code representing a country.', 'give'),
82 'type' => 'string',
83 ],
84 ],
85 ];
86 }
87 }
88