You are here

function oa_core_field_default_field_instances_alter in Open Atrium Core 7.2

Implements hook_field_default_field_instances_alter().

Hook into field_instance_alter to prevent Features from being overridden by new default file extensions.

File

./oa_core.module, line 2309

Code

function oa_core_field_default_field_instances_alter(&$instances) {

  // Set the default allowed file extensions for file fields.
  $file_fields = array(
    'fieldable_panels_pane-basic_file-field_basic_file_file',
    'field_oa_media',
  );
  foreach ($instances as $key => $instance) {
    list($entity_type, $bundle, $fieldname) = explode('-', $key);
    if (in_array($fieldname, $file_fields)) {
      $current_extensions = $instance['settings']['file_extensions'];
      $file_extensions = variable_get('file_entity_default_allowed_extensions', OA_FILE_EXTENSIONS_DEFAULT);
      if (_oa_core_is_default_allowed_extensions($file_extensions)) {
        $file_extensions = OA_FILE_EXTENSIONS_DEFAULT;
      }
      if (_oa_core_is_default_allowed_extensions($current_extensions)) {
        $instances[$key]['settings']['file_extensions'] = $file_extensions;
      }
    }
  }
}