mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-09-26 11:29:12 +02:00
new console report pandora_enterprise#6367
This commit is contained in:
parent
66cb2b42c2
commit
01ba149280
@ -436,9 +436,22 @@ echo sprintf('<div id="header_table" class="header_table_%s">', $menuTypeClass);
|
||||
);
|
||||
$header_logout .= '</a></div>';
|
||||
|
||||
if (is_reporting_console_node() === true) {
|
||||
echo '<div class="header_left">';
|
||||
echo '<span class="header_title">';
|
||||
echo $config['custom_title_header'];
|
||||
echo '</span>';
|
||||
echo '<span class="header_subtitle">';
|
||||
echo $config['custom_subtitle_header'];
|
||||
echo '</span>';
|
||||
echo '</div>';
|
||||
echo '<div class="header_center"></div>';
|
||||
echo '<div class="header_right">'.$header_support, $header_docu, $header_user, $header_logout.'</div>';
|
||||
} else {
|
||||
echo '<div class="header_left"><span class="header_title">'.$config['custom_title_header'].'</span><span class="header_subtitle">'.$config['custom_subtitle_header'].'</span></div>
|
||||
<div class="header_center">'.$header_searchbar.'</div>
|
||||
<div class="header_right">'.$header_autorefresh, $header_autorefresh_counter, $header_discovery, $servers_list, $header_feedback, $header_support, $header_docu, $header_user, $header_logout.'</div>';
|
||||
}
|
||||
?>
|
||||
</div> <!-- Closes #table_header_inner -->
|
||||
</div> <!-- Closes #table_header -->
|
||||
|
@ -58,6 +58,10 @@ if (isset($config['autohidden_menu']) === true && (bool) $config['autohidden_men
|
||||
|
||||
// Start of full lateral menu.
|
||||
echo sprintf('<div id="menu_full" class="menu_full_%s">', $menuTypeClass);
|
||||
$url_logo = ui_get_full_url('index.php');
|
||||
if (is_reporting_console_node() === false) {
|
||||
$url_logo = 'index.php?logged=1&sec=discovery&sec2=godmode/servers/discovery&wiz=tasklist';
|
||||
}
|
||||
|
||||
// Header logo.
|
||||
html_print_div(
|
||||
@ -65,7 +69,7 @@ html_print_div(
|
||||
'class' => 'logo_green',
|
||||
'content' => html_print_anchor(
|
||||
[
|
||||
'href' => ui_get_full_url('index.php'),
|
||||
'href' => $url_logo,
|
||||
'content' => html_print_header_logo_image(
|
||||
$menuCollapsed,
|
||||
true
|
||||
|
103
pandora_console/general/reporting_console_node.php
Normal file
103
pandora_console/general/reporting_console_node.php
Normal file
@ -0,0 +1,103 @@
|
||||
<?php
|
||||
/**
|
||||
* Static page to lock access to console but console reporting
|
||||
*
|
||||
* @category Reporting
|
||||
* @package Pandora FMS
|
||||
* @subpackage Applications
|
||||
* @version 1.0.0
|
||||
* @license See below
|
||||
*
|
||||
* ______ ___ _______ _______ ________
|
||||
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
|
||||
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
*
|
||||
* ============================================================================
|
||||
* Copyright (c) 2005-2022 Artica Soluciones Tecnologicas
|
||||
* Please see http://pandorafms.org for full contribution list
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation for version 2.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
* ============================================================================
|
||||
*/
|
||||
|
||||
global $config;
|
||||
|
||||
// Begin.
|
||||
echo ui_require_css_file('maintenance', 'include/styles/', true);
|
||||
|
||||
$data = [];
|
||||
$data['id_node'] = $config['metaconsole_node_id'];
|
||||
$data['check_ver'] = $config['current_package'];
|
||||
$data['check_mr'] = $config['MR'];
|
||||
$data['collection_max_size'] = $config['collection_max_size'];
|
||||
$data['check_post_max_size'] = ini_get('post_max_size');
|
||||
$data['check_upload_max_filesize'] = ini_get('upload_max_filesize');
|
||||
$data['check_memory_limit'] = ini_get('memory_limit');
|
||||
$data['check_php_version'] = phpversion();
|
||||
|
||||
?>
|
||||
<html>
|
||||
<body class="responsive-height">
|
||||
<div class="responsive center padding-6">
|
||||
<p><?php echo __('Console only reporting node'); ?></p>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<?php
|
||||
html_print_image(
|
||||
'images/maintenance.png',
|
||||
false,
|
||||
[
|
||||
'class' => 'responsive',
|
||||
'width' => 800,
|
||||
]
|
||||
);
|
||||
?>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<p><?php echo __('Info'); ?></p>
|
||||
<ul class="container-list">
|
||||
<li>
|
||||
<span class=title>
|
||||
<?php echo __('Version'); ?>:
|
||||
</span>
|
||||
<span>
|
||||
<?php echo $config['current_package']; ?>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class=title>
|
||||
<?php echo __('Mr'); ?>:
|
||||
</span>
|
||||
<span>
|
||||
<?php echo $config['MR']; ?>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class=title>
|
||||
<?php echo __('Memory limit'); ?>:
|
||||
</span>
|
||||
<span>
|
||||
<?php echo ini_get('memory_limit'); ?>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class=title>
|
||||
<?php echo __('Php version'); ?>:
|
||||
</span>
|
||||
<span>
|
||||
<?php echo phpversion(); ?>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -28,15 +28,18 @@
|
||||
|
||||
// Begin.
|
||||
require_once 'include/config.php';
|
||||
require_once 'include/functions_menu.php';
|
||||
|
||||
check_login();
|
||||
|
||||
enterprise_include('godmode/menu.php');
|
||||
require_once 'include/functions_menu.php';
|
||||
|
||||
$access_console_node = !is_reporting_console_node();
|
||||
$menu_godmode = [];
|
||||
$menu_godmode['class'] = 'godmode';
|
||||
|
||||
if ($access_console_node === true) {
|
||||
enterprise_include('godmode/menu.php');
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AR') === true
|
||||
|| (bool) check_acl($config['id_user'], 0, 'AW') === true
|
||||
|| (bool) check_acl($config['id_user'], 0, 'RR') === true
|
||||
@ -46,9 +49,11 @@ if ((bool) check_acl($config['id_user'], 0, 'AR') === true
|
||||
$sub = [];
|
||||
$sub['godmode/servers/discovery&wiz=main']['text'] = __('Start');
|
||||
$sub['godmode/servers/discovery&wiz=main']['id'] = 'Discovery';
|
||||
|
||||
$sub['godmode/servers/discovery&wiz=tasklist']['text'] = __('Task list');
|
||||
$sub['godmode/servers/discovery&wiz=tasklist']['id'] = 'tasklist';
|
||||
|
||||
if ($access_console_node === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AW') === true
|
||||
|| (bool) check_acl($config['id_user'], 0, 'PM') === true
|
||||
) {
|
||||
@ -73,6 +78,7 @@ if ((bool) check_acl($config['id_user'], 0, 'AR') === true
|
||||
enterprise_hook('cloud_menu');
|
||||
enterprise_hook('console_task_menu');
|
||||
}
|
||||
}
|
||||
|
||||
// Add to menu.
|
||||
$menu_godmode['discovery']['text'] = __('Discovery');
|
||||
@ -81,15 +87,15 @@ if ((bool) check_acl($config['id_user'], 0, 'AR') === true
|
||||
$menu_godmode['discovery']['sub'] = $sub;
|
||||
}
|
||||
|
||||
|
||||
$sub = [];
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AW') === true || (bool) check_acl($config['id_user'], 0, 'AD') === true) {
|
||||
if ($access_console_node === true) {
|
||||
$sub = [];
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AW') === true || (bool) check_acl($config['id_user'], 0, 'AD') === true) {
|
||||
$sub['godmode/agentes/modificar_agente']['text'] = __('Manage agents');
|
||||
$sub['godmode/agentes/modificar_agente']['id'] = 'Manage agents';
|
||||
$sub['godmode/agentes/modificar_agente']['subsecs'] = ['godmode/agentes/configurar_agente'];
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
$sub['godmode/agentes/fields_manager']['text'] = __('Custom fields');
|
||||
$sub['godmode/agentes/fields_manager']['id'] = 'Custom fields';
|
||||
|
||||
@ -105,57 +111,57 @@ if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
|
||||
$sub['godmode/groups/modu_group_list']['text'] = __('Module groups');
|
||||
$sub['godmode/groups/modu_group_list']['id'] = 'Module groups';
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AW') === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AW') === true) {
|
||||
// Netflow.
|
||||
if ((bool) $config['activate_netflow'] === true) {
|
||||
$sub['godmode/netflow/nf_edit']['text'] = __('Netflow filters');
|
||||
$sub['godmode/netflow/nf_edit']['id'] = 'Netflow filters';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($sub) === false) {
|
||||
if (empty($sub) === false) {
|
||||
$menu_godmode['gagente']['text'] = __('Resources');
|
||||
$menu_godmode['gagente']['sec2'] = 'godmode/agentes/modificar_agente';
|
||||
$menu_godmode['gagente']['id'] = 'god-resources';
|
||||
$menu_godmode['gagente']['sub'] = $sub;
|
||||
}
|
||||
}
|
||||
|
||||
$sub = [];
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
$sub = [];
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
$sub['godmode/groups/group_list']['text'] = __('Manage agents groups');
|
||||
$sub['godmode/groups/group_list']['id'] = 'Manage agents groups';
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
// Tag.
|
||||
$sub['godmode/tag/tag']['text'] = __('Module tags');
|
||||
$sub['godmode/tag/tag']['id'] = 'Module tags';
|
||||
$sub['godmode/tag/tag']['subsecs'] = 'godmode/tag/edit_tag';
|
||||
|
||||
enterprise_hook('enterprise_acl_submenu');
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'UM') === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'UM') === true) {
|
||||
$sub['godmode/users/user_list']['text'] = __('Users management');
|
||||
$sub['godmode/users/user_list']['id'] = 'Users management';
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
$sub['godmode/users/profile_list']['text'] = __('Profile management');
|
||||
$sub['godmode/users/profile_list']['id'] = 'Profile management';
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($sub) === false) {
|
||||
if (empty($sub) === false) {
|
||||
$menu_godmode['gusuarios']['sub'] = $sub;
|
||||
$menu_godmode['gusuarios']['text'] = __('Profiles');
|
||||
$menu_godmode['gusuarios']['sec2'] = 'godmode/users/user_list';
|
||||
$menu_godmode['gusuarios']['id'] = 'god-users';
|
||||
}
|
||||
}
|
||||
|
||||
$sub = [];
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
$sub = [];
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
$sub['templates']['text'] = __('Templates');
|
||||
$sub['templates']['id'] = 'Templates';
|
||||
$sub['templates']['type'] = 'direct';
|
||||
@ -174,18 +180,18 @@ if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
enterprise_hook('inventory_submenu');
|
||||
enterprise_hook('autoconfiguration_menu');
|
||||
enterprise_hook('agent_repository_menu');
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AW') === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AW') === true) {
|
||||
enterprise_hook('policies_menu');
|
||||
enterprise_hook('agents_submenu');
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'NW') === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'NW') === true) {
|
||||
enterprise_hook('agents_ncm_submenu');
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AW') === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AW') === true) {
|
||||
$sub['gmassive']['text'] = __('Bulk operations');
|
||||
$sub['gmassive']['id'] = 'Bulk operations';
|
||||
$sub['gmassive']['type'] = 'direct';
|
||||
@ -206,48 +212,48 @@ if ((bool) check_acl($config['id_user'], 0, 'AW') === true) {
|
||||
|
||||
$sub['gmassive']['sub2'] = $sub2;
|
||||
$sub2 = [];
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true || (bool) check_acl($config['id_user'], 0, 'UM') === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true || (bool) check_acl($config['id_user'], 0, 'UM') === true) {
|
||||
$sub['godmode/groups/group_list&tab=credbox']['text'] = __('Credential store');
|
||||
$sub['godmode/groups/group_list&tab=credbox']['id'] = 'credential store';
|
||||
}
|
||||
}
|
||||
|
||||
// Manage events.
|
||||
$sub2 = [];
|
||||
if ((bool) check_acl($config['id_user'], 0, 'EW') === true || (bool) check_acl($config['id_user'], 0, 'EM') === true) {
|
||||
// Manage events.
|
||||
$sub2 = [];
|
||||
if ((bool) check_acl($config['id_user'], 0, 'EW') === true || (bool) check_acl($config['id_user'], 0, 'EM') === true) {
|
||||
// Custom event fields.
|
||||
$sub2['godmode/events/events§ion=filter']['text'] = __('Event filters');
|
||||
$sub2['godmode/events/events§ion=filter']['id'] = 'Event filters';
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
$sub2['godmode/events/events§ion=fields']['text'] = __('Custom columns');
|
||||
$sub2['godmode/events/events§ion=fields']['id'] = 'Custom events';
|
||||
$sub2['godmode/events/events§ion=responses']['text'] = __('Event responses');
|
||||
$sub2['godmode/events/events§ion=responses']['id'] = 'Event responses';
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($sub2) === false) {
|
||||
if (empty($sub2) === false) {
|
||||
$sub['geventos']['text'] = __('Events');
|
||||
$sub['geventos']['id'] = 'events';
|
||||
$sub['geventos']['sec2'] = 'godmode/events/events§ion=filter';
|
||||
$sub['geventos']['type'] = 'direct';
|
||||
$sub['geventos']['subtype'] = 'nolink';
|
||||
$sub['geventos']['sub2'] = $sub2;
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($sub) === false) {
|
||||
if (empty($sub) === false) {
|
||||
$menu_godmode['gmodules']['text'] = __('Configuration');
|
||||
$menu_godmode['gmodules']['sec2'] = 'godmode/modules/manage_network_templates';
|
||||
$menu_godmode['gmodules']['id'] = 'god-configuration';
|
||||
$menu_godmode['gmodules']['sub'] = $sub;
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'LW') === true
|
||||
if ((bool) check_acl($config['id_user'], 0, 'LW') === true
|
||||
|| (bool) check_acl($config['id_user'], 0, 'LM') === true
|
||||
|| (bool) check_acl($config['id_user'], 0, 'AD') === true
|
||||
) {
|
||||
) {
|
||||
$menu_godmode['galertas']['text'] = __('Alerts');
|
||||
$menu_godmode['galertas']['sec2'] = 'godmode/alerts/alert_list';
|
||||
$menu_godmode['galertas']['id'] = 'god-alerts';
|
||||
@ -279,9 +285,9 @@ if ((bool) check_acl($config['id_user'], 0, 'LW') === true
|
||||
}
|
||||
|
||||
$menu_godmode['galertas']['sub'] = $sub;
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AW') === true || (bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AW') === true || (bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
// Servers.
|
||||
$menu_godmode['gservers']['text'] = __('Servers');
|
||||
$menu_godmode['gservers']['sec2'] = 'godmode/servers/modificar_server';
|
||||
@ -310,9 +316,9 @@ if ((bool) check_acl($config['id_user'], 0, 'AW') === true || (bool) check_acl($
|
||||
}
|
||||
|
||||
$menu_godmode['gservers']['sub'] = $sub;
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
// Setup.
|
||||
$menu_godmode['gsetup']['text'] = __('Setup');
|
||||
$menu_godmode['gsetup']['sec2'] = 'general';
|
||||
@ -382,8 +388,10 @@ if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
enterprise_hook('skins_submenu');
|
||||
|
||||
$menu_godmode['gsetup']['sub'] = $sub;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true || (bool) check_acl($config['id_user'], 0, 'DM') === true) {
|
||||
$menu_godmode['gextensions']['text'] = __('Admin tools');
|
||||
$menu_godmode['gextensions']['sec2'] = 'godmode/extensions';
|
||||
@ -392,6 +400,7 @@ if ((bool) check_acl($config['id_user'], 0, 'PM') === true || (bool) check_acl($
|
||||
$sub = [];
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
|
||||
if ($access_console_node === true) {
|
||||
// Audit //meter en extensiones.
|
||||
$sub['godmode/audit_log']['text'] = __('System audit log');
|
||||
$sub['godmode/audit_log']['id'] = 'System audit log';
|
||||
@ -404,9 +413,12 @@ if ((bool) check_acl($config['id_user'], 0, 'PM') === true || (bool) check_acl($
|
||||
|
||||
$sub['godmode/setup/news']['text'] = __('Site news');
|
||||
$sub['godmode/setup/news']['id'] = 'Site news';
|
||||
}
|
||||
|
||||
$sub['godmode/setup/file_manager']['text'] = __('File manager');
|
||||
$sub['godmode/setup/file_manager']['id'] = 'File manager';
|
||||
|
||||
if ($access_console_node === true) {
|
||||
if (is_user_admin($config['id_user']) === true) {
|
||||
$sub['extensions/db_status']['text'] = __('DB Schema Check');
|
||||
$sub['extensions/db_status']['id'] = 'DB Schema Check';
|
||||
@ -418,11 +430,13 @@ if ((bool) check_acl($config['id_user'], 0, 'PM') === true || (bool) check_acl($
|
||||
enterprise_hook('elasticsearch_interface_menu');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$menu_godmode['gextensions']['sub'] = $sub;
|
||||
}
|
||||
|
||||
if (is_array($config['extensions']) === true) {
|
||||
if ($access_console_node === true) {
|
||||
if (is_array($config['extensions']) === true) {
|
||||
$sub = [];
|
||||
$sub2 = [];
|
||||
|
||||
@ -506,27 +520,28 @@ if (is_array($config['extensions']) === true) {
|
||||
$menu_godmode['gextensions']['sub'] = $submenu;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$menu_godmode['links']['text'] = __('Links');
|
||||
$menu_godmode['links']['sec2'] = '';
|
||||
$menu_godmode['links']['id'] = 'god-links';
|
||||
$menu_godmode['links']['text'] = __('Links');
|
||||
$menu_godmode['links']['sec2'] = '';
|
||||
$menu_godmode['links']['id'] = 'god-links';
|
||||
|
||||
$sub = [];
|
||||
$rows = db_get_all_rows_in_table('tlink', 'name');
|
||||
foreach ($rows as $row) {
|
||||
$sub = [];
|
||||
$rows = db_get_all_rows_in_table('tlink', 'name');
|
||||
foreach ($rows as $row) {
|
||||
// Audit //meter en extensiones.
|
||||
$sub[$row['link']]['text'] = $row['name'];
|
||||
$sub[$row['link']]['id'] = $row['name'];
|
||||
$sub[$row['link']]['type'] = 'direct';
|
||||
$sub[$row['link']]['subtype'] = 'new_blank';
|
||||
}
|
||||
}
|
||||
|
||||
$menu_godmode['links']['sub'] = $sub;
|
||||
$menu_godmode['links']['sub'] = $sub;
|
||||
}
|
||||
|
||||
// Warp Manager.
|
||||
if ((bool) check_acl($config['id_user'], 0, 'PM') === true && (bool) $config['enable_update_manager'] === true) {
|
||||
$menu_godmode['messages']['text'] = __('Warp Update');;
|
||||
$menu_godmode['messages']['text'] = __('Warp Update');
|
||||
$menu_godmode['messages']['id'] = 'god-um_messages';
|
||||
$menu_godmode['messages']['sec2'] = '';
|
||||
|
||||
@ -546,8 +561,9 @@ if ((bool) check_acl($config['id_user'], 0, 'PM') === true && (bool) $config['en
|
||||
$menu_godmode['messages']['sub'] = $sub;
|
||||
}
|
||||
|
||||
// Module library.
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AR') === true) {
|
||||
if ($access_console_node === true) {
|
||||
// Module library.
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AR') === true) {
|
||||
$menu_godmode['gmodule_library']['text'] = __('Module library');
|
||||
$menu_godmode['gmodule_library']['id'] = 'god-module_library';
|
||||
|
||||
@ -559,6 +575,7 @@ if ((bool) check_acl($config['id_user'], 0, 'AR') === true) {
|
||||
$sub['godmode/module_library/module_library_view&tab=categories']['id'] = 'categories';
|
||||
|
||||
$menu_godmode['gmodule_library']['sub'] = $sub;
|
||||
}
|
||||
}
|
||||
|
||||
if ((bool) $config['pure'] === false) {
|
||||
|
@ -158,6 +158,12 @@ if ($classname_selected === null) {
|
||||
// Load classes and print selector.
|
||||
$wiz_data = [];
|
||||
foreach ($classes as $classpath) {
|
||||
if (is_reporting_console_node() === false) {
|
||||
if ($classpath !== '/var/www/html/pandora_console/godmode/wizards/DiscoveryTaskList.class.php') {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
$classname = basename($classpath, '.class.php');
|
||||
$obj = new $classname();
|
||||
|
||||
|
@ -497,6 +497,17 @@ $table->data[$i++][1] = html_print_checkbox_switch(
|
||||
true
|
||||
);
|
||||
|
||||
$table->data[$i][0] = __('Enable console report').ui_print_help_tip(
|
||||
__('Enable console report'),
|
||||
true
|
||||
);
|
||||
$table->data[$i++][1] = html_print_checkbox_switch(
|
||||
'reporting_console_enable',
|
||||
1,
|
||||
$config['reporting_console_enable'],
|
||||
true
|
||||
);
|
||||
|
||||
echo '<form id="form_setup" method="post" action="index.php?sec=gsetup&sec2=godmode/setup/setup&section=general&pure='.$config['pure'].'">';
|
||||
|
||||
echo '<fieldset>';
|
||||
|
@ -162,7 +162,9 @@ class DiscoveryTaskList extends HTML
|
||||
$ret = false;
|
||||
}
|
||||
|
||||
if (is_reporting_console_node() === false) {
|
||||
$ret2 = $this->showList();
|
||||
}
|
||||
|
||||
if ($ret === false && $ret2 === false) {
|
||||
include_once $config['homedir'].'/general/first_task/recon_view.php';
|
||||
|
@ -6065,3 +6065,50 @@ if (function_exists('str_contains') === false) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Is reporting console node.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
function is_reporting_console_node()
|
||||
{
|
||||
global $config;
|
||||
if (isset($config['reporting_console_enable']) === true
|
||||
&& (bool) $config['reporting_console_enable'] === true
|
||||
&& isset($config['reporting_console_node']) === true
|
||||
&& (bool) $config['reporting_console_node'] === true
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Acl reporting console node.
|
||||
*
|
||||
* @param string $path Path.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
function acl_reporting_console_node($path)
|
||||
{
|
||||
if (is_reporting_console_node() === false) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ($path === 'godmode/servers/discovery'
|
||||
|| $path === 'operation/users/user_edit'
|
||||
|| $path === 'operation/users/user_edit_notifications'
|
||||
|| $path === 'godmode/setup/file_manager'
|
||||
|| $path === 'godmode/update_manager/update_manager'
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
@ -358,6 +358,10 @@ function config_update_config()
|
||||
$error_update[] = __('Module Custom ID read only');
|
||||
}
|
||||
|
||||
if (config_update_value('reporting_console_enable', get_parameter('reporting_console_enable'), true) === false) {
|
||||
$error_update[] = __('Enable console report');
|
||||
}
|
||||
|
||||
if (config_update_value('unique_ip', get_parameter('unique_ip'), true) === false) {
|
||||
$error_update[] = __('Unique IP');
|
||||
}
|
||||
@ -2193,6 +2197,10 @@ function config_process_config()
|
||||
config_update_value('module_custom_id_ro', 0);
|
||||
}
|
||||
|
||||
if (!isset($config['reporting_console_enable'])) {
|
||||
config_update_value('reporting_console_enable', 0);
|
||||
}
|
||||
|
||||
if (!isset($config['elasticsearch_ip'])) {
|
||||
config_update_value('elasticsearch_ip', '');
|
||||
}
|
||||
|
@ -10,6 +10,14 @@
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.responsive-height {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-content: center;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 18px;
|
||||
font-family: "lato-bolder", "Open Sans", sans-serif;
|
||||
@ -58,3 +66,13 @@ a:hover {
|
||||
color: #333;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.container-list {
|
||||
list-style: none;
|
||||
width: 20%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: space-around;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
@ -605,6 +605,13 @@ if (isset($config['id_user']) === false) {
|
||||
}
|
||||
}
|
||||
|
||||
if (is_reporting_console_node() === false) {
|
||||
$_GET['sec'] = 'discovery';
|
||||
$_GET['sec2'] = 'godmode/servers/discovery';
|
||||
$_GET['wiz'] = 'tasklist';
|
||||
$home_page = '';
|
||||
}
|
||||
|
||||
db_logon($nick_in_db, $_SERVER['REMOTE_ADDR']);
|
||||
$_SESSION['id_usuario'] = $nick_in_db;
|
||||
$config['id_user'] = $nick_in_db;
|
||||
@ -624,8 +631,6 @@ if (isset($config['id_user']) === false) {
|
||||
config_prepare_session();
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ==========================================================
|
||||
// -------- SET THE CUSTOM CONFIGS OF USER ------------------
|
||||
config_user_set_custom_config();
|
||||
@ -1042,6 +1047,13 @@ if ((bool) ($config['maintenance_mode'] ?? false) === true
|
||||
exit('</html>');
|
||||
}
|
||||
|
||||
if (is_reporting_console_node() === false
|
||||
&& (bool) users_is_admin() === false
|
||||
) {
|
||||
include 'general/reporting_console_node.php';
|
||||
exit;
|
||||
}
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------
|
||||
* EXTENSIONS
|
||||
@ -1224,6 +1236,12 @@ if ($searchPage) {
|
||||
$sec2 = '';
|
||||
}
|
||||
|
||||
$acl_reporting_console_node = acl_reporting_console_node($page);
|
||||
if ($acl_reporting_console_node === false) {
|
||||
include 'general/reporting_console_node.php';
|
||||
exit;
|
||||
}
|
||||
|
||||
$page .= '.php';
|
||||
|
||||
// Enterprise ACL check.
|
||||
|
@ -25,9 +25,11 @@ enterprise_include('operation/menu.php');
|
||||
$menu_operation = [];
|
||||
$menu_operation['class'] = 'operation';
|
||||
|
||||
// Agent read, Server read.
|
||||
if (check_acl($config['id_user'], 0, 'AR')) {
|
||||
// View agents
|
||||
$access_console_node = !is_reporting_console_node();
|
||||
if ($access_console_node === true) {
|
||||
// Agent read, Server read.
|
||||
if (check_acl($config['id_user'], 0, 'AR')) {
|
||||
// View agents.
|
||||
$menu_operation['estado']['text'] = __('Monitoring');
|
||||
$menu_operation['estado']['sec2'] = 'operation/agentes/tactical';
|
||||
$menu_operation['estado']['refr'] = 0;
|
||||
@ -117,61 +119,61 @@ if (check_acl($config['id_user'], 0, 'AR')) {
|
||||
}
|
||||
|
||||
// End of view agents.
|
||||
}
|
||||
}
|
||||
|
||||
// SNMP Console.
|
||||
$sub2 = [];
|
||||
if (check_acl($config['id_user'], 0, 'AR') || check_acl($config['id_user'], 0, 'AW')) {
|
||||
// SNMP Console.
|
||||
$sub2 = [];
|
||||
if (check_acl($config['id_user'], 0, 'AR') || check_acl($config['id_user'], 0, 'AW')) {
|
||||
$sub2['operation/snmpconsole/snmp_view']['text'] = __('SNMP console');
|
||||
$sub2['operation/snmpconsole/snmp_browser']['text'] = __('SNMP browser');
|
||||
enterprise_hook('snmpconsole_submenu');
|
||||
}
|
||||
}
|
||||
|
||||
if (check_acl($config['id_user'], 0, 'PM')) {
|
||||
if (check_acl($config['id_user'], 0, 'PM')) {
|
||||
$sub2['operation/snmpconsole/snmp_mib_uploader']['text'] = __('MIB uploader');
|
||||
}
|
||||
}
|
||||
|
||||
if (check_acl($config['id_user'], 0, 'LW') || check_acl($config['id_user'], 0, 'LM')) {
|
||||
if (check_acl($config['id_user'], 0, 'LW') || check_acl($config['id_user'], 0, 'LM')) {
|
||||
$sub2['godmode/snmpconsole/snmp_filters']['text'] = __('SNMP filters');
|
||||
$sub2['godmode/snmpconsole/snmp_trap_generator']['text'] = __('SNMP trap generator');
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($sub2)) {
|
||||
if (empty($sub2) === false) {
|
||||
$sub['snmpconsole']['sub2'] = $sub2;
|
||||
$sub['snmpconsole']['text'] = __('SNMP');
|
||||
$sub['snmpconsole']['id'] = 'SNMP';
|
||||
$sub['snmpconsole']['refr'] = 0;
|
||||
$sub['snmpconsole']['type'] = 'direct';
|
||||
$sub['snmpconsole']['subtype'] = 'nolink';
|
||||
}
|
||||
}
|
||||
|
||||
enterprise_hook('cluster_menu');
|
||||
enterprise_hook('aws_menu');
|
||||
enterprise_hook('SAP_view');
|
||||
enterprise_hook('cluster_menu');
|
||||
enterprise_hook('aws_menu');
|
||||
enterprise_hook('SAP_view');
|
||||
|
||||
|
||||
if (!empty($sub)) {
|
||||
if (!empty($sub)) {
|
||||
$menu_operation['estado']['text'] = __('Monitoring');
|
||||
$menu_operation['estado']['sec2'] = 'operation/agentes/tactical';
|
||||
$menu_operation['estado']['refr'] = 0;
|
||||
$menu_operation['estado']['id'] = 'oper-agents';
|
||||
$menu_operation['estado']['sub'] = $sub;
|
||||
}
|
||||
}
|
||||
|
||||
// Start network view.
|
||||
$sub = [];
|
||||
if (check_acl($config['id_user'], 0, 'MR') || check_acl($config['id_user'], 0, 'MW') || check_acl($config['id_user'], 0, 'MM')) {
|
||||
// Start network view.
|
||||
$sub = [];
|
||||
if (check_acl($config['id_user'], 0, 'MR') || check_acl($config['id_user'], 0, 'MW') || check_acl($config['id_user'], 0, 'MM')) {
|
||||
// Network enterprise.
|
||||
$sub['operation/agentes/pandora_networkmap']['text'] = __('Network map');
|
||||
$sub['operation/agentes/pandora_networkmap']['id'] = 'Network map';
|
||||
$sub['operation/agentes/pandora_networkmap']['refr'] = 0;
|
||||
|
||||
enterprise_hook('transmap_console');
|
||||
}
|
||||
}
|
||||
|
||||
enterprise_hook('services_menu');
|
||||
enterprise_hook('services_menu');
|
||||
|
||||
if (check_acl($config['id_user'], 0, 'VR') || check_acl($config['id_user'], 0, 'VW') || check_acl($config['id_user'], 0, 'VM')) {
|
||||
|
||||
if (check_acl($config['id_user'], 0, 'VR') || check_acl($config['id_user'], 0, 'VW') || check_acl($config['id_user'], 0, 'VM')) {
|
||||
if (!isset($config['vc_favourite_view']) || $config['vc_favourite_view'] == 0) {
|
||||
// Visual console.
|
||||
$sub['godmode/reporting/map_builder']['text'] = __('Visual console');
|
||||
@ -251,10 +253,9 @@ if (check_acl($config['id_user'], 0, 'VR') || check_acl($config['id_user'], 0, '
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (check_acl($config['id_user'], 0, 'MR') || check_acl($config['id_user'], 0, 'MW') || check_acl($config['id_user'], 0, 'MM')) {
|
||||
if (check_acl($config['id_user'], 0, 'MR') || check_acl($config['id_user'], 0, 'MW') || check_acl($config['id_user'], 0, 'MM')) {
|
||||
// INI GIS Maps.
|
||||
if ($config['activate_gis']) {
|
||||
$sub['gismaps']['text'] = __('GIS Maps');
|
||||
@ -294,19 +295,19 @@ if (check_acl($config['id_user'], 0, 'MR') || check_acl($config['id_user'], 0, '
|
||||
}
|
||||
|
||||
// END GIS Maps.
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($sub)) {
|
||||
if (!empty($sub)) {
|
||||
$menu_operation['network']['text'] = __('Topology maps');
|
||||
$menu_operation['network']['sec2'] = 'operation/agentes/networkmap_list';
|
||||
$menu_operation['network']['refr'] = 0;
|
||||
$menu_operation['network']['id'] = 'oper-networkconsole';
|
||||
$menu_operation['network']['sub'] = $sub;
|
||||
}
|
||||
}
|
||||
|
||||
// End networkview.
|
||||
// Reports read.
|
||||
if (check_acl($config['id_user'], 0, 'RR') || check_acl($config['id_user'], 0, 'RW') || check_acl($config['id_user'], 0, 'RM')) {
|
||||
// End networkview.
|
||||
// Reports read.
|
||||
if (check_acl($config['id_user'], 0, 'RR') || check_acl($config['id_user'], 0, 'RW') || check_acl($config['id_user'], 0, 'RM')) {
|
||||
// Reporting.
|
||||
$menu_operation['reporting']['text'] = __('Reporting');
|
||||
$menu_operation['reporting']['sec2'] = 'godmode/reporting/reporting_builder';
|
||||
@ -362,13 +363,13 @@ if (check_acl($config['id_user'], 0, 'RR') || check_acl($config['id_user'], 0, '
|
||||
|
||||
$menu_operation['reporting']['sub'] = $sub;
|
||||
// End reporting.
|
||||
}
|
||||
}
|
||||
|
||||
// Events reading.
|
||||
if (check_acl($config['id_user'], 0, 'ER')
|
||||
// Events reading.
|
||||
if (check_acl($config['id_user'], 0, 'ER')
|
||||
|| check_acl($config['id_user'], 0, 'EW')
|
||||
|| check_acl($config['id_user'], 0, 'EM')
|
||||
) {
|
||||
) {
|
||||
// Events.
|
||||
$menu_operation['eventos']['text'] = __('Events');
|
||||
$menu_operation['eventos']['refr'] = 0;
|
||||
@ -468,6 +469,7 @@ if (check_acl($config['id_user'], 0, 'ER')
|
||||
</script>
|
||||
<?php
|
||||
$menu_operation['eventos']['sub'] = $sub;
|
||||
}
|
||||
}
|
||||
|
||||
// Workspace.
|
||||
@ -487,48 +489,49 @@ $sub['operation/users/user_edit_notifications']['text'] = __('Configure user not
|
||||
$sub['operation/users/user_edit_notifications']['id'] = 'Configure user notifications';
|
||||
$sub['operation/users/user_edit_notifications']['refr'] = 0;
|
||||
|
||||
|
||||
// Incidents.
|
||||
$temp_sec2 = $sec2;
|
||||
$sec2 = 'incident';
|
||||
$sec2sub = 'operation/incidents/incident_statistics';
|
||||
$sub[$sec2]['text'] = __('Incidents');
|
||||
$sub[$sec2]['id'] = 'Incidents';
|
||||
$sub[$sec2]['type'] = 'direct';
|
||||
$sub[$sec2]['subtype'] = 'nolink';
|
||||
$sub[$sec2]['refr'] = 0;
|
||||
$sub[$sec2]['subsecs'] = [
|
||||
if ($access_console_node === true) {
|
||||
// Incidents.
|
||||
$temp_sec2 = $sec2;
|
||||
$sec2 = 'incident';
|
||||
$sec2sub = 'operation/incidents/incident_statistics';
|
||||
$sub[$sec2]['text'] = __('Incidents');
|
||||
$sub[$sec2]['id'] = 'Incidents';
|
||||
$sub[$sec2]['type'] = 'direct';
|
||||
$sub[$sec2]['subtype'] = 'nolink';
|
||||
$sub[$sec2]['refr'] = 0;
|
||||
$sub[$sec2]['subsecs'] = [
|
||||
'operation/incidents/incident_detail',
|
||||
'operation/integria_incidents',
|
||||
];
|
||||
];
|
||||
|
||||
$sub2 = [];
|
||||
$sub2[$sec2sub]['text'] = __('Integria IMS statistics');
|
||||
$sub2['operation/incidents/list_integriaims_incidents']['text'] = __('Integria IMS ticket list');
|
||||
$sub2 = [];
|
||||
$sub2[$sec2sub]['text'] = __('Integria IMS statistics');
|
||||
$sub2['operation/incidents/list_integriaims_incidents']['text'] = __('Integria IMS ticket list');
|
||||
|
||||
$sub[$sec2]['sub2'] = $sub2;
|
||||
$sec2 = $temp_sec2;
|
||||
$sub[$sec2]['sub2'] = $sub2;
|
||||
$sec2 = $temp_sec2;
|
||||
|
||||
|
||||
// Messages.
|
||||
$sub['message_list']['text'] = __('Messages');
|
||||
$sub['message_list']['id'] = 'Messages';
|
||||
$sub['message_list']['refr'] = 0;
|
||||
$sub['message_list']['type'] = 'direct';
|
||||
$sub['message_list']['subtype'] = 'nolink';
|
||||
$sub2 = [];
|
||||
$sub2['operation/messages/message_list']['text'] = __('Messages List');
|
||||
$sub2['operation/messages/message_edit&new_msg=1']['text'] = __('New message');
|
||||
// Messages.
|
||||
$sub['message_list']['text'] = __('Messages');
|
||||
$sub['message_list']['id'] = 'Messages';
|
||||
$sub['message_list']['refr'] = 0;
|
||||
$sub['message_list']['type'] = 'direct';
|
||||
$sub['message_list']['subtype'] = 'nolink';
|
||||
$sub2 = [];
|
||||
$sub2['operation/messages/message_list']['text'] = __('Messages List');
|
||||
$sub2['operation/messages/message_edit&new_msg=1']['text'] = __('New message');
|
||||
|
||||
$sub['message_list']['sub2'] = $sub2;
|
||||
$sub['message_list']['sub2'] = $sub2;
|
||||
}
|
||||
|
||||
$menu_operation['workspace']['sub'] = $sub;
|
||||
|
||||
// End Workspace
|
||||
// Rest of options, all with AR privilege (or should events be with incidents?)
|
||||
// ~ if (check_acl ($config['id_user'], 0, "AR")) {
|
||||
// Extensions menu additions.
|
||||
if (is_array($config['extensions'])) {
|
||||
if ($access_console_node === true) {
|
||||
// Rest of options, all with AR privilege (or should events be with incidents?)
|
||||
// ~ if (check_acl ($config['id_user'], 0, "AR")) {
|
||||
// Extensions menu additions.
|
||||
if (is_array($config['extensions'])) {
|
||||
$sub = [];
|
||||
$sub2 = [];
|
||||
|
||||
@ -618,9 +621,11 @@ if (is_array($config['extensions'])) {
|
||||
$menu_operation['extensions']['id'] = 'oper-extensions';
|
||||
$menu_operation['extensions']['sub'] = $sub;
|
||||
}
|
||||
}
|
||||
|
||||
// ~ }
|
||||
}
|
||||
|
||||
// ~ }
|
||||
// Save operation menu array to use in operation/extensions.php view
|
||||
$operation_menu_array = $menu_operation;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user