PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.19.4
GiveWP – Donation Plugin and Fundraising Platform v3.19.4
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 / DonationForms / Migrations / UpdateDonationLevelsSchema.php
give / src / DonationForms / Migrations Last commit date
CleanMultipleSlashesOnDB.php 2 years ago RemoveDuplicateMeta.php 2 years ago UpdateDonationLevelsSchema.php 2 years ago
UpdateDonationLevelsSchema.php
81 lines
1 <?php
2
3 namespace Give\DonationForms\Migrations;
4
5 use Give\DonationForms\Repositories\DonationFormRepository;
6 use Give\Framework\Migrations\Contracts\Migration;
7
8 /**
9 * Update the donation levels schema to support descriptions
10 *
11 * @since 3.12.0
12 */
13 class UpdateDonationLevelsSchema extends Migration
14 {
15 /**
16 * @inheritdoc
17 */
18 public static function id()
19 {
20 return 'donation-forms-donation-levels-schema';
21 }
22
23 /**
24 * @inheritdoc
25 */
26 public static function title()
27 {
28 return 'Update Donation Levels schema to support descriptions';
29 }
30
31 /**
32 * @inheritdoc
33 */
34 public static function timestamp()
35 {
36 return strtotime('2024-04-22');
37 }
38
39 /**
40 * @since 3.12.0
41 */
42 public function run()
43 {
44 $forms = give(DonationFormRepository::class)
45 ->prepareQuery()
46 ->whereIsNotNull("give_formmeta_attach_meta_fields.meta_value")
47 ->getAll();
48
49 if ( ! $forms) {
50 return;
51 }
52
53 foreach ($forms as $form) {
54 $amountBlock = $form->blocks->findByName('givewp/donation-amount');
55
56 if ( ! $amountBlock) {
57 continue;
58 }
59
60 $blockAttributes = $amountBlock->getAttributes();
61 $levels = $blockAttributes["levels"];
62 $defaultLevel = $blockAttributes["defaultLevel"] ?? 0;
63
64 if ( ! is_array($levels) || empty($levels) || isset($levels[0]['value'])) {
65 continue;
66 }
67
68 $levels = array_map(function($level) use ($defaultLevel) {
69 return [
70 'value' => $level,
71 'label' => '',
72 'checked' => $level === $defaultLevel,
73 ];
74 }, $levels);
75
76 $amountBlock->setAttribute('levels', $levels);
77 $form->save();
78 }
79 }
80 }
81