wrapper($input); } private static function checkSelected($opt, $val) { $selected = ''; if (isset($opt->val) && $opt->val === $val) { $selected = 'selected'; } elseif (isset($opt->lbl) && $opt->lbl === $val) { $selected = 'selected'; } elseif (is_object($opt) && property_exists($opt, 'check')) { $selected = 'selected'; } return $selected; } private static function field($field, $rowID, $form_atomic_Cls_map, $v) { $fieldHelpers = new ClassicFieldHelpers($field, $rowID, $form_atomic_Cls_map); $disabled = $fieldHelpers->disabled(); $readonly = $fieldHelpers->readonly(); $name = $fieldHelpers->name(); $ariaDescribedBy = $fieldHelpers->ariaDescribedBy(); $ariaRequired = $fieldHelpers->ariaRequired(); $value = ''; if ($v) { $value = $v; } elseif (isset($field->val)) { $value = $field->val; } $readonlyCls = $readonly ? 'readonly' : ''; $phHide = ''; $optionsHTML = ''; $bfFrontendFormIds = FrontendHelpers::$bfFrontendFormIds; $contentCount = count($bfFrontendFormIds); if ($fieldHelpers->property_exists_nested($field, 'phHide', true)) { $phHide = sprintf( '', $fieldHelpers->getCustomAttributes('slct-optn'), $fieldHelpers->getAtomicCls('slct-optn'), $fieldHelpers->getCustomClasses('slct-optn'), $fieldHelpers->kses_post($field->ph) ); } if (property_exists($field, 'opt') && is_iterable($field->opt)) { foreach ($field->opt as $opt) { if (!is_object($opt)) { continue; } $disabled = property_exists($opt, 'disabled') ? 'disabled' : ''; if (property_exists($opt, 'type')) { $optionsHTML .= sprintf( ''; } else { $selected = self::checkSelected($opt, $value); $val = isset($opt->val) ? $opt->val : ($opt->lbl ?? ''); $optionsHTML .= sprintf( '', $fieldHelpers->getCustomAttributes('slct-optn'), $fieldHelpers->getAtomicCls('slct-optn'), $fieldHelpers->getCustomClasses('slct-optn'), $fieldHelpers->esc_attr($val), $selected, $disabled, $fieldHelpers->kses_post($opt->lbl) ); } } } return sprintf( '