Subversion Repositories ALCASAR

Rev

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

Rev 2512 Rev 2513
1
<?php
1
<?php
2
# $Id: user_edit.php 2512 2018-03-11 15:19:43Z tom.houdayer $
2
# $Id: user_edit.php 2513 2018-03-11 16:13:17Z 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 'CoovaChilli-Max-Input-Octets' :
262
				case 'CoovaChilli-Max-Input-Octets' :
263
					$grp_maxio = $val;
263
					$grp_maxio = $val;
264
					break;
264
					break;
265
				case 'CoovaChilli-Max-Output-Octets' :
265
				case 'CoovaChilli-Max-Output-Octets' :
266
					$grp_maxoo = $val;
266
					$grp_maxoo = $val;
267
					break;
267
					break;
268
				case 'CoovaChilli-Max-Total-Octets' :
268
				case 'CoovaChilli-Max-Total-Octets' :
269
					$grp_maxto = $val;
269
					$grp_maxto = $val;
270
					break;
270
					break;
-
 
271
				case 'CoovaChilli-Max-Total-Octets-Daily' :
-
 
272
					$grp_maxtoDaily = $val;
-
 
273
					break;
-
 
274
				case 'CoovaChilli-Max-Total-Octets-Monthly' :
-
 
275
					$grp_maxtoMonthly = $val;
-
 
276
					break;
271
				case 'CoovaChilli-Bandwidth-Max-Up' :
277
				case 'CoovaChilli-Bandwidth-Max-Up' :
272
					$grp_bwup = $val;
278
					$grp_bwup = $val;
273
					break;
279
					break;
274
				case 'CoovaChilli-Bandwidth-Max-Down' :
280
				case 'CoovaChilli-Bandwidth-Max-Down' :
275
					$grp_bwdown = $val;
281
					$grp_bwdown = $val;
276
					break;
282
					break;
277
				case 'WISPr-Redirection-URL' :
283
				case 'WISPr-Redirection-URL' :
278
					$grp_redir = $val;
284
					$grp_redir = $val;
279
					break;
285
					break;
280
				case 'Alcasar-Filter' :
286
				case 'Alcasar-Filter' :
281
					if ($val === '4') {
287
					if ($val === '4') {
282
						$grp_filter = $l_filtering_havp_wl;
288
						$grp_filter = $l_filtering_havp_wl;
283
					} else if ($val === '3') {
289
					} else if ($val === '3') {
284
						$grp_filter = $l_filtering_havp_bl;
290
						$grp_filter = $l_filtering_havp_bl;
285
					} else if ($val === '2') {
291
					} else if ($val === '2') {
286
						$grp_filter = $l_filtering_havp;
292
						$grp_filter = $l_filtering_havp;
287
					} else if ($val === '1') {
293
					} else if ($val === '1') {
288
						$grp_filter = $l_filtering_none;
294
						$grp_filter = $l_filtering_none;
289
					} else {
295
					} else {
290
						$grp_filter = '';
296
						$grp_filter = '';
291
					}
297
					}
292
					break;
298
					break;
293
				case 'Alcasar-Protocols-Filter' :
299
				case 'Alcasar-Protocols-Filter' :
294
					if ($val === '4') {
300
					if ($val === '4') {
295
						$grp_filterProto = $l_proto_3;
301
						$grp_filterProto = $l_proto_3;
296
					} else if ($val === '3') {
302
					} else if ($val === '3') {
297
						$grp_filterProto = $l_proto_2;
303
						$grp_filterProto = $l_proto_2;
298
					} else if ($val === '2') {
304
					} else if ($val === '2') {
299
						$grp_filterProto = $l_proto_1;
305
						$grp_filterProto = $l_proto_1;
300
					} else if ($val === '1') {
306
					} else if ($val === '1') {
301
						$grp_filterProto = $l_proto_0;
307
						$grp_filterProto = $l_proto_0;
302
					} else {
308
					} else {
303
						$grp_filterProto = '';
309
						$grp_filterProto = '';
304
					}
310
					}
305
					break;
311
					break;
306
				case 'Alcasar-Status-Page-Must-Stay-Open' :
312
				case 'Alcasar-Status-Page-Must-Stay-Open' :
307
					if ($val === '2') {
313
					if ($val === '2') {
308
						$grp_statusOpenRequired = $l_no;
314
						$grp_statusOpenRequired = $l_no;
309
					} else if ($val === '1') {
315
					} else if ($val === '1') {
310
						$grp_statusOpenRequired = $l_yes;
316
						$grp_statusOpenRequired = $l_yes;
311
					} else {
317
					} else {
312
						$grp_statusOpenRequired = '';
318
						$grp_statusOpenRequired = '';
313
					}
319
					}
314
					break;
320
					break;
315
				case 'Alcasar-Expire-After' :
321
				case 'Alcasar-Expire-After' :
316
					$grp_expireAfter = $val;
322
					$grp_expireAfter = $val;
317
					break;
323
					break;
318
			}
324
			}
319
		}
325
		}
320
	}
326
	}
321
 
327
 
322
	/*on charge les attributs utilisateurs afin de montrer les groupes disponibles*/
328
	/*on charge les attributs utilisateurs afin de montrer les groupes disponibles*/
323
	if ($user_type != 'group') {
329
	if ($user_type != 'group') {
324
		if (is_file("../lib/$config[general_lib_type]/user_info.php"))
330
		if (is_file("../lib/$config[general_lib_type]/user_info.php"))
325
			include("../lib/$config[general_lib_type]/user_info.php");
331
			include("../lib/$config[general_lib_type]/user_info.php");
326
		if ($config['general_lib_type'] == 'sql' && $config['sql_show_all_groups'] == 'true'){
332
		if ($config['general_lib_type'] == 'sql' && $config['sql_show_all_groups'] == 'true'){
327
			$saved_login = $login;
333
			$saved_login = $login;
328
			$login = '';
334
			$login = '';
329
			if (is_file("../lib/$config[general_lib_type]/group_info.php"))
335
			if (is_file("../lib/$config[general_lib_type]/group_info.php"))
330
				include("../lib/$config[general_lib_type]/group_info.php");
336
				include("../lib/$config[general_lib_type]/group_info.php");
331
			$login = $saved_login;
337
			$login = $saved_login;
332
		}
338
		}
333
	}
339
	}
334
}
340
}
335
?>
341
?>
336
   <form name="edituser" method="post" class="">
342
   <form name="edituser" method="post" class="">
337
      <input type="hidden" name="login" value="<?= $login ?>">
343
      <input type="hidden" name="login" value="<?= $login ?>">
338
      <input type="hidden" name="user_type" value="<?= $user_type ?>">
344
      <input type="hidden" name="user_type" value="<?= $user_type ?>">
339
      <input type="hidden" name="change" value="0">
345
      <input type="hidden" name="change" value="0">
340
      <input type="hidden" name="add" value="0">
346
      <input type="hidden" name="add" value="0">
341
      <input type="hidden" name="badusers" value="0">
347
      <input type="hidden" name="badusers" value="0">
342
      <input type="hidden" name="group_change" value="0">
348
      <input type="hidden" name="group_change" value="0">
343
	<table border="1" bordercolordark="#ffffe0" bordercolorlight="#000000" width="100%" cellpadding="2" cellspacing="0" bgcolor="#ffffe0" valign="top">
349
	<table border="1" bordercolordark="#ffffe0" bordercolorlight="#000000" width="100%" cellpadding="2" cellspacing="0" bgcolor="#ffffe0" valign="top">
344
<?php
350
<?php
345
if (($user_type !== 'group') && (isset($member_groups))) {
351
if (($user_type !== 'group') && (isset($member_groups))) {
346
	echo <<<EOM
352
	echo <<<EOM
347
	<tr>
353
	<tr>
348
		<td colspan="$colspan"></td>
354
		<td colspan="$colspan"></td>
349
		<td>$l_group_desc</td>
355
		<td>$l_group_desc</td>
350
		<td>$l_user_desc</td>
356
		<td>$l_user_desc</td>
351
	</tr>
357
	</tr>
352
EOM;
358
EOM;
353
}
359
}
354
if ($user_type != 'group' && $config['general_show_user_password'] != 'no') {
360
if ($user_type != 'group' && $config['general_show_user_password'] != 'no') {
355
 
361
 
356
 
362
 
357
	echo <<<EOM
363
	echo <<<EOM
358
	<tr>
364
	<tr>
359
	<td align=right colspan="$colspan" bgcolor="#d0ddb0">
365
	<td align=right colspan="$colspan" bgcolor="#d0ddb0">
360
	$l_new_password<br>
366
	$l_new_password<br>
361
	</td>
367
	</td>
362
EOM;
368
EOM;
363
 
369
 
364
	if(isset($member_groups)){
370
	if(isset($member_groups)){
365
		echo <<<EOM
371
		echo <<<EOM
366
		<td bgcolor="#BEBEBE">
372
		<td bgcolor="#BEBEBE">
367
		<br/>
373
		<br/>
368
		</td>
374
		</td>
369
EOM;
375
EOM;
370
	}
376
	}
371
 
377
 
372
 
378
 
373
	echo <<<EOM
379
	echo <<<EOM
374
	<td>
380
	<td>
375
	<input type="password" name="passwd" value="" size="20">
381
	<input type="password" name="passwd" value="" size="20">
376
	<br /><input type="button" value="$l_passwd_gen" onclick="password(8)">
382
	<br /><input type="button" value="$l_passwd_gen" onclick="password(8)">
377
	<input type="text" value="" name="pwdgene" size="10" readonly>
383
	<input type="text" value="" name="pwdgene" size="10" readonly>
378
	</td>
384
	</td>
379
	</tr>
385
	</tr>
380
EOM;
386
EOM;
381
}
387
}
382
 
388
 
383
	foreach($show_attrs as $key => $desc){
389
	foreach($show_attrs as $key => $desc){
384
		if ($key === 'Idle-Timeout') continue;
390
		if ($key === 'Idle-Timeout') continue;
385
		$name = $attrmap["$key"];
391
		$name = $attrmap["$key"];
386
		$generic = (isset($attrmap['generic']["$key"])) ? $attrmap['generic']["$key"] : '';
392
		$generic = (isset($attrmap['generic']["$key"])) ? $attrmap['generic']["$key"] : '';
387
		if ($name == 'none')
393
		if ($name == 'none')
388
			continue;
394
			continue;
389
		unset($vals);
395
		unset($vals);
390
		unset($selected);
396
		unset($selected);
391
		unset($ops);
397
		unset($ops);
392
		$def_added = 0;
398
		$def_added = 0;
393
		if (isset($item_vals["$key"]['count']) && $item_vals["$key"]['count']){
399
		if (isset($item_vals["$key"]['count']) && $item_vals["$key"]['count']){
394
			for($i=0;$i<$item_vals["$key"]['count'];$i++){
400
			for($i=0;$i<$item_vals["$key"]['count'];$i++){
395
				$vals[] = $item_vals["$key"][$i];
401
				$vals[] = $item_vals["$key"][$i];
396
				$ops[] = $item_vals["$key"]['operator'][$i];
402
				$ops[] = $item_vals["$key"]['operator'][$i];
397
			}
403
			}
398
		} else {
404
		} else {
399
			if (isset($default_vals["$key"]['count']) && $default_vals["$key"]['count']){
405
			if (isset($default_vals["$key"]['count']) && $default_vals["$key"]['count']){
400
				for($i=0;$i<$default_vals["$key"]['count'];$i++){
406
				for($i=0;$i<$default_vals["$key"]['count'];$i++){
401
					$vals[] = $default_vals["$key"][$i];
407
					$vals[] = $default_vals["$key"][$i];
402
					$ops[] = $default_vals["$key"]['operator'][$i];
408
					$ops[] = $default_vals["$key"]['operator'][$i];
403
				}
409
				}
404
			}
410
			}
405
			else{
411
			else{
406
				$vals[] = '';
412
				$vals[] = '';
407
				$ops[] = '=';
413
				$ops[] = '=';
408
			}
414
			}
409
			$def_added = 1;
415
			$def_added = 1;
410
		}
416
		}
411
		if ($generic == 'generic' && $def_added == 0){
417
		if ($generic == 'generic' && $def_added == 0){
412
			for($i=0;$i<$default_vals["$key"]['count'];$i++){
418
			for($i=0;$i<$default_vals["$key"]['count'];$i++){
413
				$vals[] = $default_vals["$key"][$i];
419
				$vals[] = $default_vals["$key"][$i];
414
				$ops[] = $default_vals["$key"]['operator'][$i];
420
				$ops[] = $default_vals["$key"]['operator'][$i];
415
			}
421
			}
416
		}
422
		}
417
		if (isset($add) && $add && $name == $add_attr){
423
		if (isset($add) && $add && $name == $add_attr){
418
			$vals[] = $default_vals["$key"][0];
424
			$vals[] = $default_vals["$key"][0];
419
			$ops[] = ($default_vals["$key"]['operator'][0] != '') ? $default_vals["$key"]['operator'][0] : '=';
425
			$ops[] = ($default_vals["$key"]['operator'][0] != '') ? $default_vals["$key"]['operator'][0] : '=';
420
		}
426
		}
421
 
427
 
422
		$i = 0;
428
		$i = 0;
423
		foreach($vals as $val) {
429
		foreach($vals as $val) {
424
			$name1 = $name . $i;
430
			$name1 = $name . $i;
425
			$val = preg_replace('/\"/','&quot;',$val);
431
			$val = preg_replace('/\"/','&quot;',$val);
426
			$oper_name = $name1 . '_op';
432
			$oper_name = $name1 . '_op';
427
			$oper = $ops[$i];
433
			$oper = $ops[$i];
428
			$selected[$oper] = 'selected';
434
			$selected[$oper] = 'selected';
429
			$i++;
435
			$i++;
430
			switch ($key)
436
			switch ($key)
431
			{
437
			{
432
					// $advanced = 1 : champs de saisie amélioré (calendrier, convertisseur, etc.)
438
					// $advanced = 1 : champs de saisie amélioré (calendrier, convertisseur, etc.)
433
				case 'Simultaneous-Use' :
439
				case 'Simultaneous-Use' :
434
					$advanced = false;
440
					$advanced = false;
435
					$help_link = "help/simultaneous_use_help.html";
441
					$help_link = "help/simultaneous_use_help.html";
436
					$desc = $l_simultaneous_use;
442
					$desc = $l_simultaneous_use;
437
					break;
443
					break;
438
				case 'Max-All-Session' :
444
				case 'Max-All-Session' :
439
					$advanced = false;
445
					$advanced = false;
440
					$help_link = "help/max_all_session_help.html";
446
					$help_link = "help/max_all_session_help.html";
441
					$desc = $l_max_all_session;
447
					$desc = $l_max_all_session;
442
					break;
448
					break;
443
				case 'Session-Timeout' :
449
				case 'Session-Timeout' :
444
					$advanced = true;
450
					$advanced = true;
445
					$help_link = "help/session_timeout_help.html";
451
					$help_link = "help/session_timeout_help.html";
446
					$desc = $l_session_timeout;
452
					$desc = $l_session_timeout;
447
					break;
453
					break;
448
				case 'Max-Daily-Session' :
454
				case 'Max-Daily-Session' :
449
					$advanced = true;
455
					$advanced = true;
450
					$help_link = "help/session_timeout_help.html";
456
					$help_link = "help/session_timeout_help.html";
451
					$desc = $l_daily_timeout;
457
					$desc = $l_daily_timeout;
452
					break;
458
					break;
453
				case 'Max-Monthly-Session' :
459
				case 'Max-Monthly-Session' :
454
					$advanced = true;
460
					$advanced = true;
455
					$help_link = "help/session_timeout_help.html";
461
					$help_link = "help/session_timeout_help.html";
456
					$desc = $l_monthly_timeout;
462
					$desc = $l_monthly_timeout;
457
					break;
463
					break;
458
				case 'Login-Time' :
464
				case 'Login-Time' :
459
					$advanced = true;
465
					$advanced = true;
460
					$help_link = "help/login_time_help.html";
466
					$help_link = "help/login_time_help.html";
461
					$desc = $l_login_time;
467
					$desc = $l_login_time;
462
					break;
468
					break;
463
				case 'Expiration' :
469
				case 'Expiration' :
464
					$advanced = false;
470
					$advanced = false;
465
					$help_link = "help/expiration_help.html";
471
					$help_link = "help/expiration_help.html";
466
					$desc = $l_expiration;
472
					$desc = $l_expiration;
467
					break;
473
					break;
468
				case 'CoovaChilli-Max-Input-Octets' :
474
				case 'CoovaChilli-Max-Input-Octets' :
469
					$advanced = true;
475
					$advanced = true;
470
					$help_link = "help/coovachilli_max_input_octets_help.html";
476
					$help_link = "help/coovachilli_max_input_octets_help.html";
471
					$desc = $l_max_input_octets;
477
					$desc = $l_max_input_octets;
472
					break;
478
					break;
473
				case 'CoovaChilli-Max-Output-Octets' :
479
				case 'CoovaChilli-Max-Output-Octets' :
474
					$advanced = true;
480
					$advanced = true;
475
					$help_link = "help/coovachilli_max_output_octets_help.html";
481
					$help_link = "help/coovachilli_max_output_octets_help.html";
476
					$desc = $l_max_output_octets;
482
					$desc = $l_max_output_octets;
477
					break;
483
					break;
478
				case 'CoovaChilli-Max-Total-Octets' :
484
				case 'CoovaChilli-Max-Total-Octets' :
479
					$advanced = true;
485
					$advanced = true;
480
					$help_link = "help/coovachilli_max_total_octets_help.html";
486
					$help_link = "help/coovachilli_max_total_octets_help.html";
481
					$desc = $l_max_total_octets;
487
					$desc = $l_max_total_octets;
482
					break;
488
					break;
-
 
489
				case 'CoovaChilli-Max-Total-Octets-Daily' :
-
 
490
					$advanced = true;
-
 
491
					$help_link = "help/coovachilli_max_total_octets_help.html";
-
 
492
					$desc = $l_max_total_octets_daily;
-
 
493
					break;
-
 
494
				case 'CoovaChilli-Max-Total-Octets-Monthly' :
-
 
495
					$advanced = true;
-
 
496
					$help_link = "help/coovachilli_max_total_octets_help.html";
-
 
497
					$desc = $l_max_total_octets_monthly;
-
 
498
					break;
483
				case 'CoovaChilli-Bandwidth-Max-Up' :
499
				case 'CoovaChilli-Bandwidth-Max-Up' :
484
					$advanced = true;
500
					$advanced = true;
485
					$help_link = "help/coovachilli_bandwidth_max_up_help.html";
501
					$help_link = "help/coovachilli_bandwidth_max_up_help.html";
486
					$desc = $l_max_bandwidth_up;
502
					$desc = $l_max_bandwidth_up;
487
					break;
503
					break;
488
				case 'CoovaChilli-Bandwidth-Max-Down' :
504
				case 'CoovaChilli-Bandwidth-Max-Down' :
489
					$advanced = true;
505
					$advanced = true;
490
					$help_link = "help/coovachilli_bandwidth_max_down_help.html";
506
					$help_link = "help/coovachilli_bandwidth_max_down_help.html";
491
					$desc = $l_max_bandwidth_down;
507
					$desc = $l_max_bandwidth_down;
492
					break;
508
					break;
493
				case 'WISPr-Redirection-URL' :
509
				case 'WISPr-Redirection-URL' :
494
					$advanced = true;
510
					$advanced = true;
495
					$help_link = "help/wispr_redirection_url_help.html";
511
					$help_link = "help/wispr_redirection_url_help.html";
496
					$desc = $l_wispr_redirection;
512
					$desc = $l_wispr_redirection;
497
					break;
513
					break;
498
				case 'Alcasar-Filter' :
514
				case 'Alcasar-Filter' :
499
					$advanced = false;
515
					$advanced = false;
500
					$help_link = "help/filtering_help.html";
516
					$help_link = "help/filtering_help.html";
501
					$desc = $l_filtering;
517
					$desc = $l_filtering;
502
					break;
518
					break;
503
				case 'Alcasar-Protocols-Filter' :
519
				case 'Alcasar-Protocols-Filter' :
504
					$advanced = false;
520
					$advanced = false;
505
					$help_link = "help/protocols_help.html";
521
					$help_link = "help/protocols_help.html";
506
					$desc = $l_proto;
522
					$desc = $l_proto;
507
					break;
523
					break;
508
				case 'Alcasar-Status-Page-Must-Stay-Open' :
524
				case 'Alcasar-Status-Page-Must-Stay-Open' :
509
					$advanced = false;
525
					$advanced = false;
510
					$help_link = "help/statusOpenRequired_help.html";
526
					$help_link = "help/statusOpenRequired_help.html";
511
					$desc = $l_statusOpenRequired;
527
					$desc = $l_statusOpenRequired;
512
					break;
528
					break;
513
				case 'Alcasar-Expire-After' :
529
				case 'Alcasar-Expire-After' :
514
					$advanced = false;
530
					$advanced = false;
515
					$help_link = "help/max_all_session_help.html";
531
					$help_link = "help/max_all_session_help.html";
516
					$desc = $l_max_all_session;
532
					$desc = $l_max_all_session;
517
					break;
533
					break;
518
				default:
534
				default:
519
					$advanced = true;
535
					$advanced = true;
520
					break;
536
					break;
521
			}
537
			}
522
 
538
 
523
			$advancedField = ($advanced) ? ' class="advanced-field"' : '';
539
			$advancedField = ($advanced) ? ' class="advanced-field"' : '';
524
 
540
 
525
			if ($show_ops) {
541
			if ($show_ops) {
526
				print <<<EOM
542
				print <<<EOM
527
					<tr$advancedField>
543
					<tr$advancedField>
528
					<td class="etiquette">
544
					<td class="etiquette">
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>
545
					<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>
530
					</td>
546
					</td>
531
EOM;
547
EOM;
532
				if(!isset($selected[$op_eq])) $selected[$op_eq] = '';
548
				if(!isset($selected[$op_eq])) $selected[$op_eq] = '';
533
				switch ($key){
549
				switch ($key){
534
					case 'Simultaneous-Use' :
550
					case 'Simultaneous-Use' :
535
					case 'Max-All-Session' :
551
					case 'Max-All-Session' :
536
					case 'Max-Daily-Session' :
552
					case 'Max-Daily-Session' :
537
					case 'Max-Weekly-Session' :
553
					case 'Max-Weekly-Session' :
538
					case 'Max-Monthly-Session' :
554
					case 'Max-Monthly-Session' :
539
					case 'Login-Time' :
555
					case 'Login-Time' :
540
					case 'Expiration' :
556
					case 'Expiration' :
541
					case 'Alcasar-Expire-After' :
557
					case 'Alcasar-Expire-After' :
-
 
558
					case 'CoovaChilli-Max-Total-Octets-Daily' :
-
 
559
					case 'CoovaChilli-Max-Total-Octets-Monthly' :
542
						echo "<td><select name=\"$oper_name\"><option $selected[$op_eq] value=\":=\">:=</option></select></td>";
560
						echo "<td><select name=\"$oper_name\"><option $selected[$op_eq] value=\":=\">:=</option></select></td>";
543
						break;
561
						break;
544
					case 'Session-Timeout' :
562
					case 'Session-Timeout' :
545
					case 'CoovaChilli-Max-Input-Octets' :
563
					case 'CoovaChilli-Max-Input-Octets' :
546
					case 'CoovaChilli-Max-Output-Octets' :
564
					case 'CoovaChilli-Max-Output-Octets' :
547
					case 'CoovaChilli-Max-Total-Octets' :
565
					case 'CoovaChilli-Max-Total-Octets' :
548
					case 'CoovaChilli-Bandwidth-Max-Up' :
566
					case 'CoovaChilli-Bandwidth-Max-Up' :
549
					case 'CoovaChilli-Bandwidth-Max-Down' :
567
					case 'CoovaChilli-Bandwidth-Max-Down' :
550
					case 'WISPr-Redirection-URL' :
568
					case 'WISPr-Redirection-URL' :
551
					case 'Alcasar-Filter' :
569
					case 'Alcasar-Filter' :
552
					case 'Alcasar-Protocols-Filter' :
570
					case 'Alcasar-Protocols-Filter' :
553
					case 'Alcasar-Status-Page-Must-Stay-Open' :
571
					case 'Alcasar-Status-Page-Must-Stay-Open' :
554
						echo "<td><select name=\"$oper_name\"><option $selected[$op_eq] value=\"=\">=</option></select></td>";
572
						echo "<td><select name=\"$oper_name\"><option $selected[$op_eq] value=\"=\">=</option></select></td>";
555
						break;
573
						break;
556
					default :
574
					default :
557
						print <<<EOM
575
						print <<<EOM
558
							<td>
576
							<td>
559
								<select name=\"$oper_name\">
577
								<select name=\"$oper_name\">
560
									<option $selected[$op_eq] value="=">=</option>
578
									<option $selected[$op_eq] value="=">=</option>
561
									<option $selected[$op_set] value=":=">:=</option>
579
									<option $selected[$op_set] value=":=">:=</option>
562
									<option $selected[$op_add] value="+=">+=</option>
580
									<option $selected[$op_add] value="+=">+=</option>
563
									<option $selected[$op_eq2] value="==">==</option>
581
									<option $selected[$op_eq2] value="==">==</option>
564
									<option $selected[$op_ne] value="!=">!=</option>
582
									<option $selected[$op_ne] value="!=">!=</option>
565
									<option $selected[$op_gt] value=">">&gt;</option>
583
									<option $selected[$op_gt] value=">">&gt;</option>
566
									<option $selected[$op_ge] value=">=">&gt;=</option>
584
									<option $selected[$op_ge] value=">=">&gt;=</option>
567
									<option $selected[$op_lt] value="<">&lt;</option>
585
									<option $selected[$op_lt] value="<">&lt;</option>
568
									<option $selected[$op_le] value="<=">&lt;=</option>
586
									<option $selected[$op_le] value="<=">&lt;=</option>
569
									<option $selected[$op_regeq] value="=~">=~</option>
587
									<option $selected[$op_regeq] value="=~">=~</option>
570
									<option $selected[$op_regne] value="!~">!~</option>
588
									<option $selected[$op_regne] value="!~">!~</option>
571
									<option $selected[$op_exst] value="=*">=*</option>
589
									<option $selected[$op_exst] value="=*">=*</option>
572
									<option $selected[$op_nexst] value="!*">!*</option>
590
									<option $selected[$op_nexst] value="!*">!*</option>
573
								</select>
591
								</select>
574
							</td>
592
							</td>
575
EOM;
593
EOM;
576
						break;
594
						break;
577
				}
595
				}
578
			} else {
596
			} else {
579
				print <<<EOM
597
				print <<<EOM
580
					<tr$advancedField>
598
					<tr$advancedField>
581
					<td class="etiquette" colspan="$colspan">
599
					<td class="etiquette" colspan="$colspan">
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>
600
					<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>
583
EOM;
601
EOM;
584
				switch ($key) {
602
				switch ($key) {
585
					case 'Simultaneous-Use' :
603
					case 'Simultaneous-Use' :
586
					case 'Max-All-Session' :
604
					case 'Max-All-Session' :
587
					case 'Max-Daily-Session' :
605
					case 'Max-Daily-Session' :
588
					case 'Max-Weekly-Session' :
606
					case 'Max-Weekly-Session' :
589
					case 'Max-Monthly-Session' :
607
					case 'Max-Monthly-Session' :
590
					case 'Login-Time' :
608
					case 'Login-Time' :
591
					case 'Expiration' :
609
					case 'Expiration' :
592
					case 'Alcasar-Expire-After' :
610
					case 'Alcasar-Expire-After' :
-
 
611
					case 'CoovaChilli-Max-Total-Octets-Daily' :
-
 
612
					case 'CoovaChilli-Max-Total-Octets-Monthly' :
593
						echo "<input type=\"hidden\" name=\"$oper_name\" value=\":=\">";
613
						echo "<input type=\"hidden\" name=\"$oper_name\" value=\":=\">";
594
						break;
614
						break;
595
					case 'Session-Timeout' :
615
					case 'Session-Timeout' :
596
					case 'CoovaChilli-Max-Input-Octets' :
616
					case 'CoovaChilli-Max-Input-Octets' :
597
					case 'CoovaChilli-Max-Output-Octets' :
617
					case 'CoovaChilli-Max-Output-Octets' :
598
					case 'CoovaChilli-Max-Total-Octets' :
618
					case 'CoovaChilli-Max-Total-Octets' :
599
					case 'CoovaChilli-Bandwidth-Max-Up' :
619
					case 'CoovaChilli-Bandwidth-Max-Up' :
600
					case 'CoovaChilli-Bandwidth-Max-Down' :
620
					case 'CoovaChilli-Bandwidth-Max-Down' :
601
					case 'WISPr-Redirection-URL' :
621
					case 'WISPr-Redirection-URL' :
602
					case 'Alcasar-Filter' :
622
					case 'Alcasar-Filter' :
603
					case 'Alcasar-Protocols-Filter' :
623
					case 'Alcasar-Protocols-Filter' :
604
					case 'Alcasar-Status-Page-Must-Stay-Open' :
624
					case 'Alcasar-Status-Page-Must-Stay-Open' :
605
						echo "<input type=\"hidden\" name=\"$oper_name\" value=\"=\">";
625
						echo "<input type=\"hidden\" name=\"$oper_name\" value=\"=\">";
606
						break;
626
						break;
607
					default :
627
					default :
608
						print <<<EOM
628
						print <<<EOM
609
							<select name=\"$oper_name\">
629
							<select name=\"$oper_name\">
610
								<option $selected[$op_eq] value="=">=</option>
630
								<option $selected[$op_eq] value="=">=</option>
611
								<option $selected[$op_set] value=":=">:=</option>
631
								<option $selected[$op_set] value=":=">:=</option>
612
								<option $selected[$op_add] value="+=">+=</option>
632
								<option $selected[$op_add] value="+=">+=</option>
613
								<option $selected[$op_eq2] value="==">==</option>
633
								<option $selected[$op_eq2] value="==">==</option>
614
								<option $selected[$op_ne] value="!=">!=</option>
634
								<option $selected[$op_ne] value="!=">!=</option>
615
								<option $selected[$op_gt] value=">">&gt;</option>
635
								<option $selected[$op_gt] value=">">&gt;</option>
616
								<option $selected[$op_ge] value=">=">&gt;=</option>
636
								<option $selected[$op_ge] value=">=">&gt;=</option>
617
								<option $selected[$op_lt] value="<">&lt;</option>
637
								<option $selected[$op_lt] value="<">&lt;</option>
618
								<option $selected[$op_le] value="<=">&lt;=</option>
638
								<option $selected[$op_le] value="<=">&lt;=</option>
619
								<option $selected[$op_regeq] value="=~">=~</option>
639
								<option $selected[$op_regeq] value="=~">=~</option>
620
								<option $selected[$op_regne] value="!~">!~</option>
640
								<option $selected[$op_regne] value="!~">!~</option>
621
								<option $selected[$op_exst] value="=*">=*</option>
641
								<option $selected[$op_exst] value="=*">=*</option>
622
								<option $selected[$op_nexst] value="!*">!*</option>
642
								<option $selected[$op_nexst] value="!*">!*</option>
623
							</select>
643
							</select>
624
EOM;
644
EOM;
625
						break;
645
						break;
626
				}
646
				}
627
				echo '</td>';
647
				echo '</td>';
628
			}
648
			}
629
 
649
 
630
			if (isset($member_groups) && $user_type !== 'group') {
650
			if (isset($member_groups) && $user_type !== 'group') {
631
				echo '<td bgcolor="#BEBEBE">';
651
				echo '<td bgcolor="#BEBEBE">';
632
				switch ($key){
652
				switch ($key){
633
					case 'Simultaneous-Use' :
653
					case 'Simultaneous-Use' :
634
						echo "$grp_simuse";
654
						echo "$grp_simuse";
635
						break;
655
						break;
636
					case 'Login-Time' :
656
					case 'Login-Time' :
637
						echo "$grp_logtime";
657
						echo "$grp_logtime";
638
						break;
658
						break;
639
					case 'Expiration' :
659
					case 'Expiration' :
640
						echo "$grp_exp";
660
						echo "$grp_exp";
641
						break;
661
						break;
642
					case 'Max-All-Session' :
662
					case 'Max-All-Session' :
643
						echo "$grp_maxall";
663
						echo "$grp_maxall";
644
						break;
664
						break;
645
					case 'Session-Timeout' :
665
					case 'Session-Timeout' :
646
						echo "$grp_sesstim";
666
						echo "$grp_sesstim";
647
						break;
667
						break;
648
					case 'Max-Daily-Session' :
668
					case 'Max-Daily-Session' :
649
						echo "$grp_maxday";
669
						echo "$grp_maxday";
650
						break;
670
						break;
651
					case 'Max-Weekly-Session' :
671
					case 'Max-Weekly-Session' :
652
						echo "$grp_maxweek";
672
						echo "$grp_maxweek";
653
						break;
673
						break;
654
					case 'Max-Monthly-Session' :
674
					case 'Max-Monthly-Session' :
655
						echo "$grp_maxmonth";
675
						echo "$grp_maxmonth";
656
						break;
676
						break;
657
					case 'CoovaChilli-Max-Input-Octets' :
677
					case 'CoovaChilli-Max-Input-Octets' :
658
						echo "$grp_maxio";
678
						echo "$grp_maxio";
659
						break;
679
						break;
660
					case 'CoovaChilli-Max-Output-Octets' :
680
					case 'CoovaChilli-Max-Output-Octets' :
661
						echo "$grp_maxoo";
681
						echo "$grp_maxoo";
662
						break;
682
						break;
663
					case 'CoovaChilli-Max-Total-Octets' :
683
					case 'CoovaChilli-Max-Total-Octets' :
664
						echo "$grp_maxto";
684
						echo "$grp_maxto";
665
						break;
685
						break;
-
 
686
					case 'CoovaChilli-Max-Total-Octets-Daily' :
-
 
687
						echo "$grp_maxtoDaily";
-
 
688
						break;
-
 
689
					case 'CoovaChilli-Max-Total-Octets-Monthly' :
-
 
690
						echo "$grp_maxtoMonthly";
-
 
691
						break;
666
					case 'CoovaChilli-Bandwidth-Max-Up' :
692
					case 'CoovaChilli-Bandwidth-Max-Up' :
667
						echo "$grp_bwup";
693
						echo "$grp_bwup";
668
						break;
694
						break;
669
					case 'CoovaChilli-Bandwidth-Max-Down' :
695
					case 'CoovaChilli-Bandwidth-Max-Down' :
670
						echo "$grp_bwdown";
696
						echo "$grp_bwdown";
671
						break;
697
						break;
672
					case 'WISPr-Redirection-URL' :
698
					case 'WISPr-Redirection-URL' :
673
						echo "$grp_redir";
699
						echo "$grp_redir";
674
						break;
700
						break;
675
					case 'Alcasar-Filter' :
701
					case 'Alcasar-Filter' :
676
						echo "$grp_filter";
702
						echo "$grp_filter";
677
						break;
703
						break;
678
					case 'Alcasar-Protocols-Filter' :
704
					case 'Alcasar-Protocols-Filter' :
679
						echo "$grp_filterProto";
705
						echo "$grp_filterProto";
680
						break;
706
						break;
681
					case 'Alcasar-Status-Page-Must-Stay-Open' :
707
					case 'Alcasar-Status-Page-Must-Stay-Open' :
682
						echo "$grp_statusOpenRequired";
708
						echo "$grp_statusOpenRequired";
683
						break;
709
						break;
684
					case 'Alcasar-Expire-After' :
710
					case 'Alcasar-Expire-After' :
685
						echo "$grp_expireAfter";
711
						echo "$grp_expireAfter";
686
						break;
712
						break;
687
					default :
713
					default :
688
						break;
714
						break;
689
				}
715
				}
690
				echo '</td>';
716
				echo '</td>';
691
			}
717
			}
692
 
718
 
693
			echo '<td>';
719
			echo '<td>';
694
			switch ($key) {
720
			switch ($key) {
695
				/*
721
				/*
696
				Choix de l'unité jour, heures, minutes ou secondes
722
				Choix de l'unité jour, heures, minutes ou secondes
697
				pour les durées limites max, de session,de journée et de mois
723
				pour les durées limites max, de session,de journée et de mois
698
				*/
724
				*/
699
				case 'Session-Timeout' :
725
				case 'Session-Timeout' :
700
				case 'Max-Daily-Session' :
726
				case 'Max-Daily-Session' :
701
					/*valeur d'origine de durée limite */
727
					/*valeur d'origine de durée limite */
702
					echo"<input type=\"text\" name=\"$name1\" onfocus=\"this.value=''\" value=\"$val\" size=10>";
728
					echo"<input type=\"text\" name=\"$name1\" onfocus=\"this.value=''\" value=\"$val\" size=10>";
703
					/* Choix d'unité*/
729
					/* Choix d'unité*/
704
					echo" <select onchange=\"temps(this,'$name1','edituser')\">
730
					echo" <select onchange=\"temps(this,'$name1','edituser')\">
705
							<option value=\"s\" selected>s</option>
731
							<option value=\"s\" selected>s</option>
706
							<option value=\"m\" >m</option>
732
							<option value=\"m\" >m</option>
707
							<option value=\"H\" >H</option>
733
							<option value=\"H\" >H</option>
708
						</select>";
734
						</select>";
709
					break;
735
					break;
710
				case 'Max-Monthly-Session' :
736
				case 'Max-Monthly-Session' :
711
				case 'Max-All-Session' :
737
				case 'Max-All-Session' :
712
				case 'Alcasar-Expire-After' :
738
				case 'Alcasar-Expire-After' :
713
					/*valeur d'origine de durée limite */
739
					/*valeur d'origine de durée limite */
714
					echo"<input type=\"text\" name=\"$name1\" onfocus=\"this.value=''\" value=\"$val\" size=10>";
740
					echo"<input type=\"text\" name=\"$name1\" onfocus=\"this.value=''\" value=\"$val\" size=10>";
715
					/* Choix d'unité*/
741
					/* Choix d'unité*/
716
					echo" <select onchange=\"temps(this,'$name1','edituser')\">
742
					echo" <select onchange=\"temps(this,'$name1','edituser')\">
717
							<option value=\"s\" selected>s</option>
743
							<option value=\"s\" selected>s</option>
718
							<option value=\"m\" >m</option>
744
							<option value=\"m\" >m</option>
719
							<option value=\"H\" >H</option>
745
							<option value=\"H\" >H</option>
720
							<option value=\"J\" >J</option>
746
							<option value=\"J\" >J</option>
721
						</select>";
747
						</select>";
722
					break;
748
					break;
723
				case 'Expiration' :
749
				case 'Expiration' :
724
					/*Ajout du calendrier pour choisir la date*/
750
					/*Ajout du calendrier pour choisir la date*/
725
					echo"<input id=\"popup_container\" type=\"text\" name=\"$name1\" value=\"$val\" size=\"20\">";
751
					echo"<input id=\"popup_container\" type=\"text\" name=\"$name1\" value=\"$val\" size=\"20\">";
726
					break;
752
					break;
727
				case 'Alcasar-Filter' :
753
				case 'Alcasar-Filter' :
728
					echo "<select name=\"$name1\">";
754
					echo "<select name=\"$name1\">";
729
					echo "<option value=\"\"".(($val === '') ? ' selected' : '')."></option>";
755
					echo "<option value=\"\"".(($val === '') ? ' selected' : '')."></option>";
730
					echo "<option value=\"1\"".(($val === '1') ? ' selected' : '').">$l_filtering_none</option>";
756
					echo "<option value=\"1\"".(($val === '1') ? ' selected' : '').">$l_filtering_none</option>";
731
					echo "<option value=\"2\"".(($val === '2') ? ' selected' : '').">$l_filtering_havp</option>";
757
					echo "<option value=\"2\"".(($val === '2') ? ' selected' : '').">$l_filtering_havp</option>";
732
					echo "<option value=\"3\"".(($val === '3') ? ' selected' : '').">$l_filtering_havp_bl</option>";
758
					echo "<option value=\"3\"".(($val === '3') ? ' selected' : '').">$l_filtering_havp_bl</option>";
733
					echo "<option value=\"4\"".(($val === '4') ? ' selected' : '').">$l_filtering_havp_wl</option>";
759
					echo "<option value=\"4\"".(($val === '4') ? ' selected' : '').">$l_filtering_havp_wl</option>";
734
					echo "</select>";
760
					echo "</select>";
735
					break;
761
					break;
736
				case 'Alcasar-Protocols-Filter' :
762
				case 'Alcasar-Protocols-Filter' :
737
					echo "<select name=\"$name1\">";
763
					echo "<select name=\"$name1\">";
738
					echo "<option value=\"\"".(($val === '') ? ' selected' : '')."></option>";
764
					echo "<option value=\"\"".(($val === '') ? ' selected' : '')."></option>";
739
					echo "<option value=\"1\"".(($val === '1') ? ' selected' : '').">$l_proto_0</option>";
765
					echo "<option value=\"1\"".(($val === '1') ? ' selected' : '').">$l_proto_0</option>";
740
					echo "<option value=\"2\"".(($val === '2') ? ' selected' : '').">$l_proto_1</option>";
766
					echo "<option value=\"2\"".(($val === '2') ? ' selected' : '').">$l_proto_1</option>";
741
					echo "<option value=\"3\"".(($val === '3') ? ' selected' : '').">$l_proto_2</option>";
767
					echo "<option value=\"3\"".(($val === '3') ? ' selected' : '').">$l_proto_2</option>";
742
					echo "<option value=\"4\"".(($val === '4') ? ' selected' : '').">$l_proto_3</option>";
768
					echo "<option value=\"4\"".(($val === '4') ? ' selected' : '').">$l_proto_3</option>";
743
					echo "</select>";
769
					echo "</select>";
744
					break;
770
					break;
745
				case 'Alcasar-Status-Page-Must-Stay-Open' :
771
				case 'Alcasar-Status-Page-Must-Stay-Open' :
746
					echo "<label><input type=\"radio\" name=\"$name1\" value=\"\"".(($val !== '2') ? ' checked' : '').">$l_yes</label>
772
					echo "<label><input type=\"radio\" name=\"$name1\" value=\"\"".(($val !== '2') ? ' checked' : '').">$l_yes</label>
747
						<label><input type=\"radio\" name=\"$name1\" value=\"2\"".(($val === '2') ? ' checked' : '').">$l_no</label>";
773
						<label><input type=\"radio\" name=\"$name1\" value=\"2\"".(($val === '2') ? ' checked' : '').">$l_no</label>";
748
					break;
774
					break;
749
				default :
775
				default :
750
					echo "<input type=\"text\" name=\"$name1\" value=\"$val\" size=\"20\">";
776
					echo "<input type=\"text\" name=\"$name1\" value=\"$val\" size=\"20\">";
751
					break;
777
					break;
752
			}
778
			}
753
			echo '</td>';
779
			echo '</td>';
754
		}
780
		}
755
	}
781
	}
756
 
782
 
757
	if ($user_type != 'group') {
783
	if ($user_type != 'group') {
758
		echo <<<EOM
784
		echo <<<EOM
759
		<tr>
785
		<tr>
760
		<td align=right colspan="$colspan" bgcolor="#d0ddb0">
786
		<td align=right colspan="$colspan" bgcolor="#d0ddb0">
761
		$l_group_member<br><font size=-2><i>($l_main_group)</i></font>
787
		$l_group_member<br><font size=-2><i>($l_main_group)</i></font>
762
		</td>
788
		</td>
763
EOM;
789
EOM;
764
	if (isset($member_groups)) {
790
	if (isset($member_groups)) {
765
		echo '<td colspan="2">';
791
		echo '<td colspan="2">';
766
	} else {
792
	} else {
767
		echo '<td>';
793
		echo '<td>';
768
	}
794
	}
769
 
795
 
770
 
796
 
771
	if (isset($existing_groups)){
797
	if (isset($existing_groups)){
772
		echo '<select size="5" name="edited_groups[]"  OnChange="this.form.group_change.value=1">';
798
		echo '<select size="5" name="edited_groups[]"  OnChange="this.form.group_change.value=1">';
773
		if ($config['sql_show_all_groups'] == 'true') {
799
		if ($config['sql_show_all_groups'] == 'true') {
774
			foreach ($existing_groups as $group => $count) {
800
			foreach ($existing_groups as $group => $count) {
775
				if (isset($member_groups[$group]) && ($member_groups[$group] == $group))
801
				if (isset($member_groups[$group]) && ($member_groups[$group] == $group))
776
					echo "<option selected value=\"$group\">$group\n";
802
					echo "<option selected value=\"$group\">$group\n";
777
				else if(isset($member_groups[0]) && ($member_groups[0] == $group))
803
				else if(isset($member_groups[0]) && ($member_groups[0] == $group))
778
					echo "<option selected value=\"$group\">$group\n";
804
					echo "<option selected value=\"$group\">$group\n";
779
				else
805
				else
780
					echo "<option value=\"$group\">$group\n";
806
					echo "<option value=\"$group\">$group\n";
781
			}
807
			}
782
		} else {
808
		} else {
783
			foreach ($member_groups as $group)
809
			foreach ($member_groups as $group)
784
				echo "<option value=\"$group\">$group\n";
810
				echo "<option value=\"$group\">$group\n";
785
		}
811
		}
786
		echo "</select>";
812
		echo "</select>";
787
	}
813
	}
788
	else{
814
	else{
789
		echo "<i>$l_no_group</i>";
815
		echo "<i>$l_no_group</i>";
790
	}
816
	}
791
	
817
	
792
	echo "</td></tr>";
818
	echo "</td></tr>";
793
}
819
}
794
echo "</table><br>";
820
echo "</table><br>";
795
echo "<input type=submit class=button value=$l_change OnClick=\"this.form.change.value=1\">";
821
echo "<input type=submit class=button value=$l_change OnClick=\"this.form.change.value=1\">";
796
echo "<button type=\"button\" id =\"show-advanced-fields\" onclick=\"showAdvancedFields(true)\" style=\"float: right;\">$l_simple_menu</button>";
822
echo "<button type=\"button\" id =\"show-advanced-fields\" onclick=\"showAdvancedFields(true)\" style=\"float: right;\">$l_simple_menu</button>";
797
echo "<button type=\"button\" id =\"hide-advanced-fields\" onclick=\"showAdvancedFields(false)\" style=\"float: right; display: none;\">$l_advanced_menu</button>";
823
echo "<button type=\"button\" id =\"hide-advanced-fields\" onclick=\"showAdvancedFields(false)\" style=\"float: right; display: none;\">$l_advanced_menu</button>";
798
//if ($user_type != 'group'){
824
//if ($user_type != 'group'){
799
//	echo <<<EOM
825
//	echo <<<EOM
800
//<br><br>
826
//<br><br>
801
//<input type=submit class=button value="Add to Badusers" OnClick="this.form.badusers.value=1">
827
//<input type=submit class=button value="Add to Badusers" OnClick="this.form.badusers.value=1">
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>
828
//<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>
803
//EOM;
829
//EOM;
804
//}
830
//}
805
?>
831
?>
806
</form>
832
</form>
807
</td></tr>
833
</td></tr>
808
</table>
834
</table>
809
</td></tr>
835
</td></tr>
810
</table>
836
</table>
811
</center>
837
</center>
812
</td></tr>
838
</td></tr>
813
</TABLE>
839
</TABLE>
814
</body>
840
</body>
815
</html>
841
</html>
816
 
842