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["godmode/alerts/alert_list"]["text"] = __('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")) {
$sub["godmode/alerts/alert_templates"]["text"] = __('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"]["id"] = 'Actions';
$sub["godmode/alerts/alert_actions"]["pages"] =
array("godmode/alerts/configure_alert_action");
if (check_acl ($config['id_user'], 0, "PM")) {
$sub["godmode/alerts/alert_commands"]["text"] = __('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"]["id"] = __('Special days list');
$sub["godmode/alerts/alert_special_days"]["pages"] =
array("godmode/alerts/configure_alert_special_days");
enterprise_hook('eventalerts_submenu');
$sub["godmode/snmpconsole/snmp_alert"]["text"] = __("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
echo '<ul'.(isset ($menu['class']) ? ' class="'.$menu['class'].'"' : '').'>';
echo '<ul' .
(isset ($menu['class']) ?
' class="'.$menu['class'].'"' :
'') .
'>';
foreach ($menu as $mainsec => $main) {
$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.
if (!$sec2) {
$sec2=" ";
$sec2 = " ";
}
//Check if some submenu was selected to mark this (the parent) as selected
@ -168,6 +172,8 @@ function menu_print_menu (&$menu) {
}
}
//Set class
if (($sec2 == $subsec2 || $allsec2 == $subsec2 ||
$selected_submenu2) && isset ($sub[$subsec2]["options"])
@ -190,10 +196,17 @@ function menu_print_menu (&$menu) {
else
$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 it's not selected
$class .= 'submenu_not_selected';
}
if (! isset ($sub["refr"])) {
$sub["refr"] = 0;
}
@ -285,8 +298,16 @@ function menu_print_menu (&$menu) {
$title = '';
}
$submenu_output .= '<a href="index.php?'.$extensionInMenu.'sec='.$secUrl.'&amp;sec2='.$subsec2.($sub["refr"] ? '&amp;refr=' .
$sub["refr"] : '').$link_add.'"' . $title . '><div class="' . $sub_tree_class . '">'.$sub["text"].'</div></a>';
$submenu_output .= '<a href="index.php?' .
$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'])) {
//$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'])) {
//Display if father is selected
$display = "style='display:none'";
$display = "style='display:none;'";
if ($selected) {
$display = "";
@ -366,6 +387,8 @@ function menu_print_menu (&$menu) {
}
}
if ($menu_selected)
$seleccionado = 'selected';
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"]["id"] = 'Network map';
$sub["operation/agentes/networkmap_list"]["refr"] = 0;
$sub["operation/agentes/networkmap_list"]["pages"] = array(
"operation/agentes/networkmap"
);
enterprise_hook ('networkmap_console');
@ -273,6 +276,8 @@ if (check_acl ($config['id_user'], 0, "ER")) {
$sub = array ();
$sub["operation/events/events"]["text"] = __('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"]["id"] = 'Statistics';