PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.13.1
GiveWP – Donation Plugin and Fundraising Platform v4.13.1
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 / build / Campaigns / Blocks / CampaignDonations / render.php
give / build / Campaigns / Blocks / CampaignDonations Last commit date
block.json 1 year ago render.php 1 year ago
render.php
52 lines
1 <?php
2
3 namespace Give\Campaigns\Blocks\CampaignDonations;
4
5 use Give\Campaigns\CampaignDonationQuery;
6 use Give\Campaigns\Models\Campaign;
7 use Give\Campaigns\Repositories\CampaignRepository;
8 use Give\Donations\ValueObjects\DonationMetaKeys;
9
10 /**
11 * @since 4.2.0 remove SQL casting to decimal
12 * @since 4.0.0
13 *
14 * @var array $attributes
15 */
16
17 if ( ! isset($attributes['campaignId'])) {
18 return;
19 }
20
21 /** @var Campaign $campaign */
22 $campaign = give(CampaignRepository::class)->getById($attributes['campaignId']);
23
24 if ( ! $campaign) {
25 return;
26 }
27
28 $sortBy = $attributes['sortBy'] ?? 'top-donations';
29 $query = (new CampaignDonationQuery($campaign))
30 ->select(
31 'donation.ID as id',
32 'donorIdMeta.meta_value as donorId',
33 'amountMeta.meta_value - IFNULL(feeAmountRecovered.meta_value, 0) as amount',
34 'donorName.meta_value as donorName',
35 'donation.post_date as date',
36 'anonymousMeta.meta_value as isAnonymous'
37 )
38 ->joinDonationMeta(DonationMetaKeys::DONOR_ID, 'donorIdMeta')
39 ->joinDonationMeta(DonationMetaKeys::AMOUNT, 'amountMeta')
40 ->joinDonationMeta(DonationMetaKeys::FIRST_NAME, 'donorName')
41 ->joinDonationMeta(DonationMetaKeys::FEE_AMOUNT_RECOVERED, 'feeAmountRecovered')
42 ->joinDonationMeta(DonationMetaKeys::ANONYMOUS, 'anonymousMeta')
43 ->leftJoin('give_donors', 'donorIdMeta.meta_value', 'donors.id', 'donors')
44 ->orderByRaw($sortBy === 'top-donations' ? 'amountMeta.meta_value DESC' : 'donation.ID DESC')
45 ->limit($attributes['donationsPerPage'] ?? 5);
46
47 if ( ! $attributes['showAnonymous']) {
48 $query->where('anonymousMeta.meta_value', '1', '!=');
49 }
50
51 (new CampaignDonationsBlockViewModel($campaign, $query->getAll(), $attributes))->render();
52