Subversion Repositories ALCASAR

Rev

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

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