Project

General

Profile

Download (9.75 KB) Statistics
| Branch: | Tag: | Revision:
1 76692ad2 jim-p
<?php
2 0f5d612a jim-p
/* $Id$ */
3
/*
4
	Copyright (C) 2012 Jim Pingle
5
	All rights reserved.
6
7
	Copyright (C) 2007, 2008 Scott Ullrich <sullrich@gmail.com>
8
	All rights reserved.
9
10
	Redistribution and use in source and binary forms, with or without
11
	modification, are permitted provided that the following conditions are met:
12
13
	1. Redistributions of source code must retain the above copyright notice,
14
	   this list of conditions and the following disclaimer.
15
16
	2. Redistributions in binary form must reproduce the above copyright
17
	   notice, this list of conditions and the following disclaimer in the
18
	   documentation and/or other materials provided with the distribution.
19
20
	THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
21
	INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
22
	AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
23
	AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
24
	OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
	SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
	INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
	CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
	POSSIBILITY OF SUCH DAMAGE.
30
31
*/
32
33
/*
34
	pfSense_MODULE:	system
35
*/
36
37 9990b70c jim-p
// On the page, add in like so:
38
//   $shortcut_section = "relayd";
39
40 e3ffa8d4 jim-p
$shortcuts = array();
41
42 0f5d612a jim-p
/* Load and process custom shortcuts. */
43
function get_shortcut_files($directory) {
44
	$dir_array = array();
45
	if(!is_dir($directory)) 
46
		return;
47
	if ($dh = opendir($directory)) {
48
		while (($file = readdir($dh)) !== false) {
49
			$canadd = 0;
50
			if($file == ".") 
51
				$canadd = 1;
52
			if($file == "..") 
53
				$canadd = 1;
54
			if($canadd == 0)
55
				array_push($dir_array, $file);
56
		}
57
		closedir($dh);
58
	}
59
	if(!is_array($dir_array))
60
		return;
61
	return $dir_array;
62
}
63
64 391abfcf jim-p
function get_shortcut_by_service_name($servicename) {
65
	global $shortcuts;
66
	foreach ($shortcuts as $name => $shortcut) {
67
		if (!empty($shortcut['service']) && ($shortcut['service'] == $servicename))
68
			return $name;
69
	}
70
	return null;
71
}
72
73
function get_shortcut_main_link($shortcut_section, $addspace = true, $service = array()) {
74
	global $g, $shortcuts;
75
	if(empty($shortcut_section))
76
		return "";
77
	$space = ($addspace) ? "&nbsp;" : "" ;
78
	switch ($shortcut_section) {
79
		case "openvpn":
80
			if (!empty($service['mode']) && is_numeric($service['id']))
81
				$link = "vpn_openvpn_{$service['mode']}.php?act=edit&id={$service['id']}";
82
			else
83
				$link = $shortcuts[$shortcut_section]['main'];
84
			break;
85
		case "captiveportal":
86
			if (!empty($service['zone']))
87
				$link = "services_captiveportal.php?zone={$service['zone']}";
88
			else
89
				$link = $shortcuts[$shortcut_section]['main'];
90
			break;
91
		default:
92
			$link = $shortcuts[$shortcut_section]['main'];
93
			break;
94
	}
95 be9c20c7 jim-p
	if(!empty($link) && ($_SERVER['REQUEST_URI'] != "/{$link}"))
96 391abfcf jim-p
		return "{$space}<a href=\"{$link}\" title=\"" . gettext("Main page for this section") . "\"><img style=\"vertical-align:middle\" src=\"/themes/{$g['theme']}/images/icons/icon_plus.gif\" border=\"0\"></a>";
97
}
98
99
function get_shortcut_status_link($shortcut_section, $addspace = true, $service = array()) {
100
	global $g, $shortcuts, $cpzone;
101
	if(empty($shortcut_section))
102
		return "";
103
	$space = ($addspace) ? "&nbsp;" : "" ;
104
	if (!empty($cpzone))
105
		$zone = $cpzone;
106
	elseif (!empty($service['zone']))
107
		$zone = $service['zone'];
108
	switch ($shortcut_section) {
109
		case "captiveportal":
110
			if (!empty($zone))
111
				$link = "status_captiveportal.php?zone={$zone}";
112
			else
113
				$link = $shortcuts[$shortcut_section]['status'];
114
			break;
115
		default:
116
			$link = $shortcuts[$shortcut_section]['status'];
117
			break;
118
	}
119
	if(!empty($link))
120
		return "{$space}<a href=\"{$link}\" title=\"" . gettext("Status of items on this page") . "\"><img style=\"vertical-align:middle\" src=\"/themes/{$g['theme']}/images/icons/icon_service_status.gif\" border=\"0\"></a>";
121
}
122
123
function get_shortcut_log_link($shortcut_section, $addspace = true) {
124
	global $g, $shortcuts;
125
	$space = ($addspace) ? "&nbsp;" : "" ;
126
	if(!empty($shortcut_section) && !empty($shortcuts[$shortcut_section]['log'])) {
127
		return "{$space}<a href=\"{$shortcuts[$shortcut_section]['log']}\" title=\"" . gettext("Log entries for items on this page") . "\"><img style=\"vertical-align:middle\" src=\"/themes/{$g['theme']}/images/icons/icon_logs.gif\" border=\"0\"></a>";
128
	}
129
}
130
131 0f5d612a jim-p
// Load shortcuts
132
$dir_array = get_shortcut_files("/usr/local/www/shortcuts");
133
foreach ($dir_array as $file) 
134
	if (!is_dir("/usr/local/www/shortcuts/{$file}") && stristr($file,".inc")) 
135
		include("/usr/local/www/shortcuts/{$file}");
136
if(is_dir("/usr/local/pkg/shortcuts")) {
137
	$dir_array = get_shortcut_files("/usr/local/pkg/shortcuts");
138
	foreach ($dir_array as $file) 
139
		if (!is_dir("/usr/local/pkg/shortcuts/{$file}") && stristr($file,".inc")) 
140
			include("/usr/local/pkg/shortcuts/{$file}");
141
}
142
143 79696dea jim-p
$shortcuts['relayd'] = array();
144 226c43a5 jim-p
$shortcuts['relayd']['main'] = "load_balancer_pool.php";
145 76692ad2 jim-p
$shortcuts['relayd']['log'] = "diag_logs_relayd.php";
146
$shortcuts['relayd']['status'] = "status_lb_pool.php";
147
$shortcuts['relayd']['service'] = "relayd";
148
149 79696dea jim-p
$shortcuts['relayd-virtualservers'] = array();
150 226c43a5 jim-p
$shortcuts['relayd-virtualservers']['main'] = "load_balancer_virtual_server.php";
151 76692ad2 jim-p
$shortcuts['relayd-virtualservers']['log'] = "diag_logs_relayd.php";
152
$shortcuts['relayd-virtualservers']['status'] = "status_lb_vs.php";
153 79696dea jim-p
$shortcuts['relayd-virtualservers']['service'] = "relayd";
154 76692ad2 jim-p
155 79696dea jim-p
$shortcuts['captiveportal'] = array();
156 226c43a5 jim-p
$shortcuts['captiveportal']['main'] = "services_captiveportal_zones.php";
157 76692ad2 jim-p
$shortcuts['captiveportal']['log'] = "diag_logs_auth.php";
158
$shortcuts['captiveportal']['status'] = "status_captiveportal.php";
159 e38d34b4 jim-p
$shortcuts['captiveportal']['service'] = "captiveportal";
160 79696dea jim-p
161
$shortcuts['captiveportal-vouchers'] = array();
162 76692ad2 jim-p
$shortcuts['captiveportal-vouchers']['log'] = "diag_logs_auth.php";
163
$shortcuts['captiveportal-vouchers']['status'] = "status_captiveportal_vouchers.php";
164 e38d34b4 jim-p
$shortcuts['captiveportal-vouchers']['service'] = "captiveportal";
165 76692ad2 jim-p
166 79696dea jim-p
$shortcuts['dhcp'] = array();
167 226c43a5 jim-p
$shortcuts['dhcp']['main'] = "services_dhcp.php";
168 76692ad2 jim-p
$shortcuts['dhcp']['log'] = "diag_logs_dhcp.php";
169
$shortcuts['dhcp']['status'] = "status_dhcp_leases.php";
170
$shortcuts['dhcp']['service'] = "dhcpd";
171
172 79696dea jim-p
$shortcuts['dhcp6'] = array();
173 226c43a5 jim-p
$shortcuts['dhcp6']['main'] = "services_dhcpv6.php";
174 76692ad2 jim-p
$shortcuts['dhcp6']['log'] = "diag_logs_dhcp.php";
175
$shortcuts['dhcp6']['status'] = "status_dhcpv6_leases.php";
176
177 79696dea jim-p
178
$shortcuts['ipsec'] = array();
179 226c43a5 jim-p
$shortcuts['ipsec']['main'] = "vpn_ipsec.php";
180 76692ad2 jim-p
$shortcuts['ipsec']['log'] = "diag_logs_ipsec.php";
181
$shortcuts['ipsec']['status'] = "diag_ipsec.php";
182
$shortcuts['ipsec']['service'] = "racoon";
183
184 79696dea jim-p
$shortcuts['openvpn'] = array();
185 226c43a5 jim-p
$shortcuts['openvpn']['main'] = "vpn_openvpn_server.php";
186 76692ad2 jim-p
$shortcuts['openvpn']['log'] = "diag_logs_openvpn.php";
187
$shortcuts['openvpn']['status'] = "status_openvpn.php";
188 6d9b1074 jim-p
$shortcuts['openvpn']['service'] = "openvpn";
189 76692ad2 jim-p
190 79696dea jim-p
$shortcuts['firewall'] = array();
191 226c43a5 jim-p
$shortcuts['firewall']['main'] = "firewall_rules.php";
192 76692ad2 jim-p
$shortcuts['firewall']['log'] = "diag_logs_filter.php";
193
$shortcuts['firewall']['status'] = "status_filter_reload.php";
194
195 79696dea jim-p
$shortcuts['routing'] = array();
196 226c43a5 jim-p
$shortcuts['routing']['main'] = "system_routes.php";
197 76692ad2 jim-p
$shortcuts['routing']['log'] = "diag_logs_routing.php";
198
$shortcuts['routing']['status'] = "diag_routes.php";
199
200 79696dea jim-p
$shortcuts['gateways'] = array();
201 226c43a5 jim-p
$shortcuts['gateways']['main'] = "system_gateways.php";
202 76692ad2 jim-p
$shortcuts['gateways']['log'] = "diag_logs_gateways.php";
203
$shortcuts['gateways']['status'] = "status_gateways.php";
204 79696dea jim-p
205
$shortcuts['gateway-groups'] = array();
206 226c43a5 jim-p
$shortcuts['gateway-groups']['main'] = "system_gateway_groups.php";
207 76692ad2 jim-p
$shortcuts['gateway-groups']['log'] = "diag_logs_gateways.php";
208
$shortcuts['gateway-groups']['status'] = "status_gateway_groups.php";
209
210 79696dea jim-p
$shortcuts['interfaces'] = array();
211 226c43a5 jim-p
$shortcuts['interfaces']['main'] = "interfaces_assign.php";
212 76692ad2 jim-p
$shortcuts['interfaces']['status'] = "status_interfaces.php";
213
214 79696dea jim-p
$shortcuts['trafficshaper'] = array();
215 226c43a5 jim-p
$shortcuts['trafficshaper']['main'] = "firewall_shaper.php";
216 76692ad2 jim-p
$shortcuts['trafficshaper']['status'] = "status_queues.php";
217
218 d71fc5d3 jim-p
$shortcuts['trafficshaper-limiters'] = array();
219
$shortcuts['trafficshaper-limiters']['main'] = "firewall_shaper_vinterface.php";
220
$shortcuts['trafficshaper-limiters']['status'] = "diag_limiter_info.php";
221
222 0143e77b bcyrill
$shortcuts['resolver'] = array();
223 226c43a5 jim-p
$shortcuts['resolver']['main'] = "services_dnsmasq.php";
224 76692ad2 jim-p
$shortcuts['resolver']['log'] = "diag_logs_resolver.php";
225
$shortcuts['resolver']['service'] = "dnsmasq";
226
227 0143e77b bcyrill
$shortcuts['wireless'] = array();
228 226c43a5 jim-p
$shortcuts['wireless']['main'] = "interfaces_wireless.php";
229 76692ad2 jim-p
$shortcuts['wireless']['log'] = "diag_logs_wireless.php";
230
$shortcuts['wireless']['status'] = "status_wireless.php";
231
232 79696dea jim-p
$shortcuts['ntp'] = array();
233 226c43a5 jim-p
$shortcuts['ntp']['main'] = "services_ntpd.php";
234 76692ad2 jim-p
$shortcuts['ntp']['log'] = "diag_logs_ntpd.php";
235
$shortcuts['ntp']['status'] = "status_ntpd.php";
236
$shortcuts['ntp']['service'] = "ntpd";
237
238 79696dea jim-p
$shortcuts['pptps'] = array();
239 226c43a5 jim-p
$shortcuts['pptps']['main'] = "vpn_pptp.php";
240 76692ad2 jim-p
$shortcuts['pptps']['log'] = "diag_logs_vpn.php";
241
242 79696dea jim-p
$shortcuts['pppoes'] = array();
243 226c43a5 jim-p
$shortcuts['pppoes']['main'] = "vpn_pppoe.php";
244 76692ad2 jim-p
$shortcuts['pppoes']['log'] = "diag_logs_vpn.php?vpntype=poes";
245
246 79696dea jim-p
$shortcuts['l2tps'] = array();
247 226c43a5 jim-p
$shortcuts['l2tps']['main'] = "vpn_l2tp.php";
248 76692ad2 jim-p
$shortcuts['l2tps']['log'] = "diag_logs_vpn.php?vpntype=l2tp";
249
250 79696dea jim-p
$shortcuts['carp'] = array();
251 226c43a5 jim-p
$shortcuts['carp']['main'] = "system_hasync.php";
252 76692ad2 jim-p
$shortcuts['carp']['status'] = "carp_status.php";
253 d71fc5d3 jim-p
254
$shortcuts['snmp'] = array();
255
$shortcuts['snmp']['main'] = "services_snmp.php";
256
$shortcuts['snmp']['service'] = "bsnmpd";
257
258
$shortcuts['authentication'] = array();
259
$shortcuts['authentication']['main'] = "system_authservers.php";
260
$shortcuts['authentication']['status'] = "diag_authentication.php";
261
262
$shortcuts['aliases'] = array();
263
$shortcuts['aliases']['main'] = "firewall_aliases.php";
264
$shortcuts['aliases']['status'] = "diag_tables.php";
265 76692ad2 jim-p
?>