wrapper($input); } private static function field($field, $rowID, $form_atomic_Cls_map, $value) { $fieldHelpers = new ClassicFieldHelpers($field, $rowID, $form_atomic_Cls_map); $name = $fieldHelpers->name(); $req = $fieldHelpers->required(); $bfFrontendFormIds = FrontendHelpers::$bfFrontendFormIds; $contentCount = count($bfFrontendFormIds); $imageOption = ''; if (!empty($field->val)) { $value = $field->val; } if (!empty($value) && false !== strpos($value, BITFORMS_BF_SEPARATOR)) { $defaultValues = explode(BITFORMS_BF_SEPARATOR, $value); } else { $defaultValues = isset($value) ? explode(',', $value) : []; } if (isset($field->opt)) { $checkedImg = $field->tickImgSrc; foreach ($field->opt as $key => $opt) { $val = isset($opt->val) ? $opt->val : $opt->lbl; $img = $opt->img; $lbl = $fieldHelpers->renderHTMR($opt->lbl); $checked = ''; $inpType = $field->inpType; $imgAlt = $fieldHelpers->esc_html($lbl); $disabled = ''; if ($fieldHelpers->property_exists_nested($opt, 'check', true)) { $checked = 'checked'; } elseif (in_array($val, $defaultValues)) { $checked = 'checked'; } if ($fieldHelpers->property_exists_nested($field, 'valid->disabled', true) || $fieldHelpers->property_exists_nested($opt, 'disabled', true)) { $disabled = 'disabled'; } if (isset($field->mx) && !empty($field->valid->disableOnMax) && !$checked && ((int) $field->mx <= count($defaultValues))) { $disabled = 'disabled'; } $optLblHide = ''; if (!$field->optLblHide) { $optLblHide = sprintf( '
%7$s
', $fieldHelpers->getAtomicCls('tc'), $fieldHelpers->getCustomClasses('tc'), $fieldHelpers->getCustomAttributes('tc'), $fieldHelpers->getAtomicCls('img-title'), $fieldHelpers->getCustomClasses('img-title'), $fieldHelpers->getCustomAttributes('img-title'), $fieldHelpers->kses_post($lbl) ); } // Input element $inputHtml = sprintf( '', $fieldHelpers->getAtomicCls('img-inp'), $fieldHelpers->getCustomClasses('img-inp'), $inpType, $rowID, $contentCount, $key, $name, $fieldHelpers->esc_attr($val), $checked, $req, $disabled, $fieldHelpers->getCustomAttributes('img-inp') ); // Check box with tick image $checkBoxHtml = sprintf( ' ', $fieldHelpers->getAtomicCls('check-box'), $fieldHelpers->getCustomClasses('check-box'), $fieldHelpers->getCustomAttributes('check-box'), $checkedImg, $fieldHelpers->getAtomicCls('check-img'), $fieldHelpers->getCustomClasses('check-img'), $fieldHelpers->getCustomAttributes('check-img') ); // Image card wrapper with selectable image $imgCardHtml = sprintf( ' %5$s %9$s ', $fieldHelpers->getAtomicCls('img-card-wrp'), $fieldHelpers->getCustomClasses('img-card-wrp'), $fieldHelpers->getCustomAttributes('img-card-wrp'), $img, $imgAlt, $fieldHelpers->getAtomicCls('select-img'), $fieldHelpers->getCustomClasses('select-img'), $fieldHelpers->getCustomAttributes('select-img'), $optLblHide ); // Label wrapper $labelHtml = sprintf( '', $rowID, $contentCount, $key, $fieldHelpers->getAtomicCls('img-wrp'), $fieldHelpers->getCustomClasses('img-wrp'), $fieldHelpers->getCustomAttributes('img-wrp'), $checkBoxHtml, $imgCardHtml ); // Full option item $imageOption .= sprintf( '
%4$s %5$s
', $fieldHelpers->getAtomicCls('inp-opt'), $fieldHelpers->getCustomClasses('inp-opt'), $fieldHelpers->getCustomAttributes('inp-opt'), $inputHtml, $labelHtml ); } } return sprintf( '
%7$s
', $fieldHelpers->getAtomicCls('inp-fld-wrp'), $fieldHelpers->getCustomClasses('inp-fld-wrp'), $fieldHelpers->getCustomAttributes('inp-fld-wrp'), $fieldHelpers->getAtomicCls('ic'), $fieldHelpers->getCustomClasses('ic'), $fieldHelpers->getCustomAttributes('ic'), $imageOption ); } }