Subversion Repositories ALCASAR

Rev

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