From 17a9d6020f10c2f42664901ac2d83e06df36ef25 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Wed, 5 Apr 2023 12:52:44 +0200 Subject: [PATCH 1/5] #10864 Solution conflict files removed --- .../godmode/agentes/inventory_manager.php | 3 +- .../include/functions_inventory.php | 6 ++- .../operation/agentes/agent_inventory.php | 1 - .../operation/agentes/ver_agente.php | 42 +++++++++---------- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/pandora_console/godmode/agentes/inventory_manager.php b/pandora_console/godmode/agentes/inventory_manager.php index 4b6a53df47..77feece220 100644 --- a/pandora_console/godmode/agentes/inventory_manager.php +++ b/pandora_console/godmode/agentes/inventory_manager.php @@ -237,8 +237,9 @@ if (db_get_num_rows($sql) == 0) { $table->head[5] = __('Actions'); $table->align = []; $table->align[5] = 'left'; - + $i = 0; foreach ($result as $row) { + $table->cellclass[$i++][5] = 'table_action_buttons'; $data = []; $sql = sprintf('SELECT id_policy FROM tpolicy_modules_inventory WHERE id = %d', $row['id_policy_module_inventory']); diff --git a/pandora_console/include/functions_inventory.php b/pandora_console/include/functions_inventory.php index 0a8c31c512..dc0c23a31c 100644 --- a/pandora_console/include/functions_inventory.php +++ b/pandora_console/include/functions_inventory.php @@ -756,8 +756,10 @@ function inventory_get_datatable( foreach ($rows as $row) { $data_rows = explode(PHP_EOL, $row['data']); foreach ($data_rows as $data_key => $data_value) { - $row['data'] = $data_value; - $modules[$row['name']][$row['name_agent'].'-'.$data_key.'-'.$data_value] = $row; + if (empty($data_value) === false) { + $row['data'] = $data_value; + $modules[$row['name']][$row['name_agent'].'-'.$data_key.'-'.$data_value] = $row; + } } } diff --git a/pandora_console/operation/agentes/agent_inventory.php b/pandora_console/operation/agentes/agent_inventory.php index 7e99ec84f5..71dfb3bebc 100644 --- a/pandora_console/operation/agentes/agent_inventory.php +++ b/pandora_console/operation/agentes/agent_inventory.php @@ -219,7 +219,6 @@ foreach ($rows as $row) { if ($idModuleInventory != $row['id_module_inventory']) { if (isset($table) === true && $rowTable >= 1) { - html_print_table($table); unset($table); $rowTable = 1; $printedTables++; diff --git a/pandora_console/operation/agentes/ver_agente.php b/pandora_console/operation/agentes/ver_agente.php index ad7977c9f4..2946f2ea70 100644 --- a/pandora_console/operation/agentes/ver_agente.php +++ b/pandora_console/operation/agentes/ver_agente.php @@ -30,7 +30,7 @@ use PandoraFMS\Enterprise\Metaconsole\Node; global $config; -require_once 'include/functions_gis.php'; +require_once $config['homedir'].'/include/functions_gis.php'; require_once $config['homedir'].'/include/functions_agents.php'; require_once $config['homedir'].'/include/functions_groups.php'; require_once $config['homedir'].'/include/functions_modules.php'; @@ -1442,22 +1442,13 @@ $alerttab['active'] = ($tab === 'alert'); // Inventory. $inventoryCount = db_get_num_rows('SELECT id_agent_module_inventory FROM tagent_module_inventory WHERE id_agente = '.$agent['id_agente']); -$inventorytab['text'] = ''.html_print_image( - 'images/hardware-software-component@svg.svg', - true, - [ - 'class' => 'main_menu_icon invert_filter', - 'title' => __('Inventory'), - ] -).''; -if ($tab == 'inventory') { - $inventorytab['active'] = true; -} else { - $inventorytab['active'] = false; +$inventorytab = enterprise_hook('inventory_tab'); + +if ($inventorytab === ENTERPRISE_NOT_HOOK || $inventoryCount === 0) { + $inventorytab = ''; } - // Collection. if ((int) $config['license_nms'] !== 1) { $collectiontab = enterprise_hook('collection_tab'); @@ -1477,12 +1468,13 @@ if ($policyTab === ENTERPRISE_NOT_HOOK) { // Omnishell. -$tasks = count_tasks_agent($id_agente); - -if ($tasks === true) { - $omnishellTab = enterprise_hook('omnishell_tab'); - if ($omnishellTab == -1) { - $omnishellTab = ''; +if (function_exists('count_tasks_agent')) { + $tasks = count_tasks_agent($id_agente); + if ($tasks === true) { + $omnishellTab = enterprise_hook('omnishell_tab'); + if ($omnishellTab == -1) { + $omnishellTab = ''; + } } } @@ -1587,7 +1579,7 @@ if (enterprise_installed() === true && (bool) $config['log_collector'] === true) $log_viewer_tab['text'] = html_print_menu_button( [ 'href' => 'index.php?sec=estado&sec2=operation/agentes/ver_agente&tab=log_viewer&id_agente='.$id_agente, - 'image' => 'images/gm_log.png', + 'image' => 'images/gm_log@svg.svg', 'title' => __('Log Viewer'), ], true @@ -1917,7 +1909,7 @@ switch ($tab) { if ((bool) $config['pure'] === false) { ui_print_standard_header( - __('Agent main view'), + __('Agent main view').' ( '.strtolower(agents_get_alias($id_agente)).' )', $icon, false, ($help_header ?? ''), @@ -1936,6 +1928,12 @@ if ((bool) $config['pure'] === false) { 'link' => '', 'label' => $tab_name, ], + ], + [ + 'id_element' => $id_agente, + 'url' => 'operation/agentes/ver_agente&id_agente='.$id_agente, + 'label' => agents_get_alias($id_agente), + 'section' => 'Agents', ] ); } From 45ca03245c954fbe36de4b6f40bef6c6161232b2 Mon Sep 17 00:00:00 2001 From: Pablo Aragon Date: Mon, 10 Apr 2023 08:56:44 +0200 Subject: [PATCH 2/5] 10873-Mini mobile console review --- pandora_console/include/functions_ui.php | 2 +- pandora_console/mobile/include/style/main.css | 41 +++++++++++++++++++ pandora_console/mobile/operation/agent.php | 4 +- .../mobile/operation/module_graph.php | 1 + 4 files changed, 45 insertions(+), 3 deletions(-) diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php index bc8b0f867b..11670b33f6 100755 --- a/pandora_console/include/functions_ui.php +++ b/pandora_console/include/functions_ui.php @@ -6944,7 +6944,7 @@ function ui_get_favicon() global $config; if (empty($config['custom_favicon'])) { - return (!is_metaconsole()) ? 'images/pandora.ico' : 'enterprise/meta/images/favicon_meta.ico'; + return (!is_metaconsole()) ? 'images/pandora.ico' : '/images/favicon_meta.ico'; } return 'images/custom_favicon/'.$config['custom_favicon']; diff --git a/pandora_console/mobile/include/style/main.css b/pandora_console/mobile/include/style/main.css index 12dc41034a..f6b3f17874 100755 --- a/pandora_console/mobile/include/style/main.css +++ b/pandora_console/mobile/include/style/main.css @@ -25,6 +25,11 @@ * GNU General Public License for more details. * ============================================================================ */ +:root { + --primary-color: #14524f; + --secondary-color: #ffffff; + --input-border: #c0ccdc; +} @font-face { font-family: "lato"; @@ -1505,3 +1510,39 @@ div.nodata_container { .visual-console-container-dashboard a:visited { color: inherit !important; } + +/* SVG icons mask */ +.module_background_state { + mask: url(../../../images/modules@svg.svg) no-repeat center / contain; + -webkit-mask: url(../../../images/modules@svg.svg) no-repeat center / contain; + margin: 0 auto; +} + +.alert_background_state { + mask: url(../../../images/alert@svg.svg) no-repeat center / contain; + -webkit-mask: url(../../../images/alert@svg.svg) no-repeat center / contain; + margin: 0 auto; +} + +div.main_menu_icon, +img.main_menu_icon[src$=".svg"] { + width: 18px; + height: 18px; +} + +img.os-big-icon[src$=".svg"] { + width: 100px; + height: 100px; +} + +div.noresizevc.graph.adapted_sparse + div.flot-x-axis.flot-x1-axis.xAxis.x1Axis + > div.flot-tick-label.tickLabel:nth-child(odd) { + visibility: hidden !important; +} + +div.noresizevc.graph.adapted_sparse + div.flot-x-axis.flot-x1-axis.xAxis.x1Axis + > div.flot-tick-label.tickLabel:first-child { + visibility: visible !important; +} diff --git a/pandora_console/mobile/operation/agent.php b/pandora_console/mobile/operation/agent.php index 4806cfda4d..4ab3f7a234 100644 --- a/pandora_console/mobile/operation/agent.php +++ b/pandora_console/mobile/operation/agent.php @@ -213,8 +213,8 @@ class Agent false, false, false, - false, - true + ['class' => 'invert_filter os-big-icon'], + false ).''; $html .= '
'; $html .= $ip.' - '.groups_get_name($this->agent['id_grupo'], true); diff --git a/pandora_console/mobile/operation/module_graph.php b/pandora_console/mobile/operation/module_graph.php index 1a1874a234..f8fb4da297 100644 --- a/pandora_console/mobile/operation/module_graph.php +++ b/pandora_console/mobile/operation/module_graph.php @@ -206,6 +206,7 @@ class ModuleGraph $graph = grafico_modulo_sparse($params); if ($this->draw_events) { + $this->width = 100; $graph .= '
'; $graph .= graphic_module_events( $this->id, From a0ae7327c7d055bb6826f90459cf8bcdc43b3ba9 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Mon, 10 Apr 2023 09:23:40 +0200 Subject: [PATCH 3/5] Conflict solution inventory --- .../operation/agentes/agent_inventory.php | 14 +++++++------- .../operation/agentes/ver_agente.php | 17 ++++++++++++++--- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/pandora_console/operation/agentes/agent_inventory.php b/pandora_console/operation/agentes/agent_inventory.php index 71dfb3bebc..1d692bfd41 100644 --- a/pandora_console/operation/agentes/agent_inventory.php +++ b/pandora_console/operation/agentes/agent_inventory.php @@ -218,7 +218,8 @@ foreach ($rows as $row) { } if ($idModuleInventory != $row['id_module_inventory']) { - if (isset($table) === true && $rowTable >= 1) { + if (isset($table) === true && $rowTable > 1) { + html_print_table($table); unset($table); $rowTable = 1; $printedTables++; @@ -309,17 +310,16 @@ foreach ($rows as $row) { $rowTable++; } - if ($iterator1 > 5) { - // PRINT COUNT TOTAL. - $table->data[$rowTable][0] = ''.__('Total').': '.$iterator1; - $rowTable++; - } + // PRINT COUNT TOTAL. + $table->colspan[$rowTable][0] = 10; + $table->data[$rowTable][0] = ''.__('Total').': '.$iterator1; + $rowTable++; } $idModuleInventory = $row['id_module_inventory']; } -if (isset($table) === true && $rowTable >= 1) { +if (isset($table) === true && $rowTable > 1) { html_print_table($table); $printedTables++; } diff --git a/pandora_console/operation/agentes/ver_agente.php b/pandora_console/operation/agentes/ver_agente.php index 2946f2ea70..19ac249753 100644 --- a/pandora_console/operation/agentes/ver_agente.php +++ b/pandora_console/operation/agentes/ver_agente.php @@ -1443,10 +1443,21 @@ $alerttab['active'] = ($tab === 'alert'); // Inventory. $inventoryCount = db_get_num_rows('SELECT id_agent_module_inventory FROM tagent_module_inventory WHERE id_agente = '.$agent['id_agente']); -$inventorytab = enterprise_hook('inventory_tab'); +if ($inventoryCount > 0) { + $inventorytab['text'] = html_print_menu_button( + [ + 'href' => 'index.php?sec=estado&sec2=operation/agentes/ver_agente&tab=inventory&id_agente='.$id_agente, + 'image' => 'images/hardware-software-component@svg.svg', + 'title' => __('Inventory'), + ], + true + ); -if ($inventorytab === ENTERPRISE_NOT_HOOK || $inventoryCount === 0) { - $inventorytab = ''; + if ($tab === 'inventory') { + $inventorytab['active'] = true; + } else { + $inventorytab['active'] = false; + } } // Collection. From b074b1bb0395b75e3f4b77fb05c2c3afefd2062e Mon Sep 17 00:00:00 2001 From: rafael Date: Mon, 10 Apr 2023 14:43:33 +0200 Subject: [PATCH 4/5] 10887 adding template files to server spec --- pandora_server/pandora_server.redhat.spec | 5 +++++ pandora_server/pandora_server.spec | 3 +++ 2 files changed, 8 insertions(+) diff --git a/pandora_server/pandora_server.redhat.spec b/pandora_server/pandora_server.redhat.spec index f645c7cace..79243139d6 100644 --- a/pandora_server/pandora_server.redhat.spec +++ b/pandora_server/pandora_server.redhat.spec @@ -60,6 +60,7 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/pandora/data_in/trans mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/pandora/data_in/commands mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/pandora/ mkdir -p $RPM_BUILD_ROOT%{prefix}/pandora_server/conf/ +mkdir -p $RPM_BUILD_ROOT%{prefix}/pandora_server/conf.d/ mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1/ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/cron.hourly/ @@ -90,6 +91,7 @@ if [ ! -f $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/pandora_server ] ; then fi install -m 0640 conf/pandora_server.conf.new $RPM_BUILD_ROOT%{_sysconfdir}/pandora/pandora_server.conf.new install -m 0640 conf/tentacle_server.conf.new $RPM_BUILD_ROOT%{_sysconfdir}/tentacle/tentacle_server.conf.new +install -m 0640 conf/pandora_server_sec.conf.template $RPM_BUILD_ROOT%{_sysconfdir}/pandora/conf.d/pandora_server_sec.conf.template mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sudoers.d chmod 0750 $RPM_BUILD_ROOT%{_sysconfdir}/sudoers.d @@ -228,6 +230,9 @@ exit 0 %defattr(600,root,root) /etc/pandora/pandora_server.conf.new +%defattr(600,root,root) +/etc/pandora/conf.d/pandora_server_sec.conf.template + %defattr(664,root,root) /etc/tentacle/tentacle_server.conf.new diff --git a/pandora_server/pandora_server.spec b/pandora_server/pandora_server.spec index 8e0d3ae452..547e34af6e 100644 --- a/pandora_server/pandora_server.spec +++ b/pandora_server/pandora_server.spec @@ -67,6 +67,7 @@ mkdir -p $RPM_BUILD_ROOT/var/spool/pandora/data_in/trans mkdir -p $RPM_BUILD_ROOT/var/spool/pandora/data_in/commands mkdir -p $RPM_BUILD_ROOT/var/log/pandora/ mkdir -p $RPM_BUILD_ROOT%{prefix}/pandora_server/conf/ +mkdir -p $RPM_BUILD_ROOT%{prefix}/pandora_server/conf.d/ mkdir -p $RPM_BUILD_ROOT%{prefix}/tentacle/conf/ mkdir -p $RPM_BUILD_ROOT/usr/lib/perl5/ mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1/ @@ -78,6 +79,7 @@ cp -aRf bin/tentacle_server $RPM_BUILD_ROOT/usr/bin/ cp -aRf conf/pandora_* $RPM_BUILD_ROOT%{prefix}/pandora_server/conf/ cp -aRf conf/pandora_server.conf.new $RPM_BUILD_ROOT/etc/pandora/ +cp -aRf conf/pandora_server_sec.conf.template $RPM_BUILD_ROOT/etc/pandora/conf.d/pandora_server_sec.conf.template cp -aRf conf/tentacle_* $RPM_BUILD_ROOT%{prefix}/tentacle/conf/ cp -aRf conf/tentacle_server.conf.new $RPM_BUILD_ROOT/etc/tentacle/ cp -aRf util $RPM_BUILD_ROOT%{prefix}/pandora_server/ @@ -202,6 +204,7 @@ rm -Rf %{prefix}pandora_server rm -Rf /var/log/pandora rm -Rf /usr/lib/perl5/PandoraFMS/ rm -Rf /etc/pandora/pandora_server.conf* +rm -Rf /etc/pandora/conf.d/* rm -Rf /etc/tentacle/tentacle_server.conf* rm -Rf /var/spool/pandora rm -Rf /etc/init.d/pandora_server /etc/init.d/tentacle_serverd From 60f3e74358869c345f9d2cc6dc0035c864707425 Mon Sep 17 00:00:00 2001 From: Rafael Date: Mon, 10 Apr 2023 15:26:10 +0200 Subject: [PATCH 5/5] 10887 adding .template file in a .spec for pandora server --- pandora_server/pandora_server.redhat.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandora_server/pandora_server.redhat.spec b/pandora_server/pandora_server.redhat.spec index 79243139d6..8275ddbccd 100644 --- a/pandora_server/pandora_server.redhat.spec +++ b/pandora_server/pandora_server.redhat.spec @@ -49,6 +49,7 @@ rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_bindir}/ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pandora/ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pandora/conf.d mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/tentacle/ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/pandora/data_in mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/pandora/data_in/conf @@ -90,8 +91,8 @@ if [ ! -f $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/pandora_server ] ; then install -m 0644 util/pandora_server_logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/pandora_server fi install -m 0640 conf/pandora_server.conf.new $RPM_BUILD_ROOT%{_sysconfdir}/pandora/pandora_server.conf.new -install -m 0640 conf/tentacle_server.conf.new $RPM_BUILD_ROOT%{_sysconfdir}/tentacle/tentacle_server.conf.new install -m 0640 conf/pandora_server_sec.conf.template $RPM_BUILD_ROOT%{_sysconfdir}/pandora/conf.d/pandora_server_sec.conf.template +install -m 0640 conf/tentacle_server.conf.new $RPM_BUILD_ROOT%{_sysconfdir}/tentacle/tentacle_server.conf.new mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sudoers.d chmod 0750 $RPM_BUILD_ROOT%{_sysconfdir}/sudoers.d