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