PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 3.1.2
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v3.1.2
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 2.10.1 2.10.2 All 137 releases
bit-form / includes / Frontend / Form / View / Theme / Fields / AddressField.php

AddressField.php in Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder 3.1.2, at includes/Frontend/Form/View/Theme/Fields/AddressField.php

54 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace BitCode\BitForm\Frontend\Form\View\Theme\Fields;
4
5 use BitCode\BitForm\Core\Form\FormManager;
6
7 class AddressField
8 {
9 public static function init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error = null, $value = null)
10 {
11 $inputWrapper = new ClassicInputWrapper($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
12
13 if (!property_exists($field, 'childFields') || empty((array) $field->childFields)) {
14 return $inputWrapper->wrapper('');
15 }
16
17 $formManager = FormManager::getInstance($formID);
18 $fields = $formManager->getFormContent()->fields;
19 $childFields = $field->childFields;
20
21 $parentChildHTML = '';
22
23 foreach ($childFields as $childFldKey) {
24 if (!isset($childFldKey->fldKey) || !isset($fields->{$childFldKey->fldKey})) {
25 continue;
26 }
27
28 $fldKey = $childFldKey->fldKey;
29 $childField = $fields->{$fldKey};
30 $isDeactive = property_exists($childField, 'isDeactive') && $childField->isDeactive;
31
32 if ($isDeactive) {
33 continue;
34 }
35
36 preg_match('/\[(\w+)\]$/', $childField->fieldName, $matches);
37 $subFieldName = $matches[1] ?? '';
38 $colSpan = property_exists($childField, 'colSpan') ? (int) $childField->colSpan : 12;
39
40 if ('country' === $childField->typ) {
41 $input = CountryField::init($childField, $fldKey, $field_name . '_address', $form_atomic_Cls_map, $formID, $error, $value);
42 } else {
43 $input = TextField::init($childField, $fldKey, $field_name . '_address', $form_atomic_Cls_map, $formID, $error, $value);
44 }
45
46 $parentChildHTML .= $inputWrapper->childFieldWrapper($input, $subFieldName, $colSpan, $fldKey);
47 }
48
49 $parentHtml = $inputWrapper->parentFieldWrapper($parentChildHTML);
50
51 return $inputWrapper->wrapper($parentHtml);
52 }
53 }
54