PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.19.6
GiveWP – Donation Plugin and Fundraising Platform v2.19.6
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 / Form / Template / Options.php
give / src / Form / Template Last commit date
Hookable.php 4 years ago LegacyFormSettingCompatibility.php 4 years ago Options.php 4 years ago Scriptable.php 4 years ago
Options.php
251 lines
1 <?php
2
3 namespace Give\Form\Template;
4
5 use Give\FormAPI\Section;
6
7 /**
8 * Class Options
9 *
10 * @package Give\Form\Template
11 * @since 2.7.0
12 */
13 class Options
14 {
15 /**
16 * Theme Options
17 *
18 * @since 2.7.0
19 * @var array
20 */
21 public $sections = [];
22
23 /**
24 * ThemeOptions constructor.
25 *
26 * @since 2.7.0
27 *
28 * @param $array
29 *
30 * @return Options
31 */
32 public static function fromArray($array)
33 {
34 $options = new static();
35
36 foreach ($array as $id => $group) {
37 $group['id'] = $id;
38 $options->sections[] = Section::fromArray($group);
39 }
40
41 return $options;
42 }
43
44 /**
45 * Return array configuration for checkout label setting field.
46 *
47 * Note: if you want to add an option in template to overwrite "Donate Now" button title then instead of define it manually in template options, developer can call this function.
48 * This function help to maintain backward compatibility with legacy donation form renderer.
49 *
50 * @return array
51 */
52 public static function getCheckoutLabelField()
53 {
54 return [
55 'id' => 'checkout_label',
56 'name' => __('Submit Button', 'give'),
57 'desc' => __('The button label for completing a donation.', 'give'),
58 'type' => 'text_medium',
59 'attributes' => [
60 'placeholder' => __('Donate Now', 'give'),
61 ],
62 'default' => __('Donate Now', 'give'),
63 LegacyFormSettingCompatibility::$key => '_give_checkout_label',
64 ];
65 }
66
67 /**
68 * Return array configuration for display style setting field.
69 *
70 * Note: if you want to add an option in template to overwrite donation levels style then instead of define it manually in template options, developer can call this function.
71 * This function help to maintain backward compatibility with legacy donation form renderer.
72 *
73 * @return array
74 */
75 public static function getDonationLevelsDisplayStyleField()
76 {
77 return [
78 'name' => __('Display Style', 'give'),
79 'description' => __('Set how the donations levels will display on the form.', 'give'),
80 'id' => 'display_style',
81 'type' => 'radio_inline',
82 'default' => 'buttons',
83 'options' => [
84 'buttons' => __('Buttons', 'give'),
85 'radios' => __('Radios', 'give'),
86 'dropdown' => __('Dropdown', 'give'),
87 ],
88 'wrapper_class' => 'give-hidden _give_display_style_field',
89 LegacyFormSettingCompatibility::$key => '_give_display_style',
90 ];
91 }
92
93 /**
94 * Return array configuration for display options setting field.
95 *
96 * Note: if you want to add an option in template to overwrite donation form display style then instead of define it manually in template options, developer can call this function.
97 * This function help to maintain backward compatibility with legacy donation form renderer.
98 *
99 * @param array $displayType
100 *
101 * @return array
102 */
103 public static function getDisplayOptionsField($displayType = [])
104 {
105 return [
106 'name' => __('Display Options', 'give'),
107 'desc' => sprintf(__('How would you like to display donation information for this form?', 'give'), '#'),
108 'id' => 'payment_display',
109 'type' => 'radio_inline',
110 'options' => array_merge(
111 [
112 'onpage' => __('All Fields', 'give'),
113 'button' => __('Button', 'give'),
114 ],
115 $displayType
116 ),
117 'wrapper_class' => '_give_payment_display_field',
118 'default' => 'onpage',
119 LegacyFormSettingCompatibility::$key => '_give_payment_display',
120 ];
121 }
122
123 /**
124 * Return array configuration for continue to donation button label ( reveal label ) setting field.
125 *
126 * Note: if you want to add an option in template to overwrite reveal_label text then instead of define it manually in template options, developer can call this function.
127 * This function help to maintain backward compatibility with legacy donation form renderer.
128 *
129 * @return array
130 */
131 public static function getContinueToDonationFormField()
132 {
133 return [
134 'id' => 'reveal_label',
135 'name' => __('Continue Button', 'give'),
136 'desc' => __('The button label for displaying the additional payment fields.', 'give'),
137 'type' => 'text_small',
138 'attributes' => [
139 'placeholder' => __('Donate Now', 'give'),
140 ],
141 'wrapper_class' => '_give_reveal_label_field give-hidden',
142 LegacyFormSettingCompatibility::$key => '_give_reveal_label',
143 ];
144 }
145
146 /**
147 * Return array configuration for float labels setting field.
148 *
149 * Note: if you want to add an option in template to overwrite float labels feature then instead of define it manually in template options, developer can call this function.
150 * This function help to maintain backward compatibility with legacy donation form renderer.
151 *
152 * @return array
153 */
154 public static function getFloatLabelsField()
155 {
156 return [
157 'name' => __('Floating Labels', 'give'),
158 /* translators: %s: forms http://docs.givewp.com/form-floating-labels */
159 'desc' => sprintf(
160 __(
161 'Select the <a href="%s" target="_blank">floating labels</a> setting for this GiveWP form. Be aware that if you have the "Disable CSS" option enabled, you will need to style the floating labels yourself.',
162 'give'
163 ),
164 esc_url('http://docs.givewp.com/form-floating-labels')
165 ),
166 'id' => 'form_floating_labels',
167 'type' => 'radio_inline',
168 'options' => [
169 'global' => __('Global Option', 'give'),
170 'enabled' => __('Enabled', 'give'),
171 'disabled' => __('Disabled', 'give'),
172 ],
173 'default' => 'global',
174 LegacyFormSettingCompatibility::$key => '_give_form_floating_labels',
175 ];
176 }
177
178 /**
179 * Return array configuration for display content setting field.
180 *
181 * Note: if you want to add an option in template to overwrite display content feature then instead of define it manually in template options, developer can call this function.
182 * This function help to maintain backward compatibility with legacy donation form renderer.
183 *
184 * @return array
185 */
186 public static function getDisplayContentField()
187 {
188 return [
189 'name' => __('Display Content', 'give'),
190 'description' => __('Do you want to add custom content to this form?', 'give'),
191 'id' => 'display_content',
192 'type' => 'radio_inline',
193 'options' => [
194 'enabled' => __('Enabled', 'give'),
195 'disabled' => __('Disabled', 'give'),
196 ],
197 'wrapper_class' => '_give_display_content_field',
198 'default' => 'disabled',
199 LegacyFormSettingCompatibility::$key => '_give_display_content',
200 ];
201 }
202
203 /**
204 * Return array configuration for content placement setting field.
205 *
206 * Note: if you want to add an option in template to overwrite content placement feature then instead of define it manually in template options, developer can call this function.
207 * This function help to maintain backward compatibility with legacy donation form renderer.
208 *
209 * @return array
210 */
211 public static function getContentPlacementField()
212 {
213 return [
214 'name' => __('Content Placement', 'give'),
215 'description' => __('This option controls where the content appears within the donation form.', 'give'),
216 'id' => 'content_placement',
217 'type' => 'radio_inline',
218 'options' => apply_filters(
219 'give_forms_content_options_select',
220 [
221 'give_pre_form' => __('Above fields', 'give'),
222 'give_post_form' => __('Below fields', 'give'),
223 ]
224 ),
225 'wrapper_class' => '_give_content_placement_field give-hidden',
226 'default' => 'give_pre_form',
227 LegacyFormSettingCompatibility::$key => '_give_content_placement',
228 ];
229 }
230
231 /**
232 * Return array configuration for form content setting field.
233 *
234 * Note: if you want to add an option in template to overwrite form content feature then instead of define it manually in template options, developer can call this function.
235 * This function help to maintain backward compatibility with legacy donation form renderer.
236 *
237 * @return array
238 */
239 public static function getFormContentField()
240 {
241 return [
242 'name' => __('Content', 'give'),
243 'description' => __('This content will display on the single give form page.', 'give'),
244 'id' => 'form_content',
245 'type' => 'wysiwyg',
246 'wrapper_class' => '_give_form_content_field give-hidden',
247 LegacyFormSettingCompatibility::$key => '_give_form_content',
248 ];
249 }
250 }
251