Subversion Repositories ALCASAR

Rev

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

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