function field_features_export_render in Features 7
Same name and namespace in other branches
- 7.2 includes/features.field.inc \field_features_export_render()
Implements hook_features_export_render().
File
- includes/
features.field.inc, line 88
Code
function field_features_export_render($module, $data, $export = NULL) {
$translatables = $code = array();
$code[] = ' $fields = array();';
$code[] = '';
foreach ($data as $identifier) {
if ($field = features_field_load($identifier)) {
unset($field['field_config']['columns']);
// Only remove the 'storage' declaration if the field is using the default
// storage type.
if ($field['field_config']['storage']['type'] == variable_get('field_storage_default', 'field_sql_storage')) {
unset($field['field_config']['storage']);
}
// If we still have a storage declaration here it means that a non-default
// storage type was altered into to the field definition. And noone would
// never need to change the 'details' key, so don't render it.
if (isset($field['field_config']['storage']['details'])) {
unset($field['field_config']['storage']['details']);
}
_field_features_export_sort($field);
$field_export = features_var_export($field, ' ');
$field_identifier = features_var_export($identifier);
$code[] = " // Exported field: {$field_identifier}.";
$code[] = " \$fields[{$field_identifier}] = {$field_export};";
$code[] = "";
// Add label and description to translatables array.
if (!empty($field['field_instance']['label'])) {
$translatables[] = $field['field_instance']['label'];
}
if (!empty($field['field_instance']['description'])) {
$translatables[] = $field['field_instance']['description'];
}
}
}
if (!empty($translatables)) {
$code[] = features_translatables_export($translatables, ' ');
}
$code[] = ' return $fields;';
$code = implode("\n", $code);
return array(
'field_default_fields' => $code,
);
}