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 / Donations / Endpoints / ListDonations.php
give / src / Donations / Endpoints Last commit date
DonationActions.php 4 years ago Endpoint.php 4 years ago ListDonations.php 4 years ago SwitchDonationView.php 4 years ago
ListDonations.php
101 lines
1 <?php
2
3 namespace Give\Donations\Endpoints;
4
5 use Give\Donations\Controllers\DonationsRequestController;
6 use Give\Donations\DataTransferObjects\DonationResponseData;
7 use WP_REST_Request;
8 use WP_REST_Response;
9
10 class ListDonations extends Endpoint
11 {
12 /**
13 * @var string
14 */
15 protected $endpoint = 'admin/donations';
16
17 /**
18 * @inheritDoc
19 */
20 public function registerRoute()
21 {
22 register_rest_route(
23 'give-api/v2',
24 $this->endpoint,
25 [
26 [
27 'methods' => 'GET',
28 'callback' => [$this, 'handleRequest'],
29 'permission_callback' => [$this, 'permissionsCheck'],
30 ],
31 'args' => [
32 'page' => [
33 'type' => 'integer',
34 'required' => false,
35 'default' => 1,
36 'minimum' => 1
37 ],
38 'perPage' => [
39 'type' => 'integer',
40 'required' => false,
41 'default' => 30,
42 'minimum' => 1
43 ],
44 'form' => [
45 'type' => 'integer',
46 'required' => false,
47 'default' => 0
48 ],
49 'search' => [
50 'type' => 'string',
51 'required' => false,
52 'sanitize_callback' => 'sanitize_text_field',
53 ],
54 'start' => [
55 'type' => 'string',
56 'required' => false,
57 'validate_callback' => [$this, 'validateDate']
58 ],
59 'end' => [
60 'type' => 'string',
61 'required' => false,
62 'validate_callback' => [$this, 'validateDate']
63 ],
64 'donor' => [
65 'type' => 'string',
66 'required' => false,
67 'sanitize_callback' => 'sanitize_text_field',
68 ],
69 ],
70 ]
71 );
72 }
73
74 /**
75 * @param WP_REST_Request $request
76 * @since 2.20.0
77 *
78 * @return WP_REST_Response
79 */
80 public function handleRequest(WP_REST_Request $request): WP_REST_Response
81 {
82 $data = [];
83 $controller = new DonationsRequestController($request);
84 $donations = $controller->getDonations();
85 $donationsCount = $controller->getTotalDonationsCount();
86 $totalPages = (int)ceil($donationsCount / $request->get_param('perPage'));
87
88 foreach ($donations as $donation) {
89 $data[] = DonationResponseData::fromObject($donation)->toArray();
90 }
91
92 return new WP_REST_Response(
93 [
94 'items' => $data,
95 'totalItems' => $donationsCount,
96 'totalPages' => $totalPages
97 ]
98 );
99 }
100 }
101