PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.11.3
GiveWP – Donation Plugin and Fundraising Platform v2.11.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 / TestData / Repositories / DonationRepository.php
give / src / TestData / Repositories Last commit date
DonationFormRepository.php 5 years ago DonationRepository.php 5 years ago DonorRepository.php 5 years ago RevenueRepository.php 5 years ago
DonationRepository.php
90 lines
1 <?php
2
3 namespace Give\TestData\Repositories;
4
5 use Give_Donor;
6 use Give\ValueObjects\Money;
7 use Give\TestData\Framework\MetaRepository;
8 use Give\TestData\Factories\DonationFactory;
9
10 class DonationRepository {
11 /**
12 * @var DonationFactory
13 */
14 private $donationFactory;
15 /**
16 * @var RevenueRepository
17 */
18 private $revenueRepository;
19
20 /**
21 * @param DonationFactory $donationFactory
22 * @param RevenueRepository $revenueRepository
23 */
24 public function __construct( DonationFactory $donationFactory, RevenueRepository $revenueRepository ) {
25 $this->donationFactory = $donationFactory;
26 $this->revenueRepository = $revenueRepository;
27 }
28
29 /**
30 * @param array $donation
31 * @param array $params
32 */
33 public function insertDonation( $donation, $params ) {
34 global $wpdb;
35
36 $donation = wp_parse_args(
37 apply_filters( 'give-test-data-donation-definition', $donation, $params ),
38 $this->donationFactory->definition()
39 );
40
41 // Insert donation
42 $wpdb->insert(
43 "{$wpdb->prefix}posts",
44 [
45 'post_type' => 'give_payment',
46 'post_date' => $donation['completed_date'],
47 'post_status' => $donation['payment_status'],
48 ]
49 );
50
51 $donationID = $wpdb->insert_id;
52
53 // Insert donation in revenue table
54 $this->revenueRepository->insertRevenue(
55 [
56 'donation_id' => $donationID,
57 'form_id' => $donation['payment_form_id'],
58 'amount' => Money::of( $donation['payment_total'], $donation['payment_currency'] )->getMinorAmount(),
59 ]
60 );
61
62 $metaRepository = new MetaRepository( 'give_donationmeta', 'donation_id' );
63
64 $metaRepository->persist(
65 $donationID,
66 [
67 '_give_payment_form_id' => $donation['payment_form_id'],
68 '_give_payment_form_title' => $donation['payment_form_title'],
69 '_give_payment_donor_id' => $donation['donor_id'],
70 '_give_payment_total' => $donation['payment_total'],
71 '_give_payment_currency' => $donation['payment_currency'],
72 '_give_payment_gateway' => $donation['payment_gateway'],
73 '_give_payment_mode' => $donation['payment_mode'],
74 '_give_payment_purchase_key' => $donation['payment_purchase_key'],
75 '_give_completed_date' => $donation['completed_date'],
76 '_give_donor_billing_first_name' => $donation['donor_name'],
77 '_give_donor_billing_last_name' => '',
78 '_give_payment_donor_email' => $donation['donor_email'],
79 ]
80 );
81
82 // Increase donor donated amount and count
83 $donor = new Give_Donor( $donation['donor_id'] );
84 $donor->increase_value( floatval( $donation['payment_total'] ) );
85 $donor->increase_purchase_count();
86
87 do_action( 'give-test-data-insert-donation', $donationID, $donation, $params );
88 }
89 }
90