Working in the refactoring the code of reports (projection_graph).

This commit is contained in:
mdtrooper 2015-04-13 16:37:10 +02:00
parent f84863540f
commit b3ef779319
2 changed files with 85 additions and 57 deletions

View File

@ -240,12 +240,88 @@ function reporting_make_reporting_data($id_report, $date, $time,
$report,
$content);
break;
case 'projection_graph':
$report['contents'][] = reporting_projection_graph(
$report,
$content,
$type,
$force_width_chart,
$force_height_chart);
break;
}
}
return reporting_check_structure_report($report);
}
function reporting_projection_graph($report, $content,
$type = 'dinamic', $force_width_chart = null,
$force_height_chart = null) {
global $config;
$return['type'] = 'projection_graph';
if (empty($content['name'])) {
$content['name'] = __('Agent configuration');
}
$return['title'] = $content['name'];
$return["description"] = $content["description"];
$return["date"] = reporting_get_date_text($report, $content);
set_time_limit(500);
$output_projection = forecast_projection_graph(
$content['id_agent_module'], $content['period'], $content['top_n_value']);
// If projection doesn't have data then don't draw graph
if ($output_projection == NULL) {
$output_projection = false;
}
// Get chart
reporting_set_conf_charts($width, $height, $only_image, $type, $content);
if (!empty($force_width_chart)) {
$width = $force_width_chart;
}
if (!empty($force_height_chart)) {
$height = $force_height_chart;
}
switch ($type) {
case 'dinamic':
case 'static':
$return['chart'] = graphic_combined_module(
array($content['id_agent_module']),
array(),
$content['period'],
$width,
$height,
'Projection%20Sample%20Graph',
'',
0,
0,
0,
0,
$report["datetime"],
true,
ui_get_full_url(false, false, false, false) . '/',
1,
// Important parameter, this tell to graphic_combined_module function that is a projection graph
$output_projection,
$content['top_n_value']
);
break;
case 'data':
break;
}
return reporting_check_structure_content($return);
}
function reporting_agent_configuration($report, $content) {
global $config;

View File

@ -173,6 +173,9 @@ function reporting_html_print_report($report, $mini = false) {
case 'agent_configuration':
reporting_html_agent_configuration($table, $item);
break;
case 'projection_graph':
reporting_html_projection_graph($table, $item);
break;
}
if ($item['type'] == 'agent_module')
@ -185,6 +188,12 @@ function reporting_html_print_report($report, $mini = false) {
}
}
function reporting_html_projection_graph(&$table, $item) {
$table->colspan['chart']['cell'] = 3;
$table->cellstyle['chart']['cell'] = 'text-align: center;';
$table->data['chart']['cell'] = $item['chart'];
}
function reporting_html_agent_configuration(&$table, $item) {
$table->colspan['agent']['cell'] = 3;
$table->cellstyle['agent']['cell'] = 'text-align: left;';
@ -3354,63 +3363,6 @@ function reporting_render_report_html_item ($content, $table, $report, $mini = f
$item_title = $content['name'];
switch ($content["type"]) {
case 'projection_graph':
if (empty($item_title)) {
$item_title = __('Projection graph');
}
reporting_header_content($mini, $content, $report, $table, $item_title,
ui_print_truncate_text($agent_name, 'agent_medium', false).' <br> ' .
ui_print_truncate_text($module_name, 'module_medium', false));
//RUNNING
$table->colspan[1][0] = 4;
set_time_limit(500);
$next_row = 1;
// Put description at the end of the module (if exists)
if ($content["description"] != "") {
$data_desc = array();
$data_desc[0] = $content["description"];
array_push ($table->data, $data_desc);
$table->colspan[$next_row][0] = 3;
$next_row++;
}
$table->colspan[$next_row][0] = 3;
$table->cellstyle[$next_row][0] = 'text-align: center;';
$data = array ();
$output_projection = forecast_projection_graph($content['id_agent_module'], $content['period'], $content['top_n_value']);
// If projection doesn't have data then don't draw graph
if ($output_projection == NULL) {
$output_projection = false;
}
$modules = array($content['id_agent_module']);
$weights = array();
$data[0] = graphic_combined_module(
$modules,
$weights,
$content['period'],
$sizgraph_w, $sizgraph_h,
'Projection%20Sample%20Graph',
'',
0,
0,
0,
0,
$report["datetime"],
true,
ui_get_full_url(false, false, false, false) . '/',
1,
// Important parameter, this tell to graphic_combined_module function that is a projection graph
$output_projection,
$content['top_n_value']
);
array_push ($table->data, $data);
break;
case 'prediction_date':
if (empty($item_title)) {
$item_title = __('Prediction date');