Project

General

Profile

Download (28.5 KB) Statistics
| Branch: | Tag: | Revision:
1
<?php
2
/*
3
	Redirector for Contextual Help System
4
*/
5
/* ====================================================================
6
 *  Copyright (c)  2004-2015  Electric Sheep Fencing, LLC. All rights reserved.
7
 *
8
 *  Redistribution and use in source and binary forms, with or without modification,
9
 *  are permitted provided that the following conditions are met:
10
 *
11
 *  1. Redistributions of source code must retain the above copyright notice,
12
 *      this list of conditions and the following disclaimer.
13
 *
14
 *  2. Redistributions in binary form must reproduce the above copyright
15
 *      notice, this list of conditions and the following disclaimer in
16
 *      the documentation and/or other materials provided with the
17
 *      distribution.
18
 *
19
 *  3. All advertising materials mentioning features or use of this software
20
 *      must display the following acknowledgment:
21
 *      "This product includes software developed by the pfSense Project
22
 *       for use in the pfSense software distribution. (http://www.pfsense.org/).
23
 *
24
 *  4. The names "pfSense" and "pfSense Project" must not be used to
25
 *       endorse or promote products derived from this software without
26
 *       prior written permission. For written permission, please contact
27
 *       coreteam@pfsense.org.
28
 *
29
 *  5. Products derived from this software may not be called "pfSense"
30
 *      nor may "pfSense" appear in their names without prior written
31
 *      permission of the Electric Sheep Fencing, LLC.
32
 *
33
 *  6. Redistributions of any form whatsoever must retain the following
34
 *      acknowledgment:
35
 *
36
 *  "This product includes software developed by the pfSense Project
37
 *  for use in the pfSense software distribution (http://www.pfsense.org/).
38
 *
39
 *  THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY
40
 *  EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
41
 *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
42
 *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE pfSense PROJECT OR
43
 *  ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
44
 *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
45
 *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
46
 *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47
 *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
48
 *  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
49
 *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50
 *  OF THE POSSIBILITY OF SUCH DAMAGE.
51
 *
52
 *  ====================================================================
53
 *
54
 */
55

    
56
require_once("guiconfig.inc");
57

    
58
/* Define hash of jumpto url maps */
59

    
60
/* Links to categories could probably be more specific. */
61
$helppages = array(
62
	/* These pages are confirmed to work and have usable content */
63
	'index.php' => 'https://doc.pfsense.org/index.php/Dashboard',
64
	'license.php' => 'https://www.pfsense.org/about-pfsense/#legal',
65
	'miniupnpd.xml' => 'https://doc.pfsense.org/index.php/What_are_UPnP_and_NAT-PMP',
66
	'status_upnp.php' => 'https://doc.pfsense.org/index.php/What_are_UPnP_and_NAT-PMP',
67
	'firewall_virtual_ip.php' => 'https://doc.pfsense.org/index.php/What_are_Virtual_IP_Addresses',
68
	'firewall_virtual_ip_edit.php' => 'https://doc.pfsense.org/index.php/What_are_Virtual_IP_Addresses',
69
	'firewall_aliases.php' => 'https://doc.pfsense.org/index.php/Aliases',
70
	'firewall_aliases_edit.php' => 'https://doc.pfsense.org/index.php/Aliases',
71
	'firewall_aliases_import.php' => 'https://doc.pfsense.org/index.php/Aliases',
72
	'firewall_nat_out.php' => 'https://doc.pfsense.org/index.php/Outbound_NAT',
73
	'firewall_nat_out_edit.php' => 'https://doc.pfsense.org/index.php/Outbound_NAT',
74
	'firewall_rules.php' => 'https://doc.pfsense.org/index.php/Firewall_Rule_Basics',
75
	'firewall_rules_edit.php' => 'https://doc.pfsense.org/index.php/Firewall_Rule_Basics',
76
	'firewall_schedule.php' => 'https://doc.pfsense.org/index.php/Firewall_Rule_Schedules',
77
	'firewall_schedule_edit.php' => 'https://doc.pfsense.org/index.php/Firewall_Rule_Schedules',
78
	'interfaces_vlan.php' => 'https://doc.pfsense.org/index.php/VLAN_Trunking',
79
	'interfaces_vlan_edit.php' => 'https://doc.pfsense.org/index.php/VLAN_Trunking',
80
	'diag_routes.php' => 'https://doc.pfsense.org/index.php/Viewing_Routes',
81
	'diag_packet_capture.php' => 'https://doc.pfsense.org/index.php/Sniffers,_Packet_Capture',
82
	'diag_pftop.php' => 'https://doc.pfsense.org/index.php/How_can_I_monitor_bandwidth_usage#pftop',
83
	'status_rrd_graph.php' => 'https://doc.pfsense.org/index.php/RRD_Graphs',
84
	'status_rrd_graph_img.php' => 'https://doc.pfsense.org/index.php/RRD_Graphs',
85
	'status_rrd_graph_settings.php' => 'https://doc.pfsense.org/index.php/RRD_Graphs',
86
	'firewall_nat.php' => 'https://doc.pfsense.org/index.php/How_can_I_forward_ports_with_pfSense',
87
	'firewall_nat_edit.php' => 'https://doc.pfsense.org/index.php/How_can_I_forward_ports_with_pfSense',
88
	'diag_arp.php' => 'https://doc.pfsense.org/index.php/ARP_Table',
89
	'diag_backup.php' => 'https://doc.pfsense.org/index.php/Configuration_Backup_and_Restore',
90
	'diag_confbak.php' => 'https://doc.pfsense.org/index.php/Configuration_History',
91
	'diag_defaults.php' => 'https://doc.pfsense.org/index.php/Factory_Defaults',
92
	'firewall_shaper.php' => 'https://doc.pfsense.org/index.php/Traffic_Shaping_Guide',
93
	'firewall_shaper_queues.php' => 'https://doc.pfsense.org/index.php/Traffic_Shaping_Guide',
94
	'firewall_shaper_vinterface.php' => 'https://doc.pfsense.org/index.php/Limiters',
95
	'firewall_shaper_wizards.php' => 'https://doc.pfsense.org/index.php/Traffic_Shaping_Guide',
96
	'status_queues.php' => 'https://doc.pfsense.org/index.php/Traffic_Shaping_Guide',
97
	'status_dhcp_leases.php' => 'https://doc.pfsense.org/index.php/DHCP_Leases',
98
	'diag_dns.php' => 'https://doc.pfsense.org/index.php/DNS_Lookup',
99
	'diag_dump_states.php' => 'https://doc.pfsense.org/index.php/Show_States',
100
	'diag_resetstate.php' => 'https://doc.pfsense.org/index.php/Reset_States',
101
	'status_logs.php' => 'https://doc.pfsense.org/index.php/System_Logs',
102
	'status_logs.php-dhcpd' => 'https://doc.pfsense.org/index.php/DHCP_Logs',
103
	'status_logs.php-gateways' => 'https://doc.pfsense.org/index.php/Gateway_Logs',
104
	'status_logs.php-ipsec' => 'https://doc.pfsense.org/index.php/IPsec_Logs',
105
	'status_logs.php-ntpd' => 'https://doc.pfsense.org/index.php/NTP_Logs',
106
	'status_logs.php-openvpn' => 'https://doc.pfsense.org/index.php/OpenVPN_Logs',
107
	'status_logs.php-portalauth' => 'https://doc.pfsense.org/index.php/Captive_Portal_Authentication_Logs',
108
	'status_logs.php-ppp' => 'https://doc.pfsense.org/index.php/PPP_Logs',
109
	'status_logs.php-relayd' => 'https://doc.pfsense.org/index.php/Load_Balancer_Logs',
110
	'status_logs.php-resolver' => 'https://doc.pfsense.org/index.php/Resolver_Logs',
111
	'status_logs.php-routing' => 'https://doc.pfsense.org/index.php/Routing_Logs',
112
	'status_logs.php-wireless' => 'https://doc.pfsense.org/index.php/Wireless_Logs',
113
	'status_logs_filter.php' => 'https://doc.pfsense.org/index.php/Firewall_Logs',
114
	'status_logs_filter_dynamic.php' => 'https://doc.pfsense.org/index.php/Firewall_Logs',
115
	'status_logs_filter_summary.php' => 'https://doc.pfsense.org/index.php/Firewall_Logs',
116
	'status_logs_settings.php' => 'https://doc.pfsense.org/index.php/Log_Settings',
117
	'status_logs_vpn.php' => 'https://doc.pfsense.org/index.php/PPTP_VPN_Logs',
118
	'diag_nanobsd.php' => 'https://doc.pfsense.org/index.php/NanoBSD_Diagnostics',
119
	'diag_ping.php' => 'https://doc.pfsense.org/index.php/Ping_Host',
120
	'status_pkglogs.php' => 'https://doc.pfsense.org/index.php/Package_Logs',
121
	'diag_tables.php' => 'https://doc.pfsense.org/index.php/Tables',
122
	'diag_system_activity.php' => 'https://doc.pfsense.org/index.php/System_Activity',
123
	'diag_traceroute.php' => 'https://doc.pfsense.org/index.php/Traceroute',
124
	'easyrule.php' => 'https://doc.pfsense.org/index.php/Easy_Rule',
125
	'edit.php' => 'https://doc.pfsense.org/index.php/Edit_File',
126
	'exec.php' => 'https://doc.pfsense.org/index.php/Execute_Command',
127
	'firewall_nat_1to1.php' => 'https://doc.pfsense.org/index.php/1:1_NAT',
128
	'firewall_nat_1to1_edit.php' => 'https://doc.pfsense.org/index.php/1:1_NAT',
129
	'diag_halt.php' => 'https://doc.pfsense.org/index.php/Halt_System',
130
	'diag_reboot.php' => 'https://doc.pfsense.org/index.php/Reboot_System',
131
	'status_filter_reload.php' => 'https://doc.pfsense.org/index.php/Filter_Reload_Status',
132
	'status_gateway_groups.php' => 'https://doc.pfsense.org/index.php/Gateway_Status',
133
	'status_gateways.php' => 'https://doc.pfsense.org/index.php/Gateway_Status',
134
	'status_graph.php' => 'https://doc.pfsense.org/index.php/Traffic_Graph',
135
	'status_graph_cpu.php' => 'https://doc.pfsense.org/index.php/CPU_Load',
136
	'status_interfaces.php' => 'https://doc.pfsense.org/index.php/Interface_Status',
137
	'status_services.php' => 'https://doc.pfsense.org/index.php/Services_Status',
138
	'status_wireless.php' => 'https://doc.pfsense.org/index.php/Wireless_Status',
139
	'pkg_mgr.php' => 'https://doc.pfsense.org/index.php/Package_Manager',
140
	'pkg_mgr_install.php' => 'https://doc.pfsense.org/index.php/Package_Manager',
141
	'pkg_mgr_installed.php' => 'https://doc.pfsense.org/index.php/Package_Manager',
142
	'interfaces.php' => 'https://doc.pfsense.org/index.php/Interface_Settings',
143
	'interfaces_assign.php' => 'https://doc.pfsense.org/index.php/Assign_Interfaces',
144
	'interfaces_bridge.php' => 'https://doc.pfsense.org/index.php/Interface_Bridges',
145
	'interfaces_bridge_edit.php' => 'https://doc.pfsense.org/index.php/Interface_Bridges',
146
	'interfaces_gif.php' => 'https://doc.pfsense.org/index.php/GIF_Interfaces',
147
	'interfaces_gif_edit.php' => 'https://doc.pfsense.org/index.php/GIF_Interfaces',
148
	'interfaces_gre.php' => 'https://doc.pfsense.org/index.php/GRE_Interfaces',
149
	'interfaces_gre_edit.php' => 'https://doc.pfsense.org/index.php/GRE_Interfaces',
150
	'interfaces_groups.php' => 'https://doc.pfsense.org/index.php/Interface_Groups',
151
	'interfaces_groups_edit.php' => 'https://doc.pfsense.org/index.php/Interface_Groups',
152
	'interfaces_lagg.php' => 'https://doc.pfsense.org/index.php/LAGG_Interfaces',
153
	'interfaces_lagg_edit.php' => 'https://doc.pfsense.org/index.php/LAGG_Interfaces',
154
	'interfaces_ppps.php' => 'https://doc.pfsense.org/index.php/PPP_Interfaces',
155
	'interfaces_ppps_edit.php' => 'https://doc.pfsense.org/index.php/PPP_Interfaces',
156
	'interfaces_qinq.php' => 'https://doc.pfsense.org/index.php/QinQ_Interfaces',
157
	'interfaces_qinq_edit.php' => 'https://doc.pfsense.org/index.php/QinQ_Interfaces',
158
	'services_dyndns.php' => 'https://doc.pfsense.org/index.php/Dynamic_DNS',
159
	'services_dyndns_edit.php' => 'https://doc.pfsense.org/index.php/Dynamic_DNS',
160
	'services_rfc2136.php' => 'https://doc.pfsense.org/index.php/Dynamic_DNS',
161
	'services_rfc2136_edit.php' => 'https://doc.pfsense.org/index.php/Dynamic_DNS',
162
	'services_dhcp.php' => 'https://doc.pfsense.org/index.php/DHCP_Server',
163
	'services_dhcp_edit.php' => 'https://doc.pfsense.org/index.php/DHCP_Server',
164
	'services_dhcp_relay.php' => 'https://doc.pfsense.org/index.php/DHCP_Relay',
165
	'services_dnsmasq.php' => 'https://doc.pfsense.org/index.php/DNS_Forwarder',
166
	'services_dnsmasq_domainoverride_edit.php' => 'https://doc.pfsense.org/index.php/DNS_Forwarder',
167
	'services_dnsmasq_edit.php' => 'https://doc.pfsense.org/index.php/DNS_Forwarder',
168
	'services_igmpproxy.php' => 'https://doc.pfsense.org/index.php/IGMP_Proxy',
169
	'services_igmpproxy_edit.php' => 'https://doc.pfsense.org/index.php/IGMP_Proxy',
170
	'services_snmp.php' => 'https://doc.pfsense.org/index.php/SNMP_Daemon',
171
	'services_wol.php' => 'https://doc.pfsense.org/index.php/Wake_on_LAN',
172
	'services_wol_edit.php' => 'https://doc.pfsense.org/index.php/Wake_on_LAN',
173
	'system.php' => 'https://doc.pfsense.org/index.php/General_Setup',
174
	'system_advanced_admin.php' => 'https://doc.pfsense.org/index.php/Advanced_Setup',
175
	'system_advanced_firewall.php' => 'https://doc.pfsense.org/index.php/Advanced_Setup#Firewall.2FNAT',
176
	'system_advanced_misc.php' => 'https://doc.pfsense.org/index.php/Advanced_Setup#Miscellaneous',
177
	'system_advanced_network.php' => 'https://doc.pfsense.org/index.php/Advanced_Setup#Firewall.2FNAT',
178
	'system_advanced_notifications.php' => 'https://doc.pfsense.org/index.php/Advanced_Setup#Notifications',
179
	'system_advanced_sysctl.php' => 'https://doc.pfsense.org/index.php/Advanced_Setup#System_Tunables',
180
	'system_update_settings.php' => 'https://doc.pfsense.org/index.php/Firmware_Updates',
181
	'system_gateway_groups.php' => 'https://doc.pfsense.org/index.php/Gateway_Settings',
182
	'system_gateway_groups_edit.php' => 'https://doc.pfsense.org/index.php/Gateway_Settings',
183
	'system_gateways.php' => 'https://doc.pfsense.org/index.php/Gateway_Settings',
184
	'system_gateways_edit.php' => 'https://doc.pfsense.org/index.php/Gateway_Settings',
185
	'system_routes.php' => 'https://doc.pfsense.org/index.php/Static_Routes',
186
	'system_routes_edit.php' => 'https://doc.pfsense.org/index.php/Static_Routes',
187
	'system_authservers.php' => 'https://doc.pfsense.org/index.php/User_Authentication_Servers',
188
	'system_groupmanager.php' => 'https://doc.pfsense.org/index.php/Group_Manager',
189
	'system_groupmanager_addprivs.php' => 'https://doc.pfsense.org/index.php/Group_Manager',
190
	'system_usermanager.php' => 'https://doc.pfsense.org/index.php/User_Manager',
191
	'system_usermanager_addprivs.php' => 'https://doc.pfsense.org/index.php/User_Manager',
192
	'system_usermanager_settings.php' => 'https://doc.pfsense.org/index.php/User_Manager',
193
	'system_usermanager_settings_ldapacpicker.php' => 'https://doc.pfsense.org/index.php/User_Manager',
194
	'system_usermanager_settings_test.php' => 'https://doc.pfsense.org/index.php/User_Manager',
195
	'system_usermanager_passwordmg.php' => 'https://doc.pfsense.org/index.php/User_Manager',
196
	'system_camanager.php' => 'https://doc.pfsense.org/index.php/Certificate_Management',
197
	'system_certmanager.php' => 'https://doc.pfsense.org/index.php/Certificate_Management',
198
	'vpn_l2tp.php' => 'https://doc.pfsense.org/index.php/L2TP_VPN_Settings',
199
	'vpn_l2tp_users.php' => 'https://doc.pfsense.org/index.php/L2TP_VPN_Settings',
200
	'vpn_l2tp_users_edit.php' => 'https://doc.pfsense.org/index.php/L2TP_VPN_Settings',
201
	'services_pppoe.php' => 'https://doc.pfsense.org/index.php/PPPoE_Server_Settings',
202
	'services_pppoe_edit.php' => 'https://doc.pfsense.org/index.php/PPPoE_Server_Settings',
203
	'vpn_pptp.php' => 'https://doc.pfsense.org/index.php/PPTP_VPN_Settings',
204
	'vpn_pptp_users.php' => 'https://doc.pfsense.org/index.php/PPTP_VPN_Settings',
205
	'vpn_pptp_users_edit.php' => 'https://doc.pfsense.org/index.php/PPTP_VPN_Settings',
206
	'status_ipsec.php' => 'https://doc.pfsense.org/index.php/IPsec_Status',
207
	'status_ipsec_sad.php' => 'https://doc.pfsense.org/index.php/IPsec_Status',
208
	'status_ipsec_spd.php' => 'https://doc.pfsense.org/index.php/IPsec_Status',
209
	'vpn_ipsec.php' => 'https://doc.pfsense.org/index.php/IPsec_Tunnels',
210
	'vpn_ipsec_mobile.php' => 'https://doc.pfsense.org/index.php/IPsec_Mobile_Clients',
211
	'status_ipsec_leases.php' => 'https://doc.pfsense.org/index.php/IPsec_Mobile_Clients',
212
	'vpn_ipsec_phase1.php' => 'https://doc.pfsense.org/index.php/IPsec_Tunnels',
213
	'vpn_ipsec_phase2.php' => 'https://doc.pfsense.org/index.php/IPsec_Tunnels',
214
	'vpn_ipsec_keys.php' => 'https://doc.pfsense.org/index.php/IPsec_Tunnels',
215
	'vpn_ipsec_keys_edit.php' => 'https://doc.pfsense.org/index.php/IPsec_Tunnels',
216
	'vpn_ipsec_settings.php' => 'https://doc.pfsense.org/index.php/Advanced_IPsec_Settings',
217
	'services_captiveportal.php' => 'https://doc.pfsense.org/index.php/Captive_Portal',
218
	'services_captiveportal_filemanager.php' => 'https://doc.pfsense.org/index.php/Captive_Portal',
219
	'services_captiveportal_ip.php' => 'https://doc.pfsense.org/index.php/Captive_Portal',
220
	'services_captiveportal_ip_edit.php' => 'https://doc.pfsense.org/index.php/Captive_Portal',
221
	'services_captiveportal_mac.php' => 'https://doc.pfsense.org/index.php/Captive_Portal',
222
	'services_captiveportal_mac_edit.php' => 'https://doc.pfsense.org/index.php/Captive_Portal',
223
	'services_captiveportal_hostname.php' => 'https://doc.pfsense.org/index.php/Captive_Portal',
224
	'services_captiveportal_hostname_edit.php' => 'https://doc.pfsense.org/index.php/Captive_Portal',
225
	'status_captiveportal.php' => 'https://doc.pfsense.org/index.php/Captive_Portal_Status',
226
	'status_captiveportal_test.php' => 'https://doc.pfsense.org/index.php/Captive_Portal_Status',
227
	'services_captiveportal_vouchers.php' => 'https://doc.pfsense.org/index.php/Captive_Portal_Vouchers',
228
	'services_captiveportal_vouchers_edit.php' => 'https://doc.pfsense.org/index.php/Captive_Portal_Vouchers',
229
	'status_captiveportal_voucher_rolls.php' => 'https://doc.pfsense.org/index.php/Captive_Portal_Vouchers',
230
	'status_captiveportal_vouchers.php' => 'https://doc.pfsense.org/index.php/Captive_Portal_Vouchers',
231
	'status_openvpn.php' => 'https://doc.pfsense.org/index.php/OpenVPN_Status',
232
	'vpn_openvpn_client.php' => 'https://doc.pfsense.org/index.php/OpenVPN_Settings',
233
	'vpn_openvpn_csc.php' => 'https://doc.pfsense.org/index.php/OpenVPN_Settings',
234
	'vpn_openvpn_server.php' => 'https://doc.pfsense.org/index.php/OpenVPN_Settings',
235
	'openvpn-client-export.xml' => 'https://doc.pfsense.org/index.php/OpenVPN_Client_Exporter', /* Package */
236
	'vpn_openvpn_export.php' => 'https://doc.pfsense.org/index.php/OpenVPN_Client_Exporter', /* Package */
237
	'diag_authentication.php' => 'https://doc.pfsense.org/index.php/User_Authentication_Servers',
238
	'diag_limiter_info.php' => 'https://doc.pfsense.org/index.php/Limiters',
239
	'diag_pf_info.php' => 'https://doc.pfsense.org/index.php/Packet_Filter_Information',
240
	'diag_smart.php' => 'https://doc.pfsense.org/index.php/SMART_Status',
241
	'diag_states_summary.php' => 'https://doc.pfsense.org/index.php/States_Summary',
242
	'interfaces_wireless.php' => 'https://doc.pfsense.org/index.php/Wireless_Interfaces',
243
	'interfaces_wireless_edit.php' => 'https://doc.pfsense.org/index.php/Wireless_Interfaces',
244
	'system_crlmanager.php' => 'https://doc.pfsense.org/index.php/Certificate_Management',
245
	'crash_reporter.php' => 'https://doc.pfsense.org/index.php/Unexpected_Reboot_Troubleshooting',
246
	'diag_dump_states_sources.php' => 'https://doc.pfsense.org/index.php/Show_Source_Tracking',
247
	'diag_ndp.php' => 'https://doc.pfsense.org/index.php/NDP_Table',
248
	'diag_sockets.php' => 'https://doc.pfsense.org/index.php/Diag_Sockets',
249
	'diag_testport.php' => 'https://doc.pfsense.org/index.php/Test_Port',
250
	'firewall_nat_npt.php' => 'https://doc.pfsense.org/index.php/NPt',
251
	'firewall_nat_npt_edit.php' => 'https://doc.pfsense.org/index.php/NPt',
252
	'services_captiveportal_zones.php' => 'https://doc.pfsense.org/index.php/Captive_Portal',
253
	'services_captiveportal_zones_edit.php' => 'https://doc.pfsense.org/index.php/Captive_Portal',
254
	'status_captiveportal_expire.php' => 'https://doc.pfsense.org/index.php/Captive_Portal',
255
	'services_ntpd.php' => 'https://doc.pfsense.org/index.php/NTP_Server',
256
	'status_ntpd.php' => 'https://doc.pfsense.org/index.php/NTP_Server',
257
	'services_ntpd_gps.php' => 'https://doc.pfsense.org/index.php/NTP_Server',
258
	'services_ntpd_pps.php' => 'https://doc.pfsense.org/index.php/NTP_Server',
259
	'load_balancer_monitor.php' => 'https://doc.pfsense.org/index.php/Inbound_Load_Balancing',
260
	'load_balancer_monitor_edit.php' => 'https://doc.pfsense.org/index.php/Inbound_Load_Balancing',
261
	'load_balancer_pool.php' => 'https://doc.pfsense.org/index.php/Inbound_Load_Balancing#Set_up_Load_Balancing_Pool',
262
	'load_balancer_pool_edit.php' => 'https://doc.pfsense.org/index.php/Inbound_Load_Balancing#Set_up_Load_Balancing_Pool',
263
	'load_balancer_virtual_server.php' => 'https://doc.pfsense.org/index.php/Inbound_Load_Balancing#Set_up_Virtual_Server',
264
	'load_balancer_virtual_server_edit.php' => 'https://doc.pfsense.org/index.php/Inbound_Load_Balancing#Set_up_Virtual_Server',
265
	'load_balancer_setting.php' => 'https://doc.pfsense.org/index.php/Inbound_Load_Balancing#Advanced_Settings',
266
	'status_lb_pool.php' => 'https://doc.pfsense.org/index.php/Inbound_Load_Balancing_Status',
267
	'status_lb_vs.php' => 'https://doc.pfsense.org/index.php/Inbound_Load_Balancing_Status',
268
	'services_dhcpv6_relay.php' => 'https://doc.pfsense.org/index.php/DHCP_Relay',
269
	'status_dhcpv6_leases.php' => 'https://doc.pfsense.org/index.php/DHCPv6_Leases',
270
	'services_dhcpv6.php' => 'https://doc.pfsense.org/index.php/DHCPv6_Server',
271
	'services_dhcpv6_edit.php' => 'https://doc.pfsense.org/index.php/DHCPv6_Server',
272
	'services_router_advertisements.php' => 'https://doc.pfsense.org/index.php/Router_Advertisements',
273
	'status_carp.php' => 'https://doc.pfsense.org/index.php/CARP_Status',
274
	'system_hasync.php' => 'https://doc.pfsense.org/index.php/High_Availability',
275
	'services_unbound.php' => 'https://doc.pfsense.org/index.php/Unbound_DNS_Resolver',
276
	'services_unbound_advanced.php' => 'https://doc.pfsense.org/index.php/Unbound_DNS_Resolver#Advanced_Settings_Tab',
277
	'services_unbound_acls.php' => 'https://doc.pfsense.org/index.php/Unbound_DNS_Resolver#Access_Lists_Tab',
278
	'services_unbound_domainoverride_edit.php' => 'https://doc.pfsense.org/index.php/Unbound_DNS_Resolver',
279
	'services_unbound_host_edit.php' => 'https://doc.pfsense.org/index.php/Unbound_DNS_Resolver',
280
	'diag_gmirror.php' => 'https://doc.pfsense.org/index.php/Create_a_Software_RAID1_%28gmirror%29',
281

    
282
	/* From here down are packages. Not checking these as strictly,
283
	any information is better than nothing. */
284
	'olsrd.xml' => 'https://doc.pfsense.org/index.php/OLSR_Daemon',
285
	'routed.xml' => 'https://doc.pfsense.org/index.php/Routing_Information_Protocol_(RIP)', # RIP
286
	'autoconfigbackup.xml' => 'https://doc.pfsense.org/index.php/AutoConfigBackup',
287
	'phpservice.xml' => 'https://doc.pfsense.org/index.php/PHPService',
288
	'anyterm.xml' => 'https://doc.pfsense.org/index.php/AnyTerm_package',
289
	'avahi.xml' => 'https://doc.pfsense.org/index.php/Avahi_package',
290
	'squid.xml' => 'https://doc.pfsense.org/index.php/Category:Squid',
291
	'squid_auth.xml' => 'https://doc.pfsense.org/index.php/Category:Squid',
292
	'squid_cache.xml' => 'https://doc.pfsense.org/index.php/Category:Squid',
293
	'squid_extauth.xml' => 'https://doc.pfsense.org/index.php/Category:Squid',
294
	'squid_nac.xml' => 'https://doc.pfsense.org/index.php/Category:Squid',
295
	'squid_ng.xml' => 'https://doc.pfsense.org/index.php/Category:Squid',
296
	'squid_traffic.xml' => 'https://doc.pfsense.org/index.php/Category:Squid',
297
	'squid_upstream.xml' => 'https://doc.pfsense.org/index.php/Category:Squid',
298
	'squid_users.xml' => 'https://doc.pfsense.org/index.php/Category:Squid',
299
	'squidGuard.xml' => 'https://doc.pfsense.org/index.php/SquidGuard_package',
300
	'squidguard.xml' => 'https://doc.pfsense.org/index.php/SquidGuard_package',
301
	'squidguard_acl.xml' => 'https://doc.pfsense.org/index.php/SquidGuard_package',
302
	'squidguard_default.xml' => 'https://doc.pfsense.org/index.php/SquidGuard_package',
303
	'squidguard_dest.xml' => 'https://doc.pfsense.org/index.php/SquidGuard_package',
304
	'squidguard_log.xml' => 'https://doc.pfsense.org/index.php/SquidGuard_package',
305
	'squidguard_rewr.xml' => 'https://doc.pfsense.org/index.php/SquidGuard_package',
306
	'squidguard_time.xml' => 'https://doc.pfsense.org/index.php/SquidGuard_package',
307
	'bandwidthd.xml' => 'https://doc.pfsense.org/index.php/How_can_I_monitor_bandwidth_usage',
308
	'pfflowd.xml' => 'https://doc.pfsense.org/index.php/How_can_I_monitor_bandwidth_usage',
309
	'darkstat.xml' => 'https://doc.pfsense.org/index.php/How_can_I_monitor_bandwidth_usage',
310
	'rate.xml' => 'https://doc.pfsense.org/index.php/How_can_I_monitor_bandwidth_usage',
311
	'ntop.xml' => 'https://doc.pfsense.org/index.php/How_can_I_monitor_bandwidth_usage',
312
	'ntopng.xml' => 'https://doc.pfsense.org/index.php/How_can_I_monitor_bandwidth_usage',
313
	'vnstat.xml' => 'https://doc.pfsense.org/index.php/How_can_I_monitor_bandwidth_usage',
314
	'widentd.xml' => 'https://doc.pfsense.org/index.php/Widentd_package',
315
	'tinydns.xml' => 'https://doc.pfsense.org/index.php/Tinydns_package',
316
	'tinydns_domains.xml' => 'https://doc.pfsense.org/index.php/Tinydns_package',
317
	'tinydns_sync.xml' => 'https://doc.pfsense.org/index.php/Tinydns_package',
318
	'blinkled.xml' => 'https://doc.pfsense.org/index.php/BlinkLED_Package',
319
	'havp.xml' => 'https://doc.pfsense.org/index.php/HAVP_Package_for_HTTP_Anti-Virus_Scanning',
320
	'havp_avset.xml' => 'https://doc.pfsense.org/index.php/HAVP_Package_for_HTTP_Anti-Virus_Scanning',
321
	'havp_blacklist.xml' => 'https://doc.pfsense.org/index.php/HAVP_Package_for_HTTP_Anti-Virus_Scanning',
322
	'havp_fscan.xml' => 'https://doc.pfsense.org/index.php/HAVP_Package_for_HTTP_Anti-Virus_Scanning',
323
	'havp_trans_exclude.xml' => 'https://doc.pfsense.org/index.php/HAVP_Package_for_HTTP_Anti-Virus_Scanning',
324
	'havp_whitelist.xml' => 'https://doc.pfsense.org/index.php/HAVP_Package_for_HTTP_Anti-Virus_Scanning',
325
	'snort.xml' => 'https://doc.pfsense.org/index.php/Setup_Snort_Package',
326
	'snort/snort_interfaces.php' => 'https://doc.pfsense.org/index.php/Snort_interfaces',
327
	'snort/snort_interfaces_global.php' => 'https://doc.pfsense.org/index.php/Snort_interfaces_global',
328
	'snort/snort_download_updates.php' => 'https://doc.pfsense.org/index.php/Snort_updates',
329
	'snort/snort_alerts.php' => 'https://doc.pfsense.org/index.php/Snort_alerts',
330
	'snort/snort_blocked.php' => 'https://doc.pfsense.org/index.php/Snort_blocked_hosts',
331
	'snort/snort_passlist.php' => 'https://doc.pfsense.org/index.php/Snort_passlist',
332
	'snort/snort_passlist_edit.php' => 'https://doc.pfsense.org/index.php/Snort_passlist',
333
	'snort/snort_interfaces_suppress.php' => 'https://doc.pfsense.org/index.php/Snort_suppress_list',
334
	'snort/snort_interfaces_suppress_edit.php' => 'https://doc.pfsense.org/index.php/Snort_suppress_list',
335
	'snort/snort_interfaces_edit.php' => 'https://doc.pfsense.org/index.php/Snort_interfaces_edit',
336
	'snort/snort_rulesets.php' => 'https://doc.pfsense.org/index.php/Snort_rulesets',
337
	'snort/snort_rules.php' => 'https://doc.pfsense.org/index.php/Snort_rules',
338
	'snort/snort_define_servers.php' => 'https://doc.pfsense.org/index.php/Snort_define_servers',
339
	'snort/snort_preprocessors.php' => 'https://doc.pfsense.org/index.php/Snort_preprocessors',
340
	'snort/snort_barnyard.php' => 'https://doc.pfsense.org/index.php/Snort_barnyard2',
341
	'snort/snort_ip_reputation.php' => 'https://doc.pfsense.org/index.php/Snort_ip_reputation_preprocessor',
342
	'snort/snort_ip_list_mgmt.php' => 'https://doc.pfsense.org/index.php/Snort_ip_list_mgmt',
343
	'snort/snort_sync.xml' => 'https://doc.pfsense.org/index.php/Snort_sync',
344
	'stunnel.xml' => 'https://doc.pfsense.org/index.php/Stunnel_package',
345
	'stunnel_certs.xml' => 'https://doc.pfsense.org/index.php/Stunnel_package',
346
	'openbgpd.xml' => 'https://doc.pfsense.org/index.php/OpenBGPD_package',
347
	'openbgpd_groups.xml' => 'https://doc.pfsense.org/index.php/OpenBGPD_package',
348
	'openbgpd_neighbors.xml' => 'https://doc.pfsense.org/index.php/OpenBGPD_package',
349
	'iperf.xml' => 'https://doc.pfsense.org/index.php/Iperf_package',
350
	'iperfserver.xml' => 'https://doc.pfsense.org/index.php/Iperf_package',
351
	'jail_template.xml' => 'https://doc.pfsense.org/index.php/PfJailctl_package',
352
	'jailctl.xml' => 'https://doc.pfsense.org/index.php/PfJailctl_package',
353
	'jailctl_defaults.xml' => 'https://doc.pfsense.org/index.php/PfJailctl_package',
354
	'jailctl_settings.xml' => 'https://doc.pfsense.org/index.php/PfJailctl_package',
355
	'siproxd.xml' => 'https://doc.pfsense.org/index.php/Siproxd_package',
356
	'siproxdusers.xml' => 'https://doc.pfsense.org/index.php/Siproxd_package',
357
	'open-vm-tools.xml' => 'https://doc.pfsense.org/index.php/Open_VM_Tools_package',
358
	'arping.xml' => 'https://doc.pfsense.org/index.php/Arping_package',
359
	'unbound.xml' => 'https://doc.pfsense.org/index.php/Unbound_package',
360
	'nut.xml' => 'https://doc.pfsense.org/index.php/Nut_package',
361

    
362
);
363

    
364
$pagename = "";
365
/* Check for parameter "page". */
366
if ($_GET && isset($_GET['page'])) {
367
	$pagename = $_GET['page'];
368
}
369

    
370
/* If "page" is not found, check referring URL */
371
if (empty($pagename)) {
372
	/* Attempt to parse out filename */
373
	$uri_split = "";
374
	preg_match("/\/(.*)\?(.*)/", $_SERVER["HTTP_REFERER"], $uri_split);
375

    
376
	/* If there was no match, there were no parameters, just grab the filename
377
		Otherwise, use the matched filename from above. */
378
	if (empty($uri_split[0])) {
379
		$pagename = ltrim(parse_url($_SERVER["HTTP_REFERER"], PHP_URL_PATH), '/');
380
	} else {
381
		$pagename = $uri_split[1];
382
	}
383

    
384
	/* If the page name is still empty, the user must have requested / (index.php) */
385
	if (empty($pagename)) {
386
		$pagename = "index.php";
387
	}
388

    
389
	/* If the filename is pkg_edit.php or wizard.php, reparse looking
390
		for the .xml filename */
391
	if (($pagename == "pkg.php") || ($pagename == "pkg_edit.php") || ($pagename == "wizard.php")) {
392
		$param_split = explode('&', $uri_split[2]);
393
		foreach ($param_split as $param) {
394
			if (substr($param, 0, 4) == "xml=") {
395
				$xmlfile = explode('=', $param);
396
				$pagename = $xmlfile[1];
397
			}
398
		}
399
	}
400
}
401

    
402
/* Using the derived page name, attempt to find in the URL mapping hash */
403
if (array_key_exists($pagename, $helppages)) {
404
	$helppage = $helppages[$pagename];
405
}
406

    
407
/* If we haven't determined a proper page, use a generic help page
408
	 stating that a given page does not have help yet. */
409

    
410
if (empty($helppage)) {
411
	$helppage = 'https://doc.pfsense.org/index.php/No_Help_Found';
412
}
413

    
414
/* Redirect to help page. */
415
header("Location: {$helppage}");
416

    
417
?>
(66-66/229)