PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.9.1
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.9.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 2.10.2 All 137 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.9.1, at includes/Frontend/Form/View/Theme/DefaultTheme.php

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