PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 2.13.1
GiveWP – Donation Plugin and Fundraising Platform v2.13.1
4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 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 All 253 releases
give / src / TestData / Repositories / DonorRepository.php
DonorRepository.php
62 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Give\TestData\Repositories;
4
5 use Give\TestData\Framework\MetaRepository;
6 use Give\TestData\Factories\DonorFactory;
7
8 /**
9 * Class DonorRepository
10 * @package GiveTestData\TestData\Repositories
11 */
12 class DonorRepository {
13 /**
14 * @var DonorFactory
15 */
16 private $donorFactory;
17
18 /**
19 * DonorRepository constructor.
20 *
21 * @param DonorFactory $donorFactory
22 */
23 public function __construct( DonorFactory $donorFactory ) {
24 $this->donorFactory = $donorFactory;
25 }
26
27 /**
28 * Insert Donor
29 *
30 * @param array $donor
31 *
32 * @since 1.0.0
33 */
34 public function insertDonor( $donor ) {
35 global $wpdb;
36
37 // Insert donor
38 $wpdb->insert(
39 "{$wpdb->prefix}give_donors",
40 [
41 'email' => $donor['email'],
42 'name' => sprintf( '%s %s', $donor['first_name'], $donor['last_name'] ),
43 'date_created' => $donor['date_created'],
44 ]
45 );
46 $donorID = $wpdb->insert_id;
47 $metaRepository = new MetaRepository( 'give_donormeta', 'donor_id' );
48
49 $donorMeta = wp_parse_args(
50 apply_filters( 'give-test-data-donor-meta', $donorID, $donor ),
51 [
52 '_give_donor_first_name' => $donor['first_name'],
53 '_give_donor_last_name' => $donor['last_name'],
54 ]
55 );
56
57 $metaRepository->persist( $donorID, $donorMeta );
58
59 do_action( 'give-test-data-insert-donor', $donorID, $donor );
60 }
61 }
62