function fn_stat_map_data($chart, $data, $map, $titles = array(), $aggregate = false) { $result = array(); if ($aggregate == false) { foreach ($data as $k => $v) { foreach ($map as $field => $alias) { $result[$k][$alias] = $v[$field] == '' ? fn_get_lang_var('undefined') : $v[$field]; } } } else { foreach ($data as $k => $v) { foreach ($map as $_k => $field) { $result[$field]['values'][$k]['title'] = $k; $result[$field]['values'][$k]['value'] = $v[$field]; $result[$field]['title'] = $titles[$_k]; } } } /*if (count($result) > $max_items) { $other = array_splice($result, $max_items); $total = 0; foreach ($other as $k => $v) { $total += $v['value']; } $result[] = arra }*/ return fn_amcharts_data($chart, $result); }
} $new_array[$table['description']] = $__new_array; $new_array['pie_data'] = fn_amcharts_data('pie', $_new_array); $new_array['pie_height'] = fn_calc_height_ampie($_new_array, 20); $view->assign('new_array', $new_array); // Bar } elseif (!empty($table['elements']) && !empty($table['intervals']) && $table['type'] == 'B') { $_values = fn_get_report_statistics($table); foreach ($table['elements'] as $key => $value) { foreach ($_values[$value['element_hash']] as $k => $v) { $_new_array[$key][$k] = array('title' => $value['description'], 'value' => $v); $__new_array[$key][$k] = array('label' => $value['description'], 'count' => $v); } } $new_array[$table['description']] = $__new_array; $new_array['column_data'] = fn_amcharts_data('column', $_new_array, $table['intervals']); $new_array['column_height'] = 450; //fn_calc_height_amcolumn($_new_array); if (count($table['intervals']) > 1) { $new_array['column_width'] = count($table['intervals']) * count($table['elements']) * 20 + 100; $new_array['column_width'] = $new_array['column_width'] > 650 ? $new_array['column_width'] : 650; } $new_array['column_height'] = 450; //fn_calc_height_amcolumn($_new_array); $view->assign('new_array', $new_array); } } } if (!empty($table_conditions)) { $view->assign('table_conditions', $table_conditions); }