From e299209a9235358d8ddbc980f91a6422739d2121 Mon Sep 17 00:00:00 2001 From: daniel Date: Thu, 18 Oct 2018 13:24:15 +0200 Subject: [PATCH] fixed visual console custam graph in meta --- pandora_console/extras/mr/21.sql | 1 + .../pandoradb_migrate_6.0_to_7.0.mysql.sql | 1 + .../visual_console_builder.editor.js | 22 ++++++++++---- .../visual_console_builder.elements.php | 30 +++++++++++++------ .../ajax/visual_console_builder.ajax.php | 22 ++++++++++++-- .../include/functions_visual_map_editor.php | 30 +++++++++---------- .../include/graphs/functions_d3.php | 2 +- pandora_console/pandoradb.sql | 1 + 8 files changed, 74 insertions(+), 35 deletions(-) diff --git a/pandora_console/extras/mr/21.sql b/pandora_console/extras/mr/21.sql index 16b0184506..f832a0ed8a 100644 --- a/pandora_console/extras/mr/21.sql +++ b/pandora_console/extras/mr/21.sql @@ -4,6 +4,7 @@ ALTER TABLE `tservice` ADD COLUMN `is_favourite` tinyint(1) NOT NULL default 0; UPDATE tservice SET `is_favourite` = 1 WHERE `name` REGEXP '^[_|.|\[|\(]'; ALTER TABLE tlayout_data ADD COLUMN `show_last_value` tinyint(1) UNSIGNED NULL default '0'; +ALTER TABLE tlayout_template_data ADD COLUMN `show_last_value` tinyint(1) UNSIGNED NULL default '0'; ALTER TABLE tlayout MODIFY `name` varchar(600) NOT NULL; ALTER TABLE tmetaconsole_setup ADD COLUMN `meta_dbuser` text; diff --git a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql index 6ef8048310..079c9b5d23 100644 --- a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql +++ b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql @@ -1778,6 +1778,7 @@ CREATE TABLE IF NOT EXISTS `tlayout_template_data` ( FOREIGN KEY (`id_layout_template`) REFERENCES tlayout_template(`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE = InnoDB DEFAULT CHARSET=utf8; +ALTER TABLE tlayout_template_data ADD COLUMN `show_last_value` tinyint(1) UNSIGNED NULL default '0'; -- --------------------------------------------------------------------- -- Table `tlog_graph_models` -- --------------------------------------------------------------------- diff --git a/pandora_console/godmode/reporting/visual_console_builder.editor.js b/pandora_console/godmode/reporting/visual_console_builder.editor.js index df7f08fde0..88f27d76b0 100755 --- a/pandora_console/godmode/reporting/visual_console_builder.editor.js +++ b/pandora_console/godmode/reporting/visual_console_builder.editor.js @@ -849,8 +849,7 @@ function readFields() { values['enable_link'] = $("input[name=enable_link]").is(':checked') ? 1 : 0; values['id_group'] = $("select[name=group]").val(); - values['id_custom_graph'] = parseInt( - $("#custom_graph option:selected").val()); + values['id_custom_graph'] = $("#custom_graph option:selected").val(); values['width_box'] = parseInt( $("input[name='width_box']").val()); values['height_box'] = parseInt( @@ -1715,8 +1714,13 @@ function loadFieldsFromDB(item) { .prop('checked', true); $("input[name='radio_choice']").trigger('change'); - $("#custom_graph option[value=" + data.id_custom_graph + "]").prop("selected", true); - + if (is_metaconsole()){ + $("#custom_graph option[value='" + data.id_custom_graph + '|' + data.id_metaconsole + "']").prop("selected", true); + } + else{ + $("#custom_graph option[value=" + data.id_custom_graph + "]").prop("selected", true); + } + } } @@ -2316,12 +2320,18 @@ function setModuleGraph(id_data) { dataType: 'json', success: function (data) { + + var url_hack_metaconsole = ''; + if (is_metaconsole()) { + url_hack_metaconsole = '../../'; + } + if (data['no_data'] == true) { $('#' + id_data).html(data['url']); } else { if($("#module_row").css('display')!='none'){ - $("#" + id_data + " img").attr('src', 'images/console/signes/module_graph.png'); + $("#" + id_data + " img").attr('src', url_hack_metaconsole + 'images/console/signes/module_graph.png'); if($('#text-width_module_graph').val() == 0 || $('#text-height_module_graph').val() == 0){ $("#" + id_data + " img").css('width', '300px'); $("#" + id_data + " img").css('height', '180px'); @@ -2331,7 +2341,7 @@ function setModuleGraph(id_data) { $("#" + id_data + " img").css('height', $('#text-height_module_graph').val()+'px'); } }else{ - $("#" + id_data + " img").attr('src', 'images/console/signes/custom_graph.png'); + $("#" + id_data + " img").attr('src', url_hack_metaconsole + 'images/console/signes/custom_graph.png'); if($('#text-width_module_graph').val() == 0 || $('#text-height_module_graph').val() == 0){ $("#" + id_data + " img").css('width', '300px'); $("#" + id_data + " img").css('height', '180px'); diff --git a/pandora_console/godmode/reporting/visual_console_builder.elements.php b/pandora_console/godmode/reporting/visual_console_builder.elements.php index 9796a217e8..898c9b09ff 100755 --- a/pandora_console/godmode/reporting/visual_console_builder.elements.php +++ b/pandora_console/godmode/reporting/visual_console_builder.elements.php @@ -427,13 +427,27 @@ foreach ($layoutDatas as $layoutData) { } } } - + $modules = io_safe_output($modules); - + if ($layoutData['id_agent'] == 0 and $layoutData['id_custom_graph'] != 0) { - $table->data[$i + 2][1] = html_print_select_from_sql( - "SELECT id_graph, name FROM tgraph", 'custom_graph_' . $idLayoutData, - $layoutData['id_custom_graph'], '', __('None'), 0, true); + if(is_metaconsole()){ + $graphs = array(); + $graphs = metaconsole_get_custom_graphs(true); + $table->data[$i + 2][1] = html_print_select( + $graphs, 'custom_graph_' . $idLayoutData, + $layoutData['id_custom_graph'] . "|" . $layoutData['id_metaconsole'], + '', __('None'), 0, true + ); + } + else{ + $table->data[$i + 2][1] = html_print_select_from_sql( + "SELECT id_graph, name FROM tgraph", + 'custom_graph_' . $idLayoutData, + $layoutData['id_custom_graph'], + '', __('None'), 0, true + ); + } } else { $table->data[$i + 2][1] = html_print_select($modules, 'module_' . $idLayoutData, @@ -446,12 +460,10 @@ foreach ($layoutDatas as $layoutData) { } break; } - - - + //Empty $table->data[$i + 2][2] = ''; - + //Period switch ($layoutData['type']) { case MODULE_GRAPH: diff --git a/pandora_console/include/ajax/visual_console_builder.ajax.php b/pandora_console/include/ajax/visual_console_builder.ajax.php index 7bdddf50b9..db155e6f61 100755 --- a/pandora_console/include/ajax/visual_console_builder.ajax.php +++ b/pandora_console/include/ajax/visual_console_builder.ajax.php @@ -1206,13 +1206,29 @@ switch ($action) { break; case 'module_graph': $values['type'] = MODULE_GRAPH; - + + if(is_metaconsole()){ + $explode_id = explode("|", $values['id_custom_graph']); + $values['id_custom_graph'] = $explode_id[0]; + $values['id_metaconsole'] = $explode_id[1]; + } + if ($values['id_custom_graph'] > 0 ) { $values['height'] = $height_module_graph; $values['width'] = $width_module_graph; - + + if(is_metaconsole()){ + $server_data = metaconsole_get_connection_by_id($values['id_metaconsole']); + // Establishes connection + if (metaconsole_load_external_db($server_data) !== NOERR) continue; + } + $graph_conf = db_get_row('tgraph', 'id_graph', $values['id_custom_graph']); - + + if(is_metaconsole()){ + metaconsole_restore_db(); + } + $graph_stacked = $graph_conf['stacked']; if ( $graph_stacked == CUSTOM_GRAPH_BULLET_CHART) { $values['height'] = 50; diff --git a/pandora_console/include/functions_visual_map_editor.php b/pandora_console/include/functions_visual_map_editor.php index 8bc8665a9d..56d809da67 100755 --- a/pandora_console/include/functions_visual_map_editor.php +++ b/pandora_console/include/functions_visual_map_editor.php @@ -298,7 +298,7 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) { '#000000', 'text-grid_color', '', 7, 7, false, '', 'class="grid_color"', true) . ''; - + $form_items['radio_choice_graph'] = array(); $form_items['radio_choice_graph']['items'] = array( 'module_graph', @@ -312,27 +312,25 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) { . __('Custom graph') . "  " . html_print_radio_button('radio_choice', 'custom_graph', '', 'module_graph', true) . ''; - - + $form_items['custom_graph_row'] = array(); - $form_items['custom_graph_row']['items'] = array( - 'module_graph', - 'datos'); - $form_items['custom_graph_row']['html'] = - '' . __('Custom graph') . ' - ' . - html_print_select_from_sql( - "SELECT id_graph, name FROM tgraph", 'custom_graph', - '', '', __('None'), 0, true) . - ''; - - + $form_items['custom_graph_row']['html'] = '' . __('Custom graph') . ''; + if(is_metaconsole()){ + $graphs = array(); + $graphs = metaconsole_get_custom_graphs(true); + $form_items['custom_graph_row']['html'] .= html_print_select($graphs, 'custom_graph', '', '', __('None'), 0, true); + } + else{ + $form_items['custom_graph_row']['html'] .= html_print_select_from_sql("SELECT id_graph, name FROM tgraph", 'custom_graph','', '', __('None'), 0, true); + } + $form_items['custom_graph_row']['html'] .= ''; + $form_items['agent_row'] = array(); $form_items['agent_row']['items'] = array('static_graph', 'percentile_bar', 'percentile_item', 'module_graph', 'simple_value', 'datos', 'auto_sla_graph'); $form_items['agent_row']['html'] = '' . - __('Agent') . ''; + __('Agent') . ''; $params = array(); $params['return'] = true; $params['show_helptip'] = true; diff --git a/pandora_console/include/graphs/functions_d3.php b/pandora_console/include/graphs/functions_d3.php index a0e4ea4a8d..81e55100e8 100644 --- a/pandora_console/include/graphs/functions_d3.php +++ b/pandora_console/include/graphs/functions_d3.php @@ -185,7 +185,7 @@ function d3_bullet_chart($chart_data, $width, $height, $color, $legend, .bullet g text { font-size:'.$font_size.'pt;} - +