PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.6.0
GiveWP – Donation Plugin and Fundraising Platform v2.6.0
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 / API / Endpoints / Reports / RecentDonations.php
give / src / API / Endpoints / Reports Last commit date
AverageDonation.php 6 years ago DonationsVsIncome.php 6 years ago Endpoint.php 6 years ago FormPerformance.php 6 years ago Income.php 6 years ago IncomeBreakdown.php 6 years ago PaymentMethods.php 6 years ago PaymentStatuses.php 6 years ago RecentDonations.php 6 years ago TopDonors.php 6 years ago TotalDonors.php 6 years ago TotalIncome.php 6 years ago TotalRefunds.php 6 years ago
RecentDonations.php
93 lines
1 <?php
2
3 /**
4 * Recent Donations endpoint
5 *
6 * @package Give
7 */
8
9 namespace Give\API\Endpoints\Reports;
10
11 class RecentDonations extends Endpoint {
12
13 public function __construct() {
14 $this->endpoint = 'recent-donations';
15 }
16
17 public function get_report( $request ) {
18
19 // Check if a cached version exists
20 $cached_report = $this->get_cached_report( $request );
21 if ( $cached_report !== null ) {
22 // Bail and return the cached version
23 return new \WP_REST_Response(
24 [
25 'data' => $cached_report,
26 ]
27 );
28 }
29
30 // Setup donation query args (get sanitized start/end date from request)
31 $args = [
32 'number' => 50,
33 'paged' => 1,
34 'orderby' => 'date',
35 'order' => 'DESC',
36 'start_date' => $request['start'],
37 'end_date' => $request['end'],
38 ];
39
40 // Get array of 50 recent donations
41 $donations = new \Give_Payments_Query( $args );
42 $donations = $donations->get_payments();
43
44 // Populate $list with arrays in correct shape for frontend RESTList component
45 $data = [];
46 foreach ( $donations as $donation ) {
47
48 $donation = new \Give_Payment( $donation->ID );
49
50 $amount = give_currency_symbol( $donation->currency, true ) . give_format_amount( $donation->total, array( 'sanitize' => false ) );
51 $status = null;
52 switch ( $donation->status ) {
53 case 'publish':
54 $meta = $donation->payment_meta;
55 $status = $meta['_give_is_donation_recurring'] ? 'first_renewal' : 'completed';
56 break;
57 case 'give_subscription':
58 $status = 'renewal';
59 break;
60 default:
61 $status = $donation->status;
62 }
63 $url = admin_url( 'edit.php?post_type=give_forms&page=give-payment-history&view=view-payment-details&id=' . absint( $donation->ID ) );
64
65 $data[] = [
66 'type' => 'donation',
67 'donation' => $donation,
68 'status' => $status,
69 'amount' => $amount,
70 'url' => $url,
71 'time' => $donation->date,
72 'donor' => [
73 'name' => "{$donation->first_name} {$donation->last_name}",
74 'id' => $donation->donor_id,
75 ],
76 'source' => $donation->form_title,
77 ];
78 }
79
80 // Cache the report data
81 $result = $this->cache_report( $request, $data );
82 $status = $this->get_give_status();
83
84 // Return $list of donations for RESTList component
85 return new \WP_REST_Response(
86 [
87 'data' => $data,
88 'status' => $status,
89 ]
90 );
91 }
92 }
93