"") { foreach($config['installedpackages']['menu'] as $menuitem) { if($menuitem['section'] != $section) continue; if($menuitem['url'] <> "") { $addresswithport = getenv("HTTP_HOST"); $colonpos = strpos($addresswithport, ":"); if ($colonpos !== False){ //my url is actually just the IP address of the pfsense box $myurl = substr($addresswithport, 0, $colonpos); } else { $myurl = $addresswithport; } $description = str_replace('$myurl', $myurl, $menuitem['url']); } else { $description = '/pkg.php?xml=' . $menuitem['configfile']; } $extarray[] = array($menuitem['name'], $description); } } return $extarray; } function output_menu($arrayitem, $target="") { foreach($arrayitem as $item) { if($target) $targetinfo = "target='{$target}'"; echo '
  • ' . $item[0] . '
  • ' . "\n"; } } // System $system_menu = array(); $system_menu[] = array("Advanced", "/system_advanced_admin.php"); $system_menu[] = array("Firmware", "/system_firmware.php"); $system_menu[] = array("General Setup", "/system.php"); $system_menu[] = array("Logout", "/index.php?logout"); if ($g['platform'] == "pfSense" or $g['platform'] == "nanobsd") $system_menu[] = array("Packages", "/pkg_mgr_installed.php"); $system_menu[] = array("Setup Wizard", "/wizard.php?xml=setup_wizard.xml"); $system_menu[] = array("Routing", "/system_gateways.php"); $system_menu[] = array("Cert Manager", "/system_camanager.php"); if (!isAllowedPage("system_usermanager.php*")) $system_menu[] = array("User Manager", "/system_usermanager_passwordmg.php"); else $system_menu[] = array("User Manager", "/system_usermanager.php"); $system_menu = msort(array_merge($system_menu, return_ext_menu("System")),0); // Interfaces $interfaces_menu = array(); if (!isset($config['system']['webgui']['noassigninterfaces'])) $interfaces_menu[] = array("(assign)", "/interfaces_assign.php"); $opts = get_configured_interface_with_descr(false, true); foreach ($opts as $oif => $odescr) if (!isset($config['interfaces'][$oif]['ovpn'])) $interfaces_menu[] = array(htmlspecialchars($odescr), "/interfaces.php?if={$oif}"); $interfaces_menu = msort(array_merge($interfaces_menu, return_ext_menu("Interfaces")),0); // Firewall $firewall_menu = array(); $firewall_menu[] = array("Aliases", "/firewall_aliases.php"); $firewall_menu[] = array("NAT", "/firewall_nat.php"); $firewall_menu[] = array("Rules", "/firewall_rules.php"); $firewall_menu[] = array("Schedules", "/firewall_schedule.php"); $firewall_menu[] = array("Traffic Shaper", "/firewall_shaper.php"); $firewall_menu[] = array("Virtual IPs", "/firewall_virtual_ip.php"); $firewall_menu = msort(array_merge($firewall_menu, return_ext_menu("Firewall")),0); // Services $services_menu = array(); $services_menu[] = array("Captive Portal", "/services_captiveportal.php"); $services_menu[] = array("DNS Forwarder", "/services_dnsmasq.php"); $services_menu[] = array("DHCP Relay", "/services_dhcp_relay.php"); if($g['services_dhcp_server_enable']) $services_menu[] = array("DHCP Server", "/services_dhcp.php"); $services_menu[] = array("Dynamic DNS", "/services_dyndns.php"); $services_menu[] = array("IGMP proxy", "/services_igmpproxy.php"); $services_menu[] = array("Load Balancer", "/load_balancer_pool.php"); $services_menu[] = array(gettext("NTP"), "/services_ntpd.php"); $services_menu[] = array("OLSR", "/pkg_edit.php?xml=olsrd.xml&id=0"); $services_menu[] = array("PPPoE Server", "/vpn_pppoe.php"); $services_menu[] = array("RIP", "/pkg_edit.php?xml=routed.xml&id=0"); $services_menu[] = array("SNMP", "/services_snmp.php"); $services_menu[] = array("Wake on LAN", "/services_wol.php"); if(count($config['interfaces']) > 1) { /* no use for UPnP in single-interface deployments remove to reduce user confusion */ $services_menu[] = array("UPnP & NAT-PMP", "/pkg_edit.php?xml=miniupnpd.xml&id=0"); } $services_menu = msort(array_merge($services_menu, return_ext_menu("Services")),0); // VPN $vpn_menu = array(); $vpn_menu[] = array("IPsec", "/vpn_ipsec.php"); $vpn_menu[] = array("OpenVPN", "/vpn_openvpn_server.php"); $vpn_menu[] = array("PPTP", "/vpn_pptp.php"); $vpn_menu[] = array("L2TP", "/vpn_l2tp.php"); $vpn_menu = msort(array_merge($vpn_menu, return_ext_menu("VPN")),0); // Status $status_menu = array(); if (isset($config['captiveportal']['enable'])) $status_menu[] = array("Captive Portal", "/status_captiveportal.php"); $status_menu[] = array("CARP (failover)", "/carp_status.php"); $status_menu[] = array("Dashboard", "/index.php"); $status_menu[] = array("Gateways", "/status_gateways.php"); $status_menu[] = array("DHCP Leases", "/status_dhcp_leases.php"); $status_menu[] = array("Filter Reload", "/status_filter_reload.php"); $status_menu[] = array("Interfaces", "/status_interfaces.php"); $status_menu[] = array("IPsec", "/diag_ipsec.php"); $status_menu[] = array("Load Balancer", "/status_lb_pool.php"); $status_menu[] = array("NTP", "/status_ntpd.php"); $status_menu[] = array("OpenVPN", "/status_openvpn.php"); if ($g['platform'] == "pfSense") $status_menu[] = array("Package Logs", "/diag_pkglogs.php"); $status_menu[] = array("Queues", "/status_queues.php"); $status_menu[] = array("RRD Graphs", "/status_rrd_graph.php"); $status_menu[] = array("Services", "/status_services.php"); $status_menu[] = array("System Logs", "/diag_logs.php"); $status_menu[] = array("Traffic Graph", "/status_graph.php?if=wan"); if(count($config['interfaces']) > 1) $status_menu[] = array("UPnP & NAT-PMP", "/status_upnp.php"); $ifentries = get_configured_interface_with_descr(); foreach ($ifentries as $ent => $entdesc) { if (is_array($config['interfaces'][$ent]['wireless']) && preg_match($g['wireless_regex'], $config['interfaces'][$ent]['if'])) $wifdescrs[$ent] = $entdesc; } if (count($wifdescrs) > 0) $status_menu[] = array("Wireless", "/status_wireless.php"); $status_menu = msort(array_merge($status_menu, return_ext_menu("Status")),0); // Diagnostics $diagnostics_menu = array(); $diagnostics_menu[] = array("ARP Table", "/diag_arp.php"); $diagnostics_menu[] = array("Authentication", "/diag_authentication.php"); $diagnostics_menu[] = array("Backup/Restore", "/diag_backup.php"); $diagnostics_menu[] = array("Command Prompt", "/exec.php"); $diagnostics_menu[] = array("DNS Lookup", "/diag_dns.php"); $diagnostics_menu[] = array("Edit File", "/edit.php"); $diagnostics_menu[] = array("Factory Defaults", "/diag_defaults.php"); $diagnostics_menu[] = array("Halt System", "/halt.php" ); $diagnostics_menu[] = array("Limiter Info", "/diag_limiter_info.php" ); $diagnostics_menu[] = array("Tables", "/diag_tables.php"); $diagnostics_menu[] = array("Ping", "/diag_ping.php"); $diagnostics_menu[] = array("pfInfo", "/diag_pf_info.php"); $diagnostics_menu[] = array("pfTop", "/diag_system_pftop.php"); $diagnostics_menu[] = array("Reboot", "/reboot.php"); $diagnostics_menu[] = array("Routes", "/diag_routes.php"); $diagnostics_menu[] = array("SMART Status", "/diag_smart.php"); $diagnostics_menu[] = array("States", "/diag_dump_states.php"); $diagnostics_menu[] = array("States Summary", "/diag_states_summary.php"); $diagnostics_menu[] = array("System Activity", "/diag_system_activity.php"); $diagnostics_menu[] = array("Traceroute", "/diag_traceroute.php"); $diagnostics_menu[] = array("Packet Capture", "/diag_packet_capture.php"); if($g['platform'] == "nanobsd") $diagnostics_menu[] = array("NanoBSD", "/diag_nanobsd.php"); if (isset($config['system']['developer'])) { echo "

  • "; $diagnostics_menu[] = array("Restart HTTPD", "/restart_httpd.php"); } $diagnostics_menu = msort(array_merge($diagnostics_menu, return_ext_menu("Diagnostics")),0); if(! $g['disablehelpmenu']) { $help_menu = array(); $help_menu[] = array("About this Page", $helpurl); if($g['product_name'] == "pfSense") $help_menu[] = array("Bug Database", "http://www.pfsense.org/j.php?jumpto=redmine"); $help_menu[] = array("User Forum", "http://www.pfsense.org/j.php?jumpto=forum"); $help_menu[] = array("Documentation", "http://www.pfsense.org/j.php?jumpto=doc"); $help_menu[] = array("Developers Wiki", "http://www.pfsense.org/j.php?jumpto=devwiki"); $help_menu[] = array("Paid Support", "http://www.pfsense.org/j.php?jumpto=portal"); $help_menu[] = array("pfSense Book", "http://www.pfsense.org/j.php?jumpto=book"); $help_menu[] = array("Search portal", "http://www.pfsense.org/j.php?jumpto=searchportal"); $help_menu[] = array("FreeBSD Handbook", "http://www.pfsense.org/j.php?jumpto=fbsdhandbook"); $help_menu = msort(array_merge($help_menu, return_ext_menu("Help")),0); } /* NOTICE ACKNOWLEDGE CODE by Erik Kristensen */ if ($_REQUEST['noticeaction'] == 'acknowledge') { $notice_id = htmlspecialchars($_REQUEST['noticeid']); close_notice($notice_id); } /**********************************************/ ?>