Subversion Repositories ALCASAR

Rev

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

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