PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.4.0
GiveWP – Donation Plugin and Fundraising Platform v4.4.0
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 / src / DonationForms / Routes / DonationFormsEntityRoute.php
give / src / DonationForms / Routes Last commit date
AuthenticationRoute.php 2 years ago DonateRoute.php 1 year ago DonateRouteSignature.php 2 years ago DonationFormsEntityRoute.php 1 year ago ValidationRoute.php 1 year ago
DonationFormsEntityRoute.php
148 lines
1 <?php
2
3 namespace Give\DonationForms\Routes;
4
5 use Give\DonationForms\Controllers\DonationFormsRequestController;
6 use Give\DonationForms\ValueObjects\DonationFormsRoute as Route;
7 use WP_REST_Request;
8 use WP_REST_Server;
9
10 /**
11 * @since 4.2.0
12 */
13 class DonationFormsEntityRoute
14 {
15 protected DonationFormsRequestController $controller;
16
17 /**
18 * @since 4.2.0
19 */
20 public function __construct(DonationFormsRequestController $controller)
21 {
22 $this->controller = $controller;
23 }
24
25
26 /**
27 * @since 4.2.0
28 */
29 public function __invoke()
30 {
31 $this->registerGetForm();
32 $this->registerGetForms();
33 $this->registerAssociateFormsWithCampaign();
34 }
35
36 /**
37 * Get Form route
38 *
39 * @since 4.2.0
40 */
41 public function registerGetForm()
42 {
43 register_rest_route(
44 Route::NAMESPACE,
45 Route::FORM,
46 [
47 [
48 'methods' => WP_REST_Server::READABLE,
49 'callback' => function (WP_REST_Request $request) {
50 return $this->controller->getForm($request);
51 },
52 'permission_callback' => function () {
53 return '__return_true';
54 },
55 ],
56 'args' => [
57 'id' => [
58 'type' => 'integer',
59 'required' => true,
60 ],
61 ],
62 ]
63 );
64 }
65
66 /**
67 * Get Forms route
68 *
69 * @since 4.2.0
70 */
71 public function registerGetForms()
72 {
73 register_rest_route(
74 Route::NAMESPACE,
75 Route::FORMS,
76 [
77 [
78 'methods' => WP_REST_Server::READABLE,
79 'callback' => function (WP_REST_Request $request) {
80 return $this->controller->getForms($request);
81 },
82 'permission_callback' => '__return_true',
83 ],
84 'args' => [
85 'status' => [
86 'type' => 'array',
87 'items' => [
88 'type' => 'string',
89 'enum' => ['publish', 'future', 'draft', 'pending', 'trash', 'upgraded', 'private', 'orphaned'],
90 ],
91 'default' => 'publish',
92 ],
93 'ids' => [
94 'type' => 'array',
95 'default' => [],
96 ],
97 'page' => [
98 'type' => 'integer',
99 'default' => 1,
100 'minimum' => 1,
101 ],
102 'per_page' => [
103 'type' => 'integer',
104 'default' => 30,
105 'minimum' => 1,
106 'maximum' => 100,
107 ]
108 ],
109 ]
110 );
111 }
112
113
114 /**
115 * Associate donation forms with campaign
116 *
117 * @since 4.2.0
118 */
119 public function registerAssociateFormsWithCampaign()
120 {
121 register_rest_route(
122 Route::NAMESPACE,
123 Route::ASSOCIATE_FORMS_WITH_CAMPAIGN,
124 [
125 [
126 'methods' => WP_REST_Server::EDITABLE,
127 'callback' => function (WP_REST_Request $request) {
128 return $this->controller->associateFormsWithCampaign($request);
129 },
130 'permission_callback' => function () {
131 return '__return_true';
132 },
133 ],
134 'args' => [
135 'formIDs' => [
136 'type' => 'array',
137 'required' => true,
138 ],
139 'campaignId' => [
140 'type' => 'integer',
141 'required' => true,
142 ]
143 ],
144 ]
145 );
146 }
147 }
148