wrapper($input); } private static function field($field, $rowID, $field_name, $form_atomic_Cls_map, $formID, $error = null, $value = null) { $fieldHelpers = new ClassicFieldHelpers($field, $rowID, $form_atomic_Cls_map); $asset_url = BITFORMS_ASSET_URI; $img_url = BITFORMS_ROOT_URI . '/static/countries/'; $req = $fieldHelpers->required(); $disabled = $fieldHelpers->disabled(); $readonly = $fieldHelpers->readonly(); $name = $fieldHelpers->name(); $ariaDescribedBy = $fieldHelpers->ariaDescribedBy(); $ariaRequired = $fieldHelpers->ariaRequired(); $selectedFlagImage = ''; $tabIndx = isset($field->disabled) ? -1 : 0; $selectedCountryClearable = ''; $searchPlaceholder = ''; $searchClearable = ''; $options = ''; $readonlyCls = isset($field->readonly) ? 'readonly' : ''; $disabledCls = isset($field->disabled) ? 'disabled' : ''; $val = $fieldHelpers->value(); $selectedItm = null; foreach ($field->options as $opt) { if (isset($opt->check) && true === $opt->check) { $selectedItm = $opt; break; } } if ($selectedItm) { $img = $img_url . $selectedItm->img; $ph = $selectedItm->lbl; } else { $img = esc_url(includes_url('images/blank.gif')); $ph = isset($field->ph) ? $field->ph : ''; } if ($fieldHelpers->property_exists_nested($field, 'config->selectedFlagImage', true)) { $img = sprintf( '', $fieldHelpers->getCustomAttributes('selected-country-img'), $fieldHelpers->getAtomicCls('selected-country-img'), $fieldHelpers->getCustomClasses('selected-country-img'), $img ); } else { $img = ''; } $selectedFlagImage = sprintf( '
%2$s %6$s
', $fieldHelpers->getAtomicCls('selected-country-wrp'), $img, $fieldHelpers->getCustomAttributes('selected-country-lbl'), $fieldHelpers->getAtomicCls('selected-country-lbl'), $fieldHelpers->getCustomClasses('selected-country-lbl'), $fieldHelpers->esc_html($ph) ); if ($fieldHelpers->property_exists_nested($field, 'config->selectedCountryClearable', true)) { $selectedCountryClearable = sprintf( '', $fieldHelpers->getCustomAttributes('inp-clr-btn'), $fieldHelpers->getAtomicCls('inp-clr-btn'), $fieldHelpers->getCustomClasses('inp-clr-btn') ); } if ($fieldHelpers->property_exists_nested($field, 'config->searchPlaceholder', '', 1)) { $searchPlaceholder = "placeholder='{$fieldHelpers->esc_attr($field->config->searchPlaceholder)}'"; } if ($fieldHelpers->property_exists_nested($field, 'config->searchClearable', true)) { $searchClearable = sprintf( '', $fieldHelpers->getCustomAttributes('search-clear-btn'), $fieldHelpers->getAtomicCls('icn'), $fieldHelpers->getAtomicCls('search-clear-btn'), $fieldHelpers->getCustomClasses('search-clear-btn') ); } return sprintf( '
%33$s
    %37$s
', $fieldHelpers->getAtomicCls('country-fld-container'), // 1 $fieldHelpers->getCustomAttributes('country-fld-wrp'), // 2 $fieldHelpers->getAtomicCls('country-fld-wrp'), // 3 $fieldHelpers->getCustomClasses('country-fld-wrp'), // 4 $disabled, // 5 $readonly, // 6 $name, // 7 $req, // 8 $ariaRequired, // 9 $ariaDescribedBy, // 10 $fieldHelpers->getAtomicCls('country-hidden-input'), // 11 $disabled, // 12 $readonly, // 13 $val, // 14 $fieldHelpers->getAtomicCls('dpd-wrp'), // 15 $tabIndx, // 16 $selectedFlagImage, // 17 $fieldHelpers->getAtomicCls('dpd-btn-wrp'), // 18 $selectedCountryClearable, // 19 $fieldHelpers->getAtomicCls('dpd-down-btn'), // 20 $fieldHelpers->getCustomAttributes('option-wrp'), // 21 $fieldHelpers->getAtomicCls('option-wrp'), // 22 $fieldHelpers->getCustomClasses('option-wrp'), // 23 $fieldHelpers->getAtomicCls('option-inner-wrp'), // 24 $fieldHelpers->getAtomicCls('option-search-wrp'), // 25 $fieldHelpers->getCustomAttributes('opt-search-input'), // 26 $fieldHelpers->getAtomicCls('opt-search-input'), // 27 $fieldHelpers->getCustomClasses('opt-search-input'), // 28 $searchPlaceholder, // 29 $fieldHelpers->getCustomAttributes('opt-search-icn'), // 30 $fieldHelpers->getAtomicCls('opt-search-icn'), // 31 $fieldHelpers->getCustomClasses('opt-search-icn'), // 32 $searchClearable, // 33 $fieldHelpers->getCustomAttributes('option-list'), // 34 $fieldHelpers->getAtomicCls('option-list'), // 35 $fieldHelpers->getCustomClasses('option-list'), // 36 $options, // 37 $rowID // 38 ); } }