Subversion Repositories ALCASAR

Rev

Details | Last modification | View Log

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