PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.6.1
GiveWP – Donation Plugin and Fundraising Platform v3.6.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 / FormMigration / Steps / FormTemplate / SequoiaTemplateSettings.php
give / src / FormMigration / Steps / FormTemplate Last commit date
ClassicTemplateSettings.php 2 years ago LegacyTemplateSettings.php 2 years ago SequoiaTemplateSettings.php 2 years ago
SequoiaTemplateSettings.php
124 lines
1 <?php
2
3 namespace Give\FormMigration\Steps\FormTemplate;
4
5 use Give\DonationForms\Properties\FormSettings;
6 use Give\FormMigration\Actions\MapSettingsToDesignHeader;
7 use Give\FormMigration\Actions\MapSettingsToDonationSummary;
8 use Give\FormMigration\Contracts\FormMigrationStep;
9 use Give\FormMigration\DataTransferObjects\DesignHeaderSettings;
10 use Give\FormMigration\DataTransferObjects\DonationSummarySettings;
11
12 class SequoiaTemplateSettings extends FormMigrationStep
13 {
14 public function canHandle(): bool
15 {
16 return 'sequoia' === $this->formV2->getFormTemplate();
17 }
18
19 public function process()
20 {
21 [
22 'visual_appearance' => $visualAppearance,
23 'introduction' => $introduction,
24 'payment_amount' => $paymentAmount,
25 'payment_information' => $paymentInformation,
26 'thank-you' => $donationReceipt,
27 ] = $this->formV2->getFormTemplateSettings();
28
29 /** @var FormSettings $formSettings */
30 $formSettings = $this->formV3->settings;
31 $formSettings->designId = 'multi-step';
32
33 $this->visualAppearance($visualAppearance);
34 $this->introduction($introduction);
35 $this->paymentAmount($paymentAmount);
36 $this->paymentInformation($paymentInformation);
37 $this->donationReceipt($donationReceipt);
38 }
39
40 protected function visualAppearance($settings)
41 {
42 [
43 'primary_color' => $primaryColor, // '#28C77B'
44 'google-fonts' => $googleFonts, // 'enabled'
45 'decimals_enabled' => $decimalsEnabled, // 'disabled'
46 ] = $settings;
47
48 $this->formV3->settings->primaryColor = $primaryColor;
49
50 // @note `google-fonts` is not supported in v3 forms (defers to the Form Design).
51
52 // @note `decimals_enabled` is not supported in v3 forms (defers to the Form Design).
53 }
54
55 protected function introduction($settings)
56 {
57 [
58 'enabled' => $enabled, // 'enabled',
59 'headline' => $headline, // 'Tributes Form',
60 'description' => $description, // 'Help our organization by donating today! All donations go directly to making a difference for our cause.',
61 'image' => $image, // '',
62 'donate_label' => $donateLabel, // 'Donate Now',
63 ] = $settings;
64
65 MapSettingsToDesignHeader::make($this->formV3)
66 ->__invoke(new DesignHeaderSettings($enabled, $headline, $description));
67
68 $this->formV3->settings->multiStepFirstButtonText = $donateLabel;
69
70 // @note `image` is not supported in v3 forms (defers to the Form Design).
71
72 }
73
74 protected function paymentAmount($settings)
75 {
76 [
77 'header_label' => $headerLabel, // 'Choose Amount',
78 'content' => $content, // 'How much would you like to donate? As a contributor to WordPress we make sure your donation goes directly to supporting our cause. Thank you for your generosity!',
79 'next_label' => $nextLabel, // 'Continue',
80 ] = $settings;
81
82 $this->fieldBlocks->findParentByChildName('givewp/donation-amount')
83 ->setAttribute('title', $headerLabel)
84 ->setAttribute('description', $content);
85
86 $this->formV3->settings->multiStepNextButtonText = $nextLabel;
87 }
88
89 protected function paymentInformation($settings)
90 {
91 [
92 'header_label' => $headerLabel, // 'Add Your Information',
93 'headline' => $headline, // 'Who\'s giving today?',
94 'description' => $description, // 'We’ll never share this information with anyone.',
95 'donation_summary_enabled' => $donationSummaryEnabled, // 'enabled',
96 'donation_summary_heading' => $donationSummaryHeading, // 'Here\'s what you\'re about to donate:',
97 'donation_summary_location' => $donationSummaryLocation, // 'give_donation_form_before_submit',
98 'checkout_label' => $checkoutLabel, // 'Donate Now',
99 ] = $settings;
100
101 $this->fieldBlocks->findParentByChildName('givewp/payment-gateways')
102 ->setAttribute('title', $headline) // @note Should this be `headline` or `header_label`?
103 ->setAttribute('description', $description);
104
105 MapSettingsToDonationSummary::make($this->fieldBlocks)
106 ->__invoke(DonationSummarySettings::make($settings));
107
108 $this->formV3->settings->donateButtonCaption = $checkoutLabel;
109 }
110
111 protected function donationReceipt($settings)
112 {
113 [
114 'headline' => $headline,
115 'description' => $description,
116 ] = $settings;
117
118 $this->formV3->settings->receiptHeading = $headline;
119 $this->formV3->settings->receiptDescription = $description;
120
121 // @note `image`, `sharing`, `sharing_instruction`, `twitter_message` are not supported in v3 forms.
122 }
123 }
124