function _noderelationships_nodereference_settings_form_submit in Node Relationships 6
Submit handler for nodereference field settings form.
1 string reference to '_noderelationships_nodereference_settings_form_submit'
- _noderelationships_cck_admin_forms_alter in ./
noderelationships.admin.inc - Alter CCK administration forms.
File
- ./
noderelationships.admin.inc, line 913 - Implementation of the administration pages of the module.
Code
function _noderelationships_nodereference_settings_form_submit($form, &$form_state) {
// Get rid of information about back references that are no longer enabled.
$form_values = $form_state['values'];
$nodetype = $form_values['type_name'];
$field_name = $form_values['field_name'];
$referenceable_types = !empty($form_values['referenceable_types']) ? array_filter($form_values['referenceable_types']) : array();
$back_references = noderelationships_settings_list("relation_type = 'backref' AND related_type = '%s' AND field_name = '%s'", $nodetype, $field_name);
$types_to_sync = array();
foreach ($back_references as $back_reference) {
if (!isset($referenceable_types[$back_reference->type_name])) {
noderelationships_settings_delete("relation_type = 'backref' AND type_name = '%s' AND field_name = '%s'", $back_reference->type_name, $field_name);
if (!isset($types_to_sync[$back_reference->type_name])) {
$types_to_sync[$back_reference->type_name] = $back_reference->type_name;
}
}
}
// Synchronize back reference settings with back reference fields.
noderelationships_cck_backref_sync_fields($types_to_sync);
}