PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.15.3
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.15.3
V3.3.2 3.3.1 V-3.3.0 3.2.2 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 V3.0.3 V3.0.2 -3.0.1 V_3.0.0 1.1.1 1.1.8 1.2 1.3 1.4 1.4.18 1.5.2 1.9 2.0 2.10.0 All 139 releases
← All changes | includes/Frontend/Form/View/Theme/ThemeBase.php +36 -69 3.2.2 → 2.15.3 View file →
@@ -1,9 +1,9 @@
1 1 <?php
2 2
3 3 namespace BitCode\BitForm\Frontend\Form\View\Theme;
4 4
5 -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\AddressField;
5 +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\AdvanceFileUpField;
6 6 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\ButtonField;
7 7 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\CheckBoxField;
8 8 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\CountryField;
9 9 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\CurrencyField;
@@ -9,25 +9,26 @@
9 9 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\CurrencyField;
10 10 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\DecisionBoxField;
11 11 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\DividerField;
12 12 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\DropdownField;
13 -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\FieldWithChild;
14 13 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\FileUploadField;
15 -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\GDPRAgreementField;
16 -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\HCaptchaField;
17 -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\HiddenField;
18 14 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\HTMLField;
19 15 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\HtmlSelectField;
20 16 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\ImageField;
21 17 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\ImageSelectField;
18 +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\MollieField;
19 +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\PayPalField;
22 20 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\PhoneNumberField;
23 21 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RadioBoxField;
24 22 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RatingField;
23 +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RazorPayField;
25 24 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RecaptchaV2Field;
26 25 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RepeaterField;
27 26 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\SectionField;
27 +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\ShortcodeField;
28 +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\SignatureField;
28 29 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\SliderField;
29 -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\SpacerField;
30 +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\StripeField;
30 31 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TextAreaField;
31 32 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TextField;
32 33 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TitleField;
33 34 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TurnstileField;
@@ -39,11 +40,8 @@
39 40
40 41 public function inputWrapper($formViewInstance, $rowID)
41 42 {
42 43 $field = $formViewInstance->fields($rowID);
43 - if (!is_object($field)) {
44 - return '';
45 - }
46 44 $field_name = $formViewInstance->getFieldName($rowID);
47 45 $form_atomic_Cls_map = $formViewInstance->getAtomicClaMap();
48 46 $error = $formViewInstance->getError($rowID);
49 47 $value = $formViewInstance->getValue($field_name, $rowID);
@@ -80,9 +78,13 @@
80 78 // </div>
81 79 // ERRORHTML;
82 80 // }
83 81
84 - return sprintf('<div class="btcd-fld-itm %1$s %2$s">%3$s</div>', $rowID, $isHidden, $fieldHTML);
82 + return <<<INPUTWRAPPER
83 +<div class="btcd-fld-itm $rowID $isHidden">
84 + $fieldHTML
85 +</div>
86 +INPUTWRAPPER;
85 87
86 88 // return $fieldHTML;
87 89 }
88 90
@@ -87,19 +89,14 @@
87 89 }
88 90
89 91 protected function getField($field, $rowID, $field_name, $form_atomic_Cls_map, $error = null, $value = null, $formID = null)
90 92 {
91 - if (!is_object($field)) {
92 - return '';
93 - }
94 -
95 - // Pro-only fields ship in the Bit Form Pro plugin. In the free plugin, we avoid rendering Pro implementations.
96 - $proMissingHtml = '<div class="bf-pro-field-missing"> <!-- Require Bit Form Pro --> </div>';
97 -
98 93 switch ($field->typ) {
99 94 case 'text':
100 95 case 'username':
101 96 case 'number':
97 + case 'password':
98 + case 'email':
102 99 case 'url':
103 100 case 'date':
104 101 case 'datetime-local':
105 102 case 'time':
@@ -106,14 +103,8 @@
106 103 case 'month':
107 104 case 'week':
108 105 case 'color':
109 106 return TextField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
110 - case 'password':
111 - case 'email':
112 - case 'name':
113 - return FieldWithChild::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
114 - case 'address':
115 - return AddressField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
116 107 case 'textarea':
117 108 return TextAreaField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
118 109 case 'range':
119 110 return SliderField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
@@ -134,46 +125,25 @@
134 125 case 'recaptcha':
135 126 return RecaptchaV2Field::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
136 127 case 'turnstile':
137 128 return TurnstileField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
138 - case 'hcaptcha':
139 - return HCaptchaField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
140 129 case 'decision-box':
141 130 // return $this->decisionBox($field, $rowID, $field_name, $formID, $error, $value);
142 131 return DecisionBoxField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
143 - case 'gdpr':
144 - return GDPRAgreementField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
145 132 case 'html':
146 133 // return $this->html($field, $rowID, $field_name, $formID, $error, $value);
147 134 return HTMLField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
148 135 case 'shortcode':
149 - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\ShortcodeField')) {
150 - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\ShortcodeField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
151 - }
152 - return $proMissingHtml;
153 - case 'hidden':
154 - return HiddenField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
136 + return ShortcodeField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
155 137 case 'paypal':
156 - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\PayPalField')) {
157 - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\PayPalField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
158 - }
159 - return $proMissingHtml;
138 + return PayPalField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
160 139 case 'stripe':
161 - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\StripeField')) {
162 - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\StripeField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
163 - }
164 - return $proMissingHtml;
140 + return StripeField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
165 141 case 'mollie':
166 - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\MollieField')) {
167 - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\MollieField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
168 - }
169 - return $proMissingHtml;
142 + return MollieField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
170 143 case 'razorpay':
171 144 // return $this->razorPay($field, $rowID, $field_name, $formID, $error, $value);
172 - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\RazorPayField')) {
173 - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\RazorPayField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
174 - }
175 - return $proMissingHtml;
145 + return RazorPayField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
176 146 // case 'submit':
177 147 // return $this->submitBtns($field, $rowID, $field_name, $formID, $error, $value);
178 148 case 'button':
179 149 // return $this->button($field, $rowID, $field_name, $formID, $error, $value);
@@ -183,10 +153,8 @@
183 153 return TitleField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
184 154 case 'divider':
185 155 // return $this->button($field, $rowID, $field_name, $formID, $error, $value);
186 156 return DividerField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
187 - case 'spacer':
188 - return SpacerField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
189 157 case 'country':
190 158 return CountryField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
191 159 case 'currency':
192 160 return CurrencyField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
@@ -192,12 +160,9 @@
192 160 return CurrencyField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
193 161 case 'phone-number':
194 162 return PhoneNumberField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
195 163 case 'advanced-file-up':
196 - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\AdvanceFileUpField')) {
197 - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\AdvanceFileUpField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
198 - }
199 - return $proMissingHtml;
164 + return AdvanceFileUpField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
200 165 case 'image':
201 166 return ImageField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
202 167 case 'section':
203 168 return SectionField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $this->_formViewerInstance, $this->_nestedLayout, $error, $value);
@@ -203,27 +168,29 @@
203 168 return SectionField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $this->_formViewerInstance, $this->_nestedLayout, $error, $value);
204 169 case 'repeater':
205 170 return RepeaterField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $this->_formViewerInstance, $this->_nestedLayout, $error, $value);
206 171 case 'signature':
207 - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\SignatureField')) {
208 - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\SignatureField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
209 - }
210 - return $proMissingHtml;
211 - case 'email-otp':
212 - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\EmailOtpField')) {
213 - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\EmailOtpField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
214 - }
215 - return $proMissingHtml;
172 + return SignatureField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
216 173 case 'rating':
217 174 return RatingField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
218 175 case 'image-select':
219 176 return ImageSelectField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
220 - case 'advanced-datetime':
221 - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\AdvanceDateTimeField')) {
222 - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\AdvanceDateTimeField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
223 - }
224 - return $proMissingHtml;
225 177 default:
226 178 break;
227 179 }
180 + }
181 +
182 + protected function setTag($tag, $value, $attr = null)
183 + {
184 + echo "<$tag $attr>" . esc_html($value) . "</$tag>";
185 + }
186 +
187 + protected function setAttribute($attr, $value = null)
188 + {
189 + echo " $attr='" . esc_attr($value) . "' ";
190 + }
191 +
192 + protected function setSingleValuedAttribute($attr)
193 + {
194 + echo " $attr ";
228 195 }
229 196 }