Subversion Repositories ALCASAR

Rev

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