From 0ca34c744d7f7c163e590274bfcb8f1fedb18caf Mon Sep 17 00:00:00 2001 From: fermin831 Date: Tue, 16 Oct 2018 13:29:00 +0200 Subject: [PATCH 01/14] Fixed tags filter on Tree tags --- pandora_console/include/class/Tree.class.php | 8 +++++++- pandora_console/include/class/TreeTag.class.php | 6 ++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pandora_console/include/class/Tree.class.php b/pandora_console/include/class/Tree.class.php index 05c994df9e..778a56afbc 100644 --- a/pandora_console/include/class/Tree.class.php +++ b/pandora_console/include/class/Tree.class.php @@ -41,6 +41,8 @@ class Tree { protected $L2conditionInside = ''; protected $L2inner = ''; + protected $L3forceTagCondition = false; + const TV_DEFAULT_AGENT_STATUS = -1; public function __construct($type, $rootType = '', $id = -1, $rootID = -1, $serverID = false, $childrenMethod = "on_demand", $access = 'AR') { @@ -891,7 +893,9 @@ class Tree { $module_status_filter = $this->getModuleStatusFilterFromTestado(); $agent_filter = "AND ta.id_agente = " . $this->id; $tag_condition = $this->getTagCondition(); - $tag_join = empty($tag_condition) ? '' : $this->getTagJoin(); + $tag_join = empty($tag_condition) && (!$this->L3forceTagCondition) + ? '' + : $this->getTagJoin(); $condition = $this->L2condition; $inner = $this->L2inner; @@ -922,6 +926,8 @@ class Tree { $module_search_filter $tag_condition ORDER BY tam.nombre ASC, tam.id_agente_modulo ASC"; + html_debug($sql, true); + html_debug($sql, true, true); return $sql; } diff --git a/pandora_console/include/class/TreeTag.class.php b/pandora_console/include/class/TreeTag.class.php index c02fb7ba4a..374945005c 100644 --- a/pandora_console/include/class/TreeTag.class.php +++ b/pandora_console/include/class/TreeTag.class.php @@ -37,6 +37,8 @@ class TreeTag extends Tree { $this->L2condition = "AND ttm.id_tag = " . $this->rootID; $this->L2inner = $this->L1innerInside; + + $this->L3forceTagCondition = true; } protected function getData() { @@ -52,10 +54,6 @@ class TreeTag extends Tree { protected function getTagJoin () { return ''; } - - protected function getTagCondition () { - return ''; - } } ?> From 9ee64b48944f122eb6ae2e3b56dfbcffabbbd569 Mon Sep 17 00:00:00 2001 From: danielmaya Date: Wed, 17 Oct 2018 08:44:51 +0200 Subject: [PATCH 02/14] Fixed report agent/module --- .../reporting_builder.item_editor.php | 36 ++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/pandora_console/godmode/reporting/reporting_builder.item_editor.php b/pandora_console/godmode/reporting/reporting_builder.item_editor.php index 9a2f5f3018..e7e5965946 100755 --- a/pandora_console/godmode/reporting/reporting_builder.item_editor.php +++ b/pandora_console/godmode/reporting/reporting_builder.item_editor.php @@ -1087,6 +1087,34 @@ You can of course remove the warnings, that's why we include the source and do n $agents2[$value['id_agente']] = $value['alias']; } + if ((empty($agents2)) || $agents2 == -1) $agents = array(); + + $agents_select = array(); + if (is_array($id_agents) || is_object($id_agents)){ + foreach ($id_agents as $id) { + foreach ($agents2 as $key => $a) { + if ($key == (int)$id) { + $agents_select[$key] = $key; + } + } + } + } + html_print_select($agents2, 'id_agents3[]', $agents_select, $script = '', "", 0, false, true, true, '', false, "min-width: 180px"); + echo ""; + ?> + + + + + + + $value) { + $agents2[$value['id_agente']] = $value['alias']; + } + // $agents = agents_get_group_agents($group); if ((empty($agents2)) || $agents2 == -1) $agents = array(); @@ -1101,7 +1129,6 @@ You can of course remove the warnings, that's why we include the source and do n } } html_print_select($agents2, 'id_agents2[]', $agents_select, $script = '', "", 0, false, true, true, '', false, "min-width: 180px"); - echo ""; ?> @@ -2862,6 +2889,7 @@ function chooseType() { $("#row_percentil").hide(); $("#log_help_tip").css("visibility", "hidden"); $("#agents_row").hide(); + $("#agents_modules_row").hide(); $("#select_agent_modules").hide(); $("#modules_row").hide(); $("#row_show_summary_group").hide(); @@ -3328,7 +3356,7 @@ function chooseType() { $("#row_group").show(); $("#row_module_group").show(); $("#select_agent_modules").show(); - $("#agents_row").show(); + $("#agents_modules_row").show(); $("#modules_row").show(); $("#row_historical_db_check").hide(); break; @@ -3499,7 +3527,7 @@ function set_last_value_period() { } function source_change_agents() { - $("#id_agents2").empty(); + $("#id_agents3").empty(); $("#spinner_hack").show(); jQuery.post ("ajax.php", {"page" : "operation/agentes/ver_agente", @@ -3508,7 +3536,7 @@ function source_change_agents() { }, function (data, status) { for (var clave in data) { - $("#id_agents2").append(''); + $("#id_agents3").append(''); } $("#spinner_hack").hide(); }, From 060e46868d24bffbf0e1dbc98612641f9a11a6ac Mon Sep 17 00:00:00 2001 From: fermin831 Date: Wed, 17 Oct 2018 11:57:22 +0200 Subject: [PATCH 03/14] Fixed tags filter on bulk operation (select module first) --- pandora_console/include/functions_agents.php | 4 +- .../operation/agentes/ver_agente.php | 40 +++++-------------- 2 files changed, 11 insertions(+), 33 deletions(-) diff --git a/pandora_console/include/functions_agents.php b/pandora_console/include/functions_agents.php index 2e9ef1f55f..a6ba0be9fb 100644 --- a/pandora_console/include/functions_agents.php +++ b/pandora_console/include/functions_agents.php @@ -1069,7 +1069,7 @@ function agents_get_group_agents ( */ function agents_get_modules ($id_agent = null, $details = false, $filter = false, $indexed = true, $get_not_init_modules = true, - $noACLs = false) { + $force_tags = false) { global $config; @@ -1205,7 +1205,7 @@ function agents_get_modules ($id_agent = null, $details = false, } $sql_tags_join = ""; - if (tags_has_user_acl_tags($config['id_user'])){ + if (tags_has_user_acl_tags($config['id_user']) || $force_tags){ $where_tags = tags_get_acl_tags($config['id_user'], $id_groups, 'AR', 'module_condition', 'AND', 'tagente_modulo', false, array(), true); diff --git a/pandora_console/operation/agentes/ver_agente.php b/pandora_console/operation/agentes/ver_agente.php index f98af59772..00d5839046 100644 --- a/pandora_console/operation/agentes/ver_agente.php +++ b/pandora_console/operation/agentes/ver_agente.php @@ -674,24 +674,25 @@ if (is_ajax ()) { } else $search = false; - + + $force_tags = !empty($tags); + if ($force_tags) { + $filter['ttag_module.id_tag IN '] = "(" . implode(",", $tags) . ")"; + } if (is_metaconsole() && !$force_local_modules) { if (enterprise_include_once ('include/functions_metaconsole.php') !== ENTERPRISE_NOT_HOOK) { $connection = metaconsole_get_connection($server_name); - - if ($server_id > 0) { $connection = metaconsole_get_connection_by_id($server_id); } - - + if (metaconsole_load_external_db($connection) == NOERR) { /* Get all agents if no agent was given */ if ($id_agent == 0) $id_agent = array_keys( agents_get_group_agents( array_keys (users_get_groups ()), $search, "none")); - $agent_modules = agents_get_modules ($id_agent, $fields, $filter, $indexed, true, false, $tags); + $agent_modules = agents_get_modules ($id_agent, $fields, $filter, $indexed, true, $force_tags); } // Restore db connection metaconsole_restore_db(); @@ -703,35 +704,12 @@ if (is_ajax ()) { $id_agent = array_keys( agents_get_group_agents( array_keys(users_get_groups ()), $search, "none")); - $agent_modules = agents_get_modules ($id_agent, $fields, $filter, $indexed, true, false, $tags); + $agent_modules = agents_get_modules ($id_agent, $fields, $filter, $indexed, true, $force_tags); } - + if (empty($agent_modules)) $agent_modules = array(); - if (!empty($tags)) { - $implode_tags = implode(",", $tags); - $tag_modules = db_get_all_rows_sql("SELECT DISTINCT id_agente_modulo FROM ttag_module WHERE id_tag IN (" . $implode_tags . ")"); - if ($tag_modules) { - $final_modules = array(); - foreach ($agent_modules as $key => $module) { - $in_array = false; - foreach ($tag_modules as $t_module) { - if ($module['id_agente_modulo'] == $t_module['id_agente_modulo']) { - $in_array = true; - } - } - if ($in_array) { - $final_modules[] = $module; - } - } - $agent_modules = $final_modules; - } - else { - $agent_modules = array(); - } - } - foreach ($agent_modules as $key => $module) { $agent_modules[$key]['nombre'] = io_safe_output($module['nombre']); } From 14afe2ff88273fd55f99532577586f7c251e45a5 Mon Sep 17 00:00:00 2001 From: fermin831 Date: Wed, 17 Oct 2018 12:35:11 +0200 Subject: [PATCH 04/14] Added message 'Please, select an agent first' --- pandora_console/godmode/massive/massive_delete_modules.php | 3 +++ pandora_console/godmode/massive/massive_edit_modules.php | 1 + pandora_console/include/javascript/pandora.js | 6 ++++-- pandora_console/operation/agentes/ver_agente.php | 5 +++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/pandora_console/godmode/massive/massive_delete_modules.php b/pandora_console/godmode/massive/massive_delete_modules.php index be10127a80..8725c713aa 100755 --- a/pandora_console/godmode/massive/massive_delete_modules.php +++ b/pandora_console/godmode/massive/massive_delete_modules.php @@ -385,6 +385,9 @@ echo ''; echo ''; ui_require_jquery_file ('form'); +//Hack to translate text "none" in PHP to javascript +echo ''; +echo ''; ui_require_jquery_file ('pandora.controls'); if ($selection_mode == 'modules') { diff --git a/pandora_console/godmode/massive/massive_edit_modules.php b/pandora_console/godmode/massive/massive_edit_modules.php index b12093aaf5..a7056636b0 100755 --- a/pandora_console/godmode/massive/massive_edit_modules.php +++ b/pandora_console/godmode/massive/massive_edit_modules.php @@ -709,6 +709,7 @@ echo ''; echo ''; //Hack to translate text "none" in PHP to javascript echo ''; +echo ''; ui_require_jquery_file ('pandora.controls'); if ($selection_mode == 'modules') { diff --git a/pandora_console/include/javascript/pandora.js b/pandora_console/include/javascript/pandora.js index 0788f43c70..2b323a55f1 100644 --- a/pandora_console/include/javascript/pandora.js +++ b/pandora_console/include/javascript/pandora.js @@ -189,8 +189,10 @@ function agent_changed_by_multiple_agents (event, id_agent, selected) { $('#module').empty (); if (isEmptyObject(data)) { - var noneText = $("#none_text").html(); //Trick for catch the translate text. - + //Trick for catch the translate text. + var noneText = $("#id_agents").val() === null + ? $("#select_agent_first_text").html() + : $("#none_text").html(); if (noneText == null) { noneText = 'None'; } diff --git a/pandora_console/operation/agentes/ver_agente.php b/pandora_console/operation/agentes/ver_agente.php index 00d5839046..df7a2777ff 100644 --- a/pandora_console/operation/agentes/ver_agente.php +++ b/pandora_console/operation/agentes/ver_agente.php @@ -340,6 +340,11 @@ if (is_ajax ()) { 'tmetaconsole_setup', 'id', $id_server); } + if (empty($idAgents[0])) { + echo json_encode(array()); + return; + } + $filter = '1 = 1'; $all = (string)get_parameter('all', 'all'); From 2d2c465ff6db4c2ac4967e3bd0a0bed81b1c6445 Mon Sep 17 00:00:00 2001 From: fermin831 Date: Wed, 17 Oct 2018 15:43:26 +0200 Subject: [PATCH 05/14] Removed unwanted traces --- pandora_console/include/class/Tree.class.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/pandora_console/include/class/Tree.class.php b/pandora_console/include/class/Tree.class.php index 778a56afbc..af7cb2daf3 100644 --- a/pandora_console/include/class/Tree.class.php +++ b/pandora_console/include/class/Tree.class.php @@ -926,8 +926,6 @@ class Tree { $module_search_filter $tag_condition ORDER BY tam.nombre ASC, tam.id_agente_modulo ASC"; - html_debug($sql, true); - html_debug($sql, true, true); return $sql; } From 0c39e321e40a55ff81d22d6c3932189df23f9da4 Mon Sep 17 00:00:00 2001 From: artica Date: Thu, 18 Oct 2018 00:01:24 +0200 Subject: [PATCH 06/14] Auto-updated build strings. --- pandora_agents/unix/DEBIAN/control | 2 +- pandora_agents/unix/DEBIAN/make_deb_package.sh | 2 +- pandora_agents/unix/pandora_agent | 2 +- pandora_agents/unix/pandora_agent.redhat.spec | 2 +- pandora_agents/unix/pandora_agent.spec | 2 +- pandora_agents/unix/pandora_agent_installer | 2 +- pandora_agents/win32/installer/pandora.mpi | 2 +- pandora_agents/win32/pandora.cc | 2 +- pandora_agents/win32/versioninfo.rc | 2 +- pandora_console/DEBIAN/control | 2 +- pandora_console/DEBIAN/make_deb_package.sh | 2 +- pandora_console/include/config_process.php | 2 +- pandora_console/install.php | 2 +- pandora_console/pandora_console.redhat.spec | 2 +- pandora_console/pandora_console.spec | 2 +- pandora_server/DEBIAN/control | 2 +- pandora_server/DEBIAN/make_deb_package.sh | 2 +- pandora_server/lib/PandoraFMS/Config.pm | 2 +- pandora_server/lib/PandoraFMS/PluginTools.pm | 2 +- pandora_server/pandora_server.redhat.spec | 2 +- pandora_server/pandora_server.spec | 2 +- pandora_server/pandora_server_installer | 2 +- pandora_server/util/pandora_db.pl | 2 +- pandora_server/util/pandora_manage.pl | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) diff --git a/pandora_agents/unix/DEBIAN/control b/pandora_agents/unix/DEBIAN/control index 07038a3ca9..ee79ad5790 100644 --- a/pandora_agents/unix/DEBIAN/control +++ b/pandora_agents/unix/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-agent-unix -Version: 7.0NG.727-181017 +Version: 7.0NG.727-181018 Architecture: all Priority: optional Section: admin diff --git a/pandora_agents/unix/DEBIAN/make_deb_package.sh b/pandora_agents/unix/DEBIAN/make_deb_package.sh index 37eaeacd72..800cd7c3c6 100644 --- a/pandora_agents/unix/DEBIAN/make_deb_package.sh +++ b/pandora_agents/unix/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.727-181017" +pandora_version="7.0NG.727-181018" echo "Test if you has the tools for to make the packages." whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null diff --git a/pandora_agents/unix/pandora_agent b/pandora_agents/unix/pandora_agent index cf2b62ad81..4c59adb6c3 100755 --- a/pandora_agents/unix/pandora_agent +++ b/pandora_agents/unix/pandora_agent @@ -42,7 +42,7 @@ my $Sem = undef; my $ThreadSem = undef; use constant AGENT_VERSION => '7.0NG.727'; -use constant AGENT_BUILD => '181017'; +use constant AGENT_BUILD => '181018'; # Agent log default file size maximum and instances use constant DEFAULT_MAX_LOG_SIZE => 600000; diff --git a/pandora_agents/unix/pandora_agent.redhat.spec b/pandora_agents/unix/pandora_agent.redhat.spec index e0098610ff..759f2b6bc6 100644 --- a/pandora_agents/unix/pandora_agent.redhat.spec +++ b/pandora_agents/unix/pandora_agent.redhat.spec @@ -3,7 +3,7 @@ # %define name pandorafms_agent_unix %define version 7.0NG.727 -%define release 181017 +%define release 181018 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent.spec b/pandora_agents/unix/pandora_agent.spec index 98bbe14930..29425920c8 100644 --- a/pandora_agents/unix/pandora_agent.spec +++ b/pandora_agents/unix/pandora_agent.spec @@ -3,7 +3,7 @@ # %define name pandorafms_agent_unix %define version 7.0NG.727 -%define release 181017 +%define release 181018 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent_installer b/pandora_agents/unix/pandora_agent_installer index dcc22bb840..6ab24657a8 100755 --- a/pandora_agents/unix/pandora_agent_installer +++ b/pandora_agents/unix/pandora_agent_installer @@ -10,7 +10,7 @@ # ********************************************************************** PI_VERSION="7.0NG.727" -PI_BUILD="181017" +PI_BUILD="181018" OS_NAME=`uname -s` FORCE=0 diff --git a/pandora_agents/win32/installer/pandora.mpi b/pandora_agents/win32/installer/pandora.mpi index 6eb50cd34e..cecca12124 100644 --- a/pandora_agents/win32/installer/pandora.mpi +++ b/pandora_agents/win32/installer/pandora.mpi @@ -186,7 +186,7 @@ UpgradeApplicationID {} Version -{181017} +{181018} ViewReadme {Yes} diff --git a/pandora_agents/win32/pandora.cc b/pandora_agents/win32/pandora.cc index edfd3b2869..418d790c32 100644 --- a/pandora_agents/win32/pandora.cc +++ b/pandora_agents/win32/pandora.cc @@ -30,7 +30,7 @@ using namespace Pandora; using namespace Pandora_Strutils; #define PATH_SIZE _MAX_PATH+1 -#define PANDORA_VERSION ("7.0NG.727(Build 181017)") +#define PANDORA_VERSION ("7.0NG.727(Build 181018)") string pandora_path; string pandora_dir; diff --git a/pandora_agents/win32/versioninfo.rc b/pandora_agents/win32/versioninfo.rc index 0ceed3f74b..da043c19ce 100644 --- a/pandora_agents/win32/versioninfo.rc +++ b/pandora_agents/win32/versioninfo.rc @@ -11,7 +11,7 @@ BEGIN VALUE "LegalCopyright", "Artica ST" VALUE "OriginalFilename", "PandoraAgent.exe" VALUE "ProductName", "Pandora FMS Windows Agent" - VALUE "ProductVersion", "(7.0NG.727(Build 181017))" + VALUE "ProductVersion", "(7.0NG.727(Build 181018))" VALUE "FileVersion", "1.0.0.0" END END diff --git a/pandora_console/DEBIAN/control b/pandora_console/DEBIAN/control index 698e1666c9..a83794908d 100644 --- a/pandora_console/DEBIAN/control +++ b/pandora_console/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-console -Version: 7.0NG.727-181017 +Version: 7.0NG.727-181018 Architecture: all Priority: optional Section: admin diff --git a/pandora_console/DEBIAN/make_deb_package.sh b/pandora_console/DEBIAN/make_deb_package.sh index 517b550c9d..2badb5f231 100644 --- a/pandora_console/DEBIAN/make_deb_package.sh +++ b/pandora_console/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.727-181017" +pandora_version="7.0NG.727-181018" package_pear=0 package_pandora=1 diff --git a/pandora_console/include/config_process.php b/pandora_console/include/config_process.php index c55b8c6526..4a3e1ee9fc 100644 --- a/pandora_console/include/config_process.php +++ b/pandora_console/include/config_process.php @@ -22,7 +22,7 @@ /** * Pandora build version and version */ -$build_version = 'PC181017'; +$build_version = 'PC181018'; $pandora_version = 'v7.0NG.727'; // Do not overwrite default timezone set if defined. diff --git a/pandora_console/install.php b/pandora_console/install.php index a346592664..1b5dbeeecc 100755 --- a/pandora_console/install.php +++ b/pandora_console/install.php @@ -71,7 +71,7 @@
[ qw() ] ); diff --git a/pandora_server/pandora_server.redhat.spec b/pandora_server/pandora_server.redhat.spec index 0118ad9f8a..38fd6092fa 100644 --- a/pandora_server/pandora_server.redhat.spec +++ b/pandora_server/pandora_server.redhat.spec @@ -3,7 +3,7 @@ # %define name pandorafms_server %define version 7.0NG.727 -%define release 181017 +%define release 181018 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server.spec b/pandora_server/pandora_server.spec index 8b110dbf83..7204453e87 100644 --- a/pandora_server/pandora_server.spec +++ b/pandora_server/pandora_server.spec @@ -3,7 +3,7 @@ # %define name pandorafms_server %define version 7.0NG.727 -%define release 181017 +%define release 181018 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server_installer b/pandora_server/pandora_server_installer index 5182e498d6..8d02ff8cb0 100755 --- a/pandora_server/pandora_server_installer +++ b/pandora_server/pandora_server_installer @@ -9,7 +9,7 @@ # ********************************************************************** PI_VERSION="7.0NG.727" -PI_BUILD="181017" +PI_BUILD="181018" MODE=$1 if [ $# -gt 1 ]; then diff --git a/pandora_server/util/pandora_db.pl b/pandora_server/util/pandora_db.pl index f6e2ba3e69..3af53796c5 100644 --- a/pandora_server/util/pandora_db.pl +++ b/pandora_server/util/pandora_db.pl @@ -34,7 +34,7 @@ use PandoraFMS::Config; use PandoraFMS::DB; # version: define current version -my $version = "7.0NG.727 PS181017"; +my $version = "7.0NG.727 PS181018"; # Pandora server configuration my %conf; diff --git a/pandora_server/util/pandora_manage.pl b/pandora_server/util/pandora_manage.pl index 46d01e5abe..7df2a9a7be 100644 --- a/pandora_server/util/pandora_manage.pl +++ b/pandora_server/util/pandora_manage.pl @@ -36,7 +36,7 @@ use Encode::Locale; Encode::Locale::decode_argv; # version: define current version -my $version = "7.0NG.727 PS181017"; +my $version = "7.0NG.727 PS181018"; # save program name for logging my $progname = basename($0); From e299209a9235358d8ddbc980f91a6422739d2121 Mon Sep 17 00:00:00 2001 From: daniel Date: Thu, 18 Oct 2018 13:24:15 +0200 Subject: [PATCH 07/14] 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;} - +