Subversion Repositories ALCASAR

Rev

Go to most recent revision | Details | Last modification | View Log

Rev Author Line No. Line
1326 richard 1
<?php
2
// ticket d'impression (thank's to Geoffroy MUSITELLI)
3
//gestion de la langue
4
if (is_file("../lib/langues.php"))
5
	include("../lib/langues.php");
6
require('/etc/freeradius-web/config.php');
7
if ($show == 1){
8
	header("Location: user_admin.php?login=$login");
9
	exit;
10
}
11
if($show == 2)
12
{
13
	header("Location: user_new.php");
14
	exit;
15
}
16
require('../lib/attrshow.php');
17
require('../lib/defaults.php');
18
 
19
if ($config[general_lib_type] == 'sql' && $config[sql_use_operators] == 'true'){
20
	$colspan=2;
21
	$show_ops=1;
22
}else{
23
	$show_ops = 0;
24
	$colspan=1;
25
}
26
?>
27
 
28
<html><head><title>User creation</title>
29
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $config[general_charset]?>">
30
<link rel="stylesheet" href="/css/style.css">
31
<link rel="stylesheet" type="text/css" href="/css/epoch_styles.css" />
32
<script type="text/javascript" src="/js/epoch_classes.js"></script>
33
<script type="text/javascript" src="/js/fonctions.js"></script>
34
<script language="javascript" type="text/javascript">
35
 
36
/*Insertion du calendrier */
37
	var dp_cal;      
38
window.onload = function () {
39
	dp_cal  = new Epoch('epoch_popup','popup',document.getElementById('popup_container'));
40
};
41
/*Fin calendrier*/
42
 
43
</script>
44
</head>
45
<body>
46
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
47
	<tr><th><?php echo "$l_users_managment"; ?></th></tr>
48
	<tr bgcolor="#FFCC66"><td><img src="/images/pix.gif" width="1" height="2"></td></tr>
49
</TABLE>
50
<TABLE width="100%" border=0 cellspacing=0 cellpadding=1>
51
	<tr bgcolor="#666666"><td>
52
	<TABLE width="100%" border=0 cellspacing=0 cellpadding=2>
53
		<tr><td valign="middle" align="left">
54
<center>
55
<table border=0 width=620 cellpadding=1 cellspacing=1>
56
<tr valign=top>
57
<td width=400></td>
58
<td bgcolor="black">
59
	<table border=0 width=100% cellpadding=2 cellspacing=0>
60
	<tr bgcolor="#907030" align=right valign=top><th>
61
	<font color="white"><? echo "$l_user_create"; ?></font>
62
	</th></tr>
63
	</table>
64
</td></tr>
65
<tr bgcolor="black" valign=top><td colspan=2>
66
	<table border=0 width=100% cellpadding=12 cellspacing=0 bgcolor="#ffffd0" valign=top>
67
	<tr><td>   
68
<?php
69
function sec_imp($time)
70
	/*Formatage des secondes avant l'impression */
71
    {
72
	$jour = 0;$heure = 0;$minute = 0;$seconde = 0;
73
	$jour = floor($time/86400);
74
	$reste = $time%86400;
75
    	if ($jour!=0) $result = $jour.' J ';
76
	$heure = floor($reste/3600);
77
    	$reste = $reste%3600;
78
    	if ($heure!=0) $result = $result.$heure.' H ';
79
	$minute = floor($reste/60);
80
    	if ($minute!=0) $result = $result.$minute.' min ';
81
	$seconde = $reste%60;
82
    	if ($seconde!=0) $result = $result.$seconde.' s ';
83
   	return $result;
84
    }
85
 
86
if ($create == 1){
87
	if (is_file("../lib/$config[general_lib_type]/user_info.php"))
88
		include("../lib/$config[general_lib_type]/user_info.php");
89
	if ($user_exists != "no"){
90
		echo <<<EOM
91
<b><i>$login</i> $l_already_exist</b>
92
EOM;
93
	}
94
	else{
95
		if (is_file("../lib/$config[general_lib_type]/create_user.php"))
96
			include("../lib/$config[general_lib_type]/create_user.php");
97
		/*  Petit traitement pré-impression pour la lisibilité */
98
		/*  Récupération des attributs du groupe le cas échéant */
99
		if ($group!=''){
100
			$saved_login = $login;
101
			$login = $group;
102
			if (is_file("../lib/sql/group_info.php"))
103
				include("../lib/sql/group_info.php");
104
			$login = $saved_login;}
105
		/*  Si les valeurs de durée sont vide remplissage avec la valeur 'Illimitée'*/
106
		/*  et formatage des secondes sous le format Heure min ses*/
107
		if ($sto_imp==''){ $sto_imp=$v_illimit;}
108
			else { $sto_imp=sec_imp($sto_imp);}
109
		if ($mas_imp==''){ $mas_imp=$v_illimit;}
110
			else { $mas_imp=sec_imp($mas_imp);}
111
		if ($mds_imp==''){ $mds_imp=$v_illimit;}
112
			else { $mds_imp=sec_imp($mds_imp);}
113
		if ($mms_imp==''){ $mms_imp=$v_illimit;}
114
			else { $mms_imp=sec_imp($mms_imp);}
115
		/*Formatage de la date afin d'être lisible dans toute les langues 'jj mm yyyy'*/
116
		if ($Expiration!=''){ $Expiration=date("d - m - Y",strtotime($Expiration));}
117
			else { $Expiration=$v_without;}
118
		if ($show != 3)
119
		{		
120
			//Appel du ticket d'impression , passage en paramètres des valeurs à afficher
121
			echo'	<form name="impression" method="post" action="ticket_user.php" target=_blank>
122
					<input type="hidden" name="langue_imp" value="'.$langue_imp.'">
123
					<input type="hidden" name="log_imp" value="'.$login.'">
124
					<input type="hidden" name="passwd_imp" value="'.$passwd_imp.'">
125
					<input type="hidden" name="sto_imp" value="'.$sto_imp.'">
126
					<input type="hidden" name="mas_imp" value="'.$mas_imp.'">
127
					<input type="hidden" name="mds_imp" value="'.$mds_imp.'">
128
					<input type="hidden" name="mms_imp" value="'.$mms_imp.'">
129
					<input type="hidden" name="exp_imp" value="'.$Expiration.'">
130
				</form>';
131
			echo'	<script type="text/javascript"> document.forms["impression"].submit();</script>';
132
			//fin ticket impression
133
		}
134
		else
135
		{
136
			exec("/etc/init.d/chilli reload");
137
		}
138
		require("../lib/defaults.php");
139
		if (is_file("../lib/$config[general_lib_type]/user_info.php"))
140
			include("../lib/$config[general_lib_type]/user_info.php");
141
	}
142
}
143
?>
144
   <form name="newuser" method=post>
145
      <input type=hidden name=create value="0">
146
      <input type=hidden name=show value="0">
147
	  <input type=hidden name=langue_imp value='fr'>
148
	<table border=1 bordercolordark=#ffffe0 bordercolorlight=#000000 width=100% cellpadding=2 cellspacing=0 bgcolor="#ffffe0" valign=top>
149
<?php
150
	echo <<<EOM
151
	<tr>
152
		<td class="etiquette" colspan=$colspan>
153
		$l_login
154
		</td><td>
155
		<input type=text name="login" value="$login" size=20>
156
		</td>
157
	</tr>
158
	<tr>
159
		<td class="etiquette" colspan=$colspan>
160
		$l_password
161
		</td><td>
162
		<input type=password name="passwd" size=20>
163
		<br><input type="button" value="$l_passwd_gen" onclick="password(8,'newuser')">
164
		<input type="text" value="" name="pwdgene" size=10 readonly>
165
		</td>
166
	</tr>
167
EOM;
168
	if ($config[general_lib_type] == 'sql'){
169
		if (isset($member_groups))
170
			$selected[$member_groups[0]] = 'selected';
171
		echo <<<EOM
172
	<tr>
173
		<td class="etiquette" colspan=$colspan>
174
		$l_group
175
		</td><td>
176
EOM;
177
		include_once("../lib/$config[general_lib_type]/group_info.php");
178
		if (isset($existing_groups)){
179
			echo "<select name=\"Fgroup\">";
180
			echo "<option value=\"\" selected>";
181
			foreach ($member_groups as $group)
182
				echo "<option value=\"$group\">$group\n";
183
			echo " </select>";
184
			}
185
		else echo "$l_group_empty";
186
	echo "</td></tr>";
187
	}
188
	if ($config[general_lib_type] == 'ldap' ||
189
	($config[general_lib_type] == 'sql' && $config[sql_use_user_info_table] == 'true')){
190
		echo <<<EOM
191
	<tr>
192
		<td class="etiquette" colspan=$colspan>
193
		$l_name
194
		</td><td>
195
		<input type=text name="Fcn" value="$cn" size=20>
196
		</td>
197
	</tr>
198
	<tr>
199
		<td class="etiquette" colspan=$colspan>
200
		$l_email
201
		</td><td>
202
		<input type=text name="Fmail" value="$mail" size=20>
203
		</td>
204
	</tr>
205
EOM;
206
	}
207
	foreach($show_attrs as $key => $desc){
208
		$name = $attrmap["$key"];
209
		if ($name == 'none')
210
			continue;
211
		$oper_name = $name . '_op';
212
		$val = ($item_vals["$key"][0] != "") ? $item_vals["$key"][0] : $default_vals["$key"][0];
213
		switch ($key)
214
		{
215
		// $advanced = 1 : champs de saisie amélioré (calendrier, convertisseur, etc.) 
216
			case 'Simultaneous-Use' : 
217
				$advanced=1;
218
				$help_link="help/simultaneous_use_help.html";
219
				$desc=$l_simultaneous_use;
220
				break;
221
			case 'Max-All-Session' :
222
				$advanced=1;
223
				$help_link="help/max_all_session_help.html";
224
				$desc=$l_max_all_session;
225
				break;
226
			case 'Session-Timeout' : 
227
				$advanced=1;
228
				$help_link="help/session_timeout_help.html";
229
				$desc=$l_session_timeout;
230
				break;
231
			case 'Max-Daily-Session' :
232
				$advanced=1;
233
				$help_link="help/session_timeout_help.html";
234
				$desc=$l_daily_timeout;
235
				break;
236
			case 'Max-Monthly-Session' :
237
				$advanced=1;
238
				$help_link="help/session_timeout_help.html";
239
				$desc=$l_monthly_timeout;
240
				break;
241
			case 'Login-Time' : 
242
				$advanced=1;
243
				$help_link="help/login_time_help.html";
244
				$desc=$l_login_time;
245
				break;
246
			case 'Expiration' :
247
				$advanced=1;
248
				$help_link="help/expiration_help.html";
249
				$desc=$l_expiration;
250
				break;
251
			case 'ChilliSpot-Max-Input-Octets' :
252
				$advanced=1;
253
				$help_link="help/chillispot_max_input_octets_help.html";
254
				$desc=$l_max_input_octets;
255
				break;
256
			case 'ChilliSpot-Max-Output-Octets' :
257
				$advanced=1;
258
				$help_link="help/chillispot_max_output_octets_help.html";
259
				$desc=$l_max_output_octets;
260
				break;
261
			case 'ChilliSpot-Max-Total-Octets' :
262
				$advanced=1;
263
				$help_link="help/chillispot_max_total_octets_help.html";
264
				$desc=$l_max_total_octets;
265
				break;
266
			case 'ChilliSpot-Bandwidth-Max-Up' :
267
				$advanced=1;
268
				$help_link="help/chillispot_bandwidth_max_up_help.html";
269
				$desc=$l_max_bandwidth_up;
270
				break;
271
			case 'ChilliSpot-Bandwidth-Max-Down' :
272
				$advanced=1;
273
				$help_link="help/chillispot_bandwidth_max_down_help.html";
274
				$desc=$l_max_bandwidth_down;
275
				break;
276
			case 'WISPr-Redirection-URL' :
277
				$advanced=1;
278
				$help_link="help/wispr_redirection_url_help.html";
279
				$desc=$l_wispr_redirection;
280
				break;
281
			default:
282
				$advanced=1;
283
				break;
284
		}
285
		if ($show_ops && $advanced){
286
		print <<<EOM
287
			<tr>
288
			<td class="etiquette">
289
			<a href="$help_link" target=help onclick=window.open("$help_link","help","width=600,height=250,toolbar=no,scrollbars=no,resizable=yes") title="$l_click_for_help"><font color="blue">$desc</font></a>
290
			</td>
291
EOM;
292
			switch ($key){
293
				case 'Simultaneous-Use' : 
294
				case 'Max-All-Session' :
295
				case 'Max-Daily-Session' :
296
				case 'Max-Weekly-Session' :
297
				case 'Max-Monthly-Session' :
298
				case 'Login-Time' : 
299
				case 'Expiration' :
300
					echo "<td><select name=$oper_name><option $selected[$op_eq] value=\":=\">:=";
301
					break;
302
				case 'Session-Timeout' :
303
				case 'ChilliSpot-Max-Input-Octets' :
304
				case 'ChilliSpot-Max-Output-Octets' :
305
				case 'ChilliSpot-Max-Total-Octets' :
306
				case 'ChilliSpot-Bandwidth-Max-Up' :
307
				case 'ChilliSpot-Bandwidth-Max-Down' :
308
				case 'WISPr-Redirection-URL' :
309
					echo "<td><select name=$oper_name><option $selected[$op_eq] value=\"=\">=";
310
					break;
311
				default :
312
					print <<<EOM
313
					<td>
314
						<select name=$oper_name>
315
							<option $selected[$op_eq] value="=">=
316
							<option $selected[$op_set] value=":=">:=
317
							<option $selected[$op_add] value="+=">+=
318
							<option $selected[$op_eq2] value="==">==
319
							<option $selected[$op_ne] value="!=">!=
320
							<option $selected[$op_gt] value=">">&gt;
321
							<option $selected[$op_ge] value=">=">&gt;=
322
							<option $selected[$op_lt] value="<">&lt;
323
							<option $selected[$op_le] value="<=">&lt;=
324
							<option $selected[$op_regeq] value="=~">=~
325
							<option $selected[$op_regne] value="!~">!~
326
							<option $selected[$op_exst] value="=*">=*
327
							<option $selected[$op_nexst] value="!*">!*
328
						</select>
329
					</td>
330
EOM;
331
					break;
332
			}
333
		}
334
/* 
335
Ajout du choix d'unité (pour les durées limites de session,journée et de mois) 
336
et d'un calendrier pour la date d'expiration
337
Sauf dans le cas de la visualisation
338
*/
339
		if ($advanced){echo "<td>";}
340
		if ($create==0 ){
341
			switch ($name){
342
				/*
343
				Choix de l'unité jour, heures, minutes ou secondes 
344
				pour les durées limites max, de session,de journée et de mois	
345
				*/	
346
				case 'Session-Timeout' :
347
				case 'Max-Daily-Session' :
348
					/*valeur d'origine de durée limite */
349
					echo"<input type=text name=\"$name\" onfocus=\"this.value=''\" value=\"$val\" size=10>";
350
					/* Choix d'unité*/
351
					echo" <select name=\"$name"."_opt"."\" onchange=\"temps(this,'$name','newuser')\">
352
							<option value=\"s\" selected>s</option>
353
							<option value=\"m\" >m</option>
354
							<option value=\"H\" >H</option>
355
						</select>";
356
					break;
357
				case 'Max-Monthly-Session' :
358
				case 'Max-All-Session' :
359
					/*valeur d'origine de durée limite */
360
					echo"<input type=text name=\"$name\" onfocus=\"this.value=''\" value=\"$val\" size=10>";
361
					/* Choix d'unité*/
362
					echo" <select name=\"$name"."_opt"."\" onchange=\"temps(this,'$name','newuser')\">
363
							<option value=\"s\" selected>s</option>
364
							<option value=\"m\" >m</option>
365
							<option value=\"H\" >H</option>
366
							<option value=\"J\" >J</option>
367
						</select>";
368
					break;
369
				case 'Expiration' :
370
					/*Ajout du calendrier pour choisir la date*/
371
					echo"<input id=\"popup_container\" type=text name=\"$name\" value=\"$val\" size=20>";
372
					break;
373
				default :
374
					if ($advanced) echo"<input type=text name=\"$name\" value=\"$val\" size=20>";
375
					break;
376
			}
377
		}else{
378
		/*Pas de gestion de remplissage lors de la visualisation*/
379
			if ($advanced) echo"<input type=text name=\"$name\" value=\"$val\" size=20>";
380
 
381
/*fin Ajout*/
382
		}
383
	}
384
if (create==0){
385
	print <<<EOM
386
	<tr>
387
		<td class="etiquette" colspan=$colspan>
388
			$l_lang_ticket
389
		</td>
390
		<td width=20>
391
EOM;
392
/*Choix de la langue du ticket d'impression*/
393
	echo" <select name=\"$langue_imp\" onchange=\"lang_imp(this,'newuser')\">
394
			<option value=\"fr\" selected>Fran&ccedil;ais</option>
395
			<option value=\"en\" >English</option>
396
			<option value=\"nl\" >Nederlandse</option>
397
			<option value=\"de\" >Deutsch</option>
398
			<option value=\"es\" >Espa&ntilde;ol</option>
399
			<option value=\"it\" >Italiano</option>
400
			<option value=\"pt\" >Portugês</option>
401
		</select></td></tr>";	
402
	}
403
echo "</table><BR>";
404
if($create == 1)
405
{
406
	echo "<a href=\"ticket.pdf\">Ticket</a><br>";
407
	echo "<input type=submit class=button value=\"$l_show_profile\" OnClick=\"this.form.show.value=1\">";
408
}
409
else	
410
{
411
	echo "<input type=submit class=button value=\"$l_create\" OnClick=\"return formControl('newuser');\">";
412
	echo "<input type='hidden' name='nbtickets' value=''>";
413
	echo "<input type=submit class=button value=\"$l_simple_menu\" style=\"float: right;\" OnClick=\"this.form.show.value=2\">";
414
}
415
?>
416
</form>
417
 
418
	</td></tr>
419
</table>
420
</tr>
421
</table>
422
</TD></TR>
423
</TABLE>
424
</td></tr>
425
</TABLE>
426
</body>
427
</html>