Subversion Repositories ALCASAR

Rev

Rev 947 | 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");
1088 stephane 6
// for developpement purpose
7
// CONST ROOT = "C:/Serveurs/Alcasar-mageia/";
8
CONST ROOT = "/";
9
require(ROOT.'etc/freeradius-web/config.php');
514 richard 10
if ($show == 1){
11
	header("Location: user_admin.php?login=$login");
12
	exit;
13
}
14
require('../lib/attrshow.php');
15
require('../lib/defaults.php');
16
if ($config[general_lib_type] == 'sql' && $config[sql_use_operators] == 'true'){
17
	$colspan=2;
18
	$show_ops=1;
19
}else{
20
	$show_ops = 0;
21
	$colspan=1;
22
}
23
?>
911 richard 24
<html><head><title>Voucher creation</title>
1088 stephane 25
<meta http-equiv="Content-Type" content="text/html; charset=<?php  echo $config[general_charset]?>">
514 richard 26
<link rel="stylesheet" href="/css/style.css">
27
<link rel="stylesheet" type="text/css" href="/css/epoch_styles.css" />
28
<script type="text/javascript" src="/js/epoch_classes.js"></script>
29
<script type="text/javascript" src="/js/fonctions.js"></script>
30
<script language="javascript" type="text/javascript">
31
 
32
/*Insertion du calendrier */
33
	var dp_cal;      
34
window.onload = function () {
35
	dp_cal  = new Epoch('epoch_popup','popup',document.getElementById('popup_container'));
36
};
37
/*Fin calendrier*/
1088 stephane 38
function createTickets(arg){
39
	var nbtickets = prompt("Saisissez le nombre d'utilisateurs à créer", "");
40
	// On test la pression sur le boutton "annuler"
41
	if (nbtickets===null){
42
		alert('nbtickets===null');
43
		return false;
44
	}
45
	// On test la valeur saisie n'est pas un nombre
46
	if (isNaN(nbtickets)===true){
47
		return false;
48
	}	
49
	// Conversion en entier de nbtickets 
50
	nbtickets = parseInt(nbtickets)
51
	// Configuration et envoie du formulaire
52
	arg.nbtickets.value = nbtickets
53
	arg.action = "vouchers_new.php";
54
	arg.submit();
55
 
56
	return true;
57
}
514 richard 58
</script>
59
</head>
60
<body>
616 richard 61
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
1088 stephane 62
	<tr><th><?php  echo"$l_users_managment"; ?></th></tr>
616 richard 63
	<tr bgcolor="#FFCC66"><td><img src="/images/pix.gif" width="1" height="2"></td></tr>
514 richard 64
</TABLE>
65
<TABLE width="100%" border=0 cellspacing=0 cellpadding=1>
66
	<tr bgcolor="#666666"><td>
67
	<TABLE width="100%" border=0 cellspacing=0 cellpadding=2>
68
		<tr><td valign="middle" align="left">
69
<center>
925 richard 70
<table border=0 width=620 cellpadding=1 cellspacing=1>
514 richard 71
<tr valign=top>
925 richard 72
<td width=400></td>
73
<td bgcolor="black">
514 richard 74
	<table border=0 width=100% cellpadding=2 cellspacing=0>
75
	<tr bgcolor="#907030" align=right valign=top><th>
1088 stephane 76
	<font color="white"><?php  echo "$l_user_create"; ?></font>
514 richard 77
	</th></tr>
78
	</table>
79
</td></tr>
80
<tr bgcolor="black" valign=top><td colspan=2>
81
	<table border=0 width=100% cellpadding=12 cellspacing=0 bgcolor="#ffffd0" valign=top>
82
	<tr><td>   
1088 stephane 83
<?php 
514 richard 84
function sec_imp($time)
85
	/* Formatage des secondes avant l'impression */
86
    {
87
	$heure=0;$minute=0;$seconde=0;
88
	$heure = floor($time/3600);
89
    	$reste = $time%3600;
90
    	if ($heure!=0) $result = $heure.' H ';
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*/
119
		if ($sto_imp==''){ $sto_imp=$v_illimit;}
120
			else { $sto_imp=sec_imp($sto_imp);}
121
		if ($mas_imp==''){ $mas_imp=$v_illimit;}
122
			else { $mas_imp=sec_imp($mas_imp);}
123
		if ($mds_imp==''){ $mds_imp=$v_illimit;}
124
			else { $mds_imp=sec_imp($mds_imp);}
125
		if ($mms_imp==''){ $mms_imp=$v_illimit;}
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' :
886 stephane 323
				case 'Max-All-Session' :
514 richard 324
				case 'Max-Daily-Session' :
325
				case 'Max-Monthly-Session' :
326
					/*valeur d'origine de durée limite */
925 richard 327
					echo"<input type=text name=\"$name\" onfocus=\"this.value=''\" value=\"$val\" size=20>";
514 richard 328
					/* Choix d'unité*/
329
					echo" <select name=\"$name"."_opt"."\" onchange=\"temps(this,'$name','newuser')\">
330
							<option value=\"s\" selected>s</option>
331
							<option value=\"m\" >m</option>
332
							<option value=\"H\" >H</option>
333
						</select>";
334
					break;
335
				case 'Expiration' :
336
					/*Pré-remplissage avec la date du lendemain*/
337
					$val=date("d F Y",strtotime("+1 day"));//<--en commentant cette ligne la valeur n'est plus pré-remplie
338
					/*Ajout du calendrier pour choisir la date*/
925 richard 339
					echo"<input id=\"popup_container\" type=text name=\"$name\" value=\"$val\" size=20>";
514 richard 340
					break;
341
				default :
925 richard 342
					if ($advanced) echo"<input type=text name=\"$name\" value=\"$val\" size=20>";
514 richard 343
					break;
344
			}
345
		}else{
346
		/*Pas de gestion de remplissage lors de la visualisation*/
925 richard 347
			if ($advanced) echo"<input type=text name=\"$name\" value=\"$val\" size=20>";
514 richard 348
 
349
/*fin Ajout*/
350
		}
351
	}
352
if (create==0){
353
	print <<<EOM
354
	<tr>
355
		<td class="etiquette" colspan=$colspan>
356
			$l_lang_ticket
357
		</td>
925 richard 358
		<td width=20>
514 richard 359
EOM;
360
/*Choix de la langue du ticket d'impression*/
361
	echo" <select name=\"$langue_imp\" onchange=\"lang_imp(this,'newuser')\">
362
			<option value=\"fr\" selected>Fran&ccedil;ais</option>
363
			<option value=\"en\" >English</option>
364
			<option value=\"nl\" >Nederlandse</option>
365
			<option value=\"de\" >Deutsch</option>
366
			<option value=\"es\" >Espa&ntilde;ol</option>
367
			<option value=\"it\" >Italiano</option>
921 richard 368
			<option value=\"pt\" >Portugês</option>
514 richard 369
		</select></td></tr>";	
370
	}
371
echo "</table><BR>";
947 richard 372
if ($create == 1){
373
	echo "<a href=\"ticket.pdf\">Ticket</a><br>";
374
	echo "<input type=submit class=button value=\"$l_show_profile\" OnClick=\"this.form.show.value=1\">";}
1088 stephane 375
else{
901 richard 376
	echo "<input type=submit class=button value=\"$l_create\" OnClick=\"return formControl('newuser');\">";
1088 stephane 377
	echo "<input type='hidden' name='nbtickets' value=''>";
378
	echo "<br>Ou :<br>";
379
 
380
	$l_create_multiple = "Créer plusieurs tickets";
381
	echo "<input type=button class=button value=\"$l_create_multiple\" OnClick=\"return createTickets(this.form);\">";
382
	$l_create_multiple_comment = "<br>Remarques : lors de la création plusieurs tickets sysmultanément :<br>
383
		- l'identifiant et le mot de passe sont générés aléatoirement,<br>
384
		- les champs \"Nom, prénom\" et \"Adresse de couriel\" ne sont pas pris en compte.<br> ";
385
	echo $l_create_multiple_comment;
514 richard 386
	}
387
?>
388
</form>
911 richard 389
</td></tr>
514 richard 390
</table>
911 richard 391
</td></tr>
514 richard 392
</TABLE>
393
</td></tr>
394
</TABLE>
395
</body>
396
</html>