PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.14.2
GiveWP – Donation Plugin and Fundraising Platform v4.14.2
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 / DonationOptions.php
give / src / FormMigration / Steps Last commit date
FormFields 2 years ago FormTemplate 2 years ago ActiveCampaign.php 2 years ago ConstantContact.php 2 years ago ConvertKit.php 2 years ago CurrencySwitcher.php 2 years ago DonationGoal.php 2 years ago DonationOptions.php 2 years ago DoubleTheDonation.php 2 years ago EmailSettings.php 2 years ago FeeRecovery.php 2 years ago FormExcerpt.php 2 years ago FormFeaturedImage.php 2 years ago FormFieldManager.php 2 years ago FormFields.php 2 years ago FormGrid.php 2 years ago FormMeta.php 2 years ago FormTaxonomies.php 1 year ago FormTitle.php 2 years ago FundsAndDesignations.php 2 years ago GiftAid.php 2 years ago Mailchimp.php 2 years ago MigrateMeta.php 2 years ago OfflineDonations.php 2 years ago PaymentGateways.php 2 years ago PdfSettings.php 2 years ago PerFormGateways.php 2 years ago RazorpayPerFormSettings.php 1 year ago RecurringDonationOptions.php 2 years ago TermsAndConditions.php 2 years ago
DonationOptions.php
68 lines
1 <?php
2
3 namespace Give\FormMigration\Steps;
4
5 use Give\FormMigration\Contracts\FormMigrationStep;
6 use Give\Framework\Blocks\BlockModel;
7
8 class DonationOptions extends FormMigrationStep
9 {
10 public function process()
11 {
12 /** @var BlockModel $amountField */
13 $amountField = $this->fieldBlocks->findByName('givewp/donation-amount');
14
15 $priceOption = $this->getMetaV2('_give_price_option');
16 $amountField->setAttribute('priceOption', $priceOption);
17
18 if('set' === $priceOption) {
19 $amountField->setAttribute('setPrice', $this->getMetaV2('_give_set_price'));
20 }
21
22 if('multi' === $priceOption) {
23 // @note $formV2->levels only returns a single level
24 $donationLevels = $this->getMetaV2('_give_donation_levels');
25
26 $isDescriptionEnabled = false;
27 $amountField->setAttribute('levels',
28 array_map(function ($donationLevel) use (&$isDescriptionEnabled) {
29 $isDescriptionEnabled = $isDescriptionEnabled || ! empty($donationLevel['_give_text']);
30
31 return [
32 'value' => $this->roundAmount($donationLevel['_give_amount']),
33 'label' => $donationLevel['_give_text'],
34 'checked' => isset($donationLevel['_give_default']) && $donationLevel['_give_default'] === 'default',
35 ];
36 }, $donationLevels)
37 );
38 $amountField->setAttribute('descriptionsEnabled', $isDescriptionEnabled);
39 }
40
41 $isCustomAmountEnabled = $this->formV2->isCustomAmountOptionEnabled();
42 $amountField->setAttribute('customAmount', $isCustomAmountEnabled);
43
44 if ($isCustomAmountEnabled) {
45 $customAmountMin = $this->getMetaV2('_give_custom_amount_range_minimum');
46 $customAmountMax = $this->getMetaV2('_give_custom_amount_range_maximum');
47
48 if ($customAmountMin) {
49 $amountField->setAttribute('customAmountMin', $this->roundAmount($customAmountMin));
50 }
51
52 if ($customAmountMax) {
53 $amountField->setAttribute('customAmountMax', $this->roundAmount($customAmountMax));
54 }
55 }
56
57 // @note No corresponding setting in v3 for "Custom Amount Text"
58 }
59
60 /**
61 * @since 3.0.0
62 */
63 private function roundAmount($amount): float
64 {
65 return round((float)$amount, 2);
66 }
67 }
68