function msnf_step_update_fields in Multistep Nodeform 7
Same name and namespace in other branches
- 6 includes/msnf.steps.inc \msnf_step_update_fields()
Update field mapping for steps.
1 call to msnf_step_update_fields()
- msnf_save_step in includes/
msnf.steps.inc - Saves a step for a content-type.
File
- includes/
msnf.steps.inc, line 197 - Step crud functions.
Code
function msnf_step_update_fields($form_values) {
if ($form_values['step']) {
// Parent is a fieldgroup!
if (strpos($form_values['step'], 'group_') > -1) {
// If fieldgroup module is not enabled at this point, do nothing.
if (module_exists('fieldgroup')) {
// Prepare form values for fieldgroup update.
$form_values['group'] = $form_values['step'];
// Update field parenting.
fieldgroup_update_fields($form_values);
// Remove field from msnf_step_fields (if it exists there).
db_query("DELETE FROM {msnf_step_fields} WHERE type_name = '%s' AND field_name = '%s'", $form_values['type_name'], $form_values['field_name']);
}
}
else {
// Get existing entry.
$default = _msnf_field_get_step($form_values['type_name'], $form_values['field_name']);
if ($default) {
db_query("UPDATE {msnf_step_fields} SET step_name = '%s', weight = %d WHERE type_name = '%s' AND field_name = '%s'", $form_values['step'], $form_values['weight'], $form_values['type_name'], $form_values['field_name']);
}
else {
db_query("INSERT INTO {msnf_step_fields} (type_name, step_name, field_name, weight) VALUES ('%s', '%s', '%s', %d)", $form_values['type_name'], $form_values['step'], $form_values['field_name'], $form_values['weight']);
}
if (module_exists('fieldgroup')) {
// Remove field from fieldgroup table.
db_query('DELETE FROM {' . fieldgroup_fields_tablename() . "} WHERE type_name = '%s' AND field_name = '%s'", $form_values['type_name'], $form_values['field_name']);
}
}
}
else {
// Remove field from tables.
if (module_exists('fieldgroup')) {
db_query('DELETE FROM {' . fieldgroup_fields_tablename() . "} WHERE type_name = '%s' AND field_name = '%s'", $form_values['type_name'], $form_values['field_name']);
}
db_query("DELETE FROM {msnf_step_fields} WHERE type_name = '%s' AND field_name = '%s'", $form_values['type_name'], $form_values['field_name']);
}
cache_clear_all('msnf_step_data:', 'cache', TRUE);
}