Subversion Repositories ALCASAR

Rev

Rev 1136 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
1088 stephane 1
<?php
1154 crox53 2
// for developpement purpose
3
// CONST ROOT = "C:/Serveurs/Alcasar-mageia/";
4
CONST ROOT = "/";
5
require_once(ROOT.'var/www/html/acc/manager/lib/alcasar/ticketspdf.class.php');
1088 stephane 6
 
7
/*
8
TODO :
9
- refonte de GenRandUsersName()
10
- traiter si $nbfailuser (nombre de ticket non créé pour cause de doublon)
11
*/
12
 
13
// POUR LES BESOINS DU DEVELOPPEMENT
14
// BUFFERISATION DES DONNEES ENVOYEES AU CLIENT (compatibilité avec les fichiers existants)
15
ob_start();
16
//Common Functions
17
function sec_imp($time)
18
/* Formatage des secondes avant l'impression */
19
{
20
	$heure=0;$minute=0;$seconde=0;
21
	$heure = floor($time/3600);
22
    	$reste = $time%3600;
23
    	if ($heure!=0) $result = $heure.' H ';
24
	$minute = floor($reste/60);
25
    	if ($minute!=0) $result = $result.$minute.' min ';
26
	$seconde = $reste%60;
27
    	if ($seconde!=0) $result = $result.$seconde.' s ';
28
   	return $result;
29
}
30
 
31
function GenPassword($nb_car="8")
32
	{
33
 /* generation aléatoire du mot de passe */
34
	$password = "";
35
	$chaine  = "aAzZeErRtTyYuUIopP152346897mMLkK";
36
	$chaine .= "jJhHgGfFdDsSqQwWxXcCvVbBnN152346897";
37
	while($nb_car != 0)
38
		{
39
		$i = rand(0,71);
40
		$password = $password.$chaine[$i];
41
		$nb_car --;
42
		}
43
	return $password ;
44
	}
45
function GenRandUsersName()
46
{
47
	$nb_car= 12;
48
	$chaine = "AZE489RTYU2PML5KJ35HGF9DSQWXCV3BN267";
49
	//$i = rand(0,25);
50
	//$j = rand(0,25);
51
	//$k = rand(0,25);
52
	$userName = "";
53
	while($nb_car != 0)
54
		{
55
		$i = rand(0,35);
56
		$userName .= $chaine[$i];
57
		$nb_car --;
58
		}
59
	//return "T".$chaine[$i].substr(time(),4).$chaine[$j].$chaine[$k];
60
	return $userName;
61
}
62
 
63
if (isset($_POST['nbtickets'])&& is_numeric($_POST['nbtickets'])){
64
	$nbtickets = (int)$_POST['nbtickets'];
65
} else {
66
	header("Location: voucher_new.php");
67
	exit;
68
}
69
 
70
//	Gestion de la langue
71
//	if (is_file("../lib/langues.php"))
72
//	include("../lib/langues.php");
73
 
74
//	Langue du Ticket d'impression en fonction de la liste déroulante
75
 
76
if (isset($_POST["langue_imp"])) { $langue_imp = $_POST["langue_imp"]; } else { $langue_imp = "en"; };
77
 
78
switch ($langue_imp){
79
	case 'fr':
80
		$l_title_imp = "TICKET D'ACCÈS INTERNET";
81
		$l_footer_imp = "Généré par ALCASAR";
1154 crox53 82
	       	//$l_explain1_imp = "Entrer 'alcasar' dans votre navigateur pour gérer votre compte (mot de passe, certificat, etc.).";
83
	       	//$l_explain2_imp = "Entrer 'logout' dans votre navigateur pour vous déconnecter.";
1088 stephane 84
			$l_explain = "Entrer 'alcasar' dans votre navigateur pour gérer votre compte
85
			(mot de passe, certificat, etc.).
86
			Entrer 'logout' dans votre navigateur pour vous déconnecter.";
87
		$l_login_imp = "Utilisateur :";
88
		$l_password_imp = "Mot de passe :";
89
		$l_max_all_session_imp="Durée totale autorisée :";
90
		$l_session_timeout_imp="Durée d'une session :";
91
		$l_max_daily_session_imp="Durée journalière :";
92
		$l_max_monthly_session_imp ="Durée mensuelle :";
93
		$l_expiration_imp="Date d'expiration :";
94
		$l_unlimited="Illimitée";
95
		$l_without="Aucune";
96
	break;
97
	case 'de':
98
		$l_title_imp = "INTERNETZUGANG TICKET";
99
		$l_footer_imp = "Präsentiert von ALCASAR";
1154 crox53 100
	       	//$l_explain1_imp = "Geben Sie 'Alcasar' in Ihrem Browser, um Ihr Konto zu verwalten (kennwort, zertifikat, etc.).";
101
	       	//$l_explain2_imp = "Geben Sie 'logout' in Ihrem Browser zu trennen.";
1088 stephane 102
			$l_explain = "Geben Sie 'Alcasar' in Ihrem Browser, um Ihr Konto zu verwalten (kennwort, zertifikat, etc.).
103
			Geben Sie 'logout' in Ihrem Browser zu trennen.
104
			";
105
		$l_login_imp = "Login :";
106
		$l_password_imp = "Passwort :";
107
		$l_max_all_session_imp="Maximale erlaubt Dauer :";
108
		$l_session_timeout_imp="Dauer der Sitzung :";
109
		$l_max_daily_session_imp="Stunden t&auml;glich :";
110
		$l_max_monthly_session_imp ="monatlich Dauer :";
111
		$l_expiration_imp="Verfallsdatum :";
112
		$l_unlimited="Unbegrentz";
113
		$l_without="Ohne";
114
	break;
115
	case 'nl':
116
		$l_title_imp = "ONTVANGST INTERNET";
117
		$l_footer_imp = "Powered by ALCASAR";
1154 crox53 118
	       	//$l_explain1_imp = "Voer 'Alcasar' in uw browser om uw account te beheren (wachtwoord, certificaat, etc.).";
119
	       	//$l_explain2_imp = "Voer 'logout' in uw browser de verbinding te verbreken.";
1088 stephane 120
			$l_explain = "Voer 'Alcasar' in uw browser om uw account te beheren (wachtwoord, certificaat, etc.).
121
			Voer 'logout' in uw browser de verbinding te verbreken.";
122
		$l_login_imp = "Gebruikers :";
123
		$l_password_imp = "Wachtwoord :";
124
		$l_max_all_session_imp="Totaal toegestane tijd :";
125
		$l_session_timeout_imp="Sessieduur :";
126
		$l_max_daily_session_imp="Dagelijkse uren :";
127
		$l_max_monthly_session_imp ="Maandelijkse duur :";
128
		$l_expiration_imp="Vervaldatum :";
129
		$l_unlimited="Onbeperkte";
130
		$l_without="Ohne";
131
	break;
132
	case 'es':
133
		$l_title_imp = "BONO INTERNET";
134
		$l_footer_imp = "Desarrollado por ALCASAR";
1154 crox53 135
	       	//$l_explain1_imp = "Escribe 'Alcasar' de su navegador para administrar su cuenta (contraseña, certificado, etc.).";
136
	       	//$l_explain2_imp = "Escribe 'logout' de su navegador para desconectar.";
1088 stephane 137
			$l_explain = "Escribe 'Alcasar' de su navegador para administrar su cuenta (contraseña, certificado, etc.).
138
			Escribe 'logout' de su navegador para desconectar.";
139
		$l_login_imp = "Usuario :";
140
		$l_password_imp = "Contraseña :";
141
		$l_max_all_session_imp="Tiempo total permitido :";
142
		$l_session_timeout_imp="Duraciôn de Sesiôn :";
143
		$l_max_daily_session_imp="Horas diarias :";
144
		$l_max_monthly_session_imp ="Duraciôn mensual :";
145
		$l_expiration_imp="Fecha de caducidad :";
146
		$l_unlimited="Ilimitado";
147
		$l_without="Sin";
148
	break;
149
	case 'it':
150
		$l_title_imp = "RICEVIMENTO INTERNET";
151
		$l_footer_imp = "Powered by ALCASAR";
1154 crox53 152
	       	//$l_explain1_imp = "Inserisci 'alcasar' nel tuo browser per gestire il tuo account (password, certificato, ecc).";
153
	       	//$l_explain2_imp = "Inserisci 'logout' nel tuo browser per disconnettersi.";
1088 stephane 154
			$l_explain = "Inserisci 'alcasar' nel tuo browser per gestire il tuo account (password, certificato, ecc).
155
			Inserisci 'logout' nel tuo browser per disconnettersi.";
156
		$l_login_imp = "Utenti :";
157
		$l_password_imp = "Password :";
158
		$l_max_all_session_imp="Tempo totale consentito:";
159
		$l_session_timeout_imp="Durata della sessione :";
160
		$l_max_daily_session_imp="Ore giornaliere :";
161
		$l_max_monthly_session_imp ="Durata mensile :";
162
		$l_expiration_imp="Data di scadenza :";
163
		$l_unlimited="Illimitato";
164
		$l_without="Senza";
165
	break;
166
	case 'pt':
167
		$l_title_imp = "BILHETE DE ACESSO À INTERNET";
168
		$l_footer_imp = "Desenvolvido por ALCASAR";
1154 crox53 169
	       	//$l_explain1_imp = "Digite 'Alcasar' no seu navegador para gerenciar sua conta (senha, certidão, etc).";
170
	       	//$l_explain2_imp = "Digite 'logout' no seu navegador para desligar.";
1088 stephane 171
			$l_explain = "Digite 'Alcasar' no seu navegador para gerenciar sua conta (senha, certidão, etc).
172
			Digite 'logout' no seu navegador para desligar.";
173
		$l_login_imp = "Usuário :";
174
		$l_password_imp = "Senha :";
175
		$l_max_all_session_imp="Tempo máximo de toda conexão :";
176
		$l_session_timeout_imp="Fim da conexão :";
177
		$l_max_daily_session_imp="Conexão máxima diária :";
178
		$l_max_monthly_session_imp ="MConexão máxima mensal :";
179
		$l_expiration_imp="Data de vencimento :";
180
		$l_unlimited="Ilimitado";
181
		$l_without="Sem";
182
	break;
183
	default:
184
		$l_title_imp = "INTERNET ACCESS TICKET";
185
		$l_footer_imp = "Powered by ALCASAR";
1154 crox53 186
	       	$l_explain1_imp = "Enter 'alcasar' in your browser to manage your account (password, certificate, etc.).";
187
	       	$l_explain2_imp = "Enter 'logout' in your browser to disconnect.";
1088 stephane 188
			$l_explain = "Enter 'alcasar' in your browser to manage your account (password, certificate, etc.).
189
			Enter 'logout' in your browser to disconnect.";
190
		$l_login_imp = "Login :";
191
		$l_password_imp = "Password :";
192
		$l_max_all_session_imp="Total time allowed :";
193
		$l_session_timeout_imp="Session timeout :";
194
		$l_max_daily_session_imp="Max daily session :";
195
		$l_max_monthly_session_imp ="Max monthly session :";
196
		$l_expiration_imp="Expiration date :";
197
		$l_unlimited="Unlimited";
198
		$l_without="Without";
199
	break;
200
	}
201
 
202
require(ROOT.'etc/freeradius-web/config.php');
203
 
204
require('../lib/attrshow.php');
205
require('../lib/defaults.php');
206
if ($config[general_lib_type] == 'sql' && $config[sql_use_operators] == 'true'){
207
	$colspan=2;
208
	$show_ops=1;
209
}else{
210
	$show_ops = 0;
211
	$colspan=1;
212
}
213
 
214
$LIBpath = "../lib/";
215
require(ROOT.'etc/freeradius-web/config.php');
216
if (is_file($LIBpath."sql/drivers/$config[sql_type]/functions.php"))
217
	{
218
	include_once($LIBpath."sql/drivers/$config[sql_type]/functions.php");
219
	}
220
else
221
	{
222
	echo "<b>Could not include SQL library</b><br>\n";
223
	exit();
224
	}
225
include_once($LIBpath.'functions.php');
226
if ($config['sql_use_operators'] == 'true')
227
	{
228
	include_once($LIBpath."operators.php");
229
	$text = ',op';
230
	$passwd_op = ",':='";
231
	}
232
$link = @da_sql_pconnect($config);
233
 
234
$nbfailuser = 0;
235
 
236
// Préparation de la fiche PDF
237
$pdf = new ticketsPDF(2,3);
238
$pdf->setTicketsTitle($l_title_imp);
239
$pdf->setTicketsFooter($l_footer_imp);
240
 
241
if ($link)
242
{
243
	if (is_file($LIBpath."crypt/$config[general_encryption_method].php"))
244
	{
245
		include($LIBpath."crypt/$config[general_encryption_method].php");
246
		// ajout des comptes (mêmes attributs pour tous sauf login + mdp)
247
 
248
		for ($i = 1; $i <= $nbtickets; $i++) 
249
		{
250
			// effacement des variables
251
			$login = "";
252
			$passwd = "";
253
			// création des données uniques
254
			$login = GenRandUsersName();
255
			$passwd = GenPassword();
256
			$login = da_sql_escape_string($login);
257
			$passwd = da_sql_escape_string($passwd);
258
			// création des variables d'impression
259
			$login_imp = $login;
260
			$passwd1_imp = $passwd;
1154 crox53 261
			// encryption du mot de passe
262
			$passwd = da_encrypt($passwd);
1088 stephane 263
 
264
			// test si l'usager existe
265
			if (is_file("../lib/$config[general_lib_type]/user_info.php"))
266
				include("../lib/$config[general_lib_type]/user_info.php");
267
 
268
			if ($user_exists == "no"){
269
				// Création de l'usager
270
				if (is_file("../lib/$config[general_lib_type]/create_user.php"))
271
				 	include("../lib/$config[general_lib_type]/create_user.php");
272
				/*  Petit traitement pré-impression pour la lisibilité */
273
				/*  Récupération des attributs du groupe le cas échéant */
274
				if ($group!=''){
275
				 	$saved_login = $login;
276
				 	$login = $group;
277
				 	if (is_file("../lib/sql/group_info.php"))
278
				 		include("../lib/sql/group_info.php");
279
				 	$login = $saved_login;}
280
				/*  Si les valeurs de durée sont vide remplissage avec la valeur 'Illimitée'*/
281
				/*  et formatage des secondes sous le format Heure min ses*/
282
				if ($sto_imp==''){ $sto_imp=$l_unlimited;}
283
				 	else { $sto_imp=sec_imp($sto_imp);}
284
				if ($mas_imp==''){ $mas_imp=$l_unlimited;}
285
					else { $mas_imp=sec_imp($mas_imp);}
286
				if ($mds_imp==''){ $mds_imp=$l_unlimited;}
287
				 	else { $mds_imp=sec_imp($mds_imp);}
288
				if ($mms_imp==''){ $mms_imp=$l_unlimited;}
289
				 	else { $mms_imp=sec_imp($mms_imp);}	
290
				/*Formatage de la date afin d'être lisible dans toute les langues 'jj mm yyyy'*/
291
				$exp_imp = $Expiration;
292
				if ($exp_imp!=''){ $exp_imp=date("d - m - Y",strtotime($exp_imp));}
293
				 	else { $exp_imp=$l_without;}
294
				// Ajout d'un ticket sur la fiche PDF
295
				$pdf->newTickets();
296
				$pdf->Ln(5);
297
				$pdf->addInfos($l_login_imp, $login_imp);
298
				$pdf->addInfos($l_password_imp, $passwd1_imp);
299
				$pdf->Ln(5);
300
				$pdf->addInfos($l_max_all_session_imp, $mas_imp);
301
				$pdf->addInfos($l_session_timeout_imp, $sto_imp);
302
				$pdf->addInfos($l_max_daily_session_imp, $mds_imp);
303
				$pdf->addInfos($l_expiration_imp, $exp_imp);
304
				$pdf->Ln(10);
305
				$pdf->addComment($l_explain);
306
			} else {
307
				$nbfailuser++;
308
			}# if user
309
		} # end for
310
	} # end if (is file)
311
} # end if (link)
312
 
313
//Affichage de la fiche de tickets
314
ob_end_clean();
315
$pdf->Output();
316
?>