function easychart_update_7322 in Easychart 7.3
Convert xAxis and yAxis to objects instead of arrays.
File
- ./
easychart.install, line 33 - Easychart install file.
Code
function easychart_update_7322() {
// 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);
// Fix xAxis and yAxis.
foreach ($config as $key => $item) {
if (in_array($key, array(
'xAxis',
'yAxis',
)) && is_object($item)) {
$config->{$key} = array(
$item,
);
}
}
$config = json_encode($config);
$node->easychart['und'][0]['config'] = $config;
field_attach_update('node', $node);
}
}
}
}