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
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 2.10.1 All 138 releases
bit-form / includes / Frontend / Form / View / Theme / DefaultTheme.php

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

287 lines 12.4 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 final class DefaultTheme extends ThemeBase {
6 protected function fileUp($field, $rowID, $field_name, $formID, $error = null, $value = null) {
7 $name = esc_attr($field_name);
8 $name .= isset($field->mul) ? '[]' : null;
9 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
10 $upBtnTxt = isset($field->upBtnTxt) ? '<span>' . esc_html($field->upBtnTxt) . '</span>' : '';
11 $maxUpload = isset($field->mxUp) ? 'Max ' . esc_html($field->mxUp) . ' MB' : '';
12 $req = isset($field->req) ? 'required' : '';
13 $mul = isset($field->mul) ? 'multiple' : '';
14 $extention = isset($field->exts) ? "accept='" . esc_attr($field->exts) . "'" : '';
15 return <<<FILEUPLOAD
16 <div class="btcd-f-input">
17 <div class="btcd-f-wrp">
18 <div class="btn-wrp">
19 <button class="btcd-inpBtn" type="button">
20 <svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><path d="M13.5 7.5l-5.757 5.757a4.243 4.243 0 01-6-6l5.929-5.929a2.828 2.828 0 014 4l-5.758 5.758a1.414 1.414 0 01-2-2L9.5 3.5" stroke="currentColor" /></svg>
21 $upBtnTxt
22 </button>
23 </div>
24 <span class="btcd-f-title">No File Chosen</span>
25 <small class="f-max">$maxUpload</small>
26 <input id="$rowID" name="$name" $req $mul $extention $isDisabled type="file" />
27 </div>
28 </div>
29 FILEUPLOAD;
30 }
31
32 protected function submitBtns($field, $style, $field_id) {
33 ob_start(); ?>
34 <div class="<?php echo $style; ?>">
35 <div>
36 <div class="btcd-frm-sub <?php 'center' === $field->align ? $this->setSingleValuedAttribute('j-c-c') : ''; ?><?php 'right' === $field->align ? $this->setSingleValuedAttribute('j-c-e') : ''; ?>">
37 <button class="btcd-sub-btn btcd-sub <?php 'md' === $field->btnSiz ? $this->setSingleValuedAttribute('btcd-btn-md') : ''; ?> <?php $field->fulW ? $this->setSingleValuedAttribute('ful-w') : ''; ?>" type="submit" <?php isset($field->name) ? $this->setAttribute('name', $field->name) : '' ?>><?php echo esc_html($field->subBtnTxt) ?></button>
38 <?php //{'rstBtnTxt' in attr && <button className={`btcd-sub-btn btcd-rst ${attr.btnSiz === 'md' && 'btcd-btn-md'} ${attr.fulW && 'ful-w'}`} type="button">{attr.rstBtnTxt}</button>}
39 ?>
40 <?php if (!empty($field->rstBtnTxt)) : ?>
41 <button class="btcd-sub-btn btcd-rst <?php 'md' === $field->btnSiz ? $this->setSingleValuedAttribute('btcd-btn-md') : ''; ?> <?php $field->fulW ? $this->setSingleValuedAttribute('ful-w') : ''; ?>" type="reset"><?php echo esc_html($field->rstBtnTxt) ?></button>
42 <?php endif ?>
43 </div>
44 </div>
45 </div>
46 <?php
47 return ob_get_clean();
48 }
49
50 protected function button($field, $style, $field_name, $formID, $error, $value) {
51 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
52 $align = isset($field->align) ? ('center' === $field->align ? 'j-c-c' : ('right' === $field->align ? 'j-c-e' : '')) : '';
53 if ('reset' === $field->btnTyp) {
54 $btnCls = 'btcd-rst';
55 $name = '';
56 } else {
57 $btnCls = 'btcd-sub';
58 $name = " name='$field_name'";
59 }
60 $btnSizCls = 'md' === $field->btnSiz ? 'btcd-btn-md' : '';
61 $btnfulW = !empty($field->fulW) ? 'ful-w' : '';
62 $btnTyp = !empty($field->btnTyp) ? "type='$field->btnTyp'" : '';
63 return <<<BUTTON
64 <div class='btcd-frm-sub $align'>
65 <button
66 class='btcd-sub-btn $btnCls $btnSizCls $btnfulW'
67 $btnTyp
68 $name
69 $isDisabled
70 >
71 $field->txt
72 </button>
73 </div>
74 BUTTON;
75 }
76
77 protected function textField($field, $rowID, $field_name, $formID, $error = null, $value = null) {
78 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
79 $readonly = empty($field->valid->readonly) ? null : 'readonly';
80 $name = isset($field_name) ? "name='" . esc_attr($field_name) . "'" : '';
81 $ph = isset($field->ph) ? "placeholder='" . esc_attr($field->ph) . "'" : '';
82 $mx = isset($field->mx) ? "max='" . esc_attr($field->mx) . "'" : '';
83 $mn = isset($field->mn) ? "min='" . esc_attr($field->mn) . "'" : '';
84 $val = isset($value) ? "value='" . esc_attr($value) . "'" : '';
85 $required = isset($field->valid->req) ? 'required' : '';
86
87 return <<<TEXTFIELD
88 <input id="$rowID" class="fld fld-$formID no-drg" type="$field->typ" $name $ph $mx $mn $val $required $isDisabled $readonly/>
89 TEXTFIELD;
90 }
91
92 protected function textArea($field, $rowID, $field_name, $formID, $error = null, $value = null) {
93 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
94 $readonly = empty($field->valid->readonly) ? null : 'readonly';
95 $name = isset($field_name) ? "name='" . esc_attr($field_name) . "'" : '';
96 if (isset($field->ph)) {
97 $ph = htmlentities($field->ph, ENT_QUOTES);
98 }
99 $ph = isset($field->ph) ? "placeholder='$ph'" : '';
100 $val = isset($value) ? $value : '';
101 $required = isset($field->valid->req) ? 'required' : '';
102
103 return <<<TEXTAREA
104 <div>
105 <textarea id="$rowID" class="fld fld-$formID no-drg" type="$field->typ" $name $ph $required $isDisabled $readonly>$val</textArea>
106 </div>
107 TEXTAREA;
108 }
109
110 protected function dropDown($field, $rowID, $field_name, $formID, $error = null, $value = null) {
111 $defaultValue = null === $value ? [] : array_map('esc_html', $value);
112 $isDisabled = empty($field->valid->disabled) ? (empty($field->valid->readonly) ? null : 'msl-disabled') : 'msl-disabled';
113 $mul = isset($field->mul);
114 $ph = isset($field->ph) ? "data-placeholder='$field->ph'" : "data-placeholder='Select...'";
115 $val = '';
116 if (isset($field->val)) {
117 $dval = is_string($field->val) ? $field->val : implode(',', $field->val);
118 $val = "value='$dval'";
119 }
120 $options = '';
121 foreach ($field->opt as $selectOption) {
122 $label = esc_html($selectOption->label);
123 $value = esc_html($selectOption->value);
124 // preg_match('/asd 1/', $input_line, $output_array);
125 $selected = in_array($value, $defaultValue) ? 'msl-option-selected' : '';
126 $options .= "<option title='$label' class='msl-option vis-n $selected' value='$value'>$label</option>";
127 }
128
129 $defaultValuePlacehold = "<div data-msl='true' $ph class='msl-input' contenteditable='true'></div>";
130 if (null !== $defaultValue && 1 === sizeof($defaultValue) && !$mul) {
131 $defaultValuePlacehold = "<span class='msl-single-value' data-msl='true'>$defaultValue[0]</span>";
132 }
133 return <<<DROPDOWN
134 <div class="msl-wrp msl-vars no-drg $isDisabled fld fld-$formID dpd" style="width: 100%;">
135 <input name="$field_name" type="hidden" value="$val">
136 <div data-msl="true" class="msl">
137 <div data-msl="true" class="msl-input-wrp" tabindex="0">
138 $defaultValuePlacehold
139 </div>
140 <div class="msl-actions msl-flx">
141 <div role="button" aria-label="toggle-menu" class="msl-btn msl-arrow-btn msl-flx"></div>
142 </div>
143 </div>
144 <div class="msl-options">
145 $options
146 </div>
147 </div>
148 DROPDOWN;
149 }
150
151 protected function recaptcha($field, $rowID, $field_name, $formID, $error = null, $value = null) {
152 return <<<RECAPTCHA
153 <div class="btcd-flx j-c-c" style="min-height='inherit'"></div>
154 RECAPTCHA;
155 }
156
157 protected function paypal($field, $rowID, $field_name, $formID, $error = null, $value = null) {
158 return <<<PAYPAL
159 <div style="width: auto; min-width: 150px; max-width: 750px; margin-left: auto; margin-right: auto;"></div>
160 PAYPAL;
161 }
162
163 protected function razorPay($field, $rowID, $field_name, $formID, $error = null, $value = null) {
164 $center = 'center' === $field->align ? 'j-c-c' : '';
165 $right = 'right' === $field->align ? 'j-c-e' : '';
166 $btnSiz = 'md' === $field->btnSiz ? 'btcd-btn-md' : '';
167 $fulW = $field->fulW ? 'ful-w' : '';
168 $btnTxt = isset($field->btnTxt) ? esc_html($field->btnTxt) : '';
169
170 return <<<RAZORPAY
171 <div class="btcd-frm-sub $center $right">
172 <button class="btcd-sub-btn btcd-sub $btnSiz $fulW" type="button" name="$field_name">
173 $btnTxt
174 </button>
175 </div>
176 RAZORPAY;
177 }
178
179 protected function checkBox($field, $rowID, $field_name, $formID, $error = null, $value = null) {
180 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
181 $readonly = empty($field->valid->readonly) ? null : 'readonly';
182 $round = isset($field->round) ? 'btcd-round' : '';
183 $options = '';
184
185 foreach ($field->opt as $checkBoxOption) {
186 $name = isset($field_name) ? "name='" . esc_attr($field_name) . '[]' . "'" : '';
187 $required = isset($checkBoxOption->req) ? 'required' : '';
188 $checked = isset($checkBoxOption->check) ? 'checked' : '';
189 $checkBoxOptionValue = isset($checkBoxOption->val) ? esc_html($checkBoxOption->val) : esc_html($checkBoxOption->lbl);
190 $value = null === $value ? '' : $value;
191 if ((!is_array($value) && false !== strpos($value, $checkBoxOptionValue)) || (isset($value) && \is_array($value) && $checkBoxOptionValue === $value[array_search($checkBoxOptionValue, $value)])) {
192 $checked = 'checked';
193 }
194 $options .= <<<OPTION
195 <label class="btcd-ck-wrp btcd-ck-wrp-$formID">
196 <span>$checkBoxOption->lbl</span>
197 <input type="checkbox" $checked $required $name value="$checkBoxOptionValue" $isDisabled $readonly/>
198 <span class="btcd-mrk ck"></span>
199 </label>
200 OPTION;
201 }
202
203 return <<<CHECKBOX
204 <div class="no-drg fld btcd-ck-con $round">
205 $options
206 </div>
207 CHECKBOX;
208 }
209
210 protected function radioBox($field, $rowID, $field_name, $formID, $error = null, $value = null) {
211 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
212 $readonly = empty($field->valid->readonly) ? null : 'readonly';
213 $round = isset($field->round) ? 'btcd-round' : '';
214 $options = '';
215
216 foreach ($field->opt as $checkBoxOption) {
217 $name = isset($field_name) ? "name='" . esc_attr($field_name) . "'" : '';
218 $required = isset($checkBoxOption->req) ? 'required' : '';
219 $optionValue = esc_html($checkBoxOption->lbl);
220 $checked = '';
221 if (isset($checkBoxOption->check) || $checkBoxOption->lbl === $value) {
222 $checked = 'checked';
223 }
224 $options .= <<<OPTION
225 <label class="btcd-ck-wrp btcd-ck-wrp-$formID">
226 <span>$checkBoxOption->lbl</span>
227 <input type="radio" $checked $required $name value="$optionValue" $isDisabled $readonly/>
228 <span class="btcd-mrk rdo"></span>
229 </label>
230 OPTION;
231 }
232
233 return <<<RADIOBOX
234 <div class="no-drg fld btcd-ck-con $round">
235 $options
236 </div>
237 RADIOBOX;
238 }
239
240 protected function decisionBox($field, $rowID, $field_name, $formID, $error = null, $value = null) {
241 $isRequired = !empty($field->valid->req) ? 'required' : '';
242 $isChecked = !empty($field->valid->checked) ? 'checked' : '';
243 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
244 $readonly = empty($field->valid->readonly) ? null : 'readonly';
245 $value = $isChecked ? $field->msg->checked : $field->msg->unchecked;
246 $round = isset($field->round) ? 'btcd-round' : '';
247 $size = $isRequired ? '1px' : '';
248
249 $lbl = !empty($field->lbl) ? wp_kses_post($field->lbl) : (isset($field->info) ? wp_kses_post($field->info->lbl) : '');
250
251 return <<<DECISIONBOX
252 <div class="no-drg fld fld-{$formID} btcd-ck-con $round">
253 <input
254 size="height: {$size}, width: {$size}"
255 type="checkbox"
256 $isDisabled
257 $readonly
258 $isRequired
259 $isChecked
260 value="{$value}"
261 />
262 <label class="btcd-ck-wrp btcd-ck-wrp-{$formID}">
263 <span class="decision-content">
264 {$lbl}
265 </span>
266 <input type="hidden" value="{$value}" name="{$field_name}" />
267 <span class="btcd-mrk ck"></span>
268 </label>
269 </div>
270 DECISIONBOX;
271 }
272
273 protected function html($field, $rowID, $field_name, $formID, $error = null, $value = null) {
274 $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'vis-n' : null;
275
276 $content = !empty($field->content) ? wp_kses_post($field->content) : '';
277
278 return <<<HTML
279 <div class="btcd-fld-itm $rowID $isHidden">
280 <div class="fld-wrp fld-wrp-$formID drag" btcd-fld="decision-box">
281 $content
282 </div>
283 </div>
284 HTML;
285 }
286 }
287