PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / -3.0.1
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v-3.0.1
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 -3.0.1, at includes/Frontend/Form/View/Theme/DefaultTheme.php

379 lines 13.3 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 {
7 protected function fileUp($field, $rowID, $field_name, $formID, $error = null, $value = null)
8 {
9 $name = esc_attr($field_name);
10 $name .= isset($field->mul) ? '[]' : null;
11 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
12 $upBtnTxt = isset($field->upBtnTxt) ? '<span>' . esc_html($field->upBtnTxt) . '</span>' : '';
13 $maxUpload = isset($field->mxUp) ? 'Max ' . esc_html($field->mxUp) . ' MB' : '';
14 $req = isset($field->req) ? 'required' : '';
15 $mul = isset($field->mul) ? 'multiple' : '';
16 $extention = isset($field->exts) ? "accept='" . esc_attr($field->exts) . "'" : '';
17 return sprintf(
18 ' <div class="btcd-f-input">
19 <div class="btcd-f-wrp">
20 <div class="btn-wrp">
21 <button class="btcd-inpBtn" type="button">
22 <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>
23 %1$s
24 </button>
25 </div>
26 <span class="btcd-f-title">No File Chosen</span>
27 <small class="f-max">%2$s</small>
28 <input id="%3$s" name="%4$s" %5$s %6$s %7$s %8$s type="file" />
29 </div>
30 </div>',
31 $upBtnTxt,
32 $maxUpload,
33 $rowID,
34 $name,
35 $req,
36 $mul,
37 $extention,
38 $isDisabled
39 );
40 }
41
42 protected function submitBtns($field, $style, $field_id)
43 {
44 ob_start(); ?>
45 <div class="<?php echo esc_attr($style); ?>">
46 <div>
47 <div class="btcd-frm-sub <?php 'center' === $field->align ? $this->setSingleValuedAttribute('j-c-c') : ''; ?><?php 'right' === $field->align ? $this->setSingleValuedAttribute('j-c-e') : ''; ?>">
48 <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>
49 <?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>}
50 ?>
51 <?php if (!empty($field->rstBtnTxt)) : ?>
52 <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>
53 <?php endif ?>
54 </div>
55 </div>
56 </div>
57 <?php
58 return ob_get_clean();
59 }
60
61 protected function button($field, $style, $field_name, $formID, $error, $value)
62 {
63 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
64 $align = isset($field->align) ? ('center' === $field->align ? 'j-c-c' : ('right' === $field->align ? 'j-c-e' : '')) : '';
65 if ('reset' === $field->btnTyp) {
66 $btnCls = 'btcd-rst';
67 $name = '';
68 } else {
69 $btnCls = 'btcd-sub';
70 $name = " name='$field_name'";
71 }
72 $btnSizCls = 'md' === $field->btnSiz ? 'btcd-btn-md' : '';
73 $btnfulW = !empty($field->fulW) ? 'ful-w' : '';
74 $btnTyp = !empty($field->btnTyp) ? "type='$field->btnTyp'" : '';
75 return sprintf(
76 '<div class="btcd-frm-sub %1$s">
77 <button
78 class="btcd-sub-btn %2$s %3$s %4$s"
79 %5$s
80 %6$s
81 %7$s
82 >
83 %8$s
84 </button>
85 </div>',
86 $align,
87 $btnCls,
88 $btnSizCls,
89 $btnfulW,
90 $btnTyp,
91 $name,
92 $isDisabled,
93 $field->txt
94 );
95 }
96
97 protected function textField($field, $rowID, $field_name, $formID, $error = null, $value = null)
98 {
99 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
100 $readonly = empty($field->valid->readonly) ? null : 'readonly';
101 $name = isset($field_name) ? "name='" . esc_attr($field_name) . "'" : '';
102 $ph = isset($field->ph) ? "placeholder='" . esc_attr($field->ph) . "'" : '';
103 $mx = isset($field->mx) ? "max='" . esc_attr($field->mx) . "'" : '';
104 $mn = isset($field->mn) ? "min='" . esc_attr($field->mn) . "'" : '';
105 $val = isset($value) ? "value='" . esc_attr($value) . "'" : '';
106 $required = isset($field->valid->req) ? 'required' : '';
107
108 return sprintf(
109 '<input id="%1$s" class="fld fld-%2$s no-drg" type="%3$s" %4$s %5$s %6$s %7$s %8$s %9$s %10$s %11$s/>',
110 $rowID,
111 $formID,
112 $field->typ,
113 $name,
114 $ph,
115 $mx,
116 $mn,
117 $val,
118 $required,
119 $isDisabled,
120 $readonly
121 );
122 }
123
124 protected function textArea($field, $rowID, $field_name, $formID, $error = null, $value = null)
125 {
126 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
127 $readonly = empty($field->valid->readonly) ? null : 'readonly';
128 $name = isset($field_name) ? "name='" . esc_attr($field_name) . "'" : '';
129 if (isset($field->ph)) {
130 $ph = htmlentities($field->ph, ENT_QUOTES);
131 }
132 $ph = isset($field->ph) ? "placeholder='$ph'" : '';
133 $val = isset($value) ? $value : '';
134 $required = isset($field->valid->req) ? 'required' : '';
135
136 return sprintf(
137 '<div>
138 <textarea id="%1$s" class="fld fld-%2$s no-drg" type="%3$s" %4$s %5$s %6$s %7$s %8$s>%9$s</textArea>
139 </div>',
140 $rowID,
141 $formID,
142 $field->typ,
143 $name,
144 $ph,
145 $required,
146 $isDisabled,
147 $readonly,
148 $val
149 );
150 }
151
152 protected function dropDown($field, $rowID, $field_name, $formID, $error = null, $value = null)
153 {
154 $defaultValue = null === $value ? [] : array_map('esc_html', $value);
155 $isDisabled = empty($field->valid->disabled) ? (empty($field->valid->readonly) ? null : 'msl-disabled') : 'msl-disabled';
156 $mul = isset($field->mul);
157 $ph = isset($field->ph) ? "data-placeholder='$field->ph'" : "data-placeholder='Select...'";
158 $val = '';
159 if (isset($field->val)) {
160 $dval = is_string($field->val) ? $field->val : implode(',', $field->val);
161 $val = "value='$dval'";
162 }
163 $options = '';
164 foreach ($field->opt as $selectOption) {
165 $label = esc_html($selectOption->label);
166 $value = esc_html($selectOption->value);
167 // preg_match('/asd 1/', $input_line, $output_array);
168 $selected = in_array($value, $defaultValue) ? 'msl-option-selected' : '';
169 $options .= "<option title='$label' class='msl-option vis-n $selected' value='$value'>$label</option>";
170 }
171
172 $defaultValuePlacehold = "<div data-msl='true' $ph class='msl-input' contenteditable='true'></div>";
173 if (null !== $defaultValue && 1 === sizeof($defaultValue) && !$mul) {
174 $defaultValuePlacehold = "<span class='msl-single-value' data-msl='true'>$defaultValue[0]</span>";
175 }
176 return sprintf(
177 ' <div class="msl-wrp msl-vars no-drg %1$s fld fld-%2$s dpd" style="width: 100%%;">
178 <input name="%3$s" type="hidden" value="%4$s">
179 <div data-msl="true" class="msl">
180 <div data-msl="true" class="msl-input-wrp" tabindex="0">
181 %5$s
182 </div>
183 <div class="msl-actions msl-flx">
184 <div role="button" aria-label="toggle-menu" class="msl-btn msl-arrow-btn msl-flx"></div>
185 </div>
186 </div>
187 <div class="msl-options">
188 %6$s
189 </div>
190 </div>',
191 $isDisabled,
192 $formID,
193 $field_name,
194 $val,
195 $defaultValuePlacehold,
196 $options
197 );
198 }
199
200 protected function recaptcha($field, $rowID, $field_name, $formID, $error = null, $value = null)
201 {
202 return '<div class="btcd-flx j-c-c" style="min-height=inherit"></div>';
203 }
204
205 protected function paypal($field, $rowID, $field_name, $formID, $error = null, $value = null)
206 {
207 return ' <div style="width: auto; min-width: 150px; max-width: 750px; margin-left: auto; margin-right: auto;"></div>';
208 }
209
210 protected function razorPay($field, $rowID, $field_name, $formID, $error = null, $value = null)
211 {
212 $center = 'center' === $field->align ? 'j-c-c' : '';
213 $right = 'right' === $field->align ? 'j-c-e' : '';
214 $btnSiz = 'md' === $field->btnSiz ? 'btcd-btn-md' : '';
215 $fulW = $field->fulW ? 'ful-w' : '';
216 $btnTxt = isset($field->btnTxt) ? esc_html($field->btnTxt) : '';
217
218 return sprintf(
219 '<div class="btcd-frm-sub %1$s %2$s">
220 <button class="btcd-sub-btn btcd-sub %3$s %4$s" type="button" name="%5$s">
221 %6$s
222 </button>
223 </div>',
224 $center,
225 $right,
226 $btnSiz,
227 $fulW,
228 $field_name,
229 $btnTxt
230 );
231 }
232
233 protected function checkBox($field, $rowID, $field_name, $formID, $error = null, $value = null)
234 {
235 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
236 $readonly = empty($field->valid->readonly) ? null : 'readonly';
237 $round = isset($field->round) ? 'btcd-round' : '';
238 $options = '';
239
240 foreach ($field->opt as $checkBoxOption) {
241 $name = isset($field_name) ? "name='" . esc_attr($field_name) . '[]' . "'" : '';
242 $required = isset($checkBoxOption->req) ? 'required' : '';
243 $checked = isset($checkBoxOption->check) ? 'checked' : '';
244 $checkBoxOptionValue = isset($checkBoxOption->val) ? esc_html($checkBoxOption->val) : esc_html($checkBoxOption->lbl);
245 $value = null === $value ? '' : $value;
246 if ((!is_array($value) && false !== strpos($value, $checkBoxOptionValue)) || (isset($value) && \is_array($value) && $checkBoxOptionValue === $value[array_search($checkBoxOptionValue, $value)])) {
247 $checked = 'checked';
248 }
249 $options .= sprintf(
250 '<label class="btcd-ck-wrp btcd-ck-wrp-%1$s">
251 <span>%2$s</span>
252 <input type="checkbox" %3$s %4$s %5$s value="%6$s" %7$s %8$s/>
253 <span class="btcd-mrk ck"></span>
254 </label>',
255 $formID,
256 $checkBoxOption->lbl,
257 $checked,
258 $required,
259 $name,
260 $checkBoxOptionValue,
261 $isDisabled,
262 $readonly
263 );
264 }
265
266 return sprintf(
267 '<div class="no-drg fld btcd-ck-con %1$s">
268 %2$s
269 </div>',
270 $round,
271 $options
272 );
273 }
274
275 protected function radioBox($field, $rowID, $field_name, $formID, $error = null, $value = null)
276 {
277 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
278 $readonly = empty($field->valid->readonly) ? null : 'readonly';
279 $round = isset($field->round) ? 'btcd-round' : '';
280 $options = '';
281
282 foreach ($field->opt as $checkBoxOption) {
283 $name = isset($field_name) ? "name='" . esc_attr($field_name) . "'" : '';
284 $required = isset($checkBoxOption->req) ? 'required' : '';
285 $optionValue = esc_html($checkBoxOption->lbl);
286 $checked = '';
287 if (isset($checkBoxOption->check) || $checkBoxOption->lbl === $value) {
288 $checked = 'checked';
289 }
290 $options .= sprintf(
291 '<label class="btcd-ck-wrp btcd-ck-wrp-%1$s">
292 <span>%2$s</span>
293 <input type="radio" %3$s %4$s %5$s value="%6$s" %7$s %8$s/>
294 <span class="btcd-mrk rdo"></span>
295 </label>',
296 $formID,
297 $checkBoxOption->lbl,
298 $checked,
299 $required,
300 $name,
301 $optionValue,
302 $isDisabled,
303 $readonly
304 );
305 }
306
307 return sprintf(
308 '<div class="no-drg fld btcd-ck-con %1$s">
309 %2$s
310 </div>',
311 $round,
312 $options
313 );
314 }
315
316 protected function decisionBox($field, $rowID, $field_name, $formID, $error = null, $value = null)
317 {
318 $isRequired = !empty($field->valid->req) ? 'required' : '';
319 $isChecked = !empty($field->valid->checked) ? 'checked' : '';
320 $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
321 $readonly = empty($field->valid->readonly) ? null : 'readonly';
322 $value = $isChecked ? $field->msg->checked : $field->msg->unchecked;
323 $round = isset($field->round) ? 'btcd-round' : '';
324 $size = $isRequired ? '1px' : '';
325
326 $lbl = !empty($field->lbl) ? wp_kses_post($field->lbl) : (isset($field->info) ? wp_kses_post($field->info->lbl) : '');
327
328 return sprintf(
329 '<div class="no-drg fld fld-%1$s btcd-ck-con %2$s">
330 <input
331 size="height: %3$s, width: %3$s"
332 type="checkbox"
333 %4$s
334 %5$s
335 %6$s
336 %7$s
337 value="%8$s"
338 />
339 <label class="btcd-ck-wrp btcd-ck-wrp-%1$s">
340 <span class="decision-content">
341 %9$s
342 </span>
343 <input type="hidden" value="%8$s" name="%10$s" />
344 <span class="btcd-mrk ck"></span>
345 </label>
346 </div>',
347 $formID,
348 $round,
349 $size,
350 $isDisabled,
351 $readonly,
352 $isRequired,
353 $isChecked,
354 $value,
355 $lbl,
356 $field_name
357 );
358 }
359
360 protected function html($field, $rowID, $field_name, $formID, $error = null, $value = null)
361 {
362 $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'vis-n' : null;
363
364 $content = !empty($field->content) ? wp_kses_post($field->content) : '';
365
366 return sprintf(
367 '<div class="btcd-fld-itm %1$s %2$s">
368 <div class="fld-wrp fld-wrp-%3$s drag" btcd-fld="decision-box">
369 %4$s
370 </div>
371 </div>',
372 $rowID,
373 $isHidden,
374 $formID,
375 $content
376 );
377 }
378 }
379