PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.16.3
GiveWP – Donation Plugin and Fundraising Platform v3.16.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 / FormBuilder / Actions / GenerateDefaultDonationFormBlockCollection.php
give / src / FormBuilder / Actions Last commit date
ConvertGlobalDefaultOptionsToDefaultBlocks.php 2 years ago ConvertLegacyNotificationToEmailNotificationData.php 2 years ago DequeueAdminScriptsInFormBuilder.php 2 years ago DequeueAdminStylesInFormBuilder.php 2 years ago GenerateDefaultDonationFormBlockCollection.php 2 years ago UpdateDonorCommentsMeta.php 2 years ago UpdateEmailSettingsMeta.php 2 years ago UpdateEmailTemplateMeta.php 2 years ago UpdateFormGridMeta.php 2 years ago
GenerateDefaultDonationFormBlockCollection.php
157 lines
1 <?php
2
3 namespace Give\FormBuilder\Actions;
4
5 use Give\Framework\Blocks\BlockCollection;
6 use Give\Framework\Blocks\BlockModel;
7
8 /**
9 * @since 3.1.0
10 */
11 class GenerateDefaultDonationFormBlockCollection
12 {
13 /**
14 * @since 3.1.0
15 */
16 public function __invoke(): BlockCollection
17 {
18 $section1 = $this->createSection(
19 __('How much would you like to donate today?', 'give'),
20 __('All donations directly impact our organization and help us further our mission.', 'give'),
21 $this->createAmountBlock()
22 );
23
24 $section2 = $this->createSection(
25 __('Who\'s Giving Today?', 'give'),
26 __('We\'ll never share this information with anyone.', 'give'),
27 $this->createDonorNameBlock(),
28 $this->createEmailBlock()
29 );
30
31 $section3 = $this->createSection(
32 __('Payment Details', 'give'),
33 __('How would you like to pay for your donation?', 'give'),
34 $this->createDonationSummaryBlock(),
35 $this->createPaymentGatewaysBlock()
36 );
37
38 return BlockCollection::make([
39 $section1,
40 $section2,
41 $section3
42 ]);
43 }
44
45 /**
46 * @since 3.1.0
47 */
48 protected function createSection(string $title, string $description, BlockModel ...$innerBlocks): BlockModel
49 {
50 return BlockModel::make([
51 'name' => 'givewp/section',
52 'attributes' => [
53 'title' => $title,
54 'description' => $description,
55 ],
56 'innerBlocks' => new BlockCollection($innerBlocks),
57 ]);
58 }
59
60 /**
61 * @since 3.1.0
62 */
63 protected function createAmountBlock(): BlockModel
64 {
65 return BlockModel::make([
66 'name' => 'givewp/donation-amount',
67 'attributes' => [
68 "label" => __("Donation Amount", 'give'),
69 "levels" => [
70 ['value' => 10, 'checked' => true],
71 ['value' => 25],
72 ['value' => 50],
73 ['value' => 100],
74 ['value' => 250],
75 ['value' => 500],
76 ],
77 "priceOption" => "multi",
78 "setPrice" => 25,
79 "customAmount" => true,
80 "customAmountMin" => 1,
81 "recurringBillingPeriodOptions" => [
82 "month"
83 ],
84 "recurringBillingInterval" => 1,
85 "recurringEnabled" => false,
86 "recurringLengthOfTime" => "0",
87 "recurringOptInDefaultBillingPeriod" => "month",
88 "recurringEnableOneTimeDonations" => true
89 ],
90 'innerBlocks' => [],
91 ]);
92 }
93
94 /**
95 * @since 3.1.0
96 */
97 protected function createDonorNameBlock(): BlockModel
98 {
99 return BlockModel::make([
100 'name' => 'givewp/donor-name',
101 'attributes' => [
102 "showHonorific" => false,
103 "honorifics" => [
104 __("Mr", 'give'),
105 __("Ms", 'give'),
106 __("Mrs", 'give')
107 ],
108 "firstNameLabel" => __("First name", 'give'),
109 "firstNamePlaceholder" => __("First name", 'give'),
110 "lastNameLabel" => __("Last name", 'give'),
111 "lastNamePlaceholder" => __("Last name", 'give'),
112 "requireLastName" => false
113 ],
114 "innerBlocks" => []
115 ]);
116 }
117
118 /**
119 * @since 3.1.0
120 */
121 protected function createEmailBlock(): BlockModel
122 {
123 return BlockModel::make([
124 'name' => 'givewp/email',
125 'attributes' => [
126 "label" => __("Email Address", 'give'),
127 "isRequired" => true,
128 ],
129 "innerBlocks" => []
130 ]);
131 }
132
133 /**
134 * @since 3.1.0
135 */
136 protected function createDonationSummaryBlock(): BlockModel
137 {
138 return BlockModel::make([
139 'name' => 'givewp/donation-summary',
140 'attributes' => [],
141 'innerBlocks' => []
142 ]);
143 }
144
145 /**
146 * @since 3.1.0
147 */
148 protected function createPaymentGatewaysBlock(): BlockModel
149 {
150 return BlockModel::make([
151 'name' => 'givewp/payment-gateways',
152 'attributes' => [],
153 'innerBlocks' => []
154 ]);
155 }
156 }
157