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