Now the menu entries are can highlight with subpages (with the item 'pages'). TICKET: #2903

This commit is contained in:
mdtrooper 2016-01-18 14:50:42 +01:00
parent e64901ec03
commit 90c024eb9c
3 changed files with 62 additions and 21 deletions

View File

@ -144,18 +144,31 @@ if (check_acl ($config['id_user'], 0, "LM") || check_acl ($config['id_user'], 0,
$sub = array (); $sub = array ();
$sub["godmode/alerts/alert_list"]["text"] = __('List of Alerts'); $sub["godmode/alerts/alert_list"]["text"] = __('List of Alerts');
$sub["godmode/alerts/alert_list"]["id"] = 'List of Alerts'; $sub["godmode/alerts/alert_list"]["id"] = 'List of Alerts';
$sub["godmode/alerts/alert_list"]["pages"] =
array("godmode/alerts/alert_view");
if (check_acl ($config['id_user'], 0, "LM")) { if (check_acl ($config['id_user'], 0, "LM")) {
$sub["godmode/alerts/alert_templates"]["text"] = __('Templates'); $sub["godmode/alerts/alert_templates"]["text"] = __('Templates');
$sub["godmode/alerts/alert_templates"]["id"] = 'Templates'; $sub["godmode/alerts/alert_templates"]["id"] = 'Templates';
$sub["godmode/alerts/alert_templates"]["pages"] =
array("godmode/alerts/configure_alert_template");
$sub["godmode/alerts/alert_actions"]["text"] = __('Actions'); $sub["godmode/alerts/alert_actions"]["text"] = __('Actions');
$sub["godmode/alerts/alert_actions"]["id"] = 'Actions'; $sub["godmode/alerts/alert_actions"]["id"] = 'Actions';
$sub["godmode/alerts/alert_actions"]["pages"] =
array("godmode/alerts/configure_alert_action");
if (check_acl ($config['id_user'], 0, "PM")) { if (check_acl ($config['id_user'], 0, "PM")) {
$sub["godmode/alerts/alert_commands"]["text"] = __('Commands'); $sub["godmode/alerts/alert_commands"]["text"] = __('Commands');
$sub["godmode/alerts/alert_commands"]["id"] = 'Commands'; $sub["godmode/alerts/alert_commands"]["id"] = 'Commands';
$sub["godmode/alerts/alert_commands"]["pages"] =
array("godmode/alerts/configure_alert_command");
} }
$sub["godmode/alerts/alert_special_days"]["text"] = __('Special days list'); $sub["godmode/alerts/alert_special_days"]["text"] = __('Special days list');
$sub["godmode/alerts/alert_special_days"]["id"] = __('Special days list'); $sub["godmode/alerts/alert_special_days"]["id"] = __('Special days list');
$sub["godmode/alerts/alert_special_days"]["pages"] =
array("godmode/alerts/configure_alert_special_days");
enterprise_hook('eventalerts_submenu'); enterprise_hook('eventalerts_submenu');
$sub["godmode/snmpconsole/snmp_alert"]["text"] = __("SNMP alerts"); $sub["godmode/snmpconsole/snmp_alert"]["text"] = __("SNMP alerts");
$sub["godmode/snmpconsole/snmp_alert"]["id"] = "SNMP alerts"; $sub["godmode/snmpconsole/snmp_alert"]["id"] = "SNMP alerts";

View File

@ -43,7 +43,11 @@ function menu_print_menu (&$menu) {
} }
//Open list of menu //Open list of menu
echo '<ul'.(isset ($menu['class']) ? ' class="'.$menu['class'].'"' : '').'>'; echo '<ul' .
(isset ($menu['class']) ?
' class="'.$menu['class'].'"' :
'') .
'>';
foreach ($menu as $mainsec => $main) { foreach ($menu as $mainsec => $main) {
$extensionInMenuParameter = (string) get_parameter ('extension_in_menu',''); $extensionInMenuParameter = (string) get_parameter ('extension_in_menu','');
@ -129,7 +133,7 @@ function menu_print_menu (&$menu) {
//This hacks avoid empty delimiter error when sec2 is not provided. //This hacks avoid empty delimiter error when sec2 is not provided.
if (!$sec2) { if (!$sec2) {
$sec2=" "; $sec2 = " ";
} }
//Check if some submenu was selected to mark this (the parent) as selected //Check if some submenu was selected to mark this (the parent) as selected
@ -168,6 +172,8 @@ function menu_print_menu (&$menu) {
} }
} }
//Set class //Set class
if (($sec2 == $subsec2 || $allsec2 == $subsec2 || if (($sec2 == $subsec2 || $allsec2 == $subsec2 ||
$selected_submenu2) && isset ($sub[$subsec2]["options"]) $selected_submenu2) && isset ($sub[$subsec2]["options"])
@ -190,10 +196,17 @@ function menu_print_menu (&$menu) {
else else
$visible = false; $visible = false;
} }
elseif ((array_search($sec2, $sub['pages']) !== false) && isset($sub['pages'])) {
$class .= 'submenu_selected selected';
$menu_selected = true;
$selected = true;
$visible = true;
}
else { else {
//Else it's not selected //Else it's not selected
$class .= 'submenu_not_selected'; $class .= 'submenu_not_selected';
} }
if (! isset ($sub["refr"])) { if (! isset ($sub["refr"])) {
$sub["refr"] = 0; $sub["refr"] = 0;
} }
@ -285,8 +298,16 @@ function menu_print_menu (&$menu) {
$title = ''; $title = '';
} }
$submenu_output .= '<a href="index.php?'.$extensionInMenu.'sec='.$secUrl.'&amp;sec2='.$subsec2.($sub["refr"] ? '&amp;refr=' . $submenu_output .= '<a href="index.php?' .
$sub["refr"] : '').$link_add.'"' . $title . '><div class="' . $sub_tree_class . '">'.$sub["text"].'</div></a>'; $extensionInMenu .
'sec=' . $secUrl . '&amp;' .
'sec2=' . $subsec2 .
($sub["refr"] ?
'&amp;refr=' . $sub["refr"] :
'') .
$link_add . '"' . $title . '>' .
'<div class="' . $sub_tree_class . '">'.$sub["text"].'</div>' .
'</a>';
if (isset($sub['sub2'])) { if (isset($sub['sub2'])) {
//$submenu_output .= html_print_image("include/styles/images/toggle.png", true, array("class" => "toggle", "alt" => "toogle")); //$submenu_output .= html_print_image("include/styles/images/toggle.png", true, array("class" => "toggle", "alt" => "toogle"));
@ -298,7 +319,7 @@ function menu_print_menu (&$menu) {
if (isset($sub['sub2'])) { if (isset($sub['sub2'])) {
//Display if father is selected //Display if father is selected
$display = "style='display:none'"; $display = "style='display:none;'";
if ($selected) { if ($selected) {
$display = ""; $display = "";
@ -366,6 +387,8 @@ function menu_print_menu (&$menu) {
} }
} }
if ($menu_selected) if ($menu_selected)
$seleccionado = 'selected'; $seleccionado = 'selected';
else else

View File

@ -115,6 +115,9 @@ if (check_acl ($config['id_user'], 0, "AR")) {
$sub["operation/agentes/networkmap_list"]["text"] = __('Network map'); $sub["operation/agentes/networkmap_list"]["text"] = __('Network map');
$sub["operation/agentes/networkmap_list"]["id"] = 'Network map'; $sub["operation/agentes/networkmap_list"]["id"] = 'Network map';
$sub["operation/agentes/networkmap_list"]["refr"] = 0; $sub["operation/agentes/networkmap_list"]["refr"] = 0;
$sub["operation/agentes/networkmap_list"]["pages"] = array(
"operation/agentes/networkmap"
);
enterprise_hook ('networkmap_console'); enterprise_hook ('networkmap_console');
@ -273,6 +276,8 @@ if (check_acl ($config['id_user'], 0, "ER")) {
$sub = array (); $sub = array ();
$sub["operation/events/events"]["text"] = __('View events'); $sub["operation/events/events"]["text"] = __('View events');
$sub["operation/events/events"]["id"] = 'View events'; $sub["operation/events/events"]["id"] = 'View events';
$sub["operation/events/events"]["pages"] =
array("godmode/events/events");
$sub["operation/events/event_statistics"]["text"] = __('Statistics'); $sub["operation/events/event_statistics"]["text"] = __('Statistics');
$sub["operation/events/event_statistics"]["id"] = 'Statistics'; $sub["operation/events/event_statistics"]["id"] = 'Statistics';