/** * GMW get address field * @param array $gmw the form being used * @param false $id deprecated * @param string $class additional classes for the input field * @return mix HTML element * @since 1.0 */ function gmw_get_search_form_address_field($gmw, $id = false, $class = '') { $am = isset($gmw['search_form']['address_field']['mandatory']) ? 'mandatory' : ''; $title = !empty($gmw['search_form']['address_field']['title']) ? $gmw['search_form']['address_field']['title'] : ''; $value = !empty($_GET[$gmw['url_px'] . 'address']) ? esc_attr(sanitize_text_field(stripslashes(implode(' ', $_GET[$gmw['url_px'] . 'address'])))) : ''; $placeholder = isset($gmw['search_form']['address_field']['within']) ? $title : ''; $output = '<div id="gmw-address-field-wrapper-' . $gmw['ID'] . '" class="gmw-address-field-wrapper gmw-address-field-wrapper-' . $gmw['ID'] . ' ' . esc_attr($class) . '">'; if (!isset($gmw['search_form']['address_field']['within']) && !empty($title)) { $output .= '<label class="gmw-field-label" for="gmw-address-' . $gmw['ID'] . '">' . esc_attr($title) . '</label>'; } $output .= '<input type="text" name="' . esc_attr($gmw['url_px']) . 'address[]" id="gmw-address-' . $gmw['ID'] . '" autocomplete="off" class="gmw-address gmw-full-address gmw-address-' . $gmw['ID'] . ' ' . $class . ' ' . $am . '" value="' . $value . '" placeholder="' . esc_attr($placeholder) . '" />'; if ($gmw['search_form']['locator_icon'] == 'within_address_field') { $lSubmit = isset($gmw['search_form']['locator_submit']) ? 'gmw-locator-submit' : ''; $output .= '<div class="gmw-locator-btn-wrapper gmw-locator-btn-within-wrapper">'; $output .= "<i id=\"{$gmw['ID']}\" class=\"fa fa-map-marker gmw-locator-btn-within gmw-locator-button gmw-locate-btn {$lSubmit}\"></i>"; $output .= "<i id=\"gmw-locator-btn-loader-{$gmw['ID']}\" class=\"gmw-locator-btn-loader fa fa-refresh fa-spin\" alt=\"Locator image loader\" style=\"display:none;\"></i>"; $output .= '</div>'; } $output .= '</div>'; if (isset($gmw['search_form']['address_field']['address_autocomplete'])) { GEO_my_WP::google_places_address_autocomplete(array('gmw-address-' . $gmw['ID'])); } return apply_filters('gmw_search_form_address_field', $output, $gmw, false, $class); }