}
/* ---- Delete field ---- */
if ($field_id != '' && $field_action == 'delete' && isset($_REQUEST['_wpnonce'])) {
    if (!wp_verify_nonce($_REQUEST['_wpnonce'], 'custom_advance_search_fields_' . $field_id)) {
        return;
    }
    echo geodir_custom_advance_search_field_delete($field_id);
}
/* ---- Save field  ---- */
if ($field_id != '' && $field_action == 'submit' && isset($_REQUEST['_wpnonce'])) {
    if (!wp_verify_nonce($_REQUEST['_wpnonce'], 'custom_advance_search_fields_' . $field_id)) {
        return;
    }
    foreach ($_REQUEST as $pkey => $pval) {
        if (is_array($_REQUEST[$pkey])) {
            $tags = 'skip_field';
        } else {
            $tags = '';
        }
        if ($tags != 'skip_field') {
            $_REQUEST[$pkey] = strip_tags($_REQUEST[$pkey], $tags);
        }
    }
    $return = geodir_custom_advance_search_field_save($_REQUEST);
    if (is_int($return)) {
        $lastid = $return;
        geodir_custom_advance_search_field_adminhtml($field_type, $lastid, 'submit');
    } else {
        echo $return;
    }
}
Example #2
0
function dt_geodir_add_custom_fields($fieldsets = array(), $fields = array(), $filters = array(), $fields_to_remove = array())
{
    // Field Set
    if (!empty($fieldsets)) {
        foreach ($fieldsets as $fieldset_index => $fieldset) {
            $check_geodir_field_set = dt_geodir_check_fieldset_exists($fieldset['site_title'], $fieldset['listing_type']);
            if (!$check_geodir_field_set) {
                geodir_custom_field_save($fieldset);
            }
        }
    }
    // Custom Fields
    if (!empty($fields)) {
        foreach ($fields as $field_index => $field) {
            $check_cf_exists = dt_geodir_check_custom_field_exists($field['htmlvar_name'], $field['listing_type']);
            if (!$check_cf_exists) {
                geodir_custom_field_save($field);
            }
        }
    }
    // Advance Search Filters
    if (!empty($filters) && function_exists('geodir_load_translation_geodiradvancesearch')) {
        foreach ($filters as $filter_index => $filter) {
            geodir_custom_advance_search_field_save($filter);
        }
    }
    // Fields to delete
    if (!empty($fields_to_remove)) {
        foreach ($fields_to_remove as $field_key => $field_names) {
            foreach ($field_names as $field_name) {
                dt_geodir_delete_custom_field($field_name, $field_key);
            }
        }
    }
}