function date_content_migrate_instance_alter in Date 7.2
Same name and namespace in other branches
- 7.3 date.field.inc \date_content_migrate_instance_alter()
- 7 date.field.inc \date_content_migrate_instance_alter()
Implements hook_content_migrate_instance_alter().
File
- ./
date.field.inc, line 546 - Field hooks to implement a date field.
Code
function date_content_migrate_instance_alter(&$instance_value, $field_value) {
// Use this to tweak the conversion of instance or widget settings from the D6
// style to the D7 style for specific situations not handled by basic
// conversion, as when formatter or widget names or settings are changed.
switch ($instance_value['widget']['module']) {
case 'date':
// Some settings have been moved from field to instance.
$instance_value['widget']['settings']['repeat_collapsed'] = $field_value['settings']['repeat_collapsed'];
// Some settings were moved from widget settings to instance settings.
$instance_value['settings']['default_value'] = $instance_value['default_value'];
unset($instance_value['default_value']);
$instance_value['settings']['default_value_code'] = $instance_value['widget']['settings']['default_value_code'];
unset($instance_value['widget']['settings']['default_value_code']);
$instance_value['settings']['default_value2'] = $instance_value['widget']['settings']['default_value2'];
unset($instance_value['widget']['settings']['default_value2']);
$instance_value['settings']['default_value_code2'] = $instance_value['widget']['settings']['default_value_code2'];
unset($instance_value['widget']['settings']['default_value_code2']);
// We need to retrieve formatter settings from the variables and store
// them in the instance.
foreach ($instance_value['display'] as $context => &$display) {
if ($display['type'] != 'format_interval') {
$old_settings = date_old_formatter_get_settings($instance_value['field_name'], $instance_value['bundle'], $context);
$display['settings'] = array_merge($display['settings'], $old_settings);
// If the formatter was the 'default', then use the old
// 'default_format' field property.
$format = $display['type'] == 'default' ? $field_value['settings']['default_format'] : $display['type'];
$display['settings']['format_type'] = $format;
$display['type'] = 'date_default';
}
}
break;
}
}