Subversion Repositories ALCASAR

Rev

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

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