PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.1.0
GiveWP – Donation Plugin and Fundraising Platform v3.1.0
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 10,
71 25,
72 50,
73 100,
74 250,
75 500
76 ],
77 "defaultLevel" => 10,
78 "priceOption" => "multi",
79 "setPrice" => 25,
80 "customAmount" => true,
81 "customAmountMin" => 1,
82 "recurringBillingPeriodOptions" => [
83 "month"
84 ],
85 "recurringBillingInterval" => 1,
86 "recurringEnabled" => false,
87 "recurringLengthOfTime" => "0",
88 "recurringOptInDefaultBillingPeriod" => "month",
89 "recurringEnableOneTimeDonations" => true
90 ],
91 'innerBlocks' => [],
92 ]);
93 }
94
95 /**
96 * @since 3.1.0
97 */
98 protected function createDonorNameBlock(): BlockModel
99 {
100 return BlockModel::make([
101 'name' => 'givewp/donor-name',
102 'attributes' => [
103 "showHonorific" => false,
104 "honorifics" => [
105 __("Mr", 'give'),
106 __("Ms", 'give'),
107 __("Mrs", 'give')
108 ],
109 "firstNameLabel" => __("First name", 'give'),
110 "firstNamePlaceholder" => __("First name", 'give'),
111 "lastNameLabel" => __("Last name", 'give'),
112 "lastNamePlaceholder" => __("Last name", 'give'),
113 "requireLastName" => false
114 ],
115 "innerBlocks" => []
116 ]);
117 }
118
119 /**
120 * @since 3.1.0
121 */
122 protected function createEmailBlock(): BlockModel
123 {
124 return BlockModel::make([
125 'name' => 'givewp/email',
126 'attributes' => [
127 "label" => __("Email Address", 'give'),
128 "isRequired" => true,
129 ],
130 "innerBlocks" => []
131 ]);
132 }
133
134 /**
135 * @since 3.1.0
136 */
137 protected function createDonationSummaryBlock(): BlockModel
138 {
139 return BlockModel::make([
140 'name' => 'givewp/donation-summary',
141 'attributes' => [],
142 'innerBlocks' => []
143 ]);
144 }
145
146 /**
147 * @since 3.1.0
148 */
149 protected function createPaymentGatewaysBlock(): BlockModel
150 {
151 return BlockModel::make([
152 'name' => 'givewp/payment-gateways',
153 'attributes' => [],
154 'innerBlocks' => []
155 ]);
156 }
157 }