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