Subversion Repositories ALCASAR

Rev

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

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