Subversion Repositories ALCASAR

Rev

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

Rev Author Line No. Line
895 richard 1
<?php
958 franck 2
# $Id: intercept.php 1331 2014-04-15 17:05:31Z richard $
895 richard 3
#
1249 richard 4
# intercept.php for ALCASAR captive portal
895 richard 5
# Copyright (C) 2003, 2004 Mondru AB.
6
# Modify by REXY & steweb57
7
# UI & css style by stephane ERARD
8
# Help for language translation by B. AUBARD (thanks)
9
 
10
# The contents of this file may be used under the terms of the GNU
11
# General Public License Version 2, provided that the above copyright
12
# notice and this permission notice is included in all copies or
13
# substantial portions of the software.
14
 
15
# Redirects from CoovaChilli (chilli daemon) :
16
# Response to login:
17
  # success :	if login successful
18
  # failed :	if login failed
19
  # logoff :	if logout successful
20
  # already :	if tried to login while already logged in
21
  # notyet :	if not logged in yet
22
  # Default :	it was not a form request -> client go to login form
23
 
24
/****************************************************************
25
*			GLOBAL FILE PATHS			*
26
*****************************************************************/
27
define ("CONF_FILE", "/usr/local/etc/alcasar.conf");
913 richard 28
define ("DOMAIN_ALLOWED_LIST", "/usr/local/etc/alcasar-uamdomain");
895 richard 29
 
30
/****************************************************************
930 richard 31
*			FILE reading test			*
895 richard 32
*****************************************************************/
930 richard 33
$conf_files=array(CONF_FILE,DOMAIN_ALLOWED_LIST);
913 richard 34
foreach ($conf_files as $file){
35
	if (!file_exists($file)){
36
		exit("Fichier ".$file." non présent");
37
	}
38
	if (!is_readable($file)){
39
		exit("Vous n'avez pas les droits de lecture sur le fichier ".$file);
40
	}
41
}
895 richard 42
/****************************************************************
43
*			Read CONF_FILE				*
44
*****************************************************************/
45
$ouvre=fopen(CONF_FILE,"r");
46
if ($ouvre){
47
	while (!feof ($ouvre))
48
	{
49
		$tampon = fgets($ouvre, 4096);
50
		if (strpos($tampon,"=")!==false){
51
			$tmp = explode("=",$tampon);
52
			$conf[$tmp[0]] = $tmp[1];
53
		}
54
	}
55
}else{
1249 richard 56
	exit("Erreur d'ouverture du fichier ".CONF_FILE);
895 richard 57
}
58
fclose($ouvre);
1269 richard 59
$organisme = trim($conf["ORGANISM"]);
895 richard 60
 
61
# Shared secret used to encrypt challenge with radius.
930 richard 62
$uamsecret = "";
895 richard 63
 
64
# URL loaded after success authenticates (let blank for browser defaults)
65
$adminurl = "";
66
 
67
# Our own path
68
$loginpath	= $_SERVER['PHP_SELF'];
1269 richard 69
$alcasarpath = "http://alcasar.".trim($conf["DOMAIN"]);
895 richard 70
$statuspath = $alcasarpath."/status.php";
71
$debug		= false;
72
 
73
# Choice of language
74
$Language = 'en';
75
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
76
  $Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
77
  $Language = strtolower(substr(chop($Langue[0]),0,2)); }
78
if($Language == 'es'){
79
  $l_ChilliError	= "La autenticación debe ser un éxito a través del servicio de portal cautivo.";
80
  $l_login		= "El éxito de la autenticación.<HR>Cierre esta ventana interrumpte la sesion.";
81
  $l_logout		= "Conexión de cierre";
82
  $l_loginfailed	= "Error de autenticación";
83
  $l_loggingin		= "Identificación en el portal cautivo";
84
  $l_loggedcont		= "Control de Acceso";
85
  $l_loggedout		= "Su sesión se cierra";
86
  $l_user		= "Usuario";
87
  $l_password		= "Contraseña";
88
  $l_wait		= "Por favor, espere un momento ...";
89
  $l_onlinetime		= "Tiempo de conexión:";
90
  $l_remainingtime	= "Desconexión en:";
91
  $l_encrypted		= "La apertura debe usar conexión cifrada";
92
  $l_boutonO		= "Autenticación";
93
  $l_boutonF		= "Cerrar";
930 richard 94
  $l_loggedin_stringl1	= "Information System Security";
95
  $l_loggedin_stringl2	= "El portal fue creado reglamentos para garantizar la trazabilidad, la rendición de cuentas y el no repudio de las conexiones.";
96
  $l_loggedin_stringl3	= "Su actividad en la red es registrada, de conformidad con la privacidad.";
97
  $l_loggedin_stringl4	= "Los datos registrados pueden ser capaces de ser operado por una autoridad judicial en el curso de una investigación.";
98
  $l_loggedin_stringl5	= "Estos datos se eliminan automáticamente después de un año.";
99
  $l_loggedin_stringl6	= "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser";
100
  $l_loggedout_string	= "Cerrar sesión hizo portal cautivo!";
101
  $l_reply_1		= "Your daily connexion time has been reached";
102
  $l_reply_2		= "Your monthly connexion time has been reached";
103
  $l_reply_3		= "You try to connect outside of your allowed timespan";
104
  $l_reply_4		= "your account expired";
105
  $l_reply_5		= "You have reached the maximum number of simultaneous logins";
106
  $l_reply_6		= "Your authorized connexion time has been reached";
107
  $l_online_time	= "Tiempo en linea";
108
  $l_remaining_time	= "Tiempo restante";
109
  $l_uam_domain		= "Sitios web autorizados : ";}
913 richard 110
else if ($Language == 'pt'){
955 richard 111
  $l_ChilliError	= "A autenticação precisa ser bem sucedida através do portal.";
112
  $l_login		= "Sucesso na autenticação.<HR>Matenha esse pop-up apenas minimizado para não interromper a conexão";
113
  $l_logout		= "Encerrar conexão";
913 richard 114
  $l_loginfailed	= "Falha na autenticação";
115
  $l_loggingin		= "Identificação do portal cativo";
922 richard 116
  $l_loggedcont		= "Controle de acesso";
955 richard 117
  $l_loggedout		= "Sua sessão foi fechada";
913 richard 118
  $l_user		= "Usuário";
119
  $l_password		= "Senha";
120
  $l_wait		= "Por favor, aguarde um momento ...";
121
  $l_onlinetime		= "Tempo de conexão:";
122
  $l_remainingtime	= "Desconectado em:";
123
  $l_encrypted		= "A conexão com o portal deve ser criptografada";
124
  $l_boutonO		= "Autenticação";
125
  $l_boutonF		= "Fechar";
955 richard 126
  $l_loggedin_stringl1	= "Sistema de Informação e segurança";
127
  $l_loggedin_stringl2	= "Este controle foi criado para garantir acesso seguro.";
128
  $l_loggedin_stringl3	= "A autenticação será criptografada em 256 bits, impedindo captura por escâner de rede.";
129
  $l_loggedin_stringl4	= "Sua atividade na Internet será resguardada de acordo com os regulamentos da lei.";
971 richard 130
  $l_loggedin_stringl5	= "Mantenha o popup da conexão minimizado para não interromper a cessão.";
955 richard 131
  $l_loggedin_stringl6	= "Clique <a href='$alcasarpath'>aqui</a> para alterar sua senha, instalar certificado ou sair do portal.";
132
  $l_loggedout_string	= "desconexão do portal cativo";
133
  $l_reply_1		= "Seu tempo de conexão diária foi finalizado";
921 richard 134
  $l_reply_2		= "Seu tempo de conexão mensal foi finalizado";
135
  $l_reply_3		= "Você tenta conectar-se fora do seu período de tempo permitido";
136
  $l_reply_4		= "Sua conta expirou";
137
  $l_reply_5		= "Você atingiu o número máximo de logins simultâneos";
138
  $l_reply_6		= "Seu tempo de conexão autorizada finalizou";
139
  $l_online_time	= "Tempo Online";
140
  $l_remaining_time	= "Tempo restante";
925 richard 141
  $l_uam_domain		= "Sites autorizados : ";}
895 richard 142
else if($Language == 'de'){
143
  $l_ChilliError	= "Die Authentifizierung ist erfolgreich durch die Nutzung des Portals erfolgt.";
1320 stephane 144
  //$l_login		= "Erfolgreiche Authentifizierung.<HR>Schlißen dieses fensters unterbricht die sitzung";
1319 stephane 145
  $l_login		= "Anmeldung erfolgreich.<HR>Das Schließen dieses Fensters trennt die Verbindung";
1320 stephane 146
  //$l_logout		= "Beenden der Verbindung";
1319 stephane 147
  $l_logout		= "Verbindung beenden";
148
  $l_loginfailed	= "Anmeldung fehlgeschlagen";
149
  $l_loggingin		= "Sie sind Angemeldet";
895 richard 150
  $l_loggedcont		= "Zutrittskontrolle";
1320 stephane 151
  //$l_loggedout		= "Ihre Sitzung ist geschlossen";
1319 stephane 152
  $l_loggedout		= "Ihre Sitzung wurde beendet";
895 richard 153
  $l_user		= "Benutzer";
154
  $l_password		= "Passwort";
155
  $l_wait		= "Bitte warten Sie einen Moment ...";
156
  $l_onlinetime		= "Online-Zeit:";
1320 stephane 157
  $l_remainingtime	= "Restzeit:"; // (NON UTILSE ?)
158
  $l_encrypted		= "Die Verbindung muss verschlüsselt sein";
159
  $l_boutonO		= "Anmelden";
895 richard 160
  $l_boutonF		= "Schließen";
930 richard 161
  $l_loggedin_stringl1	= "Information System Security";
1319 stephane 162
  //$l_loggedin_stringl2	= "Dieses Portal wurde eingerichtet, um ordnungsgemäß die Rückverfolgbarkeit, der Zurechenbarkeit und der Nicht-Anerkennung der Verbindungen.";
163
  $l_loggedin_stringl2	= "Dieses Portal wurde eingerichtet, um jeglichen Missbrauch durch den, eindeutig identifizierbaren, Benutzer zurückverfolgen zu können.";
164
  $l_loggedin_stringl3	= "Ihre Aktivität wird unter Beachtung der Privatsphäre aufgezeichnet."; #statt "Aktivitaet" kann auch "Sitzung" benutzt werden
165
  $l_loggedin_stringl4	= "Die gespeicherten Daten können nur im Falle einer Ermittlung von der Justiz genutzt werden.";
166
  //$l_loggedin_stringl4	= "Die gespeicherten Daten werden im Falle einer Ermittlung an die Justiz weitergegeben.";
167
  $l_loggedin_stringl5	= "Diese Daten werden nach einem Jahr automatisch geloescht.";
168
  $l_loggedin_stringl6	= "Klicken Sie <a href='$alcasarpath'>hier</a> um ihre Passwort zu ändern, oder um das Sicherheitszertifikat in ihren Browser zu integrieren";
169
  $l_loggedout_string	= "Trennung des Portals erfolgt !"; // à modifier
170
  $l_reply_1		= "Ihr Tages Limit ist aufgebraucht";
171
  $l_reply_2		= "Ihr Monats Limit ist aufgebraucht";
172
  $l_reply_3		= "Sie versuchen sich ausserhalb des erlaubten Zeitraumes anzumelden";
173
  $l_reply_4		= "Ihr Benutzerkonto ist abgelaufen";
174
  $l_reply_5		= "Sie haben die maximale Anzahl an gleichzeitigen Anmeldungen erreicht";
175
  $l_reply_6		= "Ihr Zeit-Guthaben ist aufgebraucht";
930 richard 176
  $l_online_time	= "Online-zeit";
177
  $l_remaining_time	= "Restzeit";
178
  $l_uam_domain		= "Autorisierten websites : ";}
895 richard 179
else if($Language == 'nl'){
180
  $l_ChilliError	= "De authenticatie moet een succes worden via de captive portal dienst.";
181
  $l_login		= "Succesvolle authenticatie.<HR>Dit venster te sluiten onderbreekt uw sessie.";
182
  $l_logout		= "Slotkoers verbinding";
183
  $l_loginfailed	= "Authenticatie mislukt";
184
  $l_loggingin		= "Identificatie van de captive-portaal";
185
  $l_loggedcont		= "toegangscontrole";
186
  $l_loggedout		= "Uw sessie is gesloten";
187
  $l_user		= "Gebruiker";
188
  $l_password		= "Wachtwoord";
189
  $l_wait		= "Wacht een moment ...";
190
  $l_onlinetime		= "Sluit tijd:";
191
  $l_remainingtime	= "Verbreking in:";
192
  $l_encrypted		= "De opening moet gebruiken gecodeerde verbinding";
193
  $l_boutonO		= "Authenticatie";
194
  $l_boutonF		= "Sluiten";
930 richard 195
  $l_loggedin_stringl1	= "Information System Security";
196
  $l_loggedin_stringl2	= "Het portaal werd opgericht verordeningen om de traceerbaarheid, verantwoordelijkheid en onloochenbaarheid van de verbindingen.";
197
  $l_loggedin_stringl3	= "Uw activiteit op het netwerk is geregistreerd in overeenstemming met de persoonlijke levenssfeer.";
198
  $l_loggedin_stringl4	= "De geregistreerde gegevens kunnen worden kunnen worden bediend door een rechterlijke instantie in de loop van een onderzoek.";
199
  $l_loggedin_stringl5	= "Deze gegevens worden automatisch verwijderd na een jaar.";
200
  $l_loggedin_stringl6	= "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser";
201
  $l_loggedout_string	= "Logout gemaakt intern portaal!";
202
  $l_reply_1 		= "Your daily connexion time has been reached";
203
  $l_reply_2		= "Your monthly connexion time has been reached";
204
  $l_reply_3		= "You try to connect outside of your allowed timespan";
205
  $l_reply_4		= "your account expired";
206
  $l_reply_5		= "You have reached the maximum number of simultaneous logins";
207
  $l_reply_6		= "Your authorized connexion time has been reached";
208
  $l_online_time	= "Online tijd";
209
  $l_remaining_time	= "Reterende tijd";
210
  $l_uam_domain		= "Geautoriseerde website : ";}
895 richard 211
else if($Language == 'fr'){
925 richard 212
  $l_ChilliError	= "L'authentification doit être réussie sur le portail captif.";
213
  $l_login		= "Authentification réussie.<HR>La fermeture de cette fenêtre interrompt votre session.";
895 richard 214
  $l_logout		= "Fermeture de la session";
215
  $l_loginfailed	= "Echec d'authentification";
216
  $l_loggingin		= "Identification sur le portail captif";
925 richard 217
  $l_loggedcont		= "Contrôle d'accès";
895 richard 218
  $l_loggedout		= "Votre session est fermée";
219
  $l_user		= "Identifiant";
220
  $l_password		= "Mot de passe";
221
  $l_wait		= "Patientez un instant ...";
222
  $l_onlinetime		= "Temps de connexion:";
223
  $l_remainingtime	= "Deconnexion dans :";
925 richard 224
  $l_encrypted		= "La connexion avec le portail doit être chiffrée";
895 richard 225
  $l_boutonO		= "Authentification";
226
  $l_boutonF		= "Fermer";
930 richard 227
  $l_loggedin_stringl1	= "Sécurité des Systèmes d'Information";
228
  $l_loggedin_stringl2	= "Ce contrôle a été mis en place pour assurer réglementairement la traçabilité, l'imputabilité et la non-répudiation des connexions.";
229
  $l_loggedin_stringl3	= "Votre activité sur le réseau est enregistrée conformément au respect de la vie privée.";
230
  $l_loggedin_stringl4	= "Les données enregistrées ne pourront être exploitées que par une autorité judiciaire dans le cadre d'une enquête.";
231
  $l_loggedin_stringl5	= "Ces données seront automatiquement supprimées au bout d'un an.";
232
  $l_loggedin_stringl6	= "Cliquez <a href='$alcasarpath'>ici</a> pour changer votre mot de passe ou pour intégrer le certificat de sécurité à votre navigateur";
233
  $l_loggedout_string	= "Déconnexion du portail captif effectuée !";
1331 richard 234
  $l_reply_1		= "Votre durée de connexion journalière a été atteinte";
930 richard 235
  $l_reply_2		= "Votre durée de connexion mensuelle a été atteinte";
236
  $l_reply_3		= "Vous tentez de vous connecter en dehors de votre période autorisée";
237
  $l_reply_4		= "Votre compte a expiré";
238
  $l_reply_5		= "Vous avez atteint le nombre maximum de connexions simultanées";
239
  $l_reply_6		= "Votre durée de connexion autorisée a été atteinte";
240
  $l_online_time	= "Temps de connexion";
241
  $l_remaining_time	= "Temps restant";
242
  $l_uam_domain		= "Sites autorisés : ";}
895 richard 243
else{
244
  $l_ChilliError	= "The authentication must be successful through the captive portal service.";
245
  $l_login		= "Successful authentication.<HR>Closing this window interrupts your session";
246
  $l_logout		= "Closing connection";
247
  $l_loginfailed	= "Authentication Failed";
248
  $l_loggingin		= "Identification on the captive portal";
249
  $l_loggedcont		= "Access Control";
250
  $l_loggedout		= "Your session is closed";
251
  $l_user		= "User";
252
  $l_password		= "Password";
253
  $l_wait		= "Please wait a moment ...";
254
  $l_onlinetime		= "Connect time:";
255
  $l_remainingtime	= "Disconnection in:";
256
  $l_encrypted		= "The connection with the portal must be encrypted";
257
  $l_boutonO		= "Authentication";
258
  $l_boutonF		= "Close";
930 richard 259
  $l_loggedin_stringl1	= "Information System Security";
260
  $l_loggedin_stringl2	= "That control was set up regulations to ensure traceability, accountability and non-repudiation of connections.";
261
  $l_loggedin_stringl3	= "Your activity on the network is registered in accordance with privacy.";
262
  $l_loggedin_stringl4	= "The recorded data can be able to be operated by a judicial authority in the course of an investigation.";
263
  $l_loggedin_stringl5	= "These data will be automatically deleted after one year.";
264
  $l_loggedin_stringl6	= "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser";
265
  $l_loggedout_string	= "Disconnection of the captive portal made";
266
  $l_reply_1		= "Your daily connexion time has been reached";
267
  $l_reply_2		= "Your monthly connexion time has been reached";
268
  $l_reply_3		= "You try to connect outside of your allowed timespan";
269
  $l_reply_4		= "your account expired";
270
  $l_reply_5		= "You have reached the maximum number of simultaneous logins";
271
  $l_reply_6		= "Your authorized connexion time has been reached";
272
  $l_online_time	= "Online time";
273
  $l_remaining_time	= "Remaining time";
274
  $l_uam_domain		= "Authorized websites : ";}
895 richard 275
 
276
# If https not use, tell it's wrong
277
if (!(isset($_SERVER['HTTPS'])&&($_SERVER['HTTPS'] == 'on'))) {
925 richard 278
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
895 richard 279
<html>
280
<head>
281
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
282
  <title>$l_loggedcont</title>
283
  <meta http-equiv=\"Cache-control\" content=\"no-cache\">
284
  <meta http-equiv=\"Pragma\" content=\"no-cache\">
285
</head>
286
<body bgColor = 'white'>
287
  <h1 style=\"text-align: center;\">$l_loginfailed</h1>
288
  <center>$l_encrypted</center>
289
</body>
290
</html>";
291
    exit(0);
292
}
293
 
294
# Read form parameters which we care about
1314 richard 295
# avoid the "user as a MAC address" attempts
296
if ((isset($_POST['UserName'])) && (preg_match('/^([0-9A-F]{2}-){5}[0-9A-F]{2}$/',$_POST['UserName'])!=1)){
297
				$username	= $_POST['UserName'];} else {$username="";}
895 richard 298
if (isset($_POST['Password'])){	$password	= $_POST['Password'];} else {$password="";}
299
if (isset($_POST['challenge'])){$challenge	= $_POST['challenge'];} else {$challenge="";}
300
if (isset($_POST['button'])){	$button		= $_POST['button'];} else { $button="";}
301
//if (isset($_POST['logout'])){	$logout		= $_POST['logout'];} else {$logout="";}
302
//if (isset($_POST['prelogin'])){	$prelogin	= $_POST['prelogin'];} else {$prelogin="";}
303
if (isset($_POST['res'])){		$res		= $_POST['res'];} else {$res="";}
304
if (isset($_POST['uamip'])){	$uamip		= $_POST['uamip'];} else {$uamip="";}
305
if (isset($_POST['uamport'])){	$uamport	= $_POST['uamport'];} else {$uamport="";}
306
if (isset($_POST['userurl'])){	$userurl	= $_POST['userurl'];} else {$userurl="";}
307
if (isset($_POST['timeleft'])){	$timeleft	= $_POST['timeleft'];} else {$timeleft="";}
308
if (isset($_POST['redirurl'])){	$redirurl	= $_POST['redirurl'];} else {$redirurl="";}
309
 
310
# Read query parameters which we care about
311
if (isset($_GET['res']))		$res		= $_GET['res'];
312
if (isset($_GET['challenge']))	$challenge	= $_GET['challenge'];
313
if (isset($_GET['uamip']))		$uamip		= $_GET['uamip'];
314
if (isset($_GET['uamport']))	$uamport	= $_GET['uamport'];
315
if (isset($_GET['reply'])){		$reply		= $_GET['reply'];} else {$reply="";}
316
if (isset($_GET['userurl']))	$userurl	= $_GET['userurl'];
317
if (isset($_GET['timeleft']))	$timeleft	= $_GET['timeleft'];
318
if (isset($_GET['redirurl']))	$redirurl	= $_GET['redirurl'];
319
 
320
# translation of radius replies
321
if (isset($reply)){
322
	switch(trim ($reply)) {
323
  case 'Your maximum daily usage time has been reached' : $reply = $l_reply_1 ; break;
324
  case 'Your maximum monthly usage time has been reached' : $reply = $l_reply_2 ; break;
325
  case 'You are calling outside your allowed timespan' : $reply = $l_reply_3 ; break;
326
  case 'Password Has Expired' : $reply =  $l_reply_4 ; break;
327
  case 'You are already logged in - access denied' : $reply = $l_reply_5 ; break;
328
  case 'Your maximum never usage time has been reached' : $reply = $l_reply_6 ; break;
329
  }}
330
 
331
# If attempt to login
332
if ("$button" == "$l_boutonO") {
333
  $hexchal = pack ("H32", $challenge);
334
  $newchal = pack ("H*", md5($hexchal . $uamsecret));
335
  $response = md5("\0" . $password . $newchal);
336
  $newpwd = pack("a32", $password);
337
  $pappassword = implode ("", unpack("H32", ($newpwd ^ $newchal)));
925 richard 338
  echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
895 richard 339
<html>
340
<head>
341
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
342
  <title>$l_loggingin</title>
343
  <meta http-equiv=\"Cache-control\" content=\"no-cache\">
344
  <meta http-equiv=\"Pragma\" content=\"no-cache\">
345
  <meta http-equiv=\"refresh\" content=\"0;url=http://$uamip:$uamport/logon?username=$username&password=$pappassword&userurl=$userurl\">
346
  </head>
347
<body bgColor = 'white'>
348
<h1 style=\"text-align: center;\">$l_loggingin</h1>
349
  <center>
350
    $l_wait
351
  </center>
352
</body>
353
</html>";
354
exit(0);
355
}
356
 
357
switch($res) {
358
  case 'success':     $result =  1; break; // If login successful
359
  case 'failed':      $result =  2; break; // If login failed
360
  case 'logoff':      $result =  3; break; // If logout successful
361
  case 'already':     $result =  4; break; // If tried to login while already logged in
362
  case 'notyet':      $result =  5; break; // If not logged in yet
363
  default: $result = 0; // Default: It was not a form request -> client go to login form
364
}
365
 
366
# Otherwise it was not a form request
367
# Send out an error message
368
if ($result == 0) {	//erreur
925 richard 369
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
895 richard 370
<html>
371
<head>
372
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
373
  <title>$l_loggingin</title>
374
  <meta http-equiv=\"Cache-control\" content=\"no-cache\">
375
  <meta http-equiv=\"Pragma\" content=\"no-cache\">
376
  <meta http-equiv=\"refresh\" content=\"0;url=http://$uamip:$uamport/prelogin\">
377
  </head>
378
<body bgColor = 'white'>
379
<h1 style=\"text-align: center;\">$l_loggingin</h1>
380
  <center>
381
    $l_wait
382
  </center>
383
</body>
384
</html>";
385
    exit(0);
386
}
387
# Generate the output
925 richard 388
echo "<!DOCTYPE html>
895 richard 389
<html>
390
<head>
391
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
392
  <title>$l_loggingin</title>
393
  <meta http-equiv=\"Cache-control\" content=\"no-cache\">
394
  <meta http-equiv=\"Pragma\" content=\"no-cache\">
395
  <script type=\"text/javascript\" language=\"JavaScript\">
396
    var blur = 0; // not un use
397
	var mytimeleft = 0; // not un use
398
	alcasar_popup = null;
399
 
400
    function popUp(URL) {
401
      if (self.name != \"alcasar_popup\") {
402
        alcasar_popup = window.open(URL, 'alcasar_popup', 'width=500,height=460,directories=no,resizable=no,scrollbars=yes,location=no,toolbar=no,statusbar=no,menubar=no');
403
      }
404
    }
405
 
406
    function doOnLoad(result, userurl, redirurl, adminurl, timeleft) {
407
	    if (timeleft) { // not in use
408
        mytimeleft = timeleft;
409
      }
410
      if ((result == 1)||(result == 4)) {	//success or already
411
	      //window.location = userurl;
412
		  if (alcasar_popup != null) alcasar_popup.focus();
413
 
414
		  if (adminurl != ''){
415
			  window.location = adminurl;
416
		  } else if (redirurl != '') {
417
			  window.location = redirurl;
418
		  } else if (userurl != '') {
419
			  window.location = userurl;
420
		  } else {
421
			  window.home();
422
		  }
423
      }
424
      if ((result == 2) || (result == 3) || result == 5) { //failed or logoff or notyet
425
		if (alcasar_popup != null) alcasar_popup.close();
426
			document.form1.UserName.focus();
427
      }
428
    }
429
  </script>
430
<link rel=\"stylesheet\" href=\"/css/style_intercept.css\" type=\"text/css\">
431
</head>
432
<body onLoad=\"javascript:doOnLoad($result,'$userurl','$redirurl','$adminurl','$timeleft')\">
433
  <center>";
434
if ($result == 2 || $result == 3 || $result == 5) { //failed or logoff or notyet
435
  echo "
436
	<div id=\"logon\">
437
	<h1>$organisme</h1>
438
	<h2>$l_loggedcont</h2>";
439
	if ($result == 2) { //failed
440
		echo "	
441
		<h3>$l_loginfailed</h3>";
442
		if ($reply) {
443
		#traitement du reply ...
444
		echo "<center> $reply <br /><br /></center>";
445
		}
446
	}
447
	echo "
448
	<img id=\"logo-alcasar\" src=\"/images/logo-alcasar.png\">
449
	<form name=\"form1\" method=\"post\" action=\"$loginpath\">
450
	<input type=\"hidden\" name=\"challenge\" value=\"$challenge\">
451
	<input type=\"hidden\" name=\"uamip\" value=\"$uamip\">
452
	<input type=\"hidden\" name=\"uamport\" value=\"$uamport\">
453
	<input type=\"hidden\" name=\"userurl\" value=\"$userurl\">
925 richard 454
	<table id=\"boite-logon\">
455
		<tr>
456
			<td width=\"20%\" rowspan=\"3\"><img id=\"logo-organ\" src=\"/images/organisme.png\"></td>
457
			<td width=\"30%\" align=\"right\">$l_user</td>
458
			<td width=\"50%\" align=\"left\"><INPUT type=\"text\" maxLength=\"32\" name=\"UserName\" autocomplete=\"off\"></td>
459
		</tr>
460
		<tr>
461
			<td align=\"right\">$l_password</td>
462
			<td align=\"left\"><INPUT maxLength=\"32\" type=\"password\" name=\"Password\" autocomplete=\"off\"></td>
463
		</tr>
464
		<tr>
465
			<td height=\"23\" colSpan=\"2\" align=\"center\"><INPUT value=\"$l_boutonO\" type=\"submit\" name=\"button\" onclick=\"javascript:popUp('$statuspath')\"></td>
466
		</tr>
467
	</table>
468
	</form>
469
	<table id=\"boite-info\" cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\">
470
		<tr>
471
			<td align=\"center\"><FONT color=\"red\"><B>$l_loggedin_stringl1</B></FONT></td>
472
		</tr>
473
		<tr>
474
			<td align=\"left\">
475
				<ul>
476
					<LI>$l_loggedin_stringl2</LI>
477
					<LI>$l_loggedin_stringl4</LI>
478
					<LI>$l_loggedin_stringl3</LI>
479
					<LI>$l_loggedin_stringl5</LI>
480
					<LI>$l_loggedin_stringl6</LI>
481
				</ul>
482
			</td>
483
		</tr>
484
	</table>";
913 richard 485
 
930 richard 486
// Read the "Domain allowed" file
913 richard 487
$tab=file(DOMAIN_ALLOWED_LIST);
488
if ($tab)  # the file isn't empty
489
	{
925 richard 490
	echo "<div id=\"authorized_domain\">$l_uam_domain";
913 richard 491
	foreach ($tab as $line)
492
		{
493
		if (trim($line) != '') # the line isn't empty
925 richard 494
			{
913 richard 495
			$domain_allowed=explode("#", $line);
925 richard 496
			if (trim($domain_allowed[1]) != ''){
497
				$domain=explode("\"", $domain_allowed[0]);
498
				echo "<a href=\"http://".trim($domain[1])."\">".trim($domain_allowed[1])."</a> ";}
499
			}	
913 richard 500
		}
501
	}
925 richard 502
echo "	
503
</div>
504
</center>
895 richard 505
</body>
506
</html>";
507
}
508
exit(0);
509
?>