function number_content_migrate_instance_alter in Content Construction Kit (CCK) 7.3
Implements hook_content_migrate_instance_alter().
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.
File
- modules/
content_migrate/ modules/ content_migrate.number.inc, line 74 - content_migrate.number.inc Code to implement Content Migrate hooks on behalf of the Number module.
Code
function number_content_migrate_instance_alter(&$instance_value, $field_value) {
switch ($field_value['module']) {
case 'number':
// The number formatters and formatter settings
// have changed.
$new_type = array(
'unformatted' => 'number_unformatted',
'default' => $field_value['type'] == 'number_integer' ? 'number_integer' : 'number_decimal',
'us_0' => 'number_integer',
'us_1' => 'number_decimal',
'us_2' => 'number_decimal',
'be_0' => 'number_integer',
'be_1' => 'number_decimal',
'be_2' => 'number_decimal',
'fr_0' => 'number_integer',
'fr_1' => 'number_decimal',
'fr_2' => 'number_decimal',
);
$new_settings = array(
'default' => array(
'thousand_separator' => '',
'decimal_separator' => '.',
'scale' => 0,
'prefix_suffix' => TRUE,
),
'us_0' => array(
'thousand_separator' => ',',
'decimal_separator' => '.',
'scale' => 0,
'prefix_suffix' => TRUE,
),
'us_1' => array(
'thousand_separator' => ',',
'decimal_separator' => '.',
'scale' => 1,
'prefix_suffix' => TRUE,
),
'us_2' => array(
'thousand_separator' => ',',
'decimal_separator' => '.',
'scale' => 2,
'prefix_suffix' => TRUE,
),
'be_0' => array(
'thousand_separator' => '',
'decimal_separator' => ',',
'scale' => 0,
'prefix_suffix' => TRUE,
),
'be_1' => array(
'thousand_separator' => '.',
'decimal_separator' => ',',
'scale' => 1,
'prefix_suffix' => TRUE,
),
'be_2' => array(
'thousand_separator' => '.',
'decimal_separator' => ',',
'scale' => 2,
'prefix_suffix' => TRUE,
),
'fr_0' => array(
'thousand_separator' => '',
'decimal_separator' => ', ',
'scale' => 0,
'prefix_suffix' => TRUE,
),
'fr_1' => array(
'thousand_separator' => ' ',
'decimal_separator' => ', ',
'scale' => 1,
'prefix_suffix' => TRUE,
),
'fr_2' => array(
'thousand_separator' => ' ',
'decimal_separator' => ', ',
'scale' => 2,
'prefix_suffix' => TRUE,
),
);
foreach ($instance_value['display'] as $context => $settings) {
if (array_key_exists($settings['type'], $new_type)) {
$instance_value['display'][$context]['type'] = $new_type[$settings['type']];
$instance_value['display'][$context]['settings'] = $new_settings[$settings['type']];
}
}
// Min, max, prefix, and suffix moved to instance settings.
$instance_value['settings']['min'] = $field_value['settings']['min'];
$instance_value['settings']['max'] = $field_value['settings']['max'];
$instance_value['settings']['prefix'] = $field_value['settings']['prefix'];
$instance_value['settings']['suffix'] = $field_value['settings']['suffix'];
break;
}
}