Subversion Repositories ALCASAR

Rev

Rev 2341 | Rev 2392 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2341 Rev 2349
1
<?php
1
<?php
2
# $Id: user_edit.php 2341 2017-07-21 20:01:36Z tom.houdayer $
2
# $Id: user_edit.php 2349 2017-07-22 12:20:21Z tom.houdayer $
3
 
3
 
4
//gestion de la langue
4
//gestion de la langue
5
if (is_file("../lib/langues.php"))
5
if (is_file("../lib/langues.php"))
6
	include("../lib/langues.php");
6
	include("../lib/langues.php");
7
 
7
 
8
//update Filter-Id for protocol filtering
8
//update Filter-Id for protocol filtering
9
if (isset($_POST['Filter-Proto']) && isset($_POST['Filter-Id0']))
9
if (isset($_POST['Filter-Proto']) && isset($_POST['Filter-Id0']))
10
{
10
{
11
	$upId = (int)$_POST['Filter-Proto'];
11
	$upId = (int)$_POST['Filter-Proto'];
12
	$downId = (int)$_POST['Filter-Id0'];
12
	$downId = (int)$_POST['Filter-Id0'];
13
	$upId = $upId+$downId;
13
	$upId = $upId+$downId;
14
	$upId = str_pad($upId, 8, '0', STR_PAD_LEFT);
14
	$upId = str_pad($upId, 8, '0', STR_PAD_LEFT);
15
	$_POST['Filter-Id0'] = $upId;
15
	$_POST['Filter-Id0'] = $upId;
16
}
16
}
17
 
17
 
18
require('/etc/freeradius-web/config.php');
18
require('/etc/freeradius-web/config.php');
19
require('../lib/attrshow.php');
19
require('../lib/attrshow.php');
20
require('../lib/defaults.php');
20
require('../lib/defaults.php');
21
require("../lib/operators.php");
21
require("../lib/operators.php");
22
 
22
 
23
if(!isset($change)) $change = 0;
23
if(!isset($change)) $change = 0;
24
if(!isset($user_type)) $user_type = 'user';
24
if(!isset($user_type)) $user_type = 'user';
25
if(!isset($badusers)) $badusers = 0;
25
if(!isset($badusers)) $badusers = 0;
26
if(!isset($cn)) $cn = '';
26
if(!isset($cn)) $cn = '';
27
 
27
 
28
if ($user_type != 'group'){
28
if ($user_type != 'group'){
29
	if (is_file("../lib/$config[general_lib_type]/user_info.php"))
29
	if (is_file("../lib/$config[general_lib_type]/user_info.php"))
30
		include("../lib/$config[general_lib_type]/user_info.php");
30
		include("../lib/$config[general_lib_type]/user_info.php");
31
	if ($config['general_lib_type'] == 'sql' && $config['sql_show_all_groups'] == 'true'){
31
	if ($config['general_lib_type'] == 'sql' && $config['sql_show_all_groups'] == 'true'){
32
		$saved_login = $login;
32
		$saved_login = $login;
33
		$login = '';
33
		$login = '';
34
		if (is_file("../lib/$config[general_lib_type]/group_info.php"))
34
		if (is_file("../lib/$config[general_lib_type]/group_info.php"))
35
			include("../lib/$config[general_lib_type]/group_info.php");
35
			include("../lib/$config[general_lib_type]/group_info.php");
36
		$login = $saved_login;
36
		$login = $saved_login;
37
	}
37
	}
38
}
38
}
39
else{
39
else{
40
	if (is_file("../lib/$config[general_lib_type]/group_info.php"))
40
	if (is_file("../lib/$config[general_lib_type]/group_info.php"))
41
		include("../lib/$config[general_lib_type]/group_info.php");
41
		include("../lib/$config[general_lib_type]/group_info.php");
42
}
42
}
43
if (false && /* Hide operator column */ $config['general_lib_type'] == 'sql' && $config['sql_use_operators'] == 'true') {
43
if (false && /* Hide operator column */ $config['general_lib_type'] == 'sql' && $config['sql_use_operators'] == 'true') {
44
	$colspan = 2;
44
	$colspan = 2;
45
	$show_ops = 1;
45
	$show_ops = 1;
46
} else {
46
} else {
47
	$show_ops = 0;
47
	$show_ops = 0;
48
	$colspan = 1;
48
	$colspan = 1;
49
}
49
}
50
?>
50
?>
51
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
51
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
52
<html>
52
<html>
53
<head>
53
<head>
54
<title>Users & groups edition</title>
54
<title>Users & groups edition</title>
55
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $config['general_charset']?>">
55
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $config['general_charset']?>">
56
<link rel="stylesheet" href="/css/style.css">
56
<link rel="stylesheet" href="/css/style.css">
57
<script type="text/javascript" src="/js/fonctions.js"></script>
57
<script type="text/javascript" src="/js/fonctions.js"></script>
58
<script language="javascript" type="text/javascript">
58
<script language="javascript" type="text/javascript">
59
var chars='0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ'
59
var chars='0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ'
60
function password(size)
60
function password(size)
61
  {
61
  {
62
  var pass=''
62
  var pass=''
63
  while(pass.length < size)
63
  while(pass.length < size)
64
  {
64
  {
65
    pass+=chars.charAt(Math.round(Math.random() * (chars.length)))
65
    pass+=chars.charAt(Math.round(Math.random() * (chars.length)))
66
  }
66
  }
67
  document.edituser.passwd.value=pass
67
  document.edituser.passwd.value=pass
68
  document.edituser.pwdgene.value=pass
68
  document.edituser.pwdgene.value=pass
69
}
69
}
70
</script>
70
</script>
71
<script type="text/javascript" src="/js/epoch_classes.js"></script>
71
<script type="text/javascript" src="/js/epoch_classes.js"></script>
72
<script language="javascript" type="text/javascript">
72
<script language="javascript" type="text/javascript">
73
	// Insertion du calendrier
73
	// Insertion du calendrier
74
	var dp_cal;
74
	var dp_cal;
75
	window.onload = function () {
75
	window.onload = function () {
76
		dp_cal = new Epoch('epoch_popup', 'popup', document.getElementById('popup_container'));
76
		dp_cal = new Epoch('epoch_popup', 'popup', document.getElementById('popup_container'));
77
	};
77
	};
78
</script>
78
</script>
79
<script type="text/javascript">
79
<script type="text/javascript">
80
	function showAdvancedFields(show) {
80
	function showAdvancedFields(show) {
81
		var form = document.forms['edituser'];
81
		var form = document.forms['edituser'];
82
		var btn_show = document.getElementById('show-advanced-fields');
82
		var btn_show = document.getElementById('show-advanced-fields');
83
		var btn_hide = document.getElementById('hide-advanced-fields');
83
		var btn_hide = document.getElementById('hide-advanced-fields');
84
 
84
 
85
		if (show) {
85
		if (show) {
86
			btn_hide.style.display = null;
86
			btn_hide.style.display = null;
87
			btn_show.style.display = 'none';
87
			btn_show.style.display = 'none';
88
			form.className += ' hide-advanced-fields';
88
			form.className += ' hide-advanced-fields';
89
		} else {
89
		} else {
90
			btn_show.style.display = null;
90
			btn_show.style.display = null;
91
			btn_hide.style.display = 'none';
91
			btn_hide.style.display = 'none';
92
			form.className = form.className.replace(' hide-advanced-fields', '');
92
			form.className = form.className.replace(' hide-advanced-fields', '');
93
 
93
 
94
		}
94
		}
95
	}
95
	}
96
</script>
96
</script>
97
<style type="text/css">
97
<style type="text/css">
98
	.hide-advanced-fields .advanced-field {
98
	.hide-advanced-fields .advanced-field {
99
		display: none;
99
		display: none;
100
	}
100
	}
101
</style>
101
</style>
102
</head>
102
</head>
103
<body>
103
<body>
104
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
104
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
105
	<tr><th><?= (($user_type !== 'group') ? $l_users_managment : $l_groups_managment) ?></th></tr>
105
	<tr><th><?= (($user_type !== 'group') ? $l_users_managment : $l_groups_managment) ?></th></tr>
106
	<tr bgcolor="#FFCC66"><td><img src="/images/pix.gif" width="1"
106
	<tr bgcolor="#FFCC66"><td><img src="/images/pix.gif" width="1"
107
height="2"></td></tr>
107
height="2"></td></tr>
108
</TABLE>
108
</TABLE>
109
<TABLE width="100%" border=1 cellspacing=0 cellpadding=1>
109
<TABLE width="100%" border=1 cellspacing=0 cellpadding=1>
110
	<tr><td valign="middle" align="left">
110
	<tr><td valign="middle" align="left">
111
	<center>
111
	<center>
112
	<table border=0 width=640 cellpadding=0 cellspacing=2>
112
	<table border=0 width=640 cellpadding=0 cellspacing=2>
113
<?php
113
<?php
114
if ($user_type != 'group'){
114
if ($user_type != 'group'){
115
	include("../html/user_toolbar.html.php");
115
	include("../html/user_toolbar.html.php");
116
	$titre=$l_user;
116
	$titre=$l_user;
117
}else{
117
}else{
118
	include("../html/group_toolbar.html.php");
118
	include("../html/group_toolbar.html.php");
119
	$titre=$l_group;
119
	$titre=$l_group;
120
}
120
}
121
print <<<EOM
121
print <<<EOM
122
</table>
122
</table>
123
<br>
123
<br>
124
<table border=0 width=620 cellpadding=1 cellspacing=1>
124
<table border=0 width=620 cellpadding=1 cellspacing=1>
125
<tr valign=top>
125
<tr valign=top>
126
<td width=400></td>
126
<td width=400></td>
127
<td bgcolor="black">
127
<td bgcolor="black">
128
	<table border=0 width=100% cellpadding=2 cellspacing=0>
128
	<table border=0 width=100% cellpadding=2 cellspacing=0>
129
	<tr bgcolor="#907030" align=center valign=top><th>
129
	<tr bgcolor="#907030" align=center valign=top><th>
130
	<font color="white">$titre : $login ($cn)</font>
130
	<font color="white">$titre : $login ($cn)</font>
131
	</th></tr>
131
	</th></tr>
132
	</table>
132
	</table>
133
</td></tr>
133
</td></tr>
134
<tr bgcolor="black" valign=top><td colspan="2">
134
<tr bgcolor="black" valign=top><td colspan="2">
135
	<table border=0 width=100% cellpadding=12 cellspacing=0 bgcolor="#ffffd0" valign=top>
135
	<table border=0 width=100% cellpadding=12 cellspacing=0 bgcolor="#ffffd0" valign=top>
136
	<tr><td>
136
	<tr><td>
137
EOM;
137
EOM;
138
 
138
 
139
if ($change == 1) {
139
if ($change == 1) {
140
	if (is_file("../lib/$config[general_lib_type]/change_attrs.php"))
140
	if (is_file("../lib/$config[general_lib_type]/change_attrs.php"))
141
		include("../lib/$config[general_lib_type]/change_attrs.php");
141
		include("../lib/$config[general_lib_type]/change_attrs.php");
142
	if ($user_type != 'group'){
142
	if ($user_type != 'group'){
143
		if ($config['general_show_user_password'] != 'no' && $passwd != ''
143
		if ($config['general_show_user_password'] != 'no' && $passwd != ''
144
			&& is_file("../lib/$config[general_lib_type]/change_passwd.php"))
144
			&& is_file("../lib/$config[general_lib_type]/change_passwd.php"))
145
			include("../lib/$config[general_lib_type]/change_passwd.php");
145
			include("../lib/$config[general_lib_type]/change_passwd.php");
146
		if (is_file("../lib/$config[general_lib_type]/user_info.php"))
146
		if (is_file("../lib/$config[general_lib_type]/user_info.php"))
147
			include("../lib/$config[general_lib_type]/user_info.php");
147
			include("../lib/$config[general_lib_type]/user_info.php");
148
		if ($group_change && $config['general_lib_type'] == 'sql' && $config['sql_show_all_groups'] == 'true'){
148
		if ($group_change && $config['general_lib_type'] == 'sql' && $config['sql_show_all_groups'] == 'true'){
149
			include("../lib/$config[general_lib_type]/group_change.php");
149
			include("../lib/$config[general_lib_type]/group_change.php");
150
			include("../lib/defaults.php");
150
			include("../lib/defaults.php");
151
		}
151
		}
152
		# Disconnecting user for re-authentication
152
		# Disconnecting user for re-authentication
153
		$mac=exec("sudo /usr/sbin/chilli_query list | grep ".escapeshellarg(" $login ")." | awk '{print $1}'");
153
		$mac = exec("sudo /usr/sbin/chilli_query list | grep ".escapeshellarg(" $login ")." | awk '{print $1}'");
-
 
154
		if (!empty($mac)) {
154
		exec("sudo /usr/sbin/chilli_query logout ".escapeshellarg($mac));
155
			exec("sudo /usr/sbin/chilli_query logout ".escapeshellarg($mac));
-
 
156
		}
155
	}
157
	}
156
	else{
158
	else{
157
		if (is_file("../lib/$config[general_lib_type]/group_info.php"))
159
		if (is_file("../lib/$config[general_lib_type]/group_info.php"))
158
			include("../lib/$config[general_lib_type]/group_info.php");
160
			include("../lib/$config[general_lib_type]/group_info.php");
159
		# Disconnecting all users from the selected group for re-authentication
161
		# Disconnecting all users from the selected group for re-authentication
160
		if (isset($group_members)){
162
		if (isset($group_members)){
161
			foreach ($group_members as $g_member => $member){
163
			foreach ($group_members as $g_member => $member){
162
				$mac=exec("sudo /usr/sbin/chilli_query list | grep ".escapeshellarg(" $member ")." | awk '{print $1}'");
164
				$mac = exec("sudo /usr/sbin/chilli_query list | grep ".escapeshellarg(" $member ")." | awk '{print $1}'");
-
 
165
				if (!empty($mac)) {
163
				exec("sudo /usr/sbin/chilli_query logout ".escapeshellarg($mac));
166
					exec("sudo /usr/sbin/chilli_query logout ".escapeshellarg($mac));
-
 
167
				}
164
			}
168
			}
165
		}
169
		}
166
	}
170
	}
167
}
171
}
168
else if ($badusers == 1){
172
else if ($badusers == 1){
169
	if (is_file("../lib/add_badusers.php"))
173
	if (is_file("../lib/add_badusers.php"))
170
		include("../lib/add_badusers.php");
174
		include("../lib/add_badusers.php");
171
}
175
}
172
 
176
 
173
//si l'utilisateur fait parti d'un groupe, on charge les attributs du groupe, pour les afficher ensuite.
177
//si l'utilisateur fait parti d'un groupe, on charge les attributs du groupe, pour les afficher ensuite.
174
if(isset($member_groups) && ($user_type != 'group')) {
178
if(isset($member_groups) && ($user_type != 'group')) {
175
	$group = array_values($member_groups)[0];
179
	$group = array_values($member_groups)[0];
176
	$login_saved = $login;
180
	$login_saved = $login;
177
	$login = array_values($member_groups)[0];
181
	$login = array_values($member_groups)[0];
178
	include("../lib/$config[general_lib_type]/group_info.php");
182
	include("../lib/$config[general_lib_type]/group_info.php");
179
	$login = $login_saved;
183
	$login = $login_saved;
180
	
184
	
181
	foreach ($show_attrs as $key => $desc) {
185
	foreach ($show_attrs as $key => $desc) {
182
		$name = $attrmap["$key"];
186
		$name = $attrmap["$key"];
183
		$generic = (isset($attrmap['generic']["$key"])) ? $attrmap['generic']["$key"] : '';
187
		$generic = (isset($attrmap['generic']["$key"])) ? $attrmap['generic']["$key"] : '';
184
		if ($name == 'none')
188
		if ($name == 'none')
185
			continue;
189
			continue;
186
		unset($vals);
190
		unset($vals);
187
		unset($selected);
191
		unset($selected);
188
		unset($ops);
192
		unset($ops);
189
		$def_added = 0;
193
		$def_added = 0;
190
		if (isset($item_vals["$key"]['count']) && $item_vals["$key"]['count']) {
194
		if (isset($item_vals["$key"]['count']) && $item_vals["$key"]['count']) {
191
			for($i=0;$i<$item_vals["$key"]['count'];$i++){
195
			for($i=0;$i<$item_vals["$key"]['count'];$i++){
192
				$vals[] = $item_vals["$key"][$i];
196
				$vals[] = $item_vals["$key"][$i];
193
				$ops[] = $item_vals["$key"]['operator'][$i];
197
				$ops[] = $item_vals["$key"]['operator'][$i];
194
			}
198
			}
195
		} else {
199
		} else {
196
			if (isset($default_vals["$key"]['count']) && $default_vals["$key"]['count']) {
200
			if (isset($default_vals["$key"]['count']) && $default_vals["$key"]['count']) {
197
				for ($i=0;$i<$default_vals["$key"]['count'];$i++) {
201
				for ($i=0;$i<$default_vals["$key"]['count'];$i++) {
198
					$vals[] = $default_vals["$key"][$i];
202
					$vals[] = $default_vals["$key"][$i];
199
					$ops[] = $default_vals["$key"]['operator'][$i];
203
					$ops[] = $default_vals["$key"]['operator'][$i];
200
				}
204
				}
201
			} else {
205
			} else {
202
				$vals[] = '';
206
				$vals[] = '';
203
				$ops[] = '=';
207
				$ops[] = '=';
204
			}
208
			}
205
			$def_added = 1;
209
			$def_added = 1;
206
		}
210
		}
207
		if ($generic == 'generic' && $def_added == 0) {
211
		if ($generic == 'generic' && $def_added == 0) {
208
			for($i=0;$i<$default_vals["$key"]['count'];$i++){
212
			for($i=0;$i<$default_vals["$key"]['count'];$i++){
209
				$vals[] = $default_vals["$key"][$i];
213
				$vals[] = $default_vals["$key"][$i];
210
				$ops[] = $default_vals["$key"]['operator'][$i];
214
				$ops[] = $default_vals["$key"]['operator'][$i];
211
			}
215
			}
212
		}
216
		}
213
		if (isset($add) && $add && $name == $add_attr){
217
		if (isset($add) && $add && $name == $add_attr){
214
			$vals[] = $default_vals["$key"][0];
218
			$vals[] = $default_vals["$key"][0];
215
			$ops[] = ($default_vals["$key"]['operator'][0] != '') ? $default_vals["$key"]['operator'][0] : '=';
219
			$ops[] = ($default_vals["$key"]['operator'][0] != '') ? $default_vals["$key"]['operator'][0] : '=';
216
		}
220
		}
217
 
221
 
218
		$i = 0;
222
		$i = 0;
219
		foreach ($vals as $val) {
223
		foreach ($vals as $val) {
220
			$name1 = $name . $i;
224
			$name1 = $name . $i;
221
			$val = preg_replace('/\"/','&quot;',$val);
225
			$val = preg_replace('/\"/','&quot;',$val);
222
			$oper_name = $name1 . '_op';
226
			$oper_name = $name1 . '_op';
223
			$oper = $ops[$i];
227
			$oper = $ops[$i];
224
			$selected[$oper] = 'selected';
228
			$selected[$oper] = 'selected';
225
			$i++;
229
			$i++;
226
 
230
 
227
			switch ($key)
231
			switch ($key)
228
				{
232
				{
229
				case 'Simultaneous-Use' :
233
				case 'Simultaneous-Use' :
230
					$grp_simuse = $val;
234
					$grp_simuse = $val;
231
					break;
235
					break;
232
				case 'Login-Time' :
236
				case 'Login-Time' :
233
					$grp_logtime = $val;
237
					$grp_logtime = $val;
234
					break;
238
					break;
235
				case 'Expiration' :
239
				case 'Expiration' :
236
					$grp_exp = $val;
240
					$grp_exp = $val;
237
					break;
241
					break;
238
				case 'Max-All-Session' :
242
				case 'Max-All-Session' :
239
					$grp_maxall = $val;
243
					$grp_maxall = $val;
240
					break;
244
					break;
241
				case 'Session-Timeout' :
245
				case 'Session-Timeout' :
242
					$grp_sesstim = $val;
246
					$grp_sesstim = $val;
243
					break;
247
					break;
244
				case 'Max-Daily-Session' :
248
				case 'Max-Daily-Session' :
245
					$grp_maxday = $val;
249
					$grp_maxday = $val;
246
					break;
250
					break;
247
				case 'Max-Weekly-Session' :
251
				case 'Max-Weekly-Session' :
248
					$grp_maxweek = $val;
252
					$grp_maxweek = $val;
249
					break;
253
					break;
250
				case 'Max-Monthly-Session' :
254
				case 'Max-Monthly-Session' :
251
					$grp_maxmonth = $val;
255
					$grp_maxmonth = $val;
252
					break;
256
					break;
253
				case 'ChilliSpot-Max-Input-Octets' :
257
				case 'ChilliSpot-Max-Input-Octets' :
254
					$grp_maxio = $val;
258
					$grp_maxio = $val;
255
					break;
259
					break;
256
				case 'ChilliSpot-Max-Output-Octets' :
260
				case 'ChilliSpot-Max-Output-Octets' :
257
					$grp_maxoo = $val;
261
					$grp_maxoo = $val;
258
					break;
262
					break;
259
				case 'ChilliSpot-Max-Total-Octets' :
263
				case 'ChilliSpot-Max-Total-Octets' :
260
					$grp_maxto = $val;
264
					$grp_maxto = $val;
261
					break;
265
					break;
262
				case 'ChilliSpot-Bandwidth-Max-Up' :
266
				case 'ChilliSpot-Bandwidth-Max-Up' :
263
					$grp_bwup = $val;
267
					$grp_bwup = $val;
264
					break;
268
					break;
265
				case 'ChilliSpot-Bandwidth-Max-Down' :
269
				case 'ChilliSpot-Bandwidth-Max-Down' :
266
					$grp_bwdown = $val;
270
					$grp_bwdown = $val;
267
					break;
271
					break;
268
				case 'WISPr-Redirection-URL' :
272
				case 'WISPr-Redirection-URL' :
269
					$grp_redir = $val;
273
					$grp_redir = $val;
270
					break;
274
					break;
271
				case 'Filter-Id' :
275
				case 'Filter-Id' :
272
					if (empty($val)) {
276
					if (empty($val)) {
273
						$val = '00000000'; // Set no filters if value is not set
277
						$val = '00000000'; // Set no filters if value is not set
274
					}
278
					}
275
 
279
 
276
					if ($val[5] === '1') {
280
					if ($val[5] === '1') {
277
						$grp_filter = $l_filtering_havp_wl;
281
						$grp_filter = $l_filtering_havp_wl;
278
					} else if ($val[6] === '1') {
282
					} else if ($val[6] === '1') {
279
						$grp_filter = $l_filtering_havp_bl;
283
						$grp_filter = $l_filtering_havp_bl;
280
					} else if ($val[7] === '1') {
284
					} else if ($val[7] === '1') {
281
						$grp_filter = $l_filtering_havp;
285
						$grp_filter = $l_filtering_havp;
282
					} else {
286
					} else {
283
						$grp_filter = $l_filtering_none;
287
						$grp_filter = $l_filtering_none;
284
					}
288
					}
285
 
289
 
286
					if ($val[2] === '1') {
290
					if ($val[2] === '1') {
287
						$grp_proto = $l_proto_3;
291
						$grp_proto = $l_proto_3;
288
					} else if ($val[1] === '1') {
292
					} else if ($val[1] === '1') {
289
						$grp_proto = $l_proto_2;
293
						$grp_proto = $l_proto_2;
290
					} else if ($val[0] === '1') {
294
					} else if ($val[0] === '1') {
291
						$grp_proto = $l_proto_1;
295
						$grp_proto = $l_proto_1;
292
					} else {
296
					} else {
293
						$grp_proto = $l_proto_0;
297
						$grp_proto = $l_proto_0;
294
					}
298
					}
295
					
299
					
296
					break;
300
					break;
297
			}
301
			}
298
		}
302
		}
299
	}
303
	}
300
 
304
 
301
	/*on charge les attributs utilisateurs afin de montrer les groupes disponibles*/
305
	/*on charge les attributs utilisateurs afin de montrer les groupes disponibles*/
302
	if ($user_type != 'group') {
306
	if ($user_type != 'group') {
303
		if (is_file("../lib/$config[general_lib_type]/user_info.php"))
307
		if (is_file("../lib/$config[general_lib_type]/user_info.php"))
304
			include("../lib/$config[general_lib_type]/user_info.php");
308
			include("../lib/$config[general_lib_type]/user_info.php");
305
		if ($config['general_lib_type'] == 'sql' && $config['sql_show_all_groups'] == 'true'){
309
		if ($config['general_lib_type'] == 'sql' && $config['sql_show_all_groups'] == 'true'){
306
			$saved_login = $login;
310
			$saved_login = $login;
307
			$login = '';
311
			$login = '';
308
			if (is_file("../lib/$config[general_lib_type]/group_info.php"))
312
			if (is_file("../lib/$config[general_lib_type]/group_info.php"))
309
				include("../lib/$config[general_lib_type]/group_info.php");
313
				include("../lib/$config[general_lib_type]/group_info.php");
310
			$login = $saved_login;
314
			$login = $saved_login;
311
		}
315
		}
312
	}
316
	}
313
}
317
}
314
?>
318
?>
315
   <form name="edituser" method="post" class="">
319
   <form name="edituser" method="post" class="">
316
      <input type="hidden" name="login" value="<?= $login ?>">
320
      <input type="hidden" name="login" value="<?= $login ?>">
317
      <input type="hidden" name="user_type" value="<?= $user_type ?>">
321
      <input type="hidden" name="user_type" value="<?= $user_type ?>">
318
      <input type="hidden" name="change" value="0">
322
      <input type="hidden" name="change" value="0">
319
      <input type="hidden" name="add" value="0">
323
      <input type="hidden" name="add" value="0">
320
      <input type="hidden" name="badusers" value="0">
324
      <input type="hidden" name="badusers" value="0">
321
      <input type="hidden" name="group_change" value="0">
325
      <input type="hidden" name="group_change" value="0">
322
	<table border="1" bordercolordark="#ffffe0" bordercolorlight="#000000" width="100%" cellpadding="2" cellspacing="0" bgcolor="#ffffe0" valign="top">
326
	<table border="1" bordercolordark="#ffffe0" bordercolorlight="#000000" width="100%" cellpadding="2" cellspacing="0" bgcolor="#ffffe0" valign="top">
323
<?php
327
<?php
324
if (($user_type !== 'group') && (isset($member_groups))) {
328
if (($user_type !== 'group') && (isset($member_groups))) {
325
	echo <<<EOM
329
	echo <<<EOM
326
	<tr>
330
	<tr>
327
		<td colspan="$colspan"></td>
331
		<td colspan="$colspan"></td>
328
		<td>$l_group_desc</td>
332
		<td>$l_group_desc</td>
329
		<td>$l_user_desc</td>
333
		<td>$l_user_desc</td>
330
	</tr>
334
	</tr>
331
EOM;
335
EOM;
332
}
336
}
333
if ($user_type != 'group' && $config['general_show_user_password'] != 'no') {
337
if ($user_type != 'group' && $config['general_show_user_password'] != 'no') {
334
 
338
 
335
 
339
 
336
	echo <<<EOM
340
	echo <<<EOM
337
	<tr>
341
	<tr>
338
	<td align=right colspan="$colspan" bgcolor="#d0ddb0">
342
	<td align=right colspan="$colspan" bgcolor="#d0ddb0">
339
	$l_new_password<br>
343
	$l_new_password<br>
340
	</td>
344
	</td>
341
EOM;
345
EOM;
342
 
346
 
343
	if(isset($member_groups)){
347
	if(isset($member_groups)){
344
		echo <<<EOM
348
		echo <<<EOM
345
		<td bgcolor="#BEBEBE">
349
		<td bgcolor="#BEBEBE">
346
		<br/>
350
		<br/>
347
		</td>
351
		</td>
348
EOM;
352
EOM;
349
	}
353
	}
350
 
354
 
351
 
355
 
352
	echo <<<EOM
356
	echo <<<EOM
353
	<td>
357
	<td>
354
	<input type="password" name="passwd" value="" size="20">
358
	<input type="password" name="passwd" value="" size="20">
355
	<br /><input type="button" value="$l_passwd_gen" onclick="password(8)">
359
	<br /><input type="button" value="$l_passwd_gen" onclick="password(8)">
356
	<input type="text" value="" name="pwdgene" size="10" readonly>
360
	<input type="text" value="" name="pwdgene" size="10" readonly>
357
	</td>
361
	</td>
358
	</tr>
362
	</tr>
359
EOM;
363
EOM;
360
}
364
}
361
 
365
 
362
	foreach($show_attrs as $key => $desc){
366
	foreach($show_attrs as $key => $desc){
363
		$name = $attrmap["$key"];
367
		$name = $attrmap["$key"];
364
		$generic = (isset($attrmap['generic']["$key"])) ? $attrmap['generic']["$key"] : '';
368
		$generic = (isset($attrmap['generic']["$key"])) ? $attrmap['generic']["$key"] : '';
365
		if ($name == 'none')
369
		if ($name == 'none')
366
			continue;
370
			continue;
367
		unset($vals);
371
		unset($vals);
368
		unset($selected);
372
		unset($selected);
369
		unset($ops);
373
		unset($ops);
370
		$def_added = 0;
374
		$def_added = 0;
371
		if (isset($item_vals["$key"]['count']) && $item_vals["$key"]['count']){
375
		if (isset($item_vals["$key"]['count']) && $item_vals["$key"]['count']){
372
			for($i=0;$i<$item_vals["$key"]['count'];$i++){
376
			for($i=0;$i<$item_vals["$key"]['count'];$i++){
373
				$vals[] = $item_vals["$key"][$i];
377
				$vals[] = $item_vals["$key"][$i];
374
				$ops[] = $item_vals["$key"]['operator'][$i];
378
				$ops[] = $item_vals["$key"]['operator'][$i];
375
			}
379
			}
376
		} else {
380
		} else {
377
			if (isset($default_vals["$key"]['count']) && $default_vals["$key"]['count']){
381
			if (isset($default_vals["$key"]['count']) && $default_vals["$key"]['count']){
378
				for($i=0;$i<$default_vals["$key"]['count'];$i++){
382
				for($i=0;$i<$default_vals["$key"]['count'];$i++){
379
					$vals[] = $default_vals["$key"][$i];
383
					$vals[] = $default_vals["$key"][$i];
380
					$ops[] = $default_vals["$key"]['operator'][$i];
384
					$ops[] = $default_vals["$key"]['operator'][$i];
381
				}
385
				}
382
			}
386
			}
383
			else{
387
			else{
384
				$vals[] = '';
388
				$vals[] = '';
385
				$ops[] = '=';
389
				$ops[] = '=';
386
			}
390
			}
387
			$def_added = 1;
391
			$def_added = 1;
388
		}
392
		}
389
		if ($generic == 'generic' && $def_added == 0){
393
		if ($generic == 'generic' && $def_added == 0){
390
			for($i=0;$i<$default_vals["$key"]['count'];$i++){
394
			for($i=0;$i<$default_vals["$key"]['count'];$i++){
391
				$vals[] = $default_vals["$key"][$i];
395
				$vals[] = $default_vals["$key"][$i];
392
				$ops[] = $default_vals["$key"]['operator'][$i];
396
				$ops[] = $default_vals["$key"]['operator'][$i];
393
			}
397
			}
394
		}
398
		}
395
		if (isset($add) && $add && $name == $add_attr){
399
		if (isset($add) && $add && $name == $add_attr){
396
			$vals[] = $default_vals["$key"][0];
400
			$vals[] = $default_vals["$key"][0];
397
			$ops[] = ($default_vals["$key"]['operator'][0] != '') ? $default_vals["$key"]['operator'][0] : '=';
401
			$ops[] = ($default_vals["$key"]['operator'][0] != '') ? $default_vals["$key"]['operator'][0] : '=';
398
		}
402
		}
399
 
403
 
400
		$i = 0;
404
		$i = 0;
401
		foreach($vals as $val) {
405
		foreach($vals as $val) {
402
			$name1 = $name . $i;
406
			$name1 = $name . $i;
403
			$val = preg_replace('/\"/','&quot;',$val);
407
			$val = preg_replace('/\"/','&quot;',$val);
404
			$oper_name = $name1 . '_op';
408
			$oper_name = $name1 . '_op';
405
			$oper = $ops[$i];
409
			$oper = $ops[$i];
406
			$selected[$oper] = 'selected';
410
			$selected[$oper] = 'selected';
407
			$i++;
411
			$i++;
408
			switch ($key)
412
			switch ($key)
409
			{
413
			{
410
					// $advanced = 1 : champs de saisie amélioré (calendrier, convertisseur, etc.)
414
					// $advanced = 1 : champs de saisie amélioré (calendrier, convertisseur, etc.)
411
				case 'Simultaneous-Use' :
415
				case 'Simultaneous-Use' :
412
					$advanced = false;
416
					$advanced = false;
413
					$help_link = "help/simultaneous_use_help.html";
417
					$help_link = "help/simultaneous_use_help.html";
414
					$desc = $l_simultaneous_use;
418
					$desc = $l_simultaneous_use;
415
					break;
419
					break;
416
				case 'Max-All-Session' :
420
				case 'Max-All-Session' :
417
					$advanced = false;
421
					$advanced = false;
418
					$help_link = "help/max_all_session_help.html";
422
					$help_link = "help/max_all_session_help.html";
419
					$desc = $l_max_all_session;
423
					$desc = $l_max_all_session;
420
					break;
424
					break;
421
				case 'Session-Timeout' :
425
				case 'Session-Timeout' :
422
					$advanced = true;
426
					$advanced = true;
423
					$help_link = "help/session_timeout_help.html";
427
					$help_link = "help/session_timeout_help.html";
424
					$desc = $l_session_timeout;
428
					$desc = $l_session_timeout;
425
					break;
429
					break;
426
				case 'Max-Daily-Session' :
430
				case 'Max-Daily-Session' :
427
					$advanced = true;
431
					$advanced = true;
428
					$help_link = "help/session_timeout_help.html";
432
					$help_link = "help/session_timeout_help.html";
429
					$desc = $l_daily_timeout;
433
					$desc = $l_daily_timeout;
430
					break;
434
					break;
431
				case 'Max-Monthly-Session' :
435
				case 'Max-Monthly-Session' :
432
					$advanced = true;
436
					$advanced = true;
433
					$help_link = "help/session_timeout_help.html";
437
					$help_link = "help/session_timeout_help.html";
434
					$desc = $l_monthly_timeout;
438
					$desc = $l_monthly_timeout;
435
					break;
439
					break;
436
				case 'Login-Time' :
440
				case 'Login-Time' :
437
					$advanced = true;
441
					$advanced = true;
438
					$help_link = "help/login_time_help.html";
442
					$help_link = "help/login_time_help.html";
439
					$desc = $l_login_time;
443
					$desc = $l_login_time;
440
					break;
444
					break;
441
				case 'Expiration' :
445
				case 'Expiration' :
442
					$advanced = false;
446
					$advanced = false;
443
					$help_link = "help/expiration_help.html";
447
					$help_link = "help/expiration_help.html";
444
					$desc = $l_expiration;
448
					$desc = $l_expiration;
445
					break;
449
					break;
446
				case 'ChilliSpot-Max-Input-Octets' :
450
				case 'ChilliSpot-Max-Input-Octets' :
447
					$advanced = true;
451
					$advanced = true;
448
					$help_link = "help/chillispot_max_input_octets_help.html";
452
					$help_link = "help/chillispot_max_input_octets_help.html";
449
					$desc = $l_max_input_octets;
453
					$desc = $l_max_input_octets;
450
					break;
454
					break;
451
				case 'ChilliSpot-Max-Output-Octets' :
455
				case 'ChilliSpot-Max-Output-Octets' :
452
					$advanced = true;
456
					$advanced = true;
453
					$help_link = "help/chillispot_max_output_octets_help.html";
457
					$help_link = "help/chillispot_max_output_octets_help.html";
454
					$desc = $l_max_output_octets;
458
					$desc = $l_max_output_octets;
455
					break;
459
					break;
456
				case 'ChilliSpot-Max-Total-Octets' :
460
				case 'ChilliSpot-Max-Total-Octets' :
457
					$advanced = true;
461
					$advanced = true;
458
					$help_link = "help/chillispot_max_total_octets_help.html";
462
					$help_link = "help/chillispot_max_total_octets_help.html";
459
					$desc = $l_max_total_octets;
463
					$desc = $l_max_total_octets;
460
					break;
464
					break;
461
				case 'ChilliSpot-Bandwidth-Max-Up' :
465
				case 'ChilliSpot-Bandwidth-Max-Up' :
462
					$advanced = true;
466
					$advanced = true;
463
					$help_link = "help/chillispot_bandwidth_max_up_help.html";
467
					$help_link = "help/chillispot_bandwidth_max_up_help.html";
464
					$desc = $l_max_bandwidth_up;
468
					$desc = $l_max_bandwidth_up;
465
					break;
469
					break;
466
				case 'ChilliSpot-Bandwidth-Max-Down' :
470
				case 'ChilliSpot-Bandwidth-Max-Down' :
467
					$advanced = true;
471
					$advanced = true;
468
					$help_link = "help/chillispot_bandwidth_max_down_help.html";
472
					$help_link = "help/chillispot_bandwidth_max_down_help.html";
469
					$desc = $l_max_bandwidth_down;
473
					$desc = $l_max_bandwidth_down;
470
					break;
474
					break;
471
				case 'WISPr-Redirection-URL' :
475
				case 'WISPr-Redirection-URL' :
472
					$advanced = true;
476
					$advanced = true;
473
					$help_link = "help/wispr_redirection_url_help.html";
477
					$help_link = "help/wispr_redirection_url_help.html";
474
					$desc = $l_wispr_redirection;
478
					$desc = $l_wispr_redirection;
475
					break;
479
					break;
476
				case 'Filter-Id' :
480
				case 'Filter-Id' :
477
					$advanced = false;
481
					$advanced = false;
478
					$help_link = "help/filtering_help.html";
482
					$help_link = "help/filtering_help.html";
479
					$desc = $l_filtering;
483
					$desc = $l_filtering;
480
					break;
484
					break;
481
				default:
485
				default:
482
					$advanced = true;
486
					$advanced = true;
483
					break;
487
					break;
484
			}
488
			}
485
 
489
 
486
			$advancedField = ($advanced) ? ' class="advanced-field"' : '';
490
			$advancedField = ($advanced) ? ' class="advanced-field"' : '';
487
 
491
 
488
			if ($show_ops) {
492
			if ($show_ops) {
489
				print <<<EOM
493
				print <<<EOM
490
					<tr$advancedField>
494
					<tr$advancedField>
491
					<td class="etiquette">
495
					<td class="etiquette">
492
					<a href="$help_link" target="help" onclick="window.open('$help_link','help','width=600,height=350,toolbar=no,scrollbars=no,resizable=yes')" title="$l_click_for_help"><font color="blue">$desc</font></a>
496
					<a href="$help_link" target="help" onclick="window.open('$help_link','help','width=600,height=350,toolbar=no,scrollbars=no,resizable=yes')" title="$l_click_for_help"><font color="blue">$desc</font></a>
493
					</td>
497
					</td>
494
EOM;
498
EOM;
495
				if(!isset($selected[$op_eq])) $selected[$op_eq] = '';
499
				if(!isset($selected[$op_eq])) $selected[$op_eq] = '';
496
				switch ($key){
500
				switch ($key){
497
					case 'Simultaneous-Use' :
501
					case 'Simultaneous-Use' :
498
					case 'Max-All-Session' :
502
					case 'Max-All-Session' :
499
					case 'Max-Daily-Session' :
503
					case 'Max-Daily-Session' :
500
					case 'Max-Weekly-Session' :
504
					case 'Max-Weekly-Session' :
501
					case 'Max-Monthly-Session' :
505
					case 'Max-Monthly-Session' :
502
					case 'Login-Time' :
506
					case 'Login-Time' :
503
					case 'Expiration' :
507
					case 'Expiration' :
504
					case 'Filter-Id' :
508
					case 'Filter-Id' :
505
						echo "<td><select name=\"$oper_name\"><option $selected[$op_eq] value=\":=\">:=</option></select></td>";
509
						echo "<td><select name=\"$oper_name\"><option $selected[$op_eq] value=\":=\">:=</option></select></td>";
506
						break;
510
						break;
507
					case 'Session-Timeout' :
511
					case 'Session-Timeout' :
508
					case 'ChilliSpot-Max-Input-Octets' :
512
					case 'ChilliSpot-Max-Input-Octets' :
509
					case 'ChilliSpot-Max-Output-Octets' :
513
					case 'ChilliSpot-Max-Output-Octets' :
510
					case 'ChilliSpot-Max-Total-Octets' :
514
					case 'ChilliSpot-Max-Total-Octets' :
511
					case 'ChilliSpot-Bandwidth-Max-Up' :
515
					case 'ChilliSpot-Bandwidth-Max-Up' :
512
					case 'ChilliSpot-Bandwidth-Max-Down' :
516
					case 'ChilliSpot-Bandwidth-Max-Down' :
513
					case 'WISPr-Redirection-URL' :
517
					case 'WISPr-Redirection-URL' :
514
						echo "<td><select name=\"$oper_name\"><option $selected[$op_eq] value=\"=\">=</option></select></td>";
518
						echo "<td><select name=\"$oper_name\"><option $selected[$op_eq] value=\"=\">=</option></select></td>";
515
						break;
519
						break;
516
					default :
520
					default :
517
						print <<<EOM
521
						print <<<EOM
518
							<td>
522
							<td>
519
								<select name=\"$oper_name\">
523
								<select name=\"$oper_name\">
520
									<option $selected[$op_eq] value="=">=</option>
524
									<option $selected[$op_eq] value="=">=</option>
521
									<option $selected[$op_set] value=":=">:=</option>
525
									<option $selected[$op_set] value=":=">:=</option>
522
									<option $selected[$op_add] value="+=">+=</option>
526
									<option $selected[$op_add] value="+=">+=</option>
523
									<option $selected[$op_eq2] value="==">==</option>
527
									<option $selected[$op_eq2] value="==">==</option>
524
									<option $selected[$op_ne] value="!=">!=</option>
528
									<option $selected[$op_ne] value="!=">!=</option>
525
									<option $selected[$op_gt] value=">">&gt;</option>
529
									<option $selected[$op_gt] value=">">&gt;</option>
526
									<option $selected[$op_ge] value=">=">&gt;=</option>
530
									<option $selected[$op_ge] value=">=">&gt;=</option>
527
									<option $selected[$op_lt] value="<">&lt;</option>
531
									<option $selected[$op_lt] value="<">&lt;</option>
528
									<option $selected[$op_le] value="<=">&lt;=</option>
532
									<option $selected[$op_le] value="<=">&lt;=</option>
529
									<option $selected[$op_regeq] value="=~">=~</option>
533
									<option $selected[$op_regeq] value="=~">=~</option>
530
									<option $selected[$op_regne] value="!~">!~</option>
534
									<option $selected[$op_regne] value="!~">!~</option>
531
									<option $selected[$op_exst] value="=*">=*</option>
535
									<option $selected[$op_exst] value="=*">=*</option>
532
									<option $selected[$op_nexst] value="!*">!*</option>
536
									<option $selected[$op_nexst] value="!*">!*</option>
533
								</select>
537
								</select>
534
							</td>
538
							</td>
535
EOM;
539
EOM;
536
						break;
540
						break;
537
				}
541
				}
538
			} else {
542
			} else {
539
				print <<<EOM
543
				print <<<EOM
540
					<tr$advancedField>
544
					<tr$advancedField>
541
					<td class="etiquette" colspan="$colspan">
545
					<td class="etiquette" colspan="$colspan">
542
					<a href="$help_link" target="help" onclick="window.open('$help_link','help','width=600,height=350,toolbar=no,scrollbars=no,resizable=yes')" title="$l_click_for_help"><font color="blue">$desc</font></a>
546
					<a href="$help_link" target="help" onclick="window.open('$help_link','help','width=600,height=350,toolbar=no,scrollbars=no,resizable=yes')" title="$l_click_for_help"><font color="blue">$desc</font></a>
543
EOM;
547
EOM;
544
				switch ($key) {
548
				switch ($key) {
545
					case 'Simultaneous-Use' :
549
					case 'Simultaneous-Use' :
546
					case 'Max-All-Session' :
550
					case 'Max-All-Session' :
547
					case 'Max-Daily-Session' :
551
					case 'Max-Daily-Session' :
548
					case 'Max-Weekly-Session' :
552
					case 'Max-Weekly-Session' :
549
					case 'Max-Monthly-Session' :
553
					case 'Max-Monthly-Session' :
550
					case 'Login-Time' :
554
					case 'Login-Time' :
551
					case 'Expiration' :
555
					case 'Expiration' :
552
					case 'Filter-Id' :
556
					case 'Filter-Id' :
553
						echo "<input type=\"hidden\" name=\"$oper_name\" value=\":=\">";
557
						echo "<input type=\"hidden\" name=\"$oper_name\" value=\":=\">";
554
						break;
558
						break;
555
					case 'Session-Timeout' :
559
					case 'Session-Timeout' :
556
					case 'ChilliSpot-Max-Input-Octets' :
560
					case 'ChilliSpot-Max-Input-Octets' :
557
					case 'ChilliSpot-Max-Output-Octets' :
561
					case 'ChilliSpot-Max-Output-Octets' :
558
					case 'ChilliSpot-Max-Total-Octets' :
562
					case 'ChilliSpot-Max-Total-Octets' :
559
					case 'ChilliSpot-Bandwidth-Max-Up' :
563
					case 'ChilliSpot-Bandwidth-Max-Up' :
560
					case 'ChilliSpot-Bandwidth-Max-Down' :
564
					case 'ChilliSpot-Bandwidth-Max-Down' :
561
					case 'WISPr-Redirection-URL' :
565
					case 'WISPr-Redirection-URL' :
562
						echo "<input type=\"hidden\" name=\"$oper_name\" value=\"=\">";
566
						echo "<input type=\"hidden\" name=\"$oper_name\" value=\"=\">";
563
						break;
567
						break;
564
					default :
568
					default :
565
						print <<<EOM
569
						print <<<EOM
566
							<select name=\"$oper_name\">
570
							<select name=\"$oper_name\">
567
								<option $selected[$op_eq] value="=">=</option>
571
								<option $selected[$op_eq] value="=">=</option>
568
								<option $selected[$op_set] value=":=">:=</option>
572
								<option $selected[$op_set] value=":=">:=</option>
569
								<option $selected[$op_add] value="+=">+=</option>
573
								<option $selected[$op_add] value="+=">+=</option>
570
								<option $selected[$op_eq2] value="==">==</option>
574
								<option $selected[$op_eq2] value="==">==</option>
571
								<option $selected[$op_ne] value="!=">!=</option>
575
								<option $selected[$op_ne] value="!=">!=</option>
572
								<option $selected[$op_gt] value=">">&gt;</option>
576
								<option $selected[$op_gt] value=">">&gt;</option>
573
								<option $selected[$op_ge] value=">=">&gt;=</option>
577
								<option $selected[$op_ge] value=">=">&gt;=</option>
574
								<option $selected[$op_lt] value="<">&lt;</option>
578
								<option $selected[$op_lt] value="<">&lt;</option>
575
								<option $selected[$op_le] value="<=">&lt;=</option>
579
								<option $selected[$op_le] value="<=">&lt;=</option>
576
								<option $selected[$op_regeq] value="=~">=~</option>
580
								<option $selected[$op_regeq] value="=~">=~</option>
577
								<option $selected[$op_regne] value="!~">!~</option>
581
								<option $selected[$op_regne] value="!~">!~</option>
578
								<option $selected[$op_exst] value="=*">=*</option>
582
								<option $selected[$op_exst] value="=*">=*</option>
579
								<option $selected[$op_nexst] value="!*">!*</option>
583
								<option $selected[$op_nexst] value="!*">!*</option>
580
							</select>
584
							</select>
581
EOM;
585
EOM;
582
						break;
586
						break;
583
				}
587
				}
584
				echo '</td>';
588
				echo '</td>';
585
			}
589
			}
586
 
590
 
587
			if (isset($member_groups) && $user_type !== 'group') {
591
			if (isset($member_groups) && $user_type !== 'group') {
588
				echo '<td bgcolor="#BEBEBE">';
592
				echo '<td bgcolor="#BEBEBE">';
589
				switch ($key){
593
				switch ($key){
590
					case 'Simultaneous-Use' :
594
					case 'Simultaneous-Use' :
591
						echo "$grp_simuse";
595
						echo "$grp_simuse";
592
						break;
596
						break;
593
					case 'Login-Time' :
597
					case 'Login-Time' :
594
						echo "$grp_logtime";
598
						echo "$grp_logtime";
595
						break;
599
						break;
596
					case 'Expiration' :
600
					case 'Expiration' :
597
						echo "$grp_exp";
601
						echo "$grp_exp";
598
						break;
602
						break;
599
					case 'Max-All-Session' :
603
					case 'Max-All-Session' :
600
						echo "$grp_maxall";
604
						echo "$grp_maxall";
601
						break;
605
						break;
602
					case 'Session-Timeout' :
606
					case 'Session-Timeout' :
603
						echo "$grp_sesstim";
607
						echo "$grp_sesstim";
604
						break;
608
						break;
605
					case 'Max-Daily-Session' :
609
					case 'Max-Daily-Session' :
606
						echo "$grp_maxday";
610
						echo "$grp_maxday";
607
						break;
611
						break;
608
					case 'Max-Weekly-Session' :
612
					case 'Max-Weekly-Session' :
609
						echo "$grp_maxweek";
613
						echo "$grp_maxweek";
610
						break;
614
						break;
611
					case 'Max-Monthly-Session' :
615
					case 'Max-Monthly-Session' :
612
						echo "$grp_maxmonth";
616
						echo "$grp_maxmonth";
613
						break;
617
						break;
614
					case 'ChilliSpot-Max-Input-Octets' :
618
					case 'ChilliSpot-Max-Input-Octets' :
615
						echo "$grp_maxio";
619
						echo "$grp_maxio";
616
						break;
620
						break;
617
					case 'ChilliSpot-Max-Output-Octets' :
621
					case 'ChilliSpot-Max-Output-Octets' :
618
						echo "$grp_maxoo";
622
						echo "$grp_maxoo";
619
						break;
623
						break;
620
					case 'ChilliSpot-Max-Total-Octets' :
624
					case 'ChilliSpot-Max-Total-Octets' :
621
						echo "$grp_maxto";
625
						echo "$grp_maxto";
622
						break;
626
						break;
623
					case 'ChilliSpot-Bandwidth-Max-Up' :
627
					case 'ChilliSpot-Bandwidth-Max-Up' :
624
						echo "$grp_bwup";
628
						echo "$grp_bwup";
625
						break;
629
						break;
626
					case 'ChilliSpot-Bandwidth-Max-Down' :
630
					case 'ChilliSpot-Bandwidth-Max-Down' :
627
						echo "$grp_bwdown";
631
						echo "$grp_bwdown";
628
						break;
632
						break;
629
					case 'WISPr-Redirection-URL' :
633
					case 'WISPr-Redirection-URL' :
630
						echo "$grp_redir";
634
						echo "$grp_redir";
631
						break;
635
						break;
632
					case 'Filter-Id' :
636
					case 'Filter-Id' :
633
						echo "$grp_filter";
637
						echo "$grp_filter";
634
						break;
638
						break;
635
					default :
639
					default :
636
						break;
640
						break;
637
				}
641
				}
638
				echo '</td>';
642
				echo '</td>';
639
			}
643
			}
640
 
644
 
641
			echo '<td>';
645
			echo '<td>';
642
			switch ($key) {
646
			switch ($key) {
643
				/*
647
				/*
644
				Choix de l'unité jour, heures, minutes ou secondes
648
				Choix de l'unité jour, heures, minutes ou secondes
645
				pour les durées limites max, de session,de journée et de mois
649
				pour les durées limites max, de session,de journée et de mois
646
				*/
650
				*/
647
				case 'Session-Timeout' :
651
				case 'Session-Timeout' :
648
				case 'Max-Daily-Session' :
652
				case 'Max-Daily-Session' :
649
					/*valeur d'origine de durée limite */
653
					/*valeur d'origine de durée limite */
650
					echo"<input type=\"text\" name=\"$name1\" onfocus=\"this.value=''\" value=\"$val\" size=10>";
654
					echo"<input type=\"text\" name=\"$name1\" onfocus=\"this.value=''\" value=\"$val\" size=10>";
651
					/* Choix d'unité*/
655
					/* Choix d'unité*/
652
					echo" <select onchange=\"temps(this,'$name1','edituser')\">
656
					echo" <select onchange=\"temps(this,'$name1','edituser')\">
653
							<option value=\"s\" selected>s</option>
657
							<option value=\"s\" selected>s</option>
654
							<option value=\"m\" >m</option>
658
							<option value=\"m\" >m</option>
655
							<option value=\"H\" >H</option>
659
							<option value=\"H\" >H</option>
656
						</select>";
660
						</select>";
657
					break;
661
					break;
658
				case 'Max-Monthly-Session' :
662
				case 'Max-Monthly-Session' :
659
				case 'Max-All-Session' :
663
				case 'Max-All-Session' :
660
					/*valeur d'origine de durée limite */
664
					/*valeur d'origine de durée limite */
661
					echo"<input type=\"text\" name=\"$name1\" onfocus=\"this.value=''\" value=\"$val\" size=10>";
665
					echo"<input type=\"text\" name=\"$name1\" onfocus=\"this.value=''\" value=\"$val\" size=10>";
662
					/* Choix d'unité*/
666
					/* Choix d'unité*/
663
					echo" <select onchange=\"temps(this,'$name1','edituser')\">
667
					echo" <select onchange=\"temps(this,'$name1','edituser')\">
664
							<option value=\"s\" selected>s</option>
668
							<option value=\"s\" selected>s</option>
665
							<option value=\"m\" >m</option>
669
							<option value=\"m\" >m</option>
666
							<option value=\"H\" >H</option>
670
							<option value=\"H\" >H</option>
667
							<option value=\"J\" >J</option>
671
							<option value=\"J\" >J</option>
668
						</select>";
672
						</select>";
669
					break;
673
					break;
670
				case 'Expiration' :
674
				case 'Expiration' :
671
					/*Ajout du calendrier pour choisir la date*/
675
					/*Ajout du calendrier pour choisir la date*/
672
					echo"<input id=\"popup_container\" type=\"text\" name=\"$name1\" value=\"$val\" size=\"20\">";
676
					echo"<input id=\"popup_container\" type=\"text\" name=\"$name1\" value=\"$val\" size=\"20\">";
673
					break;
677
					break;
674
				case 'Filter-Id' :
678
				case 'Filter-Id' :
675
					if (empty($val)) {
679
					if (empty($val)) {
676
						$val = '00000000'; // Set no filters if value is not set
680
						$val = '00000000'; // Set no filters if value is not set
677
					}
681
					}
678
 
682
 
679
					if ($val[5] === '1') {
683
					if ($val[5] === '1') {
680
						$selected = 'havp_wl';
684
						$selected = 'havp_wl';
681
					} else if ($val[6] === '1') {
685
					} else if ($val[6] === '1') {
682
						$selected = 'havp_bl';
686
						$selected = 'havp_bl';
683
					} else if ($val[7] === '1') {
687
					} else if ($val[7] === '1') {
684
						$selected = 'havp';
688
						$selected = 'havp';
685
					} else {
689
					} else {
686
						$selected = 'not_filtered';
690
						$selected = 'not_filtered';
687
					}
691
					}
688
					echo "<select name=\"$name1\">";
692
					echo "<select name=\"$name1\">";
689
					echo "<option value=\"00000000\"".(($selected === 'not_filtered') ? ' selected' : '').">$l_filtering_none</option>";
693
					echo "<option value=\"00000000\"".(($selected === 'not_filtered') ? ' selected' : '').">$l_filtering_none</option>";
690
					echo "<option value=\"00000001\"".(($selected === 'havp') ? ' selected' : '').">$l_filtering_havp</option>";
694
					echo "<option value=\"00000001\"".(($selected === 'havp') ? ' selected' : '').">$l_filtering_havp</option>";
691
					echo "<option value=\"00000011\"".(($selected === 'havp_bl') ? ' selected' : '').">$l_filtering_havp_bl</option>";
695
					echo "<option value=\"00000011\"".(($selected === 'havp_bl') ? ' selected' : '').">$l_filtering_havp_bl</option>";
692
					echo "<option value=\"00000101\"".(($selected === 'havp_wl') ? ' selected' : '').">$l_filtering_havp_wl</option>";
696
					echo "<option value=\"00000101\"".(($selected === 'havp_wl') ? ' selected' : '').">$l_filtering_havp_wl</option>";
693
					echo "</select>";
697
					echo "</select>";
694
					break;
698
					break;
695
				default :
699
				default :
696
					echo "<input type=\"text\" name=\"$name1\" value=\"$val\" size=\"20\">";
700
					echo "<input type=\"text\" name=\"$name1\" value=\"$val\" size=\"20\">";
697
					break;
701
					break;
698
			}
702
			}
699
			echo '</td>';
703
			echo '</td>';
700
		}
704
		}
701
	}
705
	}
702
	
706
	
703
/*protocole filter*/
707
/*protocole filter*/
704
print <<<EOM
708
print <<<EOM
705
<tr>
709
<tr>
706
<td class="etiquette" colspan="$colspan">
710
<td class="etiquette" colspan="$colspan">
707
	<a href="help/protocols_help.html" target=help onclick="window.open('help/protocols_help.html','help','width=600,height=250,toolbar=no,scrollbars=no,resizable=yes')" title="$l_click_for_help"><font color="blue">$l_proto</font></a>
711
	<a href="help/protocols_help.html" target=help onclick="window.open('help/protocols_help.html','help','width=600,height=250,toolbar=no,scrollbars=no,resizable=yes')" title="$l_click_for_help"><font color="blue">$l_proto</font></a>
708
</td>
712
</td>
709
EOM;
713
EOM;
710
if(isset($member_groups) && $user_type != 'group') {
714
if(isset($member_groups) && $user_type != 'group') {
711
	echo "<td bgcolor=\"#BEBEBE\">$grp_proto</td>";
715
	echo "<td bgcolor=\"#BEBEBE\">$grp_proto</td>";
712
}
716
}
713
 
717
 
714
if ($val[2] === '1') {
718
if ($val[2] === '1') {
715
	$selected = 'proto_3';
719
	$selected = 'proto_3';
716
} else if ($val[1] === '1') {
720
} else if ($val[1] === '1') {
717
	$selected = 'proto_2';
721
	$selected = 'proto_2';
718
} else if ($val[0] === '1') {
722
} else if ($val[0] === '1') {
719
	$selected = 'proto_1';
723
	$selected = 'proto_1';
720
} else {
724
} else {
721
	$selected = 'proto_0';
725
	$selected = 'proto_0';
722
}
726
}
723
echo "<td width=20>";
727
echo "<td width=20>";
724
echo "<select name='Filter-Proto'>
728
echo "<select name='Filter-Proto'>
725
	<option value=\"00000000\"".(($selected === 'proto_0') ? ' selected' : '').">$l_proto_0</option>
729
	<option value=\"00000000\"".(($selected === 'proto_0') ? ' selected' : '').">$l_proto_0</option>
726
	<option value=\"10000000\"".(($selected === 'proto_1') ? ' selected' : '').">$l_proto_1</option>
730
	<option value=\"10000000\"".(($selected === 'proto_1') ? ' selected' : '').">$l_proto_1</option>
727
	<option value=\"01000000\"".(($selected === 'proto_2') ? ' selected' : '').">$l_proto_2</option>
731
	<option value=\"01000000\"".(($selected === 'proto_2') ? ' selected' : '').">$l_proto_2</option>
728
	<option value=\"00100000\"".(($selected === 'proto_3') ? ' selected' : '').">$l_proto_3</option>
732
	<option value=\"00100000\"".(($selected === 'proto_3') ? ' selected' : '').">$l_proto_3</option>
729
	</select></td>
733
	</select></td>
730
</tr>";
734
</tr>";
731
	
735
	
732
	
736
	
733
if ($user_type != 'group') {
737
if ($user_type != 'group') {
734
	echo <<<EOM
738
	echo <<<EOM
735
	<tr>
739
	<tr>
736
	<td align=right colspan="$colspan" bgcolor="#d0ddb0">
740
	<td align=right colspan="$colspan" bgcolor="#d0ddb0">
737
	$l_group_member<br><font size=-2><i>($l_main_group)</i></font>
741
	$l_group_member<br><font size=-2><i>($l_main_group)</i></font>
738
	</td>
742
	</td>
739
EOM;
743
EOM;
740
if (isset($member_groups)) {
744
if (isset($member_groups)) {
741
	echo '<td colspan="2">';
745
	echo '<td colspan="2">';
742
} else {
746
} else {
743
	echo '<td>';
747
	echo '<td>';
744
}
748
}
745
 
749
 
746
 
750
 
747
	if (isset($existing_groups)){
751
	if (isset($existing_groups)){
748
		echo '<select size="5" name="edited_groups[]"  OnChange="this.form.group_change.value=1">';
752
		echo '<select size="5" name="edited_groups[]"  OnChange="this.form.group_change.value=1">';
749
		if ($config['sql_show_all_groups'] == 'true') {
753
		if ($config['sql_show_all_groups'] == 'true') {
750
			foreach ($existing_groups as $group => $count) {
754
			foreach ($existing_groups as $group => $count) {
751
				if (isset($member_groups[$group]) && ($member_groups[$group] == $group))
755
				if (isset($member_groups[$group]) && ($member_groups[$group] == $group))
752
					echo "<option selected value=\"$group\">$group\n";
756
					echo "<option selected value=\"$group\">$group\n";
753
				else if(isset($member_groups[0]) && ($member_groups[0] == $group))
757
				else if(isset($member_groups[0]) && ($member_groups[0] == $group))
754
					echo "<option selected value=\"$group\">$group\n";
758
					echo "<option selected value=\"$group\">$group\n";
755
				else
759
				else
756
					echo "<option value=\"$group\">$group\n";
760
					echo "<option value=\"$group\">$group\n";
757
			}
761
			}
758
		} else {
762
		} else {
759
			foreach ($member_groups as $group)
763
			foreach ($member_groups as $group)
760
				echo "<option value=\"$group\">$group\n";
764
				echo "<option value=\"$group\">$group\n";
761
		}
765
		}
762
		echo "</select>";
766
		echo "</select>";
763
	}
767
	}
764
	else{
768
	else{
765
		echo "<i>$l_no_group</i>";
769
		echo "<i>$l_no_group</i>";
766
	}
770
	}
767
	
771
	
768
	echo "</td></tr>";
772
	echo "</td></tr>";
769
}
773
}
770
echo "</table><br>";
774
echo "</table><br>";
771
echo "<input type=submit class=button value=$l_change OnClick=\"this.form.change.value=1\">";
775
echo "<input type=submit class=button value=$l_change OnClick=\"this.form.change.value=1\">";
772
echo "<button type=\"button\" id =\"show-advanced-fields\" onclick=\"showAdvancedFields(true)\" style=\"float: right;\">$l_simple_menu</button>";
776
echo "<button type=\"button\" id =\"show-advanced-fields\" onclick=\"showAdvancedFields(true)\" style=\"float: right;\">$l_simple_menu</button>";
773
echo "<button type=\"button\" id =\"hide-advanced-fields\" onclick=\"showAdvancedFields(false)\" style=\"float: right; display: none;\">$l_advanced_menu</button>";
777
echo "<button type=\"button\" id =\"hide-advanced-fields\" onclick=\"showAdvancedFields(false)\" style=\"float: right; display: none;\">$l_advanced_menu</button>";
774
//if ($user_type != 'group'){
778
//if ($user_type != 'group'){
775
//	echo <<<EOM
779
//	echo <<<EOM
776
//<br><br>
780
//<br><br>
777
//<input type=submit class=button value="Add to Badusers" OnClick="this.form.badusers.value=1">
781
//<input type=submit class=button value="Add to Badusers" OnClick="this.form.badusers.value=1">
778
//<a href="help/badusers_help.html" target=bu_help onclick=window.open("help/badusers_help.html","bu_help","width=600,height=210,toolbar=no,scrollbars=no,resizable=yes") title="BADUSERS Help Page"><font color="blue">&lt;--Help</font></a>
782
//<a href="help/badusers_help.html" target=bu_help onclick=window.open("help/badusers_help.html","bu_help","width=600,height=210,toolbar=no,scrollbars=no,resizable=yes") title="BADUSERS Help Page"><font color="blue">&lt;--Help</font></a>
779
//EOM;
783
//EOM;
780
//}
784
//}
781
?>
785
?>
782
</form>
786
</form>
783
</td></tr>
787
</td></tr>
784
</table>
788
</table>
785
</td></tr>
789
</td></tr>
786
</table>
790
</table>
787
</center>
791
</center>
788
</td></tr>
792
</td></tr>
789
</TABLE>
793
</TABLE>
790
</body>
794
</body>
791
</html>
795
</html>
792
 
796