PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.4.0
GiveWP – Donation Plugin and Fundraising Platform v4.4.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 / TestData / Addons / RecurringDonations / RecurringDonations.php
give / src / TestData / Addons / RecurringDonations Last commit date
PageFactory.php 4 years ago PageSeedCommand.php 4 years ago RecurringDonationFactory.php 4 years ago RecurringDonationRepository.php 4 years ago RecurringDonations.php 4 years ago ServiceProvider.php 4 years ago
RecurringDonations.php
84 lines
1 <?php
2
3 namespace Give\TestData\Addons\RecurringDonations;
4
5 use Exception;
6 use Give\TestData\Framework\MetaRepository;
7
8 /**
9 * Class RecurringDonations
10 * @package Give\TestData\RecurringDonations
11 */
12 class RecurringDonations
13 {
14 /**
15 * @var RecurringDonationFactory
16 */
17 private $donationFactory;
18 /**
19 * @var RecurringDonationRepository
20 */
21 private $donationRepository;
22
23 public function __construct(
24 RecurringDonationFactory $donationFactory,
25 RecurringDonationRepository $donationRepository
26 ) {
27 $this->donationFactory = $donationFactory;
28 $this->donationRepository = $donationRepository;
29 }
30
31 /**
32 * @return string
33 */
34 public function getRecurringDonationStatus()
35 {
36 return 'give_subscription';
37 }
38
39 /**
40 * @param int $donationID
41 * @param array $donation
42 */
43 public function insertRecurringDonation($donationID, $donation)
44 {
45 global $wpdb;
46
47 // Check if donation status is recurring donation status
48 if ($donation['payment_status'] !== $this->getRecurringDonationStatus()) {
49 return;
50 }
51
52 // Factory config
53 $this->donationFactory->setAmount($donation['payment_total']);
54 $this->donationFactory->setCustomerId($donation['donor_id']);
55 $this->donationFactory->setParentDonationId($donationID);
56 $this->donationFactory->setProductId($donation['payment_form_id']);
57
58 // Start DB transaction
59 $wpdb->query('START TRANSACTION');
60
61 try {
62 // Insert recurring donation
63 $this->donationRepository->insertDonation(
64 $this->donationFactory->definition()
65 );
66
67 // Update donation meta
68 $metaRepository = new MetaRepository('give_donationmeta', 'donation_id');
69 $metaRepository->persist(
70 $donationID,
71 [
72 '_give_subscription_payment' => 1,
73 '_give_is_donation_recurring' => 1,
74 ]
75 );
76
77 $wpdb->query('COMMIT');
78 } catch (Exception $e) {
79 $wpdb->query('ROLLBACK');
80 }
81 }
82
83 }
84