You are here

function easychart_update_7300 in Easychart 7.3

Cleanup the config object.

File

./easychart.install, line 89
Easychart install file.

Code

function easychart_update_7300() {

  // Get all existing chart configurations
  $query = new EntityFieldQuery();
  $query
    ->entityCondition('entity_type', 'node')
    ->entityCondition('bundle', 'easychart')
    ->fieldCondition('easychart', 'config', '', '!=');
  $result = $query
    ->execute();
  if (isset($result['node'])) {
    $easycharts = $result['node'];
    foreach ($easycharts as $easychart) {
      $node = node_load($easychart->nid);
      $item = field_get_items('node', $node, 'easychart');
      if (isset($item[0]['config']) && $item[0]['config'] != '') {
        $config = json_decode($item[0]['config']);

        // Remove the series object.
        unset($config->series);

        // Remove empty entries.
        _cleanup_object($config);
        $config = json_encode($config);
        $node->easychart['und'][0]['config'] = $config;
        field_attach_update('node', $node);
      }
    }
  }
}