You are here

function contextual_view_modes_update_7102 in Contextual View Modes 7

Same name and namespace in other branches
  1. 7.3 contextual_view_modes.install \contextual_view_modes_update_7102()
  2. 7.2 contextual_view_modes.install \contextual_view_modes_update_7102()

Please back up your database before running as this does some pretty shady stuff.

File

./contextual_view_modes.install, line 51

Code

function contextual_view_modes_update_7102(&$sandbox) {
  if (!module_exists('cvm_field')) {
    if (!module_enable(array(
      'cvm_field',
    ))) {
      drupal_set_message(t('could not enable cvm_module'), 'error');
      throw new Exception("Could Not Enable cvm_field Module");
    }
  }

  // CVM field moved to sub module. We need to fix that for existing content.
  db_update('field_config')
    ->fields(array(
    'module' => 'cvm_field',
    'type' => 'cvm_field_cvm',
  ))
    ->condition('field_name', 'field_cvm_cvm')
    ->execute();
  $instances = db_select('field_config_instance', 'fci')
    ->fields("fci")
    ->condition('field_name', 'field_cvm_cvm')
    ->execute();
  while ($result = $instances
    ->fetchAssoc()) {
    $data = unserialize($result['data']);
    $data['widget']['type'] = "cvm_field_picker";
    $data['widget']['module'] = 'cvm_field';
    db_update('field_config_instance')
      ->fields(array(
      'data' => serialize($data),
    ))
      ->condition('id', $result['id'])
      ->execute();
  }
}