| Line 1... |
Line 1... |
| 1 |
<?php
|
1 |
<?php
|
| 2 |
|
2 |
|
| 3 |
if (!isset ($create)) { $create=0; }
|
3 |
if (!isset ($create)) $create=0;
|
| 4 |
if (!isset ($show)) { $show=0; }
|
4 |
if (!isset ($show)) $show=0;
|
| 5 |
// ticket d'impression (thank's to Geoffroy MUSITELLI)
|
5 |
// ticket d'impression (thank's to Geoffroy MUSITELLI)
|
| 6 |
//gestion de la langue
|
6 |
//gestion de la langue
|
| 7 |
if (is_file("../lib/langues.php"))
|
7 |
if (is_file("../lib/langues.php"))
|
| 8 |
include("../lib/langues.php");
|
8 |
include("../lib/langues.php");
|
| 9 |
|
9 |
|
| - |
|
10 |
if(!isset($login)) $login = '';
|
| - |
|
11 |
if(!isset($cn)) $cn = '';
|
| - |
|
12 |
if(!isset($mail)) $mail = '';
|
| - |
|
13 |
if(!isset($langue_imp)) $langue_imp = '';
|
| - |
|
14 |
|
| 10 |
require('/etc/freeradius-web/config.php');
|
15 |
require('/etc/freeradius-web/config.php');
|
| 11 |
if($show == 2)
|
16 |
if($show == 2)
|
| 12 |
{
|
17 |
{
|
| 13 |
header("Location: user_new2.php");
|
18 |
header("Location: user_new2.php");
|
| 14 |
exit;
|
19 |
exit;
|
| 15 |
}
|
20 |
}
|
| 16 |
require('../lib/attrshow.php');
|
21 |
require('../lib/attrshow.php');
|
| 17 |
require('../lib/defaults.php');
|
22 |
require('../lib/defaults.php');
|
| 18 |
if ($config[general_lib_type] == 'sql' && $config[sql_use_operators] == 'true'){
|
23 |
if ($config['general_lib_type'] == 'sql' && $config['sql_use_operators'] == 'true'){
|
| 19 |
$colspan=2;
|
24 |
$colspan=2;
|
| 20 |
$show_ops=1;
|
25 |
$show_ops=1;
|
| 21 |
}else{
|
26 |
}else{
|
| 22 |
$show_ops = 0;
|
27 |
$show_ops = 0;
|
| 23 |
$colspan=1;
|
28 |
$colspan=1;
|
| 24 |
}
|
29 |
}
|
| 25 |
?>
|
30 |
?>
|
| 26 |
<html><head><title>Voucher creation</title>
|
31 |
<html><head><title>Voucher creation</title>
|
| 27 |
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $config[general_charset]?>">
|
32 |
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $config['general_charset']?>">
|
| 28 |
<link rel="stylesheet" href="/css/style.css">
|
33 |
<link rel="stylesheet" href="/css/style.css">
|
| 29 |
<link rel="stylesheet" type="text/css" href="/css/epoch_styles.css" />
|
34 |
<link rel="stylesheet" type="text/css" href="/css/epoch_styles.css" />
|
| 30 |
<script type="text/javascript" src="/js/epoch_classes.js"></script>
|
35 |
<script type="text/javascript" src="/js/epoch_classes.js"></script>
|
| 31 |
<script type="text/javascript" src="/js/fonctions.js"></script>
|
36 |
<script type="text/javascript" src="/js/fonctions.js"></script>
|
| 32 |
<script language="javascript" type="text/javascript">
|
37 |
<script language="javascript" type="text/javascript">
|
| 33 |
|
38 |
|
| 34 |
/*Insertion du calendrier */
|
39 |
/*Insertion du calendrier */
|
| 35 |
var dp_cal;
|
40 |
var dp_cal;
|
| 36 |
window.onload = function () {
|
41 |
window.onload = function () {
|
| 37 |
dp_cal = new Epoch('epoch_popup','popup',document.getElementById('popup_container'));
|
42 |
dp_cal = new Epoch('epoch_popup','popup',document.getElementById('popup_container'));
|
| 38 |
};
|
43 |
};
|
| 39 |
</script>
|
44 |
</script>
|
| 40 |
</head>
|
45 |
</head>
|
| Line 58... |
Line 63... |
| 58 |
</th></tr>
|
63 |
</th></tr>
|
| 59 |
</table>
|
64 |
</table>
|
| 60 |
</td></tr>
|
65 |
</td></tr>
|
| 61 |
<tr bgcolor="black" valign=top><td colspan=2>
|
66 |
<tr bgcolor="black" valign=top><td colspan=2>
|
| 62 |
<table border=0 width=100% cellpadding=12 cellspacing=0 bgcolor="#ffffd0" valign=top>
|
67 |
<table border=0 width=100% cellpadding=12 cellspacing=0 bgcolor="#ffffd0" valign=top>
|
| 63 |
<tr><td>
|
68 |
<tr><td>
|
| 64 |
<?php
|
69 |
<?php
|
| 65 |
function sec_imp($time)
|
70 |
function sec_imp($time)
|
| 66 |
/* Formatage des secondes avant l'impression */
|
71 |
/* Formatage des secondes avant l'impression */
|
| 67 |
{
|
72 |
{
|
| - |
|
73 |
$result = '';
|
| 68 |
$jour = 0;$heure = 0;$minute = 0;$seconde = 0;
|
74 |
$jour = 0;$heure = 0;$minute = 0;$seconde = 0;
|
| 69 |
$jour = floor($time/86400);
|
75 |
$jour = floor($time/86400);
|
| 70 |
$reste = $time%86400;
|
76 |
$reste = $time%86400;
|
| 71 |
if ($jour!=0) $result = $jour.' J ';
|
77 |
if ($jour!=0) $result = $jour.' J ';
|
| 72 |
$heure = floor($reste/3600);
|
78 |
$heure = floor($reste/3600);
|
| Line 75... |
Line 81... |
| 75 |
$minute = floor($reste/60);
|
81 |
$minute = floor($reste/60);
|
| 76 |
if ($minute!=0) $result = $result.$minute.' min ';
|
82 |
if ($minute!=0) $result = $result.$minute.' min ';
|
| 77 |
$seconde = $reste%60;
|
83 |
$seconde = $reste%60;
|
| 78 |
if ($seconde!=0) $result = $result.$seconde.' s ';
|
84 |
if ($seconde!=0) $result = $result.$seconde.' s ';
|
| 79 |
return $result;
|
85 |
return $result;
|
| 80 |
}
|
86 |
}
|
| 81 |
|
87 |
|
| 82 |
if ($create == 1){
|
88 |
if ($create == 1){
|
| 83 |
if (is_file("../lib/$config[general_lib_type]/user_info.php"))
|
89 |
if (is_file("../lib/$config[general_lib_type]/user_info.php"))
|
| 84 |
include("../lib/$config[general_lib_type]/user_info.php");
|
90 |
include("../lib/$config[general_lib_type]/user_info.php");
|
| 85 |
if ($user_exists != "no"){
|
91 |
if ($user_exists != "no"){
|
| Line 90... |
Line 96... |
| 90 |
else{
|
96 |
else{
|
| 91 |
if (is_file("../lib/$config[general_lib_type]/create_user.php"))
|
97 |
if (is_file("../lib/$config[general_lib_type]/create_user.php"))
|
| 92 |
include("../lib/$config[general_lib_type]/create_user.php");
|
98 |
include("../lib/$config[general_lib_type]/create_user.php");
|
| 93 |
/* Petit traitement pré-impression pour la lisibilité */
|
99 |
/* Petit traitement pré-impression pour la lisibilité */
|
| 94 |
/* Récupération des attributs du groupe le cas échéant */
|
100 |
/* Récupération des attributs du groupe le cas échéant */
|
| 95 |
if ($group!=''){
|
101 |
if (isset($group) && $group!=''){
|
| 96 |
$saved_login = $login;
|
102 |
$saved_login = $login;
|
| 97 |
$login = $group;
|
103 |
$login = $group;
|
| 98 |
if (is_file("../lib/sql/group_info.php"))
|
104 |
if (is_file("../lib/sql/group_info.php"))
|
| 99 |
include("../lib/sql/group_info.php");
|
105 |
include("../lib/sql/group_info.php");
|
| 100 |
$login = $saved_login;}
|
106 |
$login = $saved_login;}
|
| 101 |
/* Si les valeurs de durée sont vide remplissage avec la valeur 'Illimitée'*/
|
107 |
/* Si les valeurs de durée sont vide remplissage avec la valeur 'Illimitée'*/
|
| 102 |
/* et formatage des secondes sous le format Heure min ses*/
|
108 |
/* et formatage des secondes sous le format Heure min ses*/
|
| 103 |
if ($sto_imp==''){ $sto_imp='-';}
|
109 |
if ($sto_imp==''){ $sto_imp='-';}
|
| 104 |
else { $sto_imp=sec_imp($sto_imp);}
|
110 |
else { $sto_imp=sec_imp($sto_imp);}
|
| 105 |
if ($mas_imp==''){ $mas_imp='-';}
|
111 |
if ($mas_imp==''){ $mas_imp='-';}
|
| 106 |
else { $mas_imp=sec_imp($mas_imp);}
|
112 |
else { $mas_imp=sec_imp($mas_imp);}
|
| 107 |
if ($mds_imp==''){ $mds_imp='-';}
|
113 |
if ($mds_imp==''){ $mds_imp='-';}
|
| 108 |
else { $mds_imp=sec_imp($mds_imp);}
|
114 |
else { $mds_imp=sec_imp($mds_imp);}
|
| 109 |
if ($mms_imp==''){ $mms_imp='-';}
|
115 |
if ($mms_imp==''){ $mms_imp='-';}
|
| 110 |
else { $mms_imp=sec_imp($mms_imp);}
|
116 |
else { $mms_imp=sec_imp($mms_imp);}
|
| 111 |
/*Formatage de la date afin d'être lisible dans toute les langues 'jj mm yyyy'*/
|
117 |
/*Formatage de la date afin d'être lisible dans toute les langues 'jj mm yyyy'*/
|
| 112 |
if ($Expiration!=''){ $Expiration=date("d - m - Y",strtotime($Expiration));}
|
118 |
if ($Expiration!=''){ $Expiration=date("d - m - Y",strtotime($Expiration));}
|
| 113 |
else { $Expiration=$v_without;}
|
119 |
else { $Expiration='-';}
|
| 114 |
if ($show != 3) //utilisateur normal
|
120 |
if ($show != 3) //utilisateur normal
|
| 115 |
{
|
121 |
{
|
| 116 |
//Appel du ticket d'impression , passage en paramètres des valeurs à afficher
|
122 |
//Appel du ticket d'impression , passage en paramètres des valeurs à afficher
|
| 117 |
echo' <form name="impression" method="post" action="ticket_user.php" target=_blank>
|
123 |
echo' <form name="impression" method="post" action="ticket_user.php" target=_blank>
|
| 118 |
<input type="hidden" name="langue_imp" value="'.$langue_imp.'">
|
124 |
<input type="hidden" name="langue_imp" value="'.$langue_imp.'">
|
| 119 |
<input type="hidden" name="log_imp" value="'.$login.'">
|
125 |
<input type="hidden" name="log_imp" value="'.$login.'">
|
| 120 |
<input type="hidden" name="passwd_imp" value="'.$passwd_imp.'">
|
126 |
<input type="hidden" name="passwd_imp" value="'.$passwd_imp.'">
|
| Line 140... |
Line 146... |
| 140 |
<form name="newuser" method=post>
|
146 |
<form name="newuser" method=post>
|
| 141 |
<input type=hidden name=create value="0">
|
147 |
<input type=hidden name=create value="0">
|
| 142 |
<input type=hidden name=show value="0">
|
148 |
<input type=hidden name=show value="0">
|
| 143 |
<input type=hidden name=langue_imp value='fr'>
|
149 |
<input type=hidden name=langue_imp value='fr'>
|
| 144 |
<table border=1 bordercolordark=#ffffe0 bordercolorlight=#000000 width=100% cellpadding=2 cellspacing=0 bgcolor="#ffffe0" valign=top>
|
150 |
<table border=1 bordercolordark=#ffffe0 bordercolorlight=#000000 width=100% cellpadding=2 cellspacing=0 bgcolor="#ffffe0" valign=top>
|
| 145 |
<?php
|
151 |
<?php
|
| 146 |
if($create==0){
|
152 |
if($create==0){
|
| 147 |
echo <<<EOM
|
153 |
echo <<<EOM
|
| 148 |
<tr>
|
154 |
<tr>
|
| 149 |
<td class="etiquette" colspan=$colspan>
|
155 |
<td class="etiquette" colspan=$colspan>
|
| 150 |
$l_login
|
156 |
$l_login
|
| Line 160... |
Line 166... |
| 160 |
<br><input type="button" value="$l_passwd_gen" onclick="password(8,'newuser')">
|
166 |
<br><input type="button" value="$l_passwd_gen" onclick="password(8,'newuser')">
|
| 161 |
<input type="text" value="" name="pwdgene" size=10 readonly>
|
167 |
<input type="text" value="" name="pwdgene" size=10 readonly>
|
| 162 |
</td>
|
168 |
</td>
|
| 163 |
</tr>
|
169 |
</tr>
|
| 164 |
EOM;
|
170 |
EOM;
|
| 165 |
if ($config[general_lib_type] == 'sql'){
|
171 |
if ($config['general_lib_type'] == 'sql'){
|
| 166 |
if (isset($member_groups))
|
172 |
if (isset($member_groups))
|
| 167 |
$selected[$member_groups[0]] = 'selected';
|
173 |
$selected[$member_groups[0]] = 'selected';
|
| 168 |
echo <<<EOM
|
174 |
echo <<<EOM
|
| 169 |
<tr>
|
175 |
<tr>
|
| 170 |
<td class="etiquette" colspan=$colspan>
|
176 |
<td class="etiquette" colspan=$colspan>
|
| Line 180... |
Line 186... |
| 180 |
echo " </select>";
|
186 |
echo " </select>";
|
| 181 |
}
|
187 |
}
|
| 182 |
else echo "$l_group_empty";
|
188 |
else echo "$l_group_empty";
|
| 183 |
echo "</td></tr>";
|
189 |
echo "</td></tr>";
|
| 184 |
}
|
190 |
}
|
| 185 |
if ($config[general_lib_type] == 'ldap' ||
|
191 |
if ($config['general_lib_type'] == 'ldap' ||
|
| 186 |
($config[general_lib_type] == 'sql' && $config[sql_use_user_info_table] == 'true')){
|
192 |
($config['general_lib_type'] == 'sql' && $config['sql_use_user_info_table'] == 'true')){
|
| 187 |
echo <<<EOM
|
193 |
echo <<<EOM
|
| 188 |
<tr>
|
194 |
<tr>
|
| 189 |
<td class="etiquette" colspan=$colspan>
|
195 |
<td class="etiquette" colspan=$colspan>
|
| 190 |
$l_name
|
196 |
$l_name
|
| 191 |
</td><td>
|
197 |
</td><td>
|
| Line 204... |
Line 210... |
| 204 |
foreach($show_attrs as $key => $desc){
|
210 |
foreach($show_attrs as $key => $desc){
|
| 205 |
$name = $attrmap["$key"];
|
211 |
$name = $attrmap["$key"];
|
| 206 |
if ($name == 'none')
|
212 |
if ($name == 'none')
|
| 207 |
continue;
|
213 |
continue;
|
| 208 |
$oper_name = $name . '_op';
|
214 |
$oper_name = $name . '_op';
|
| 209 |
$val = ($item_vals["$key"][0] != "") ? $item_vals["$key"][0] : $default_vals["$key"][0];
|
215 |
if(isset($item_vals["$key"][0]) && $item_vals["$key"][0] != ''){
|
| - |
|
216 |
$val = $item_vals["$key"][0];
|
| - |
|
217 |
} else if(isset($default_vals["$key"][0])) {
|
| - |
|
218 |
$val = $default_vals["$key"][0];
|
| - |
|
219 |
} else {
|
| - |
|
220 |
$val = '';
|
| - |
|
221 |
}
|
| 210 |
/*
|
222 |
/*
|
| 211 |
Gestion d'un mode simple ou d'un mode avancé
|
223 |
Gestion d'un mode simple ou d'un mode avancé
|
| 212 |
Définition du mode avancé: les attributs concernant la gestion des octets, de la bande passante
|
224 |
Définition du mode avancé: les attributs concernant la gestion des octets, de la bande passante
|
| 213 |
*/
|
225 |
*/
|
| 214 |
switch ($key)
|
226 |
switch ($key)
|
| Line 217... |
Line 229... |
| 217 |
case 'ChilliSpot-Max-Output-Octets' :
|
229 |
case 'ChilliSpot-Max-Output-Octets' :
|
| 218 |
case 'ChilliSpot-Max-Total-Octets' :
|
230 |
case 'ChilliSpot-Max-Total-Octets' :
|
| 219 |
case 'ChilliSpot-Bandwidth-Max-Up' :
|
231 |
case 'ChilliSpot-Bandwidth-Max-Up' :
|
| 220 |
case 'ChilliSpot-Bandwidth-Max-Down' :
|
232 |
case 'ChilliSpot-Bandwidth-Max-Down' :
|
| 221 |
case 'WISPr-Redirection-URL' :
|
233 |
case 'WISPr-Redirection-URL' :
|
| 222 |
case 'Login-Time' :
|
234 |
case 'Login-Time' :
|
| 223 |
case 'Session-Timeout' :
|
235 |
case 'Session-Timeout' :
|
| 224 |
case 'Max-Daily-Session' :
|
236 |
case 'Max-Daily-Session' :
|
| 225 |
case 'Max-Monthly-Session' :
|
237 |
case 'Max-Monthly-Session' :
|
| 226 |
$advanced=0; //<-- attribut non-affiché
|
238 |
$advanced=0; //<-- attribut non-affiché
|
| 227 |
break;
|
239 |
break;
|
| 228 |
case 'Simultaneous-Use' :
|
240 |
case 'Simultaneous-Use' :
|
| 229 |
$advanced=1;
|
241 |
$advanced=1;
|
| 230 |
$help_link="help/simultaneous_use_help.html";
|
242 |
$help_link="help/simultaneous_use_help.html";
|
| 231 |
$desc=$l_simultaneous_use;
|
243 |
$desc=$l_simultaneous_use;
|
| 232 |
break;
|
244 |
break;
|
| 233 |
case 'Max-All-Session' :
|
245 |
case 'Max-All-Session' :
|
| Line 255... |
Line 267... |
| 255 |
<td class="etiquette" colspan=$colspan>
|
267 |
<td class="etiquette" colspan=$colspan>
|
| 256 |
<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>
|
268 |
<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>
|
| 257 |
</td>
|
269 |
</td>
|
| 258 |
EOM;
|
270 |
EOM;
|
| 259 |
switch ($key){
|
271 |
switch ($key){
|
| 260 |
case 'Simultaneous-Use' :
|
272 |
case 'Simultaneous-Use' :
|
| 261 |
case 'Max-All-Session' :
|
273 |
case 'Max-All-Session' :
|
| 262 |
case 'Max-Daily-Session' :
|
274 |
case 'Max-Daily-Session' :
|
| 263 |
case 'Max-Weekly-Session' :
|
275 |
case 'Max-Weekly-Session' :
|
| 264 |
case 'Max-Monthly-Session' :
|
276 |
case 'Max-Monthly-Session' :
|
| 265 |
case 'Login-Time' :
|
277 |
case 'Login-Time' :
|
| 266 |
case 'Expiration' :
|
278 |
case 'Expiration' :
|
| 267 |
echo "<input type=\"hidden\" name=$oper_name value=\":=\">";
|
279 |
echo "<input type=\"hidden\" name=$oper_name value=\":=\">";
|
| 268 |
break;
|
280 |
break;
|
| 269 |
case 'Filter-Id' :
|
281 |
case 'Filter-Id' :
|
| 270 |
echo "<input type=\"hidden\" name=$oper_name value=\":=\">";
|
282 |
echo "<input type=\"hidden\" name=$oper_name value=\":=\">";
|
| Line 299... |
Line 311... |
| 299 |
</td>
|
311 |
</td>
|
| 300 |
EOM;
|
312 |
EOM;
|
| 301 |
break;
|
313 |
break;
|
| 302 |
}
|
314 |
}
|
| 303 |
}
|
315 |
}
|
| 304 |
/*
|
316 |
/*
|
| 305 |
Ajout du pré-remplissage de cellule
|
317 |
Ajout du pré-remplissage de cellule
|
| 306 |
du choix d'unité (pour les durées limites de session,journée et de mois)
|
318 |
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
|
319 |
et d'un calendrier pour la date d'expiration
|
| 308 |
Sauf dans le cas de la visualisation
|
320 |
Sauf dans le cas de la visualisation
|
| 309 |
*/
|
321 |
*/
|
| 310 |
if ($advanced){echo "<td>";}
|
322 |
if ($advanced){echo "<td>";}
|
| 311 |
if ($create==0 && $advanced){
|
323 |
if ($create==0 && $advanced){
|
| Line 314... |
Line 326... |
| 314 |
/*Pré-remplissage avec la valeur '1' pour empécher plusieurs connexions silmutanées*/
|
326 |
/*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
|
327 |
$val=1;//<--cette valeur correspond au nombre de session simultanée en commentant cette ligne la valeur n'est plus pré-remplie
|
| 316 |
echo"<input type=text name=\"$name\" value=\"$val\" size=20>";
|
328 |
echo"<input type=text name=\"$name\" value=\"$val\" size=20>";
|
| 317 |
break;
|
329 |
break;
|
| 318 |
/*
|
330 |
/*
|
| 319 |
Choix de l'unité heures, minutes ou secondes
|
331 |
Choix de l'unité heures, minutes ou secondes
|
| 320 |
pour les durées limites de session,journée et de mois
|
332 |
pour les durées limites de session,journée et de mois
|
| 321 |
*/
|
333 |
*/
|
| 322 |
case 'Session-Timeout' :
|
334 |
case 'Session-Timeout' :
|
| 323 |
case 'Max-Daily-Session' :
|
335 |
case 'Max-Daily-Session' :
|
| 324 |
/*valeur d'origine de durée limite */
|
336 |
/*valeur d'origine de durée limite */
|
| 325 |
echo"<input type=text name=\"$name\" onfocus=\"this.value=''\" value=\"$val\" size=20>";
|
337 |
echo"<input type=text name=\"$name\" onfocus=\"this.value=''\" value=\"$val\" size=20>";
|
| 326 |
/* Choix d'unité*/
|
338 |
/* Choix d'unité*/
|
| Line 376... |
Line 388... |
| 376 |
<option value=\"nl\" >Nederlandse</option>
|
388 |
<option value=\"nl\" >Nederlandse</option>
|
| 377 |
<option value=\"de\" >Deutsch</option>
|
389 |
<option value=\"de\" >Deutsch</option>
|
| 378 |
<option value=\"es\" >Español</option>
|
390 |
<option value=\"es\" >Español</option>
|
| 379 |
<option value=\"it\" >Italiano</option>
|
391 |
<option value=\"it\" >Italiano</option>
|
| 380 |
<option value=\"pt\" >Portugês</option>
|
392 |
<option value=\"pt\" >Portugês</option>
|
| 381 |
</select></td></tr>";
|
393 |
</select></td></tr>";
|
| 382 |
}
|
394 |
}
|
| 383 |
echo "</table>";
|
395 |
echo "</table>";
|
| 384 |
if($create == 1)
|
396 |
if($create == 1)
|
| 385 |
{
|
397 |
{
|
| 386 |
$ticket_name="ticket_".$login.".pdf";
|
398 |
$ticket_name="ticket_".$login.".pdf";
|