Subversion Repositories ALCASAR

Rev

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

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