Subversion Repositories ALCASAR

Rev

Details | Last modification | View Log

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