Subversion Repositories ALCASAR

Rev

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

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