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 / DonationFormRepository.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
DonationFormRepository.php
107 lines
1 <?php
2
3 namespace Give\TestData\Repositories;
4
5 use Give\TestData\Factories\DonationFormFactory;
6 use Give\TestData\Framework\MetaRepository;
7
8
9 class DonationFormRepository {
10
11 /**
12 * @var DonationFormFactory
13 */
14 private $donationFormFactory;
15
16 public function __construct( DonationFormFactory $donationFormFactory ) {
17 $this->donationFormFactory = $donationFormFactory;
18 }
19
20 /**
21 * @param array $form
22 */
23 public function insertDonationForm( $form ) {
24 global $wpdb;
25
26 $form = wp_parse_args(
27 apply_filters( 'give-test-data-form-definition', $form ),
28 $this->donationFormFactory->definition()
29 );
30
31 // Insert donation
32 $wpdb->insert(
33 "{$wpdb->prefix}posts",
34 [
35 'post_type' => 'give_forms',
36 'post_title' => $form['post_title'],
37 'post_name' => $form['post_name'],
38 'post_date' => $form['post_date'],
39 'post_author' => $form['post_author'],
40 'post_status' => 'publish',
41 ]
42 );
43
44 $formId = $wpdb->insert_id;
45
46 $metaRepository = new MetaRepository( 'give_formmeta', 'form_id' );
47
48 $formMeta = [
49 '_give_form_status' => 'open',
50 '_give_form_template' => $form['form_template'],
51 '_give_levels_minimum_amount' => '10.000000',
52 '_give_levels_maximum_amount' => '250.000000',
53 '_give_set_price' => $form['random_amount'],
54 "_give_{$form['form_template']}_form_template_settings" => serialize(
55 [
56 'introduction' => [
57 'enabled' => 'enabled',
58 'headline' => $form['post_title'],
59 'description' => 'Help our organization by donating today! All donations go directly to making a difference for our cause.',
60 'image' => '',
61 'primary_color' => '#28C77B',
62 'donate_label' => 'Donate Now',
63 ],
64 'payment_amount' => [
65 'header_label' => 'Choose Amount',
66 'content' => '',
67 'next_label' => 'Continue',
68 ],
69 'payment_information' => [
70 'header_label' => 'Add Your Information',
71 'headline' => "Who's giving today?",
72 'description' => 'We’ll never share this information with anyone.',
73 'checkout_label' => 'Donate Now',
74 ],
75 'thank-you' => [
76 'image' => '',
77 'headline' => 'A great big thank you!',
78 'description' => '{name}, your contribution means a lot and will be put to good use making a difference. We’ve sent your donation receipt to {donor_email}.',
79 'sharing' => 'enabled',
80 'sharing_instruction' => 'Help us out by sharing with friends and followers that you supported the cause!',
81 'twitter_message' => "I just gave to this cause . Who's next?",
82 ],
83 ]
84 ),
85 ];
86
87 // Generate terms and conditions
88 if ( ! empty( $form['donation_terms'] ) ) {
89 $formMeta['_give_terms_option'] = 'enabled';
90 $formMeta['_give_agree_label'] = $form['donation_terms']['label'];
91 $formMeta['_give_agree_text'] = $form['donation_terms']['text'];
92 }
93
94 // Set donation goal
95 if ( $form['donation_goal'] ) {
96 $formMeta['_give_goal_option'] = 'enabled';
97 $formMeta['_give_goal_format'] = 'amount';
98 $formMeta['_give_set_goal'] = $form['donation_goal'];
99 }
100
101 // Insert meta
102 $metaRepository->persist( $formId, $formMeta );
103
104 do_action( 'give-test-data-insert-donation-form', $formId, $form );
105 }
106 }
107