| @@ -1,9 +1,9 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | namespace BitCode\BitForm\Frontend\Form\View\Theme; |
| 4 | 4 | |
| 5 | -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\AddressField; | |
| 5 | +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\AdvanceFileUpField; | |
| 6 | 6 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\ButtonField; |
| 7 | 7 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\CheckBoxField; |
| 8 | 8 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\CountryField; |
| 9 | 9 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\CurrencyField; |
| @@ -9,25 +9,26 @@ | ||
| 9 | 9 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\CurrencyField; |
| 10 | 10 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\DecisionBoxField; |
| 11 | 11 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\DividerField; |
| 12 | 12 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\DropdownField; |
| 13 | -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\FieldWithChild; | |
| 14 | 13 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\FileUploadField; |
| 15 | -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\GDPRAgreementField; | |
| 16 | -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\HCaptchaField; | |
| 17 | -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\HiddenField; | |
| 18 | 14 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\HTMLField; |
| 19 | 15 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\HtmlSelectField; |
| 20 | 16 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\ImageField; |
| 21 | 17 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\ImageSelectField; |
| 18 | +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\MollieField; | |
| 19 | +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\PayPalField; | |
| 22 | 20 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\PhoneNumberField; |
| 23 | 21 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RadioBoxField; |
| 24 | 22 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RatingField; |
| 23 | +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RazorPayField; | |
| 25 | 24 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RecaptchaV2Field; |
| 26 | 25 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RepeaterField; |
| 27 | 26 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\SectionField; |
| 27 | +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\ShortcodeField; | |
| 28 | +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\SignatureField; | |
| 28 | 29 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\SliderField; |
| 29 | -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\SpacerField; | |
| 30 | +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\StripeField; | |
| 30 | 31 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TextAreaField; |
| 31 | 32 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TextField; |
| 32 | 33 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TitleField; |
| 33 | 34 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TurnstileField; |
| @@ -77,9 +78,13 @@ | ||
| 77 | 78 | // </div> |
| 78 | 79 | // ERRORHTML; |
| 79 | 80 | // } |
| 80 | 81 | |
| 81 | - return sprintf('<div class="btcd-fld-itm %1$s %2$s">%3$s</div>', $rowID, $isHidden, $fieldHTML); | |
| 82 | + return <<<INPUTWRAPPER | |
| 83 | +<div class="btcd-fld-itm $rowID $isHidden"> | |
| 84 | + $fieldHTML | |
| 85 | +</div> | |
| 86 | +INPUTWRAPPER; | |
| 82 | 87 | |
| 83 | 88 | // return $fieldHTML; |
| 84 | 89 | } |
| 85 | 90 | |
| @@ -84,15 +89,14 @@ | ||
| 84 | 89 | } |
| 85 | 90 | |
| 86 | 91 | protected function getField($field, $rowID, $field_name, $form_atomic_Cls_map, $error = null, $value = null, $formID = null) |
| 87 | 92 | { |
| 88 | - // Pro-only fields ship in the Bit Form Pro plugin. In the free plugin, we avoid rendering Pro implementations. | |
| 89 | - $proMissingHtml = '<div class="bf-pro-field-missing"> <!-- Require Bit Form Pro --> </div>'; | |
| 90 | - | |
| 91 | 93 | switch ($field->typ) { |
| 92 | 94 | case 'text': |
| 93 | 95 | case 'username': |
| 94 | 96 | case 'number': |
| 97 | + case 'password': | |
| 98 | + case 'email': | |
| 95 | 99 | case 'url': |
| 96 | 100 | case 'date': |
| 97 | 101 | case 'datetime-local': |
| 98 | 102 | case 'time': |
| @@ -99,14 +103,8 @@ | ||
| 99 | 103 | case 'month': |
| 100 | 104 | case 'week': |
| 101 | 105 | case 'color': |
| 102 | 106 | return TextField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 103 | - case 'password': | |
| 104 | - case 'email': | |
| 105 | - case 'name': | |
| 106 | - return FieldWithChild::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 107 | - case 'address': | |
| 108 | - return AddressField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 109 | 107 | case 'textarea': |
| 110 | 108 | return TextAreaField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 111 | 109 | case 'range': |
| 112 | 110 | return SliderField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| @@ -127,46 +125,25 @@ | ||
| 127 | 125 | case 'recaptcha': |
| 128 | 126 | return RecaptchaV2Field::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 129 | 127 | case 'turnstile': |
| 130 | 128 | return TurnstileField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 131 | - case 'hcaptcha': | |
| 132 | - return HCaptchaField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 133 | 129 | case 'decision-box': |
| 134 | 130 | // return $this->decisionBox($field, $rowID, $field_name, $formID, $error, $value); |
| 135 | 131 | return DecisionBoxField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 136 | - case 'gdpr': | |
| 137 | - return GDPRAgreementField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 138 | 132 | case 'html': |
| 139 | 133 | // return $this->html($field, $rowID, $field_name, $formID, $error, $value); |
| 140 | 134 | return HTMLField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 141 | 135 | case 'shortcode': |
| 142 | - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\ShortcodeField')) { | |
| 143 | - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\ShortcodeField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 144 | - } | |
| 145 | - return $proMissingHtml; | |
| 146 | - case 'hidden': | |
| 147 | - return HiddenField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 136 | + return ShortcodeField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 148 | 137 | case 'paypal': |
| 149 | - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\PayPalField')) { | |
| 150 | - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\PayPalField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 151 | - } | |
| 152 | - return $proMissingHtml; | |
| 138 | + return PayPalField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 153 | 139 | case 'stripe': |
| 154 | - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\StripeField')) { | |
| 155 | - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\StripeField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 156 | - } | |
| 157 | - return $proMissingHtml; | |
| 140 | + return StripeField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 158 | 141 | case 'mollie': |
| 159 | - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\MollieField')) { | |
| 160 | - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\MollieField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 161 | - } | |
| 162 | - return $proMissingHtml; | |
| 142 | + return MollieField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 163 | 143 | case 'razorpay': |
| 164 | 144 | // return $this->razorPay($field, $rowID, $field_name, $formID, $error, $value); |
| 165 | - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\RazorPayField')) { | |
| 166 | - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\RazorPayField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 167 | - } | |
| 168 | - return $proMissingHtml; | |
| 145 | + return RazorPayField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 169 | 146 | // case 'submit': |
| 170 | 147 | // return $this->submitBtns($field, $rowID, $field_name, $formID, $error, $value); |
| 171 | 148 | case 'button': |
| 172 | 149 | // return $this->button($field, $rowID, $field_name, $formID, $error, $value); |
| @@ -176,10 +153,8 @@ | ||
| 176 | 153 | return TitleField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 177 | 154 | case 'divider': |
| 178 | 155 | // return $this->button($field, $rowID, $field_name, $formID, $error, $value); |
| 179 | 156 | return DividerField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 180 | - case 'spacer': | |
| 181 | - return SpacerField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 182 | 157 | case 'country': |
| 183 | 158 | return CountryField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 184 | 159 | case 'currency': |
| 185 | 160 | return CurrencyField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| @@ -185,12 +160,9 @@ | ||
| 185 | 160 | return CurrencyField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 186 | 161 | case 'phone-number': |
| 187 | 162 | return PhoneNumberField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 188 | 163 | case 'advanced-file-up': |
| 189 | - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\AdvanceFileUpField')) { | |
| 190 | - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\AdvanceFileUpField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 191 | - } | |
| 192 | - return $proMissingHtml; | |
| 164 | + return AdvanceFileUpField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 193 | 165 | case 'image': |
| 194 | 166 | return ImageField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 195 | 167 | case 'section': |
| 196 | 168 | return SectionField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $this->_formViewerInstance, $this->_nestedLayout, $error, $value); |
| @@ -196,27 +168,29 @@ | ||
| 196 | 168 | return SectionField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $this->_formViewerInstance, $this->_nestedLayout, $error, $value); |
| 197 | 169 | case 'repeater': |
| 198 | 170 | return RepeaterField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $this->_formViewerInstance, $this->_nestedLayout, $error, $value); |
| 199 | 171 | case 'signature': |
| 200 | - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\SignatureField')) { | |
| 201 | - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\SignatureField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 202 | - } | |
| 203 | - return $proMissingHtml; | |
| 204 | - case 'email-otp': | |
| 205 | - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\EmailOtpField')) { | |
| 206 | - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\EmailOtpField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 207 | - } | |
| 208 | - return $proMissingHtml; | |
| 172 | + return SignatureField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 209 | 173 | case 'rating': |
| 210 | 174 | return RatingField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 211 | 175 | case 'image-select': |
| 212 | 176 | return ImageSelectField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 213 | - case 'advanced-datetime': | |
| 214 | - if (class_exists('\BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\AdvanceDateTimeField')) { | |
| 215 | - return \BitCode\BitFormPro\Frontend\Form\View\Theme\Fields\AdvanceDateTimeField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 216 | - } | |
| 217 | - return $proMissingHtml; | |
| 218 | 177 | default: |
| 219 | 178 | break; |
| 220 | 179 | } |
| 180 | + } | |
| 181 | + | |
| 182 | + protected function setTag($tag, $value, $attr = null) | |
| 183 | + { | |
| 184 | + echo "<$tag $attr>" . esc_html($value) . "</$tag>"; | |
| 185 | + } | |
| 186 | + | |
| 187 | + protected function setAttribute($attr, $value = null) | |
| 188 | + { | |
| 189 | + echo " $attr='" . esc_attr($value) . "' "; | |
| 190 | + } | |
| 191 | + | |
| 192 | + protected function setSingleValuedAttribute($attr) | |
| 193 | + { | |
| 194 | + echo " $attr "; | |
| 221 | 195 | } |
| 222 | 196 | } |