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