function delete_custom_field($id)
 {
     $module_name = $this->module_name;
     $fields_meta_data = new FieldsMetaData($id);
     $column_name = $fields_meta_data->name;
     $fields_meta_data->delete();
     $custom_table_name = $this->_get_custom_tbl_name();
     $custom_fields_table_schema = new CustomFieldsTableSchema($custom_table_name);
     $custom_fields_table_schema->drop_column($column_name);
 }
////
//// save the metadata to the fields_meta_data table
////
foreach ($fields_meta_data->column_fields as $field) {
    if (isset($_REQUEST[$field])) {
        $fields_meta_data->{$field} = $_REQUEST[$field];
    }
}
$fields_meta_data->save();
////
//// create/modify the custom field table
////
$new_field = empty($_REQUEST['id']);
$new_field = true;
$custom_table_name = strtolower($fields_meta_data->custom_module) . '_cstm';
$custom_fields_table_schema = new CustomFieldsTableSchema($custom_table_name);
if (!CustomFieldsTableSchema::custom_table_exists($custom_table_name)) {
    $custom_fields_table_schema->create_table();
}
$column_name = $fields_meta_data->name;
$field_label = $fields_meta_data->label;
$data_type = $fields_meta_data->data_type;
$max_size = $fields_meta_data->max_size;
$required = $fields_meta_data->required_option;
$default_value = $fields_meta_data->default_value;
$module_dir = $fields_meta_data->custom_module;
if ($new_field) {
    $custom_fields_table_schema->add_column($column_name, $data_type, $required, $default_value);
    $class_name = $beanList[$fields_meta_data->custom_module];
    $custom_field = new DynamicField($fields_meta_data->custom_module);
    require_once "modules/{$module_dir}/{$class_name}.php";