function create_chart_data_object($type, $y_values_array) { switch ($type) { case 'line': $data_object = new OFC_Charts_Line(); if (array_var($y_values_array, 'color')) { $data_object->set_colour(array_var($y_values_array, 'color')); } if (array_var($y_values_array, 'dot_size')) { $data_object->set_dot_size(array_var($y_values_array, 'dot_size')); } if (array_var($y_values_array, 'halo_size')) { $data_object->set_halo_size(array_var($y_values_array, 'halo_size')); } if (array_var($y_values_array, 'text')) { $data_object->set_key(array_var($y_values_array, 'text', ''), array_var($y_values_array, 'text_size', 10)); } if (array_var($y_values_array, 'width')) { $data_object->set_width(array_var($y_values_array, 'width')); } $values_data = array_var($y_values_array, 'values', array()); break; case 'bar': $data_object = new OFC_Charts_Bar_3d(); if (array_var($y_values_array, 'color')) { $data_object->set_colour(array_var($y_values_array, 'color')); } if (array_var($y_values_array, 'tooltip')) { $data_object->set_tooltip(array_var($y_values_array, 'tooltip')); } if (array_var($y_values_array, 'text')) { $data_object->set_key(array_var($y_values_array, 'text', ''), array_var($y_values_array, 'text_size', 10)); } if (array_var($y_values_array, 'alpha')) { $data_object->set_alpha(array_var($y_values_array, 'alpha')); } $values_data = array_var($y_values_array, 'values', array()); break; case 'bar-stack': $data_object = new OFC_Charts_Bar_Stack(); if (array_var($y_values_array, 'color')) { $data_object->set_colour(array_var($y_values_array, 'color')); } if (array_var($y_values_array, 'colors')) { $data_object->{'colours'} = array_var($y_values_array, 'colors'); } if (array_var($y_values_array, 'keys')) { $data_object->{'keys'} = array_var($y_values_array, 'keys'); } if (array_var($y_values_array, 'tooltip')) { $data_object->set_tooltip(array_var($y_values_array, 'tooltip')); } if (array_var($y_values_array, 'text')) { $data_object->set_key(array_var($y_values_array, 'text', ''), array_var($y_values_array, 'text_size', 10)); } if (array_var($y_values_array, 'alpha')) { $data_object->set_alpha(array_var($y_values_array, 'alpha')); } $data = array_var($y_values_array, 'values', array()); foreach ($data as $d) { $data_object->append_stack($d); } break; default: continue; } if (isset($values_data)) { $data_object->set_values($values_data); } return $data_object; }