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";