Subversion Repositories ALCASAR

Rev

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