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