PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.0
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.0
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 / ThemeBase.php

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

157 lines 7.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;
4
5 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\AdvanceFileUpField;
6 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\ButtonField;
7 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\CheckBoxField;
8 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\CountryField;
9 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\CurrencyField;
10 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\DecisionBoxField;
11 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\DividerField;
12 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\DropdownField;
13 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\FileUploadField;
14 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\HTMLField;
15 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\HtmlSelectField;
16 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\ImageField;
17 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\PayPalField;
18 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\PhoneNumberField;
19 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RadioBoxField;
20 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RazorPayField;
21 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RecaptchaV2Field;
22 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TextAreaField;
23 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TextField;
24 use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TitleField;
25
26 class ThemeBase {
27 public function inputWrapper($formViewInstance, $rowID) {
28 $field = $formViewInstance->fields($rowID);
29 $field_name = $formViewInstance->getFieldName($rowID);
30 $form_atomic_Cls_map = $formViewInstance->getAtomicClaMap();
31 $error = $formViewInstance->getError($rowID);
32 $value = $formViewInstance->getValue($field_name, $rowID);
33 $formID = $formViewInstance->getFormID();
34
35 // $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'vis-n' : null;
36 $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'fld-hide' : null;
37 // $isReqSym = empty($field->valid->req) ? null : ' <span class="fld-req-symbol">*</span>';
38 // $noLabel = ['decision-box', 'html', 'button', 'paypal', 'razorpay', 'recaptcha'];
39 // $fieldLbl = "";
40
41 // if (!in_array($field->typ, $noLabel) && isset($field->lbl)) {
42 // $replaceToBackslash = str_replace('$_bf_$', '\\', $field->lbl);
43 // $fieldLbl = FieldValueHandler::replaceSmartTagWithValue($replaceToBackslash);
44 // }
45
46 // if (isset($field->ph)) {
47 // $phReplaceToBackslash = str_replace('$_bf_$', '\\', $field->ph);
48 // $field->ph = FieldValueHandler::replaceSmartTagWithValue($phReplaceToBackslash);
49 // }
50
51 // $lbl = (!in_array($field->typ, $noLabel) && !isset($field->valid->hideLbl) && isset($field->lbl)) ? "<label class='fld-lbl fld-lbl-$formID' for='$rowID'>" . esc_html($fieldLbl) . $isReqSym . "</label>" : "";
52
53 // $err = (isset($error) && !empty($error)) ? $error : "";
54 // $errStyle = !empty($err) ? "style='height: auto'" : "";
55 $fieldHTML = $this->getField($field, $rowID, $field_name, $form_atomic_Cls_map, $error, $value, $formID);
56 // $errHTML = '';
57 // if ($err || isset($field->err)) {
58 // $errHTML = <<<ERRORHTML
59 // <div class="error-wrapper" $errStyle>
60 // <div id="$rowID-error" class="error-txt">$err</div>
61 // </div>
62 // ERRORHTML;
63 // }
64
65 return <<<INPUTWRAPPER
66 <div class="btcd-fld-itm $rowID $isHidden">
67 $fieldHTML
68 </div>
69 INPUTWRAPPER;
70
71 // return $fieldHTML;
72 }
73
74 protected function getField($field, $rowID, $field_name, $form_atomic_Cls_map, $error = null, $value = null, $formID = null) {
75 switch ($field->typ) {
76 case 'text':
77 case 'username':
78 case 'number':
79 case 'password':
80 case 'email':
81 case 'url':
82 case 'date':
83 case 'datetime-local':
84 case 'time':
85 case 'month':
86 case 'week':
87 case 'color':
88 return TextField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
89 case 'textarea':
90 return TextAreaField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
91 case 'check':
92 // return $this->checkBox($field, $rowID, $field_name, $formID, $error, $value);
93 return CheckBoxField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
94 case 'radio':
95 // return $this->radioBox($field, $rowID, $field_name, $formID, $error, $value);
96 return RadioBoxField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
97 case 'html-select':
98 return HtmlSelectField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
99 case 'select':
100 // return $this->dropDown($field, $rowID, $field_name, $formID, $error, $value);
101 return DropdownField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
102 case 'file-up':
103 // return $this->fileUp($field, $rowID, $field_name, $formID, $error, $value);
104 return FileUploadField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
105 case 'recaptcha':
106 return RecaptchaV2Field::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
107 // return $this->recaptcha($field, $rowID, $field_name, $formID, $error, $value);
108 case 'decision-box':
109 // return $this->decisionBox($field, $rowID, $field_name, $formID, $error, $value);
110 return DecisionBoxField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
111 case 'html':
112 // return $this->html($field, $rowID, $field_name, $formID, $error, $value);
113 return HTMLField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
114 case 'paypal':
115 return PayPalField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
116 case 'razorpay':
117 // return $this->razorPay($field, $rowID, $field_name, $formID, $error, $value);
118 return RazorPayField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
119 // case 'submit':
120 // return $this->submitBtns($field, $rowID, $field_name, $formID, $error, $value);
121 case 'button':
122 // return $this->button($field, $rowID, $field_name, $formID, $error, $value);
123 return ButtonField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
124 case 'title':
125 // return $this->button($field, $rowID, $field_name, $formID, $error, $value);
126 return TitleField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
127 case 'divider':
128 // return $this->button($field, $rowID, $field_name, $formID, $error, $value);
129 return DividerField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
130 case 'country':
131 return CountryField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
132 case 'currency':
133 return CurrencyField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
134 case 'phone-number':
135 return PhoneNumberField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
136 case 'advanced-file-up':
137 return AdvanceFileUpField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
138 case 'image':
139 return ImageField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value);
140 default:
141 break;
142 }
143 }
144
145 protected function setTag($tag, $value, $attr = null) {
146 echo "<$tag $attr>" . esc_html($value) . "</$tag>";
147 }
148
149 protected function setAttribute($attr, $value = null) {
150 echo " $attr='" . esc_attr($value) . "' ";
151 }
152
153 protected function setSingleValuedAttribute($attr) {
154 echo " $attr ";
155 }
156 }
157