PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.20.0
GiveWP – Donation Plugin and Fundraising Platform v2.20.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 / Donors / Endpoints / ListDonors.php
give / src / Donors / Endpoints Last commit date
DeleteDonor.php 4 years ago Endpoint.php 4 years ago ListDonors.php 4 years ago SwitchDonorView.php 4 years ago
ListDonors.php
98 lines
1 <?php
2
3 namespace Give\Donors\Endpoints;
4
5 use Give\Donors\DataTransferObjects\DonorResponseData;
6 use WP_REST_Request;
7 use WP_REST_Response;
8
9 class ListDonors extends Endpoint
10 {
11 /**
12 * @var string
13 */
14 protected $endpoint = 'admin/donors';
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 'donations' => [
44 'type' => 'integer',
45 'required' => false,
46 'default' => 0
47 ],
48 'search' => [
49 'type' => 'string',
50 'required' => false
51 ],
52 'start' => [
53 'type' => 'string',
54 'required' => false,
55 'validate_callback' => [$this, 'validateDate']
56 ],
57 'form' => [
58 'type' => 'integer',
59 'required' => false,
60 'default' => 0
61 ],
62 'end' => [
63 'type' => 'string',
64 'required' => false,
65 'validate_callback' => [$this, 'validateDate']
66 ],
67 ],
68 ]
69 );
70 }
71
72 /**
73 * @param WP_REST_Request $request
74 * @since 2.20.0
75 *
76 * @return WP_REST_Response
77 */
78 public function handleRequest(WP_REST_Request $request)
79 {
80 $data = [];
81 $donors = give()->donors->getDonorsForRequest($request);
82 $donorsCount = give()->donors->getTotalDonorsCountForRequest($request);
83 $pageCount = (int)ceil($donorsCount / $request->get_param('perPage'));
84
85 foreach ($donors as $donor) {
86 $data[] = DonorResponseData::fromObject($donor)->toArray();
87 }
88
89 return new WP_REST_Response(
90 [
91 'items' => $data,
92 'totalItems' => $donorsCount,
93 'totalPages' => $pageCount
94 ]
95 );
96 }
97 }
98