function node_registration_node_type_form_submit in Node registration 7
Submit handler for node_registration_form_node_type_form_alter().
1 string reference to 'node_registration_node_type_form_submit'
- node_registration_form_node_type_form_alter in ./
node_registration.module - Implements hook_form_FORM_ID_alter() for node_type_form().
File
- ./
node_registration.module, line 840
Code
function node_registration_node_type_form_submit($form, &$form_state) {
$values =& $form_state['values'];
$nt = $form['#node_type'];
$type = $nt->type;
// Fetch old settings.
$old_node_status = _node_registration_node_type_enabled($type);
// Extract new settings.
$node_status = (int) $values['registration_node_status'];
$date_field = $values['registration_node_date_field'];
$max_registration_date_field = $values['registration_node_max_registration_date_field'];
$min_registration_date_field = $values['registration_node_min_registration_date_field'];
$capacity_field = $values['registration_node_capacity_field'];
// Unset 'settings' from form_state so they're not automatically saved as variables.
unset($values['registration_node_status'], $values['registration_node_date_field'], $values['registration_node_max_registration_date_field'], $values['registration_node_min_registration_date_field'], $values['registration_node_capacity_field']);
// Check if the settings have actually changed.
$settings_changed = $node_status != $old_node_status;
// Save settings.
if ($node_status) {
_node_registration_node_type_enable($type, $node_status, array(
'date_field' => $date_field,
'max_registration_date_field' => $max_registration_date_field,
'min_registration_date_field' => $min_registration_date_field,
'capacity_field' => $capacity_field,
));
}
else {
node_registration_node_type_delete($nt);
}
// Reset entities & menu routes.
if ($settings_changed) {
entity_info_cache_clear();
menu_rebuild();
}
}