diff --git a/pandora_console/godmode/menu.php b/pandora_console/godmode/menu.php index 7ed143eef3..18237feb17 100644 --- a/pandora_console/godmode/menu.php +++ b/pandora_console/godmode/menu.php @@ -60,7 +60,7 @@ if (check_acl($config['id_user'], 0, 'AR') // Add to menu. $menu_godmode['discovery']['text'] = __('Discovery'); - $menu_godmode['discovery']['sec2'] = 'godmode/servers/discovery'; + $menu_godmode['discovery']['sec2'] = ''; $menu_godmode['discovery']['id'] = 'god-discovery'; $menu_godmode['discovery']['sub'] = $sub; } @@ -254,20 +254,20 @@ if (check_acl($config['id_user'], 0, 'LW') $sub = []; if (check_acl($config['id_user'], 0, 'EW') || check_acl($config['id_user'], 0, 'EM')) { // Custom event fields - $sub['godmode/events/events&section=filter']['text'] = __('Event filters'); - $sub['godmode/events/events&section=filter']['id'] = 'Event filters'; + $sub['godmode/events/events§ion=filter']['text'] = __('Event filters'); + $sub['godmode/events/events§ion=filter']['id'] = 'Event filters'; } if (check_acl($config['id_user'], 0, 'PM')) { - $sub['godmode/events/events&section=fields']['text'] = __('Custom events'); - $sub['godmode/events/events&section=fields']['id'] = 'Custom events'; - $sub['godmode/events/events&section=responses']['text'] = __('Event responses'); - $sub['godmode/events/events&section=responses']['id'] = 'Event responses'; + $sub['godmode/events/events§ion=fields']['text'] = __('Custom events'); + $sub['godmode/events/events§ion=fields']['id'] = 'Custom events'; + $sub['godmode/events/events§ion=responses']['text'] = __('Event responses'); + $sub['godmode/events/events§ion=responses']['id'] = 'Event responses'; } if (!empty($sub)) { $menu_godmode['geventos']['text'] = __('Events'); - $menu_godmode['geventos']['sec2'] = 'godmode/events/events&section=filter'; + $menu_godmode['geventos']['sec2'] = 'godmode/events/events§ion=filter'; $menu_godmode['geventos']['id'] = 'god-events'; $menu_godmode['geventos']['sub'] = $sub; } @@ -307,7 +307,7 @@ if (check_acl($config['id_user'], 0, 'AW') || check_acl($config['id_user'], 0, ' if (check_acl($config['id_user'], 0, 'PM')) { // Setup $menu_godmode['gsetup']['text'] = __('Setup'); - $menu_godmode['gsetup']['sec2'] = 'godmode/setup/setup§ion=general'; + $menu_godmode['gsetup']['sec2'] = 'general'; $menu_godmode['gsetup']['id'] = 'god-setup'; $sub = []; @@ -319,50 +319,50 @@ if (check_acl($config['id_user'], 0, 'PM')) { $sub['general']['subtype'] = 'nolink'; $sub2 = []; - $sub2['godmode/setup/setup&section=general']['text'] = __('General Setup'); - $sub2['godmode/setup/setup&section=general']['id'] = 'General Setup'; - $sub2['godmode/setup/setup&section=general']['refr'] = 0; + $sub2['godmode/setup/setup§ion=general']['text'] = __('General Setup'); + $sub2['godmode/setup/setup§ion=general']['id'] = 'General Setup'; + $sub2['godmode/setup/setup§ion=general']['refr'] = 0; enterprise_hook('password_submenu'); enterprise_hook('enterprise_submenu'); enterprise_hook('historydb_submenu'); enterprise_hook('log_collector_submenu'); - $sub2['godmode/setup/setup&section=auth']['text'] = __('Authentication'); - $sub2['godmode/setup/setup&section=auth']['refr'] = 0; + $sub2['godmode/setup/setup§ion=auth']['text'] = __('Authentication'); + $sub2['godmode/setup/setup§ion=auth']['refr'] = 0; - $sub2['godmode/setup/setup&section=perf']['text'] = __('Performance'); - $sub2['godmode/setup/setup&section=perf']['refr'] = 0; + $sub2['godmode/setup/setup§ion=perf']['text'] = __('Performance'); + $sub2['godmode/setup/setup§ion=perf']['refr'] = 0; - $sub2['godmode/setup/setup&section=vis']['text'] = __('Visual styles'); - $sub2['godmode/setup/setup&section=vis']['refr'] = 0; + $sub2['godmode/setup/setup§ion=vis']['text'] = __('Visual styles'); + $sub2['godmode/setup/setup§ion=vis']['refr'] = 0; if (check_acl($config['id_user'], 0, 'AW')) { if ($config['activate_netflow']) { - $sub2['godmode/setup/setup&section=net']['text'] = __('Netflow'); - $sub2['godmode/setup/setup&section=net']['refr'] = 0; + $sub2['godmode/setup/setup§ion=net']['text'] = __('Netflow'); + $sub2['godmode/setup/setup§ion=net']['refr'] = 0; } } - $sub2['godmode/setup/setup&section=ehorus']['text'] = __('eHorus'); - $sub2['godmode/setup/setup&section=ehorus']['refr'] = 0; + $sub2['godmode/setup/setup§ion=ehorus']['text'] = __('eHorus'); + $sub2['godmode/setup/setup§ion=ehorus']['refr'] = 0; - $sub2['godmode/setup/setup&section=integria']['text'] = __('Integria IMS'); - $sub2['godmode/setup/setup&section=integria']['refr'] = 0; + $sub2['godmode/setup/setup§ion=integria']['text'] = __('Integria IMS'); + $sub2['godmode/setup/setup§ion=integria']['refr'] = 0; enterprise_hook('module_library_submenu'); - $sub2['godmode/setup/setup&section=notifications']['text'] = __('Notifications'); - $sub2['godmode/setup/setup&section=notifications']['refr'] = 0; + $sub2['godmode/setup/setup§ion=notifications']['text'] = __('Notifications'); + $sub2['godmode/setup/setup§ion=notifications']['refr'] = 0; - $sub2['godmode/setup/setup&section=websocket_engine']['text'] = __('Websocket Engine'); - $sub2['godmode/setup/setup&section=websocket_engine']['refr'] = 0; + $sub2['godmode/setup/setup§ion=websocket_engine']['text'] = __('Websocket Engine'); + $sub2['godmode/setup/setup§ion=websocket_engine']['refr'] = 0; - $sub2['godmode/setup/setup&section=external_tools']['text'] = __('External Tools'); - $sub2['godmode/setup/setup&section=external_tools']['refr'] = 0; + $sub2['godmode/setup/setup§ion=external_tools']['text'] = __('External Tools'); + $sub2['godmode/setup/setup§ion=external_tools']['refr'] = 0; if ($config['activate_gis']) { - $sub2['godmode/setup/setup&section=gis']['text'] = __('Map conections GIS'); + $sub2['godmode/setup/setup§ion=gis']['text'] = __('Map conections GIS'); } $sub['general']['sub2'] = $sub2; @@ -526,7 +526,7 @@ $menu_godmode['links']['sub'] = $sub; if (check_acl($config['id_user'], 0, 'PM') && $config['enable_update_manager']) { $menu_godmode['messages']['text'] = __('Update manager'); $menu_godmode['messages']['id'] = 'god-um_messages'; - $menu_godmode['messages']['sec2'] = 'godmode/update_manager/update_manager'; + $menu_godmode['messages']['sec2'] = ''; $sub = []; $sub['godmode/update_manager/update_manager&tab=offline']['text'] = __('Update Manager offline'); diff --git a/pandora_console/include/functions_menu.php b/pandora_console/include/functions_menu.php index 42aaded537..706353f6e4 100644 --- a/pandora_console/include/functions_menu.php +++ b/pandora_console/include/functions_menu.php @@ -648,14 +648,9 @@ function menu_get_sec_pages($sec, $menu_hash=false) foreach ($menu[$sec]['sub'] as $k => $v) { // Avoid special cases of standalone windows. if (preg_match('/^javascript:/', $k) || preg_match('/\.php/', $k)) { - continue; - } - - // If this value has various parameters, we only get the first. - $k = explode('&', $k); - $k = $k[0]; - if (is_array($v['text']) === true) { - $v['text'] = $v['text'][0]; + if ($sec !== 'links') { + continue; + } } $sec2_array[$k] = $v['text']; @@ -688,6 +683,7 @@ function menu_get_sec2_pages($sec, $sec2, $menu_hash=false) } $sec3_array = []; + $sec2 = io_safe_output($sec2); if (isset($menu[$sec]['sub']) && isset($menu[$sec]['sub'][$sec2]['sub2'])) { // Get the sec2 of the subsections. @@ -712,10 +708,6 @@ function menu_sec2_in_sec($sec, $sec2) { $sec2_array = menu_get_sec_pages($sec); - // If this value has various parameters, we only get the first. - $sec2 = explode('&', $sec2); - $sec2 = $sec2[0]; - if ($sec2_array != null && in_array($sec2, array_keys($sec2_array))) { return true; } @@ -728,10 +720,6 @@ function menu_sec3_in_sec2($sec, $sec2, $sec3) { $sec3_array = menu_get_sec2_pages($sec, $sec2, $menu_hash = false); - // If this value has various parameters, we only get the first. - $sec3 = explode('&', $sec3); - $sec3 = $sec3[0]; - if ($sec3_array != null && in_array($sec3, array_keys($sec3_array))) { return true; } @@ -760,12 +748,6 @@ function menu_pepare_acl_select_data($pages, $sec) 'gmodules' => 'godmode/modules/manage_network_templates', 'geventos' => 'godmode/events/events&section=filter', 'gsetup' => 'godmode/setup/setup§ion=general', - 'messages' => [ - 'godmode/update_manager/update_manager&tab=online', - 'godmode/update_manager/update_manager&tab=offline', - 'godmode/update_manager/update_manager&tab=setup', - ], - ]; foreach ($exclude_pages as $exclude_sec => $sec2) {