You are here

function viewfield_content_migrate_instance_alter in Viewfield 7.2

Same name and namespace in other branches
  1. 7.3 viewfield.module \viewfield_content_migrate_instance_alter()

Implements hook_content_migrate_instance_alter().

File

./viewfield.module, line 487
Defines a field type to display a view.

Code

function viewfield_content_migrate_instance_alter(&$instance_value, $field_value) {
  switch ($field_value['type']) {
    case 'viewfield':

      // Change formatter names to be prefixed with 'viewfield_'.
      foreach ($instance_value['display'] as $context => $settings) {
        if (strpos('viewfield_', $settings['type']) !== 0) {
          $instance_value['display'][$context]['type'] = 'viewfield_' . $settings['type'];
        }
      }

      // Migrate legacy tokens in CCK fields to core tokens in D7 fields.
      if (!empty($instance_value['default_value'])) {
        foreach ($instance_value['default_value'] as $key => $default) {
          if (!empty($default['vargs'])) {
            $instance_value['default_value'][$key]['vargs'] = _viewfield_migrate_legacy_tokens($default['vargs']);
          }
        }
      }

      // Migrate force_default from widget to instance settings.
      // @see viewfield_update_7200()
      if (isset($instance_value['widget']['settings']['force_default'])) {
        $instance_value['settings']['force_default'] = $instance_value['widget']['settings']['force_default'];
        unset($instance_value['widget']['settings']['force_default']);
      }

      // Migrate allowed_views from field to instance settings.
      // @see viewfield_update_7201()
      if (isset($field_value['settings']['allowed_views'])) {
        $instance_value['settings']['allowed_views'] = $field_value['settings']['allowed_views'];
      }
      break;
  }
}