Subversion Repositories ALCASAR

Rev

Rev 896 | 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;
899 richard 237
				$help_link="help/simultaneous_use_help.html";
896 richard 238
				$desc=$l_simultaneous_use;
239
				break;
240
			case 'Max-All-Session' :
241
				$advanced=1;
899 richard 242
				$help_link="help/max_all_session_help.html";
896 richard 243
				$desc=$l_max_all_session;
244
				break;
245
			case 'Expiration' :
246
				$advanced=1;
899 richard 247
				$help_link="help/expiration_help.html";
896 richard 248
				$desc=$l_expiration;
249
				break;
514 richard 250
			default:
251
				$advanced=1;
252
				break;
253
		}
254
		if ($show_ops && $advanced){
255
		print <<<EOM
256
			<tr>
899 richard 257
			<td class="etiquette" colspan=$colspan>
258
			<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>
259
			</td>
514 richard 260
EOM;
261
			switch ($key){
262
				case 'Simultaneous-Use' : 
263
				case 'Expiration' :
886 stephane 264
				case 'Max-All-Session' :
514 richard 265
				case 'Max-Daily-Session' :
266
				case 'Max-Weekly-Session' :
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
313
					echo"<input type=text name=\"$name\" value=\"$val\" size=35>";
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 */
324
					echo"<input type=text name=\"$name\" onfocus=\"this.value=''\" value=\"$val\" size=28>";
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*/
336
					echo"<input id=\"popup_container\" type=text name=\"$name\" value=\"$val\" size=35>";
337
					break;
338
				default :
339
					if ($advanced) echo"<input type=text name=\"$name\" value=\"$val\" size=35>";
340
					break;
341
			}
342
		}else{
343
		/*Pas de gestion de remplissage lors de la visualisation*/
344
			if ($advanced) echo"<input type=text name=\"$name\" value=\"$val\" size=35>";
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>
355
		<td width=35>
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>
365
		</select></td></tr>";	
366
	}
367
echo "</table><BR>";
368
if ($create == 1)
369
	echo "<input type=submit class=button value=\"Afficher le profil de l'utilisateur\" OnClick=\"this.form.show.value=1\">";
370
	else{
371
	echo "<input type=submit class=button value=\"Cr&eacute;er\" OnClick=\"return formControl('newuser');\">";
372
	}
373
?>
374
</form>
375
 
376
	</td></tr>
377
</table>
378
</tr>
379
</table>
380
</TD></TR>
381
</TABLE>
382
</td></tr>
383
</TABLE>
384
</body>
385
</html>