PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
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 1 year ago DequeueAdminScriptsInFormBuilder.php 2 years ago DequeueAdminStylesInFormBuilder.php 2 years ago GenerateDefaultDonationFormBlockCollection.php 1 year ago UpdateDonorCommentsMeta.php 2 years ago UpdateEmailSettingsMeta.php 2 years ago UpdateEmailTemplateMeta.php 2 years ago UpdateFormGridMeta.php 2 years ago
GenerateDefaultDonationFormBlockCollection.php
158 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 4.3.0 update firstNamePlaceholder and lastNamePlaceholder values.
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" => __("John", 'give'),
111 "lastNameLabel" => __("Last name", 'give'),
112 "lastNamePlaceholder" => __("Doe", '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 }
158