Subversion Repositories ALCASAR

Rev

Rev 955 | Rev 971 | 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 958 2012-07-19 09:01:30Z franck $
895 richard 3
#
4
# intercept.php for Alcasar captive portal
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{
56
        exit("Erreur d'ouverture du fichier ".ALCASAR_ETH1);
57
}
58
fclose($ouvre);
59
$organisme = $conf["ORGANISM"];
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'];
69
$alcasarpath = "http://alcasar";
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.";
130
  $l_loggedin_stringl5  = "Mantendo ainda sua privacidade em segurança.";
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.";
144
  $l_login              = "Erfolgreiche Authentifizierung.<HR>Schlißen dieses fensters unterbricht die sitzung";
145
  $l_logout             = "Beenden der Verbindung";
146
  $l_loginfailed        = "Authentifizierungsfehler Eigenverbrauch";
147
  $l_loggingin          = "Kennzeichnung auf dem Eigenverbrauch";
148
  $l_loggedcont         = "Zutrittskontrolle";
149
  $l_loggedout          = "Ihre Sitzung ist geschlossen";
150
  $l_user               = "Benutzer";
151
  $l_password           = "Passwort";
152
  $l_wait               = "Bitte warten Sie einen Moment ...";
153
  $l_onlinetime         = "Online-Zeit:";
154
  $l_remainingtime      = "Abmelden:";
155
  $l_encrypted          = "Die Öffnung muß der Anschluß Zahlen";
156
  $l_boutonO            = "Authentifizierung";
157
  $l_boutonF            = "Schließen";
930 richard 158
  $l_loggedin_stringl1  = "Information System Security";
159
  $l_loggedin_stringl2  = "Dieses Portal wurde eingerichtet, um ordnungsgemäß die Rückverfolgbarkeit, der Zurechenbarkeit und der Nicht-Anerkennung der Verbindungen.";
160
  $l_loggedin_stringl3  = "Ihre Tätigkeit im Netzwerk registriert ist nach Schutz der Privatsphäre.";
161
  $l_loggedin_stringl4  = "Die gespeicherten Daten nicht pouront genutzt werden, dass von einer Justizbehörde im Rahmen einer Untersuchung.";
162
  $l_loggedin_stringl5  = "Diese Daten werden automatisch gelöscht nach einem Jahr.";
163
  $l_loggedin_stringl6  = "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser";
164
  $l_loggedout_string   = "Trennung des Portals erfolgt Gefangener!";
165
  $l_reply_1            = "Your daily connexion time has been reached";
166
  $l_reply_2            = "Your monthly connexion time has been reached";
167
  $l_reply_3            = "You try to connect outside of your allowed timespan";
168
  $l_reply_4            = "your account expired";
169
  $l_reply_5            = "You have reached the maximum number of simultaneous logins";
170
  $l_reply_6            = "Your authorized connexion time has been reached";
171
  $l_online_time        = "Online-zeit";
172
  $l_remaining_time     = "Restzeit";
173
  $l_uam_domain         = "Autorisierten websites : ";}
895 richard 174
else if($Language == 'nl'){
175
  $l_ChilliError        = "De authenticatie moet een succes worden via de captive portal dienst.";
176
  $l_login              = "Succesvolle authenticatie.<HR>Dit venster te sluiten onderbreekt uw sessie.";
177
  $l_logout             = "Slotkoers verbinding";
178
  $l_loginfailed        = "Authenticatie mislukt";
179
  $l_loggingin          = "Identificatie van de captive-portaal";
180
  $l_loggedcont         = "toegangscontrole";
181
  $l_loggedout          = "Uw sessie is gesloten";
182
  $l_user               = "Gebruiker";
183
  $l_password           = "Wachtwoord";
184
  $l_wait               = "Wacht een moment ...";
185
  $l_onlinetime         = "Sluit tijd:";
186
  $l_remainingtime      = "Verbreking in:";
187
  $l_encrypted          = "De opening moet gebruiken gecodeerde verbinding";
188
  $l_boutonO            = "Authenticatie";
189
  $l_boutonF            = "Sluiten";
930 richard 190
  $l_loggedin_stringl1  = "Information System Security";
191
  $l_loggedin_stringl2  = "Het portaal werd opgericht verordeningen om de traceerbaarheid, verantwoordelijkheid en onloochenbaarheid van de verbindingen.";
192
  $l_loggedin_stringl3  = "Uw activiteit op het netwerk is geregistreerd in overeenstemming met de persoonlijke levenssfeer.";
193
  $l_loggedin_stringl4  = "De geregistreerde gegevens kunnen worden kunnen worden bediend door een rechterlijke instantie in de loop van een onderzoek.";
194
  $l_loggedin_stringl5  = "Deze gegevens worden automatisch verwijderd na een jaar.";
195
  $l_loggedin_stringl6  = "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser";
196
  $l_loggedout_string   = "Logout gemaakt intern portaal!";
197
  $l_reply_1            = "Your daily connexion time has been reached";
198
  $l_reply_2            = "Your monthly connexion time has been reached";
199
  $l_reply_3            = "You try to connect outside of your allowed timespan";
200
  $l_reply_4            = "your account expired";
201
  $l_reply_5            = "You have reached the maximum number of simultaneous logins";
202
  $l_reply_6            = "Your authorized connexion time has been reached";
203
  $l_online_time        = "Online tijd";
204
  $l_remaining_time     = "Reterende tijd";
205
  $l_uam_domain         = "Geautoriseerde website : ";}
895 richard 206
else if($Language == 'fr'){
925 richard 207
  $l_ChilliError        = "L'authentification doit être réussie sur le portail captif.";
208
  $l_login              = "Authentification réussie.<HR>La fermeture de cette fenêtre interrompt votre session.";
895 richard 209
  $l_logout             = "Fermeture de la session";
210
  $l_loginfailed        = "Echec d'authentification";
211
  $l_loggingin          = "Identification sur le portail captif";
925 richard 212
  $l_loggedcont         = "Contrôle d'accès";
895 richard 213
  $l_loggedout          = "Votre session est fermée";
214
  $l_user               = "Identifiant";
215
  $l_password           = "Mot de passe";
216
  $l_wait               = "Patientez un instant ...";
217
  $l_onlinetime         = "Temps de connexion:";
218
  $l_remainingtime      = "Deconnexion dans :";
925 richard 219
  $l_encrypted          = "La connexion avec le portail doit être chiffrée";
895 richard 220
  $l_boutonO            = "Authentification";
221
  $l_boutonF            = "Fermer";
930 richard 222
  $l_loggedin_stringl1  = "Sécurité des Systèmes d'Information";
223
  $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.";
224
  $l_loggedin_stringl3  = "Votre activité sur le réseau est enregistrée conformément au respect de la vie privée.";
225
  $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.";
226
  $l_loggedin_stringl5  = "Ces données seront automatiquement supprimées au bout d'un an.";
227
  $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";
228
  $l_loggedout_string   = "Déconnexion du portail captif effectuée !";
229
  $l_reply_1            = "Votre durée de connexion journaliè a été atteinte";
230
  $l_reply_2            = "Votre durée de connexion mensuelle a été atteinte";
231
  $l_reply_3            = "Vous tentez de vous connecter en dehors de votre période autorisée";
232
  $l_reply_4            = "Votre compte a expiré";
233
  $l_reply_5            = "Vous avez atteint le nombre maximum de connexions simultanées";
234
  $l_reply_6            = "Votre durée de connexion autorisée a été atteinte";
235
  $l_online_time        = "Temps de connexion";
236
  $l_remaining_time     = "Temps restant";
237
  $l_uam_domain         = "Sites autorisés : ";}
895 richard 238
else{
239
  $l_ChilliError        = "The authentication must be successful through the captive portal service.";
240
  $l_login              = "Successful authentication.<HR>Closing this window interrupts your session";
241
  $l_logout             = "Closing connection";
242
  $l_loginfailed        = "Authentication Failed";
243
  $l_loggingin          = "Identification on the captive portal";
244
  $l_loggedcont         = "Access Control";
245
  $l_loggedout          = "Your session is closed";
246
  $l_user               = "User";
247
  $l_password           = "Password";
248
  $l_wait               = "Please wait a moment ...";
249
  $l_onlinetime         = "Connect time:";
250
  $l_remainingtime      = "Disconnection in:";
251
  $l_encrypted          = "The connection with the portal must be encrypted";
252
  $l_boutonO            = "Authentication";
253
  $l_boutonF            = "Close";
930 richard 254
  $l_loggedin_stringl1  = "Information System Security";
255
  $l_loggedin_stringl2  = "That control was set up regulations to ensure traceability, accountability and non-repudiation of connections.";
256
  $l_loggedin_stringl3  = "Your activity on the network is registered in accordance with privacy.";
257
  $l_loggedin_stringl4  = "The recorded data can be able to be operated by a judicial authority in the course of an investigation.";
258
  $l_loggedin_stringl5  = "These data will be automatically deleted after one year.";
259
  $l_loggedin_stringl6  = "Click <a href='$alcasarpath'>here</a> to change your password or to integrate the security certificate in your browser";
260
  $l_loggedout_string   = "Disconnection of the captive portal made";
261
  $l_reply_1            = "Your daily connexion time has been reached";
262
  $l_reply_2            = "Your monthly connexion time has been reached";
263
  $l_reply_3            = "You try to connect outside of your allowed timespan";
264
  $l_reply_4            = "your account expired";
265
  $l_reply_5            = "You have reached the maximum number of simultaneous logins";
266
  $l_reply_6            = "Your authorized connexion time has been reached";
267
  $l_online_time        = "Online time";
268
  $l_remaining_time     = "Remaining time";
269
  $l_uam_domain         = "Authorized websites : ";}
895 richard 270
 
271
# If https not use, tell it's wrong
272
if (!(isset($_SERVER['HTTPS'])&&($_SERVER['HTTPS'] == 'on'))) {
925 richard 273
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
895 richard 274
<html>
275
<head>
276
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
277
  <title>$l_loggedcont</title>
278
  <meta http-equiv=\"Cache-control\" content=\"no-cache\">
279
  <meta http-equiv=\"Pragma\" content=\"no-cache\">
280
</head>
281
<body bgColor = 'white'>
282
  <h1 style=\"text-align: center;\">$l_loginfailed</h1>
283
  <center>$l_encrypted</center>
284
</body>
285
</html>";
286
    exit(0);
287
}
288
 
289
# Read form parameters which we care about
290
if (isset($_POST['UserName'])){ $username       = $_POST['UserName'];} else {$username="";}
291
if (isset($_POST['Password'])){ $password       = $_POST['Password'];} else {$password="";}
292
if (isset($_POST['challenge'])){$challenge      = $_POST['challenge'];} else {$challenge="";}
293
if (isset($_POST['button'])){   $button         = $_POST['button'];} else { $button="";}
294
//if (isset($_POST['logout'])){ $logout         = $_POST['logout'];} else {$logout="";}
295
//if (isset($_POST['prelogin'])){       $prelogin       = $_POST['prelogin'];} else {$prelogin="";}
296
if (isset($_POST['res'])){              $res            = $_POST['res'];} else {$res="";}
297
if (isset($_POST['uamip'])){    $uamip          = $_POST['uamip'];} else {$uamip="";}
298
if (isset($_POST['uamport'])){  $uamport        = $_POST['uamport'];} else {$uamport="";}
299
if (isset($_POST['userurl'])){  $userurl        = $_POST['userurl'];} else {$userurl="";}
300
if (isset($_POST['timeleft'])){ $timeleft       = $_POST['timeleft'];} else {$timeleft="";}
301
if (isset($_POST['redirurl'])){ $redirurl       = $_POST['redirurl'];} else {$redirurl="";}
302
 
303
# Read query parameters which we care about
304
if (isset($_GET['res']))                $res            = $_GET['res'];
305
if (isset($_GET['challenge']))  $challenge      = $_GET['challenge'];
306
if (isset($_GET['uamip']))              $uamip          = $_GET['uamip'];
307
if (isset($_GET['uamport']))    $uamport        = $_GET['uamport'];
308
if (isset($_GET['reply'])){             $reply          = $_GET['reply'];} else {$reply="";}
309
if (isset($_GET['userurl']))    $userurl        = $_GET['userurl'];
310
if (isset($_GET['timeleft']))   $timeleft       = $_GET['timeleft'];
311
if (isset($_GET['redirurl']))   $redirurl       = $_GET['redirurl'];
312
 
313
# translation of radius replies
314
if (isset($reply)){
315
        switch(trim ($reply)) {
316
  case 'Your maximum daily usage time has been reached' : $reply = $l_reply_1 ; break;
317
  case 'Your maximum monthly usage time has been reached' : $reply = $l_reply_2 ; break;
318
  case 'You are calling outside your allowed timespan' : $reply = $l_reply_3 ; break;
319
  case 'Password Has Expired' : $reply =  $l_reply_4 ; break;
320
  case 'You are already logged in - access denied' : $reply = $l_reply_5 ; break;
321
  case 'Your maximum never usage time has been reached' : $reply = $l_reply_6 ; break;
322
  }}
323
 
324
# If attempt to login
325
if ("$button" == "$l_boutonO") {
326
  $hexchal = pack ("H32", $challenge);
327
  $newchal = pack ("H*", md5($hexchal . $uamsecret));
328
  $response = md5("\0" . $password . $newchal);
329
  $newpwd = pack("a32", $password);
330
  $pappassword = implode ("", unpack("H32", ($newpwd ^ $newchal)));
925 richard 331
  echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
895 richard 332
<html>
333
<head>
334
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
335
  <title>$l_loggingin</title>
336
  <meta http-equiv=\"Cache-control\" content=\"no-cache\">
337
  <meta http-equiv=\"Pragma\" content=\"no-cache\">
338
  <meta http-equiv=\"refresh\" content=\"0;url=http://$uamip:$uamport/logon?username=$username&password=$pappassword&userurl=$userurl\">
339
  </head>
340
<body bgColor = 'white'>
341
<h1 style=\"text-align: center;\">$l_loggingin</h1>
342
  <center>
343
    $l_wait
344
  </center>
345
</body>
346
</html>";
347
exit(0);
348
}
349
 
350
switch($res) {
351
  case 'success':     $result =  1; break; // If login successful
352
  case 'failed':      $result =  2; break; // If login failed
353
  case 'logoff':      $result =  3; break; // If logout successful
354
  case 'already':     $result =  4; break; // If tried to login while already logged in
355
  case 'notyet':      $result =  5; break; // If not logged in yet
356
  default: $result = 0; // Default: It was not a form request -> client go to login form
357
}
358
 
359
# Otherwise it was not a form request
360
# Send out an error message
361
if ($result == 0) {     //erreur
925 richard 362
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
895 richard 363
<html>
364
<head>
365
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
366
  <title>$l_loggingin</title>
367
  <meta http-equiv=\"Cache-control\" content=\"no-cache\">
368
  <meta http-equiv=\"Pragma\" content=\"no-cache\">
369
  <meta http-equiv=\"refresh\" content=\"0;url=http://$uamip:$uamport/prelogin\">
370
  </head>
371
<body bgColor = 'white'>
372
<h1 style=\"text-align: center;\">$l_loggingin</h1>
373
  <center>
374
    $l_wait
375
  </center>
376
</body>
377
</html>";
378
    exit(0);
379
}
380
# Generate the output
925 richard 381
echo "<!DOCTYPE html>
895 richard 382
<html>
383
<head>
384
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
385
  <title>$l_loggingin</title>
386
  <meta http-equiv=\"Cache-control\" content=\"no-cache\">
387
  <meta http-equiv=\"Pragma\" content=\"no-cache\">
388
  <script type=\"text/javascript\" language=\"JavaScript\">
389
    var blur = 0; // not un use
390
        var mytimeleft = 0; // not un use
391
        alcasar_popup = null;
392
 
393
    function popUp(URL) {
394
      if (self.name != \"alcasar_popup\") {
395
        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');
396
      }
397
    }
398
 
399
    function doOnLoad(result, userurl, redirurl, adminurl, timeleft) {
400
            if (timeleft) { // not in use
401
        mytimeleft = timeleft;
402
      }
403
      if ((result == 1)||(result == 4)) {       //success or already
404
              //window.location = userurl;
405
                  if (alcasar_popup != null) alcasar_popup.focus();
406
 
407
                  if (adminurl != ''){
408
                          window.location = adminurl;
409
                  } else if (redirurl != '') {
410
                          window.location = redirurl;
411
                  } else if (userurl != '') {
412
                          window.location = userurl;
413
                  } else {
414
                          window.home();
415
                  }
416
      }
417
      if ((result == 2) || (result == 3) || result == 5) { //failed or logoff or notyet
418
                if (alcasar_popup != null) alcasar_popup.close();
419
                        document.form1.UserName.focus();
420
      }
421
    }
422
  </script>
423
<link rel=\"stylesheet\" href=\"/css/style_intercept.css\" type=\"text/css\">
424
</head>
425
<body onLoad=\"javascript:doOnLoad($result,'$userurl','$redirurl','$adminurl','$timeleft')\">
426
  <center>";
427
if ($result == 2 || $result == 3 || $result == 5) { //failed or logoff or notyet
428
  echo "
429
        <div id=\"logon\">
430
        <h1>$organisme</h1>
431
        <h2>$l_loggedcont</h2>";
432
        if ($result == 2) { //failed
433
                echo 
434
                <h3>$l_loginfailed</h3>";
435
                if ($reply) {
436
                #traitement du reply ...
437
                echo "<center> $reply <br /><br /></center>";
438
                }
439
        }
440
        echo "
441
        <img id=\"logo-alcasar\" src=\"/images/logo-alcasar.png\">
442
        <form name=\"form1\" method=\"post\" action=\"$loginpath\">
443
        <input type=\"hidden\" name=\"challenge\" value=\"$challenge\">
444
        <input type=\"hidden\" name=\"uamip\" value=\"$uamip\">
445
        <input type=\"hidden\" name=\"uamport\" value=\"$uamport\">
446
        <input type=\"hidden\" name=\"userurl\" value=\"$userurl\">
925 richard 447
        <table id=\"boite-logon\">
448
                <tr>
449
                        <td width=\"20%\" rowspan=\"3\"><img id=\"logo-organ\" src=\"/images/organisme.png\"></td>
450
                        <td width=\"30%\" align=\"right\">$l_user</td>
451
                        <td width=\"50%\" align=\"left\"><INPUT type=\"text\" maxLength=\"32\" name=\"UserName\" autocomplete=\"off\"></td>
452
                </tr>
453
                <tr>
454
                        <td align=\"right\">$l_password</td>
455
                        <td align=\"left\"><INPUT maxLength=\"32\" type=\"password\" name=\"Password\" autocomplete=\"off\"></td>
456
                </tr>
457
                <tr>
458
                        <td height=\"23\" colSpan=\"2\" align=\"center\"><INPUT value=\"$l_boutonO\" type=\"submit\" name=\"button\" onclick=\"javascript:popUp('$statuspath')\"></td>
459
                </tr>
460
        </table>
461
        </form>
462
        <table id=\"boite-info\" cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\">
463
                <tr>
464
                        <td align=\"center\"><FONT color=\"red\"><B>$l_loggedin_stringl1</B></FONT></td>
465
                </tr>
466
                <tr>
467
                        <td align=\"left\">
468
                                <ul>
469
                                        <LI>$l_loggedin_stringl2</LI>
470
                                        <LI>$l_loggedin_stringl4</LI>
471
                                        <LI>$l_loggedin_stringl3</LI>
472
                                        <LI>$l_loggedin_stringl5</LI>
473
                                        <LI>$l_loggedin_stringl6</LI>
474
                                </ul>
475
                        </td>
476
                </tr>
477
        </table>";
913 richard 478
 
930 richard 479
// Read the "Domain allowed" file
913 richard 480
$tab=file(DOMAIN_ALLOWED_LIST);
481
if ($tab)  # the file isn't empty
482
        {
925 richard 483
        echo "<div id=\"authorized_domain\">$l_uam_domain";
913 richard 484
        foreach ($tab as $line)
485
                {
486
                if (trim($line) != '') # the line isn't empty
925 richard 487
                        {
913 richard 488
                        $domain_allowed=explode("#", $line);
925 richard 489
                        if (trim($domain_allowed[1]) != ''){
490
                                $domain=explode("\"", $domain_allowed[0]);
491
                                echo "<a href=\"http://".trim($domain[1])."\">".trim($domain_allowed[1])."</a> ";}
492
                        }      
913 richard 493
                }
494
        }
925 richard 495
echo 
496
</div>
497
</center>
895 richard 498
</body>
499
</html>";
500
}
501
exit(0);
502
?>