| @@ -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,23 @@ | ||
| 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\PayPalField; | |
| 22 | 19 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\PhoneNumberField; |
| 23 | 20 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RadioBoxField; |
| 24 | 21 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RatingField; |
| 22 | +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RazorPayField; | |
| 25 | 23 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RecaptchaV2Field; |
| 26 | 24 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\RepeaterField; |
| 27 | 25 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\SectionField; |
| 28 | -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\SliderField; | |
| 29 | -use BitCode\BitForm\Frontend\Form\View\Theme\Fields\SpacerField; | |
| 26 | +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\SignatureField; | |
| 27 | +use BitCode\BitForm\Frontend\Form\View\Theme\Fields\StripeField; | |
| 30 | 28 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TextAreaField; |
| 31 | 29 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TextField; |
| 32 | 30 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TitleField; |
| 33 | 31 | use BitCode\BitForm\Frontend\Form\View\Theme\Fields\TurnstileField; |
| @@ -77,9 +75,13 @@ | ||
| 77 | 75 | // </div> |
| 78 | 76 | // ERRORHTML; |
| 79 | 77 | // } |
| 80 | 78 | |
| 81 | - return sprintf('<div class="btcd-fld-itm %1$s %2$s">%3$s</div>', $rowID, $isHidden, $fieldHTML); | |
| 79 | + return <<<INPUTWRAPPER | |
| 80 | +<div class="btcd-fld-itm $rowID $isHidden"> | |
| 81 | + $fieldHTML | |
| 82 | +</div> | |
| 83 | +INPUTWRAPPER; | |
| 82 | 84 | |
| 83 | 85 | // return $fieldHTML; |
| 84 | 86 | } |
| 85 | 87 | |
| @@ -84,15 +86,14 @@ | ||
| 84 | 86 | } |
| 85 | 87 | |
| 86 | 88 | protected function getField($field, $rowID, $field_name, $form_atomic_Cls_map, $error = null, $value = null, $formID = null) |
| 87 | 89 | { |
| 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 | 90 | switch ($field->typ) { |
| 92 | 91 | case 'text': |
| 93 | 92 | case 'username': |
| 94 | 93 | case 'number': |
| 94 | + case 'password': | |
| 95 | + case 'email': | |
| 95 | 96 | case 'url': |
| 96 | 97 | case 'date': |
| 97 | 98 | case 'datetime-local': |
| 98 | 99 | case 'time': |
| @@ -99,18 +100,10 @@ | ||
| 99 | 100 | case 'month': |
| 100 | 101 | case 'week': |
| 101 | 102 | case 'color': |
| 102 | 103 | 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 | 104 | case 'textarea': |
| 110 | 105 | return TextAreaField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 111 | - case 'range': | |
| 112 | - return SliderField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 113 | 106 | case 'check': |
| 114 | 107 | // return $this->checkBox($field, $rowID, $field_name, $formID, $error, $value); |
| 115 | 108 | return CheckBoxField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 116 | 109 | case 'radio': |
| @@ -127,46 +120,21 @@ | ||
| 127 | 120 | case 'recaptcha': |
| 128 | 121 | return RecaptchaV2Field::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 129 | 122 | case 'turnstile': |
| 130 | 123 | 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 | 124 | case 'decision-box': |
| 134 | 125 | // return $this->decisionBox($field, $rowID, $field_name, $formID, $error, $value); |
| 135 | 126 | 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 | 127 | case 'html': |
| 139 | 128 | // return $this->html($field, $rowID, $field_name, $formID, $error, $value); |
| 140 | 129 | return HTMLField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 141 | - 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); | |
| 148 | 130 | 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; | |
| 131 | + return PayPalField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 153 | 132 | 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; | |
| 158 | - 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; | |
| 133 | + return StripeField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 163 | 134 | case 'razorpay': |
| 164 | 135 | // 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; | |
| 136 | + return RazorPayField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 169 | 137 | // case 'submit': |
| 170 | 138 | // return $this->submitBtns($field, $rowID, $field_name, $formID, $error, $value); |
| 171 | 139 | case 'button': |
| 172 | 140 | // return $this->button($field, $rowID, $field_name, $formID, $error, $value); |
| @@ -176,10 +144,8 @@ | ||
| 176 | 144 | return TitleField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 177 | 145 | case 'divider': |
| 178 | 146 | // return $this->button($field, $rowID, $field_name, $formID, $error, $value); |
| 179 | 147 | 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 | 148 | case 'country': |
| 183 | 149 | return CountryField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 184 | 150 | case 'currency': |
| 185 | 151 | return CurrencyField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| @@ -185,12 +151,9 @@ | ||
| 185 | 151 | return CurrencyField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 186 | 152 | case 'phone-number': |
| 187 | 153 | return PhoneNumberField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 188 | 154 | 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; | |
| 155 | + return AdvanceFileUpField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 193 | 156 | case 'image': |
| 194 | 157 | return ImageField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 195 | 158 | case 'section': |
| 196 | 159 | return SectionField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $this->_formViewerInstance, $this->_nestedLayout, $error, $value); |
| @@ -196,27 +159,29 @@ | ||
| 196 | 159 | return SectionField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $this->_formViewerInstance, $this->_nestedLayout, $error, $value); |
| 197 | 160 | case 'repeater': |
| 198 | 161 | return RepeaterField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $this->_formViewerInstance, $this->_nestedLayout, $error, $value); |
| 199 | 162 | 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; | |
| 163 | + return SignatureField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); | |
| 209 | 164 | case 'rating': |
| 210 | 165 | return RatingField::init($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error, $value); |
| 211 | 166 | case 'image-select': |
| 212 | 167 | 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 | 168 | default: |
| 219 | 169 | break; |
| 220 | 170 | } |
| 171 | + } | |
| 172 | + | |
| 173 | + protected function setTag($tag, $value, $attr = null) | |
| 174 | + { | |
| 175 | + echo "<$tag $attr>" . esc_html($value) . "</$tag>"; | |
| 176 | + } | |
| 177 | + | |
| 178 | + protected function setAttribute($attr, $value = null) | |
| 179 | + { | |
| 180 | + echo " $attr='" . esc_attr($value) . "' "; | |
| 181 | + } | |
| 182 | + | |
| 183 | + protected function setSingleValuedAttribute($attr) | |
| 184 | + { | |
| 185 | + echo " $attr "; | |
| 221 | 186 | } |
| 222 | 187 | } |