Subversion Repositories ALCASAR

Rev

Rev 514 | Go to most recent revision | Details | Compare with Previous | 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'*/
584 richard 124
		if ($Expiration!=''){
125
			$Expiration=date("d - m - Y",strtotime($Expiration));
126
		} else {
127
			$Expiration=$v_illimit;
128
		}
514 richard 129
		//Appel du ticket d'impression , passage en paramètres des étiquettes et des valeurs à afficher
130
		echo'	<form name="impression" method="post" action="ticket_user.php" target=_blank>
131
					<input type="hidden" name="l_title_imp" value="'.$l_title_imp.'">
132
					<input type="hidden" name="l_login_imp" value="'.$l_login_imp.'">
133
					<input type="hidden" name="l_password_imp" value="'.$l_password_imp.'"> 
134
					<input type="hidden" name="l_session_timeout_imp" value="'.$l_session_timeout_imp.'">
135
					<input type="hidden" name="l_max_daily_session_imp" value="'.$l_max_daily_session_imp.'">
136
					<input type="hidden" name="l_max_monthly_session_imp" value="'.$l_max_monthly_session_imp.'"> 
137
					<input type="hidden" name="l_expiration_imp" value="'.$l_expiration_imp.'">
138
					<input type="hidden" name="log_imp" value="'.$login.'">
139
					<input type="hidden" name="passwd_imp" value="'.$passwd_imp.'">
140
					<input type="hidden" name="sto_imp" value="'.$sto_imp.'">
141
					<input type="hidden" name="mds_imp" value="'.$mds_imp.'">
142
					<input type="hidden" name="mms_imp" value="'.$mms_imp.'">
143
					<input type="hidden" name="exp_imp" value="'.$Expiration.'">
144
				</form>';
145
		echo'	<script type="text/javascript"> document.forms["impression"].submit();</script>';
146
		//fin ticket impression
147
		require("../lib/defaults.php");
148
		if (is_file("../lib/$config[general_lib_type]/user_info.php"))
149
			include("../lib/$config[general_lib_type]/user_info.php");
150
	}
151
}
152
?>
153
   <form name="newuser" method=post>
154
      <input type=hidden name=create value="0">
155
      <input type=hidden name=show value="0">
156
	  <input type=hidden name=langue_imp value='fr'>
157
	<table border=1 bordercolordark=#ffffe0 bordercolorlight=#000000 width=100% cellpadding=2 cellspacing=0 bgcolor="#ffffe0" valign=top>
158
<?php
159
	echo <<<EOM
160
	<tr>
161
		<td class="etiquette" colspan=$colspan>
162
		$l_login
163
		</td><td>
164
		<input type=text name="login" value="$login" size=35>
165
		</td>
166
	</tr>
167
	<tr>
168
		<td class="etiquette" colspan=$colspan>
169
		$l_password
170
		</td><td>
171
		<input type=password name="passwd" size=35>
172
		<br><input type="button" value="$l_passwd_gen" onclick="password(8,'newuser')">
173
		<input type="text" value="" name="pwdgene" size=20 readonly>
174
		</td>
175
	</tr>
176
EOM;
177
	if ($config[general_lib_type] == 'sql'){
178
		if (isset($member_groups))
179
			$selected[$member_groups[0]] = 'selected';
180
		echo <<<EOM
181
	<tr>
182
		<td class="etiquette" colspan=$colspan>
183
		$l_group
184
		</td><td>
185
EOM;
186
		include_once("../lib/$config[general_lib_type]/group_info.php");
187
		if (isset($existing_groups)){
188
			echo "<select name=\"Fgroup\">";
189
			echo "<option value=\"\" selected>";
190
			foreach ($member_groups as $group)
191
				echo "<option value=\"$group\">$group\n";
192
			echo " </select>";
193
			}
194
		else echo "$l_group_empty";
195
	echo "</td></tr>";
196
	}
197
	if ($config[general_lib_type] == 'ldap' ||
198
	($config[general_lib_type] == 'sql' && $config[sql_use_user_info_table] == 'true')){
199
		echo <<<EOM
200
	<tr>
201
		<td class="etiquette" colspan=$colspan>
202
		$l_name
203
		</td><td>
204
		<input type=text name="Fcn" value="$cn" size=35>
205
		</td>
206
	</tr>
207
	<tr>
208
		<td class="etiquette" colspan=$colspan>
209
		$l_email
210
		</td><td>
211
		<input type=text name="Fmail" value="$mail" size=35>
212
		</td>
213
	</tr>
214
EOM;
215
//  Déplacer la ligne "EOM;" et décommenter en fonction des champs à afficher
216
//	<tr>
217
//		<td class="etiquette" colspan=$colspan>
218
//		Service
219
//		</td><td>
220
//		<input type=text name="Fou" value="$ou" size=35>
221
//		</td>
222
//	</tr>
223
//	<tr>
224
//		<td class="etiquette" colspan=$colspan>
225
//		Nro TPH personnel
226
//		</td><td>
227
//		<input type=text name="Fhomephone" value="$homephone" size=35>
228
//		</td>
229
//	</tr>
230
//	<tr>
231
//		<td class="etiquette" colspan=$colspan>
232
//		Nro TPH bureau
233
//		</td><td>
234
//		<input type=text name="Ftelephonenumber" value="$telephonenumber" size=35>
235
//		</td>
236
//	</tr>
237
//	<tr>
238
//		<td class="etiquette" colspan=$colspan>
239
//		Nro TPH mobile
240
//		</td><td>
241
//		<input type=text name="Fmobile" value="$mobile" size=35>
242
//		</td>
243
//	</tr> 
244
	}
245
	foreach($show_attrs as $key => $desc){
246
		$name = $attrmap["$key"];
247
		if ($name == 'none')
248
			continue;
249
		$oper_name = $name . '_op';
250
		$val = ($item_vals["$key"][0] != "") ? $item_vals["$key"][0] : $default_vals["$key"][0];
251
		/*
252
		Gestion d'un mode simple ou d'un mode avancé
253
		Définition du mode avancé: les attributs concernant la gestion des octets, de la bande passante
254
		*/
255
		switch ($key)
256
		{
257
			case 'ChilliSpot-Max-Input-Octets' :
258
			case 'ChilliSpot-Max-Output-Octets' :
259
			case 'ChilliSpot-Max-Total-Octets' :
260
			case 'ChilliSpot-Bandwidth-Max-Up' :
261
			case 'ChilliSpot-Bandwidth-Max-Down' :
262
			case 'WISPr-Redirection-URL' :
263
			case 'Login-Time' : 
264
			case 'Max-Monthly-Session' :
265
				$advanced=0; //<-- Valeur à mettre à '1' pour avoir toutes les fonctionnalités
266
				break;
267
			default:
268
				$advanced=1;
269
				break;
270
		}
271
		if ($show_ops && $advanced){
272
		print <<<EOM
273
			<tr>
274
				<td class="etiquette" colspan=$colspan>
275
					$desc
276
				</td>
277
EOM;
278
			switch ($key){
279
				case 'Simultaneous-Use' : 
280
				case 'Expiration' :
281
				case 'Max-Daily-Session' :
282
				case 'Max-Weekly-Session' :
283
					echo "<input type=\"hidden\" name=$oper_name value=\":=\">";
284
					break;
285
				case 'Session-Timeout' :
286
				case 'ChilliSpot-Max-Input-Octets' :
287
				case 'ChilliSpot-Max-Output-Octets' :
288
				case 'ChilliSpot-Max-Total-Octets' :
289
				case 'ChilliSpot-Bandwidth-Max-Up' :
290
				case 'ChilliSpot-Bandwidth-Max-Down' :
291
				case 'WISPr-Redirection-URL' :
292
					echo "<input type=\"hidden\" name=$oper_name value=\"=\">";
293
					break;
294
				default :
295
					print <<<EOM
296
					<td>
297
						<select name=$oper_name>
298
							<option $selected[$op_eq] value="=">=
299
							<option $selected[$op_set] value=":=">:=
300
							<option $selected[$op_add] value="+=">+=
301
							<option $selected[$op_eq2] value="==">==
302
							<option $selected[$op_ne] value="!=">!=
303
							<option $selected[$op_gt] value=">">&gt;
304
							<option $selected[$op_ge] value=">=">&gt;=
305
							<option $selected[$op_lt] value="<">&lt;
306
							<option $selected[$op_le] value="<=">&lt;=
307
							<option $selected[$op_regeq] value="=~">=~
308
							<option $selected[$op_regne] value="!~">!~
309
							<option $selected[$op_exst] value="=*">=*
310
							<option $selected[$op_nexst] value="!*">!*
311
						</select>
312
					</td>
313
EOM;
314
					break;
315
			}
316
		}
317
/* 
318
Ajout du pré-remplissage de cellule
319
du choix d'unité (pour les durées limites de session,journée et de mois) 
320
et d'un calendrier pour la date d'expiration
321
Sauf dans le cas de la visualisation
322
*/
323
		if ($advanced){echo "<td>";}
324
		if ($create==0 && $advanced){
325
			switch ($name){
326
				case 'Simultaneous-Use' :
327
					/*Pré-remplissage avec la valeur '1' pour empécher plusieurs connexions silmutanées*/
328
					$val=1;//<--cette valeur correspond au nombre de session simultanée en commentant cette ligne la valeur n'est plus pré-remplie
329
					echo"<input type=text name=\"$name\" value=\"$val\" size=35>";
330
					break;
331
				/*
332
				Choix de l'unité heures, minutes ou secondes 
333
				pour les durées limites de session,journée et de mois	
334
				*/	
335
				case 'Session-Timeout' :
336
				case 'Max-Daily-Session' :
337
				case 'Max-Monthly-Session' :
338
					/*valeur d'origine de durée limite */
339
					echo"<input type=text name=\"$name\" onfocus=\"this.value=''\" value=\"$val\" size=28>";
340
					/* Choix d'unité*/
341
					echo" <select name=\"$name"."_opt"."\" onchange=\"temps(this,'$name','newuser')\">
342
							<option value=\"s\" selected>s</option>
343
							<option value=\"m\" >m</option>
344
							<option value=\"H\" >H</option>
345
						</select>";
346
					break;
347
				case 'Expiration' :
348
					/*Pré-remplissage avec la date du lendemain*/
349
					$val=date("d F Y",strtotime("+1 day"));//<--en commentant cette ligne la valeur n'est plus pré-remplie
350
					/*Ajout du calendrier pour choisir la date*/
351
					echo"<input id=\"popup_container\" type=text name=\"$name\" value=\"$val\" size=35>";
352
					break;
353
				default :
354
					if ($advanced) echo"<input type=text name=\"$name\" value=\"$val\" size=35>";
355
					break;
356
			}
357
		}else{
358
		/*Pas de gestion de remplissage lors de la visualisation*/
359
			if ($advanced) echo"<input type=text name=\"$name\" value=\"$val\" size=35>";
360
 
361
/*fin Ajout*/
362
		}
363
	}
364
if (create==0){
365
	print <<<EOM
366
	<tr>
367
		<td class="etiquette" colspan=$colspan>
368
			$l_lang_ticket
369
		</td>
370
		<td width=35>
371
EOM;
372
/*Choix de la langue du ticket d'impression*/
373
	echo" <select name=\"$langue_imp\" onchange=\"lang_imp(this,'newuser')\">
374
			<option value=\"fr\" selected>Fran&ccedil;ais</option>
375
			<option value=\"en\" >English</option>
376
			<option value=\"nl\" >Nederlandse</option>
377
			<option value=\"de\" >Deutsch</option>
378
			<option value=\"es\" >Espa&ntilde;ol</option>
379
			<option value=\"it\" >Italiano</option>
380
		</select></td></tr>";	
381
	}
382
echo "</table><BR>";
383
if ($create == 1)
384
	echo "<input type=submit class=button value=\"Afficher le profil de l'utilisateur\" OnClick=\"this.form.show.value=1\">";
385
	else{
386
	echo "<input type=submit class=button value=\"Cr&eacute;er\" OnClick=\"return formControl('newuser');\">";
387
	}
388
?>
389
</form>
390
 
391
	</td></tr>
392
</table>
393
</tr>
394
</table>
395
</TD></TR>
396
</TABLE>
397
</td></tr>
398
</TABLE>
399
</body>
400
</html>