pandorafms/pandora_console/include/functions_menu.php
mdtrooper 3c73c7cfd6 2009-08-24 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_menu.php, include/functions_html.php,
	include/functions_events.php, include/functions_messages.php,
	include/functions_modules.php, include/functions_exportserver.php,
	include/functions_reporting.php, include/functions_filemanager.php,
	include/pchart_graph.php, include/pandora_graph.php, include/auth/dev.php,
	include/auth/ldap.php, include/auth/mysql.php, include/config.inc.php,
	include/functions_networkmap.php, include/functions_servers.php,
	include/FusionCharts/FusionCharts_Gen.php,
	include/FusionCharts/FusionCharts.php,
	include/functions_network_profiles.php, include/gettext.php,
	include/functions_network_components.php, include/functions_visual_map.php,
	include/fgraph2.php, include/Image/image_functions.php,
	include/functions_config.php, include/help/en/help_plugin_parameters.php,
	include/help/en/help_snmpcommunity.php, include/help/en/help_wmiquery.php,
	include/help/en/help_postprocess.php,
	include/help/en/help_prediction_source_module.php,
	include/help/en/help_date_format.php, include/help/en/help_recontask.php,
	include/help/en/help_alert-matches.php, include/help/en/help_tcp_send.php,
	include/help/en/help_wmifield.php, include/help/en/help_duplicateconfig.php,
	include/help/en/help_agent_status.php,
	include/help/en/help_manage_alerts.php, include/help/en/help_wmikey.php,
	include/help/en/help_alert_type.php,
	include/help/en/help_network_component.php,
	include/help/en/help_time_stamp-comparation.php,
	include/help/en/help_eventview.php, include/help/en/help_timesource.php,
	include/help/en/help_alert_validation.php,
	include/help/en/help_map_builder.php,
	include/help/en/help_alert_recovery.php,
	include/help/en/help_module_type.php,
	include/help/en/help_planned_downtime.php,
	include/help/en/help_serverlag.php, include/help/en/help_alerts.php,
	include/help/en/help_snmpwalk.php,
	include/help/en/help_module_definition.php,
	include/help/en/help_plugin_definition.php,
	include/help/en/help_wminamespace.php, include/help/en/help_snmpoid.php
	include/help/en/help_manageconfig.php,
	include/help/es/help_alert_validation.php,
	include/help/es/help_plugin_parameters.php,
	include/help/es/help_snmpcommunity.php, include/help/es/help_wmiquery.php,
	include/help/es/help_map_builder.php, include/help/es/help_postprocess.php,
	include/help/es/help_date_format.php,
	include/help/es/help_alert_recovery.php,
	include/help/es/help_prediction_source_module.php,
	include/help/es/help_module_type.php,
	include/help/es/help_planned_downtime.php,
	include/help/es/help_alert-matches.php, include/help/es/help_recontask.php,
	include/help/es/help_alerts.php, include/help/es/help_serverlag.php,
	include/help/es/help_snmpwalk.php,
	include/help/es/help_module_definition.php,
	include/help/es/help_tcp_send.php, include/help/es/help_duplicateconfig.php,
	include/help/es/help_wmifield.php, include/help/es/help_manage_alerts.php,
	include/help/es/help_wmikey.php, include/help/es/help_plugin_definition.php,
	include/help/es/help_alert_type.php, include/help/es/help_snmpoid.php,
	include/help/es/help_wminamespace.php,
	include/help/es/help_network_component.php,
	include/help/es/help_time_stamp-comparation.php,
	include/help/es/help_manageconfig.php, include/help/es/help_timesource.php,
	include/config_process.php, include/functions_ui.php, include/htmlawed.php,
	include/functions_custom_graphs.php, include/fgraph.php,
	include/functions_incidents.php, include/functions.php,
	include/functions_agents.php, include/functions_db.php,
	include/functions_themes.php, include/streams.php,
	include/functions_fsgraph.php, include/functions_alerts.php,
	include/functions_reports.php, include/functions_extensions.php,
	include/functions_ui_renders.php: change comments blocks for delete the
	warnings to construct phpDoc Files, give a struct and order in the
	phpDoc files.



git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1881 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-25 17:39:28 +00:00

130 lines
3.9 KiB
PHP

<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2009 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 Lesser General Public License
// as published by the Free Software Foundation; 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.
/**
* @package Include
*/
/**
* Prints a complete menu structure.
*
* @param array Menu structure to print.
*/
function print_menu (&$menu) {
static $idcounter = 0;
echo '<div class="menu">';
$sec = (string) get_parameter ('sec');
$sec2 = (string) get_parameter ('sec2');
echo '<ul'.(isset ($menu['class']) ? ' class="'.$menu['class'].'"' : '').'>';
foreach ($menu as $mainsec => $main) {
if ($mainsec == 'class')
continue;
if (! isset ($main['id'])) {
$id = 'menu_'.++$idcounter;
} else {
$id = $main['id'];
}
$submenu = false;
$classes = array ('menu_icon');
if (isset ($main["sub"])) {
$classes[] = 'has_submenu';
$submenu = true;
}
if (!isset ($main["refr"]))
$main["refr"] = 0;
if ($sec == $mainsec) {
$classes[] = 'selected';
} else {
$classes[] = 'not_selected';
}
$output = '';
if (! $submenu) {
$main["sub"] = array (); //Empty array won't go through foreach
}
$submenu_output = '';
$selected = false;
$visible = false;
foreach ($main["sub"] as $subsec2 => $sub) {
//Set class
if ($sec2 == $subsec2 && isset ($sub[$subsec2]["options"])
&& (get_parameter_get ($sub[$subsec2]["options"]["name"]) == $sub[$subsec2]["options"]["value"])) {
//If the subclass is selected and there are options and that options value is true
$class = 'submenu_selected';
$selected = true;
$visible = true;
} elseif ($sec2 == $subsec2 && !isset ($sub[$subsec2]["options"])) {
//If the subclass is selected and there are no options
$class = 'submenu_selected';
$selected = true;
$visible = true;
} else {
//Else it's not selected
$class = 'submenu_not_selected';
}
if (! isset ($sub["refr"])) {
$sub["refr"] = 0;
}
if (isset ($sub["type"]) && $sub["type"] == "direct") {
//This is an external link
$submenu_output .= '<li class="'.$class.'"><a href="'.$subsec2.'">'.$sub["text"]."</a></li>";
} else {
//This is an internal link
if (isset ($sub[$subsec2]["options"])) {
$link_add = "&amp;".$sub[$subsec2]["options"]["name"]."=".$sub[$subsec2]["options"]["value"];
} else {
$link_add = "";
}
$submenu_output .= '<li'.($class ? ' class="'.$class.'"' : '').'>';
$submenu_output .= '<a href="index.php?sec='.$mainsec.'&amp;sec2='.$subsec2.($main["refr"] ? '&amp;refr='.$main["refr"] : '').$link_add.'">'.$sub["text"].'</a>';
$submenu_output .= '</li>';
}
}
//Print out the first level
$output .= '<li class="'.implode (" ", $classes).'" id="icon_'.$id.'">';
$output .= '<a href="index.php?sec='.$mainsec.'&amp;sec2='.$main["sec2"].($main["refr"] ? '&amp;refr='.$main["refr"] : '').'">'.$main["text"].'</a><img class="toggle" src="include/styles/images/toggle.png" alt="toggle" />';
if ($submenu_output != '') {
//WARNING: IN ORDER TO MODIFY THE VISIBILITY OF MENU'S AND SUBMENU'S (eg. with cookies) YOU HAVE TO ADD TO THIS ELSEIF. DON'T MODIFY THE CSS
if ($visible || in_array ("selected", $classes)) {
$visible = true;
}
$output .= '<ul class="submenu'.($visible ? '' : ' invisible').'">';
$output .= $submenu_output;
$output .= '</ul>';
}
$output .= '</li>';
echo $output;
}
echo '</ul>';
//Invisible UL for adding border-top
echo '<ul style="height: 0px;"><li>&nbsp;</li></ul></div>';
}
?>