function globallink_form_field_ui_field_edit_form_submit in GlobalLink Connect for Drupal 7.6
Same name and namespace in other branches
- 7.7 globallink.module \globallink_form_field_ui_field_edit_form_submit()
- 7.5 globallink.module \globallink_form_field_ui_field_edit_form_submit()
Update field config for modified bundle field.
1 string reference to 'globallink_form_field_ui_field_edit_form_submit'
File
- ./
globallink.module, line 812 - GlobalLink translation module.
Code
function globallink_form_field_ui_field_edit_form_submit($form, &$form_state) {
$field_name = $form['#instance']['field_name'];
$entity_type = $form['#instance']['entity_type'];
$bundle_name = $form['#instance']['bundle'];
$field_type = $form['#field']['type'];
if (isset($form['field']['translatable']['#value'])) {
$translatable = $form['field']['translatable']['#value'];
}
else {
$translatable = $form['#field']['translatable'];
}
if ($entity_type == 'taxonomy_term' || $entity_type == 'fieldable_panels_pane' || $entity_type == 'bean' || $entity_type == 'file_entity') {
return;
}
if (!globallink_check_field_configured($bundle_name, $entity_type, $bundle_name, $field_name) && $translatable == 1) {
$ignore_fields = array(
'list_integer',
'entity_reference',
'list_boelean',
'list_float',
);
if (in_array($field_type, $ignore_fields)) {
return;
}
//Checking here if parent FC is translatable otherwise ignore item.
if ($entity_type == 'field_collection_item') {
$arr = array();
$results = db_select('globallink_field_config', 'gf')
->fields('gf')
->condition('field_name', $bundle_name, '=')
->condition('field_type', 'field_collection', '=')
->execute();
foreach ($results as $result) {
$arr[] = $result;
}
if (count($arr) < 0) {
return;
}
}
if ($field_type == 'field_collection') {
globallink_insert_fc($entity_type, $field_name, $bundle_name, $bundle_name);
}
else {
if ($entity_type == 'field_collection_item') {
$content_types = globallink_get_all_content_types_for_field($bundle_name, 'field_collection');
foreach ($content_types as $content_type) {
globallink_insert_fc_items($content_type, $bundle_name, $field_name);
$field_info = field_info_field($content_type);
if ($field_info['type'] == 'field_collection') {
$parents_fcs = globallink_get_allparent_fc($entity_type, $bundle_name, $field_name, array(
$content_type,
));
foreach ($parents_fcs as $parent_fc) {
globallink_insert_fc_items($parent_fc, $bundle_name, $field_name);
}
}
}
}
else {
db_insert('globallink_field_config')
->fields(array(
'content_type' => $bundle_name,
'entity_type' => $entity_type,
'bundle' => $bundle_name,
'field_name' => $field_name,
'field_type' => $field_type,
'field_label' => $form['#instance']['label'],
'translatable' => 1,
))
->execute();
}
}
}
else {
if ($translatable == 0) {
if ($field_type == 'field_collection') {
globallink_delete_fc($bundle_name, $field_name, $entity_type, $bundle_name);
}
else {
if ($entity_type == 'field_collection_item') {
$content_types = globallink_get_all_content_types_for_field($bundle_name, 'field_collection');
foreach ($content_types as $content_type) {
globallink_delete_fc_items($content_type, $bundle_name, $field_name, $entity_type);
}
}
else {
if (!(module_exists('globallink_entity') && entity_translation_node_supported_type($bundle_name))) {
return;
}
db_delete('globallink_field_config')
->condition('field_name', $field_name, '=')
->condition('entity_type', $entity_type, '=')
->condition('bundle', $bundle_name, '=')
->condition('content_type', $bundle_name, '=')
->execute();
}
}
}
}
}