function _rdfui_mapping_save in RDF Extensions 7.2
Saves the mapping
3 calls to _rdfui_mapping_save()
- rdfui_admin_rdf_overview_form_submit in rdfui/
rdfui.module - Saves RDF mapping for all fields and node type.
- rdfui_form_field_ui_field_edit_form_submit in rdfui/
rdfui.module - Saves RDF mapping for individual field.
- rdfui_form_node_type_form_submit in rdfui/
rdfui.module - Saves RDF mapping for Title field.
File
- rdfui/
rdfui.module, line 562
Code
function _rdfui_mapping_save($form_state, $entity_type, $bundle, $field_name) {
$mapping = rdf_mapping_load($entity_type, $bundle);
// Set the RDF type if it is in this form.
if (!empty($form_state['values']['rdf_rdftype'])) {
$mapping['rdftype'] = rdfui_extract_curies($form_state['values']['rdf_rdftype']);
}
// Turn the predicates string into an array.
if (isset($form_state['input']['rdf_title_type']) || $field_name != 'title') {
$form_state['values']['rdf_' . $field_name . '_predicates'] = rdfui_extract_curies($form_state['values']['rdf_' . $field_name . '_predicates']);
}
foreach (array(
'type',
'datatype',
'predicates',
) as $key) {
// If there is form input for this key, set it in the mapping.
if (!empty($form_state['values']['rdf_' . $field_name . '_' . $key])) {
$mapping[$field_name][$key] = $form_state['values']['rdf_' . $field_name . '_' . $key];
}
else {
// If there are no predicates, there should be no mapping at all for the
// field.
if ($key == 'predicates') {
unset($mapping[$field_name]);
}
else {
unset($mapping[$field_name][$key]);
}
}
}
$mapping_info = array(
'mapping' => $mapping,
'type' => $entity_type,
'bundle' => $bundle,
);
rdf_mapping_save($mapping_info);
}