Subversion Repositories ALCASAR

Rev

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

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