PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.22.3
GiveWP – Donation Plugin and Fundraising Platform v2.22.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 / Endpoints / ListForms.php
give / src / DonationForms / Endpoints Last commit date
Endpoint.php 4 years ago FormActions.php 4 years ago ListForms.php 4 years ago SwitchDonationFormView.php 4 years ago
ListForms.php
98 lines
1 <?php
2
3 namespace Give\DonationForms\Endpoints;
4
5 use Give\DonationForms\Controllers\DonationFormsRequestController;
6 use Give\DonationForms\DataTransferObjects\DonationFormsResponseData;
7 use WP_REST_Request;
8 use WP_REST_Response;
9
10 /**
11 * @since 2.19.0
12 */
13 class ListForms extends Endpoint
14 {
15 /**
16 * @var string
17 */
18 protected $endpoint = 'admin/forms';
19
20 /**
21 * @inheritDoc
22 */
23 public function registerRoute()
24 {
25 register_rest_route(
26 'give-api/v2',
27 $this->endpoint,
28 [
29 [
30 'methods' => 'GET',
31 'callback' => [$this, 'handleRequest'],
32 'permission_callback' => [$this, 'permissionsCheck'],
33 ],
34 'args' => [
35 'page' => [
36 'type' => 'integer',
37 'required' => false,
38 'default' => 1,
39 'minimum' => 1
40 ],
41 'perPage' => [
42 'type' => 'integer',
43 'required' => false,
44 'default' => 30,
45 'minimum' => 1
46 ],
47 'status' => [
48 'type' => 'string',
49 'required' => false,
50 'default' => 'any',
51 'enum' => [
52 'publish',
53 'future',
54 'draft',
55 'pending',
56 'trash',
57 'auto-draft',
58 'inherit',
59 'any'
60 ]
61 ],
62 'search' => [
63 'type' => 'string',
64 'required' => false
65 ]
66 ],
67 ]
68 );
69 }
70
71 /**
72 * @param WP_REST_Request $request
73 *
74 * @return WP_REST_Response
75 */
76 public function handleRequest(WP_REST_Request $request): WP_REST_Response
77 {
78 $data = [];
79 $controller = new DonationFormsRequestController($request);
80 $forms = $controller->getForms();
81 $totalForms = $controller->getTotalFormsCount();
82 $totalPages = (int)ceil($totalForms / $request->get_param('perPage'));
83
84 foreach ($forms as $form) {
85 $data[] = DonationFormsResponseData::fromObject($form)->toArray();
86 }
87
88 return new WP_REST_Response(
89 [
90 'items' => $data,
91 'totalItems' => $totalForms,
92 'totalPages' => $totalPages,
93 'trash' => defined('EMPTY_TRASH_DAYS') && EMPTY_TRASH_DAYS > 0,
94 ]
95 );
96 }
97 }
98