You are here

function viewfield_update_7200 in Viewfield 7.2

Same name and namespace in other branches
  1. 7.3 viewfield.install \viewfield_update_7200()

Migrate force_default value from widget to instance settings.

File

./viewfield.install, line 33
Installation functions for Viewfield module.

Code

function viewfield_update_7200() {
  $result = db_query("SELECT fci.id, fci.data FROM {field_config} fc INNER JOIN {field_config_instance} fci ON fc.id = fci.field_id WHERE fc.type = 'viewfield'");
  foreach ($result as $record) {
    $data = unserialize($record->data);
    if (isset($data['widget']['settings']['force_default'])) {

      // Protect against the case where a user has upgraded viewfield, produced
      // a new instance-level force_default, and only later runs update.php.
      if (!isset($data['settings']['force_default'])) {
        $data['settings']['force_default'] = $data['widget']['settings']['force_default'];
      }
      unset($data['widget']['settings']['force_default']);
      db_update('field_config_instance')
        ->fields(array(
        'data' => serialize($data),
      ))
        ->condition('id', $record->id)
        ->execute();
    }
  }
}