diff --git a/pandora_console/extensions/agents_modules.php b/pandora_console/extensions/agents_modules.php
index 0abde09010..f93dec02a4 100644
--- a/pandora_console/extensions/agents_modules.php
+++ b/pandora_console/extensions/agents_modules.php
@@ -1,16 +1,29 @@
'',
+ 'label' => __('Monitoring'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('Views'),
+ ],
+ ]
);
+
echo '
';
echo '';
echo " ".$fullscreen['text'].' | ';
diff --git a/pandora_console/extensions/module_groups.php b/pandora_console/extensions/module_groups.php
index 3b9670a8e0..4e1f0e791c 100644
--- a/pandora_console/extensions/module_groups.php
+++ b/pandora_console/extensions/module_groups.php
@@ -196,7 +196,6 @@ function mainModuleGroups()
ON ta.id_agente = tam.id_agente
WHERE ta.disabled = 0
AND tam.disabled = 0
- AND tam.id_modulo <> 0
AND tam.delete_pending = 0
AND ta.id_grupo IN (%s)
GROUP BY tam.id_agente_modulo
@@ -246,13 +245,24 @@ function mainModuleGroups()
$array_data[$value['id_grupo']][$value['id_mg']] = $value;
}
- ui_print_page_header(
+ // Header.
+ ui_print_standard_header(
__('Combined table of agent group and module group'),
'images/module_group.png',
false,
'',
false,
- ''
+ [],
+ [
+ [
+ 'link' => '',
+ 'label' => __('Monitoring'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('Views'),
+ ],
+ ]
);
echo "
diff --git a/pandora_console/extensions/realtime_graphs.php b/pandora_console/extensions/realtime_graphs.php
index 86fcfc4f0e..51d987ae25 100644
--- a/pandora_console/extensions/realtime_graphs.php
+++ b/pandora_console/extensions/realtime_graphs.php
@@ -49,13 +49,24 @@ function pandora_realtime_graphs()
$hide_header = get_parameter('hide_header', 0);
if ($hide_header === 0) {
- ui_print_page_header(
+ // Header.
+ ui_print_standard_header(
__('Realtime graphs'),
'images/extensions.png',
false,
'real_time_view',
false,
- $onheader
+ $onheader,
+ [
+ [
+ 'link' => '',
+ 'label' => __('Monitoring'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('Views'),
+ ],
+ ]
);
}
diff --git a/pandora_console/extensions/resource_registration.php b/pandora_console/extensions/resource_registration.php
index 950f4e2b81..2f904dbf9f 100755
--- a/pandora_console/extensions/resource_registration.php
+++ b/pandora_console/extensions/resource_registration.php
@@ -1096,13 +1096,8 @@ function resource_registration_extension_main()
}
$xml = simplexml_load_file($_FILES['resource_upload']['tmp_name'], null, LIBXML_NOCDATA);
- if ($xml === false) {
- ui_print_error_message(
- __('Error uploading resource. Check if the selected file is a valid resource template in .ptr format')
- );
- } else {
- process_upload_xml($xml);
- }
+
+ process_upload_xml($xml);
}
diff --git a/pandora_console/general/first_task/cluster_builder.php b/pandora_console/general/first_task/cluster_builder.php
index 08ea618cce..157bdce0d7 100644
--- a/pandora_console/general/first_task/cluster_builder.php
+++ b/pandora_console/general/first_task/cluster_builder.php
@@ -24,12 +24,20 @@ if (! check_acl($config['id_user'], 0, 'AR') && ! check_acl($config['id_user'],
return;
}
-\ui_print_page_header(
- __('Monitoring').' » '.__('Clusters'),
+// Header.
+ui_print_standard_header(
+ __('Clusters'),
'images/chart.png',
false,
'',
- false
+ false,
+ [],
+ [
+ [
+ 'link' => '',
+ 'label' => __('Monitoring'),
+ ],
+ ]
);
ui_require_css_file('first_task');
diff --git a/pandora_console/godmode/agentes/modificar_agente.php b/pandora_console/godmode/agentes/modificar_agente.php
index 6d9516bad7..807635bd80 100644
--- a/pandora_console/godmode/agentes/modificar_agente.php
+++ b/pandora_console/godmode/agentes/modificar_agente.php
@@ -1,17 +1,32 @@
$viewtab];
// Header.
-ui_print_page_header(
+ui_print_standard_header(
__('Agents defined in %s', get_product_name()),
'images/agent.png',
false,
'',
true,
- $onheader
+ $onheader,
+ [
+ [
+ 'link' => '',
+ 'label' => __('Resources'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('Manage agents'),
+ ],
+ ]
);
if (is_central_policies_on_node()) {
diff --git a/pandora_console/godmode/agentes/module_manager.php b/pandora_console/godmode/agentes/module_manager.php
index d8dd0eeef2..91c6395b96 100644
--- a/pandora_console/godmode/agentes/module_manager.php
+++ b/pandora_console/godmode/agentes/module_manager.php
@@ -1072,7 +1072,6 @@ foreach ($modules as $module) {
[
'alt' => __('Enable module'),
'title' => __('Enable module'),
- 'class' => 'invert_filter_important',
]
).'';
} else {
diff --git a/pandora_console/godmode/agentes/module_manager_editor_common.php b/pandora_console/godmode/agentes/module_manager_editor_common.php
index 1a4577c4ee..7e9f29f2eb 100644
--- a/pandora_console/godmode/agentes/module_manager_editor_common.php
+++ b/pandora_console/godmode/agentes/module_manager_editor_common.php
@@ -115,12 +115,7 @@ function add_component_selection($id_network_component_type)
'',
'---'.__('Manual setup').'---',
0,
- true,
- false,
- true,
- '',
- false,
- 'width: 460px; '
+ true
);
$data[1] .= '';
$data[1] .= ' ';
diff --git a/pandora_console/godmode/reporting/map_builder.php b/pandora_console/godmode/reporting/map_builder.php
index 1dd607c57c..192c6be218 100644
--- a/pandora_console/godmode/reporting/map_builder.php
+++ b/pandora_console/godmode/reporting/map_builder.php
@@ -1,16 +1,32 @@
'',
+ 'label' => __('Topology maps'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('Visual console'),
+ ],
+ ]
);
} else {
ui_meta_print_header(
diff --git a/pandora_console/godmode/reporting/visual_console_favorite.php b/pandora_console/godmode/reporting/visual_console_favorite.php
index 8bd58abf64..16b5978dd2 100644
--- a/pandora_console/godmode/reporting/visual_console_favorite.php
+++ b/pandora_console/godmode/reporting/visual_console_favorite.php
@@ -1,19 +1,38 @@
'',
+ 'label' => __('Topology maps'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('Visual console'),
+ ],
+ ]
);
} else {
ui_meta_print_header(
diff --git a/pandora_console/godmode/snmpconsole/snmp_filters.php b/pandora_console/godmode/snmpconsole/snmp_filters.php
index 8afefcf34f..821d7a7c6e 100644
--- a/pandora_console/godmode/snmpconsole/snmp_filters.php
+++ b/pandora_console/godmode/snmpconsole/snmp_filters.php
@@ -32,15 +32,36 @@ $index_post = (int) get_parameter('index_post', 0);
// Create/update header
if ($edit_filter > -2) {
if ($edit_filter > -1) {
- ui_print_page_header(__('SNMP Console').' » '.__('Update filter'), 'images/op_snmp.png', false, '', false);
+ $activeFilterCaption = ' » '.__('Update filter');
} else {
- ui_print_page_header(__('SNMP Console').' » '.__('Create filter'), 'images/op_snmp.png', false, '', false);
+ $activeFilterCaption = ' » '.__('Create filter');
}
} else {
// Overview header
- ui_print_page_header(__('SNMP Console').' » '.__('Filter overview'), 'images/op_snmp.png', false, '', false);
+ $activeFilterCaption = ' » '.__('Filter overview');
}
+// Header.
+ui_print_standard_header(
+ __('SNMP Console').$activeFilterCaption,
+ 'images/op_snmp.png',
+ false,
+ '',
+ false,
+ [],
+ [
+ [
+ 'link' => '',
+ 'label' => __('Monitoring'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('SMNP'),
+ ],
+ ]
+);
+
+
// Create/update filter
if ($update_filter > -2) {
// UPDATE
diff --git a/pandora_console/godmode/snmpconsole/snmp_trap_generator.php b/pandora_console/godmode/snmpconsole/snmp_trap_generator.php
index 29137f1382..15173eee4c 100755
--- a/pandora_console/godmode/snmpconsole/snmp_trap_generator.php
+++ b/pandora_console/godmode/snmpconsole/snmp_trap_generator.php
@@ -33,14 +33,27 @@ $snmp_type = (int) get_parameter('snmp_type', 0);
$snmp_value = (string) get_parameter('snmp_value', '');
$generate_trap = (bool) get_parameter('generate_trap', 0);
-ui_print_page_header(
+// Header.
+ui_print_standard_header(
__('SNMP Trap generator'),
'images/op_snmp.png',
false,
'snmp_trap_generator_view',
- false
+ false,
+ [],
+ [
+ [
+ 'link' => '',
+ 'label' => __('Monitoring'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('SMNP'),
+ ],
+ ]
);
+
if ($generate_trap) {
$result = true;
$error = '';
diff --git a/pandora_console/include/class/AgentsAlerts.class.php b/pandora_console/include/class/AgentsAlerts.class.php
index f566e3a4d9..53e531719c 100644
--- a/pandora_console/include/class/AgentsAlerts.class.php
+++ b/pandora_console/include/class/AgentsAlerts.class.php
@@ -729,37 +729,24 @@ class AgentsAlerts extends HTML
public function loadHeader()
{
if ($this->pure == 0) {
- // Breadcrums.
- $this->setBreadcrum([]);
-
- $this->prepareBreadcrum(
- [
- [
- 'link' => '',
- 'label' => __('Monitoring'),
- 'selected' => false,
- ],
- [
- 'link' => '',
- 'label' => __('Views'),
- 'selected' => true,
- ],
- ],
- true
- );
-
- ui_print_page_header(
+ // Header.
+ ui_print_standard_header(
__('Agents/Alerts'),
'',
false,
'',
- true,
- '',
false,
- '',
- GENERIC_SIZE_TEXT,
- '',
- $this->printHeader(true)
+ [],
+ [
+ [
+ 'link' => '',
+ 'label' => __('Monitoring'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('Views'),
+ ],
+ ]
);
}
diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php
index 2e2e4b5958..e3281e877d 100755
--- a/pandora_console/include/functions_ui.php
+++ b/pandora_console/include/functions_ui.php
@@ -35,6 +35,8 @@ if (isset($config['homedir'])) {
include_once $config['homedir'].'/include/functions_groups.php';
include_once $config['homedir'].'/include/functions_users.php';
include_once $config['homedir'].'/include/functions_html.php';
+ // For standard breadcrumbs.
+ ui_require_css_file('discovery');
}
@@ -4296,6 +4298,99 @@ function ui_get_full_url($url='', $no_proxy=false, $add_name_php_file=false, $me
}
+/**
+ * Generates the Pandora 75x Standard views header.
+ * This function should be the standard for
+ * generating the headers of all PFMS views.
+ *
+ * @param string $title The title of this view.
+ * @param string $icon Icon for show.
+ * @param boolean $return If true, the string with the formed header is returned.
+ * @param string $help String for attach at end a link for help.
+ * @param boolean $godmode If false, it will created like operation mode.
+ * @param array $options Tabs allowed
+ * @param array $breadcrumbs Breadcrumbs with the walk.
+ *
+ * EXAMPLE:
+ * ```
+ * $buttons['option_1'] = [
+ * 'active' => false,
+ * 'text' => ''.html_print_image(
+ * 'images/wand.png',
+ * true,
+ * [ 'title' => __('Option 1 for show'), 'class' => 'invert_filter' ]
+ * ).'',
+ * ];
+ *
+ * ui_print_standard_header(
+ * __('Favorites'),
+ * 'images/op_reporting.png',
+ * false,
+ * '',
+ * true,
+ * $buttons,
+ * [
+ * [ 'link' => '', 'label' => __('Topology maps') ],
+ * [ 'link' => '', 'label' => __('Visual console') ],
+ * ]
+ * );
+ * ```
+ *
+ * @return string If apply
+ */
+function ui_print_standard_header(
+ string $title,
+ string $icon='',
+ bool $return=false,
+ string $help='',
+ bool $godmode=false,
+ array $options=[],
+ array $breadcrumbs=[]
+) {
+ // Create the breadcrumb.
+ $headerInformation = new HTML();
+ $headerInformation->setBreadcrum([]);
+ // Prepare the breadcrumbs.
+ $countBreadcrumbs = count($breadcrumbs);
+ $countUnitBreadcrumb = 0;
+ $applyBreadcrumbs = [];
+ foreach ($breadcrumbs as $unitBreadcrumb) {
+ // Count new breadcrumb.
+ $countUnitBreadcrumb++;
+ // Apply selected if is the last.
+ $unitBreadcrumb['selected'] = ($countBreadcrumbs === $countUnitBreadcrumb);
+ // Apply for another breadcrumb.
+ $applyBreadcrumbs[] = $unitBreadcrumb;
+ }
+
+ // Attach breadcrumbs.
+ $headerInformation->prepareBreadcrum(
+ $applyBreadcrumbs,
+ true
+ );
+ // Create the header.
+ $output = ui_print_page_header(
+ $title,
+ $icon,
+ true,
+ $help,
+ $godmode,
+ $options,
+ false,
+ '',
+ GENERIC_SIZE_TEXT,
+ '',
+ $headerInformation->printHeader(true)
+ );
+
+ if ($return !== true) {
+ echo $output;
+ } else {
+ return $output;
+ }
+}
+
+
/**
* Return a standard page header (Pandora FMS 3.1 version)
*
diff --git a/pandora_console/operation/agentes/alerts_status.php b/pandora_console/operation/agentes/alerts_status.php
index 34688e5b10..ed4559abe3 100755
--- a/pandora_console/operation/agentes/alerts_status.php
+++ b/pandora_console/operation/agentes/alerts_status.php
@@ -188,12 +188,25 @@ if ($idAgent != 0) {
$print_agent = true;
- if (!is_metaconsole()) {
- ui_print_page_header(
+ if (is_metaconsole() === false) {
+ // Header.
+ ui_print_standard_header(
__('Alert detail'),
'images/op_alerts.png',
false,
- ''
+ '',
+ false,
+ [],
+ [
+ [
+ 'link' => '',
+ 'label' => __('Monitoring'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('Views'),
+ ],
+ ]
);
} else {
ui_meta_print_header(__('Alerts view'));
diff --git a/pandora_console/operation/agentes/estado_agente.php b/pandora_console/operation/agentes/estado_agente.php
index 6db5feaf7d..3db452ac16 100644
--- a/pandora_console/operation/agentes/estado_agente.php
+++ b/pandora_console/operation/agentes/estado_agente.php
@@ -1,17 +1,32 @@
$setuptab];
}
-ui_print_page_header(
+// Header.
+ui_print_standard_header(
__('Agent detail'),
'images/agent.png',
false,
'',
false,
- $onheader
+ $onheader,
+ [
+ [
+ 'link' => '',
+ 'label' => __('Monitoring'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('Views'),
+ ],
+ ]
);
if (!$strict_user) {
diff --git a/pandora_console/operation/agentes/group_view.php b/pandora_console/operation/agentes/group_view.php
index 61dfda1a22..000931ff6b 100644
--- a/pandora_console/operation/agentes/group_view.php
+++ b/pandora_console/operation/agentes/group_view.php
@@ -1,16 +1,32 @@
';
} else {
// $updated_info = __("Updated at realtime");
- $updated_info = '';
+ $updated_info = '';
}
// Header.
-ui_print_page_header(
+ui_print_standard_header(
__('Group view'),
'images/group.png',
false,
'',
false,
- $updated_time
+ (array) $updated_time,
+ [
+ [
+ 'link' => '',
+ 'label' => __('Monitoring'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('Views'),
+ ],
+ ]
);
$total_agentes = 0;
diff --git a/pandora_console/operation/agentes/status_monitor.php b/pandora_console/operation/agentes/status_monitor.php
index ee20c2d8c1..093290a813 100644
--- a/pandora_console/operation/agentes/status_monitor.php
+++ b/pandora_console/operation/agentes/status_monitor.php
@@ -1,17 +1,32 @@
'',
+ 'label' => __('Monitoring'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('Views'),
+ ],
+ ]
);
if ($section == 'fields') {
diff --git a/pandora_console/operation/agentes/tactical.php b/pandora_console/operation/agentes/tactical.php
index d7f668597e..d82a749a85 100755
--- a/pandora_console/operation/agentes/tactical.php
+++ b/pandora_console/operation/agentes/tactical.php
@@ -1,17 +1,32 @@
';
} else {
// $updated_info = __("Updated at realtime");
- $updated_info = '';
+ $updated_info = '';
}
// Header.
-ui_print_page_header(
+ui_print_standard_header(
__('Tactical view'),
'',
false,
'',
false,
- $updated_time
+ (array) $updated_time,
+ [
+ [
+ 'link' => '',
+ 'label' => __('Monitoring'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('Views'),
+ ],
+ ]
);
// Currently this function makes loading this page is impossible. Change
diff --git a/pandora_console/operation/dashboard/dashboard.php b/pandora_console/operation/dashboard/dashboard.php
index 3b081cfc7a..b80a871266 100644
--- a/pandora_console/operation/dashboard/dashboard.php
+++ b/pandora_console/operation/dashboard/dashboard.php
@@ -1,7 +1,6 @@
';
}
-ui_print_page_header(
+// Header.
+ui_print_standard_header(
__('SNMP Browser'),
'images/op_snmp.png',
false,
'snmp_browser_view',
false,
- [$link]
+ [$link],
+ [
+ [
+ 'link' => '',
+ 'label' => __('Monitoring'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('SMNP'),
+ ],
+ ]
);
// SNMP tree container.
diff --git a/pandora_console/operation/snmpconsole/snmp_mib_uploader.php b/pandora_console/operation/snmpconsole/snmp_mib_uploader.php
index 8b21420fb0..53bc811268 100644
--- a/pandora_console/operation/snmpconsole/snmp_mib_uploader.php
+++ b/pandora_console/operation/snmpconsole/snmp_mib_uploader.php
@@ -1,17 +1,32 @@
'',
+ 'label' => __('Monitoring'),
+ ],
+ [
+ 'link' => '',
+ 'label' => __('SMNP'),
+ ],
+ ]
+);
+
if (isset($config['filemanager']['message'])) {
echo $config['filemanager']['message'];