Subversion Repositories ALCASAR

Rev

Rev 2167 | Rev 2184 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log

Rev 2167 Rev 2182
Line 1... Line 1...
1
<?php
1
<?php
2
# $Id: intercept.php 2167 2017-04-08 15:54:53Z tom.houdayer $
2
# $Id: intercept.php 2182 2017-04-25 22:10:46Z tom.houdayer $
3
#
3
#
4
# intercept.php for ALCASAR captive portal
4
# intercept.php for ALCASAR captive portal
5
# Copyright (C) 2003, 2004 Mondru AB.
5
# Copyright (C) 2003, 2004 Mondru AB.
6
# Modify by REXY & steweb57
6
# Modify by REXY & steweb57
7
# UI & css style by stephane ERARD
7
# UI & css style by stephane ERARD
Line 40... Line 40...
40
	}
40
	}
41
}
41
}
42
/****************************************************************
42
/****************************************************************
43
*			Read CONF_FILE				*
43
*			Read CONF_FILE				*
44
*****************************************************************/
44
*****************************************************************/
45
$ouvre=fopen(CONF_FILE,"r");
45
$file_conf = fopen(CONF_FILE, 'r');
46
if ($ouvre){
46
if (!$file_conf) {
47
	while (!feof ($ouvre))
47
	exit('Error opening the file '.CONF_FILE);
48
	{
48
}
-
 
49
while (!feof($file_conf)) {
49
		$tampon = fgets($ouvre, 4096);
50
	$tampon = fgets($file_conf, 4096);
50
		if (strpos($tampon,"=")!==false){
51
	if ((strpos($tampon, '=') !== false) && (substr($tampon, 0, 1) !== '#')) {
51
			$tmp = explode("=",$tampon);
52
		$tmp = explode('=', $tampon);
52
			$conf[$tmp[0]] = $tmp[1];
53
		$conf[$tmp[0]] = trim($tmp[1]);
53
		}
54
	}
54
	}
55
}
55
}else{
56
fclose($file_conf);
56
	exit("Erreur d'ouverture du fichier ".CONF_FILE);
-
 
57
}
57
 
58
fclose($ouvre);
-
 
59
$organisme = trim($conf["ORGANISM"]);
58
$organisme = trim($conf["ORGANISM"]);
60
 
59
 
61
# Shared secret used to encrypt password with coova.
60
# Shared secret used to encrypt password with coova.
62
$uamsecret = "";
61
$uamsecret = "";
63
 
62
 
64
# URL loaded after success authenticates (let blank for browser defaults)
63
# URL loaded after success authenticates (let blank for browser defaults)
65
$adminurl = "";
64
$adminurl = "";
66
 
65
 
67
# Our own path
66
# Our own path
68
$loginpath	= htmlspecialchars($_SERVER['PHP_SELF']);
67
$loginpath   = htmlspecialchars($_SERVER['PHP_SELF']);
69
$alcasarpath	= "http://alcasar.".trim($conf["DOMAIN"]);
68
$alcasarpath = 'http://'.trim($conf['HOSTNAME']).'.'.trim($conf['DOMAIN']);
70
$statuspath	= $alcasarpath."/status.php";
69
$statuspath  = $alcasarpath.'/status.php';
71
$debug		= false;
-
 
72
 
70
 
73
# Choice of language
71
# Choice of language
74
$Language = 'en';
72
$Language = 'en';
75
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
73
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
76
  $Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
74
	$Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
77
  $Language = strtolower(substr(chop($Langue[0]),0,2)); }
75
	$Language = strtolower(substr(chop($Langue[0]),0,2));
-
 
76
}
78
if($Language == 'es'){
77
if ($Language === 'es') {
79
  $l_ChilliError	= "La autenticación debe ser un éxito a través del servicio de portal cautivo.";
78
	$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.";
79
	$l_login		= "El éxito de la autenticación.<HR>Cierre esta ventana interrumpte la sesion.";
81
  $l_logout		= "Conexión de cierre";
80
	$l_logout		= "Conexión de cierre";
82
  $l_loginfailed	= "Error de autenticación";
81
	$l_loginfailed		= "Error de autenticación";
83
  $l_loggingin		= "Identificación en el portal cautivo";
82
	$l_loggingin		= "Identificación en el portal cautivo";
Line 105... Line 104...
105
  $l_reply_5		= "You have reached the maximum number of simultaneous logins";
104
	$l_reply_5		= "You have reached the maximum number of simultaneous logins";
106
  $l_reply_6		= "Your authorized connexion time has been reached";
105
	$l_reply_6		= "Your authorized connexion time has been reached";
107
  $l_online_time	= "Tiempo en linea";
106
	$l_online_time		= "Tiempo en linea";
108
  $l_remaining_time	= "Tiempo restante";
107
	$l_remaining_time	= "Tiempo restante";
109
  $l_uam_domain		= "Sitios web autorizados : ";
108
	$l_uam_domain		= "Sitios web autorizados : ";
110
  $l_autoregistration   = "Registo autom&aacute;tico";}
109
	$l_autoregistration 	= "Registo autom&aacute;tico";
111
else if ($Language == 'pt'){
110
} else if ($Language === 'pt') {
112
  $l_ChilliError	= "A autenticação precisa ser bem sucedida através do portal.";
111
	$l_ChilliError		= "A autenticação precisa ser bem sucedida através do portal.";
113
  $l_login		= "Sucesso na autenticação.<HR>Matenha esse pop-up apenas minimizado para não interromper a conexão";
112
	$l_login		= "Sucesso na autenticação.<HR>Matenha esse pop-up apenas minimizado para não interromper a conexão";
114
  $l_logout		= "Encerrar conexão";
113
	$l_logout		= "Encerrar conexão";
115
  $l_loginfailed	= "Falha na autenticação";
114
	$l_loginfailed		= "Falha na autenticação";
116
  $l_loggingin		= "Identificação do portal cativo";
115
	$l_loggingin		= "Identificação do portal cativo";
Line 138... Line 137...
138
  $l_reply_5		= "Você atingiu o número máximo de logins simultâneos";
137
	$l_reply_5		= "Você atingiu o número máximo de logins simultâneos";
139
  $l_reply_6		= "Seu tempo de conexão autorizada finalizou";
138
	$l_reply_6		= "Seu tempo de conexão autorizada finalizou";
140
  $l_online_time	= "Tempo Online";
139
	$l_online_time		= "Tempo Online";
141
  $l_remaining_time	= "Tempo restante";
140
	$l_remaining_time	= "Tempo restante";
142
  $l_uam_domain		= "Sites autorizados : ";
141
	$l_uam_domain		= "Sites autorizados : ";
143
  $l_autoregistration   = "Registo autom&aacute;tico";}
142
	$l_autoregistration 	= "Registo autom&aacute;tico";
144
else if ($Language == 'zh'){
143
} else if ($Language === 'zh') {
145
  $l_ChilliError	= "验证必须通过强制门户服务";
144
	$l_ChilliError		= "验证必须通过强制门户服务";
146
  $l_login		= "验证成功<HR>关闭此窗口中断连接";
145
	$l_login		= "验证成功<HR>关闭此窗口中断连接";
147
  $l_logout		= "关闭连接";
146
	$l_logout		= "关闭连接";
148
  $l_loginfailed	= "验证失败";
147
	$l_loginfailed		= "验证失败";
149
  $l_loggingin		= "强制门户身份识别";
148
	$l_loggingin		= "强制门户身份识别";
Line 171... Line 170...
171
  $l_reply_5		= "您已经达到同时连接的最大数量";
170
	$l_reply_5		= "您已经达到同时连接的最大数量";
172
  $l_reply_6		= "已经到达您的允许连接时间";
171
	$l_reply_6		= "已经到达您的允许连接时间";
173
  $l_online_time	= "在线时间";
172
	$l_online_time		= "在线时间";
174
  $l_remaining_time	= "剩余时间";
173
	$l_remaining_time	= "剩余时间";
175
  $l_uam_domain		= "授权网站 : ";
174
	$l_uam_domain		= "授权网站 : ";
176
  $l_autoregistration   = "短信注册";}
175
	$l_autoregistration	= "短信注册";
177
else if($Language == 'ar'){
176
} else if($Language === 'ar') {
178
 $l_ChilliError    = "يجب نجاح المصادقة على البوابة الأسيرة";
177
	$l_ChilliError		= "يجب نجاح المصادقة على البوابة الأسيرة";
179
  $l_login    = "إغلاق هذه النافذة يقطع دورة عملك";
178
	$l_login		= "إغلاق هذه النافذة يقطع دورة عملك";
180
  $l_logout   = "إغلاق الدورة";
179
	$l_logout		= "إغلاق الدورة";
181
  $l_loginfailed    = "فشل المصادقة";
180
	$l_loginfailed		= "فشل المصادقة";
182
  $l_loggingin    = "التعريف على البوابة الأسيرة";
181
	$l_loggingin		= "التعريف على البوابة الأسيرة";
Line 204... Line 203...
204
  $l_reply_5    = "لقد استكملت العدد الأقصى للإتصالات المتزامنة";
203
	$l_reply_5		= "لقد استكملت العدد الأقصى للإتصالات المتزامنة";
205
  $l_reply_6    = "استكملت مذة الإتصال المسموحة";
204
	$l_reply_6		= "استكملت مذة الإتصال المسموحة";
206
  $l_online_time  = "مذة الإتصال";
205
	$l_online_time		= "مذة الإتصال";
207
  $l_remaining_time = "الوقت المتبق";
206
	$l_remaining_time	= "الوقت المتبق";
208
  $l_uam_domain = ":المواقع المسموحة ";
207
	$l_uam_domain		= ":المواقع المسموحة ";
209
  $l_autoregistration = "تسجيل ذاتي (SMS)";}
208
	$l_autoregistration	= "تسجيل ذاتي (SMS)";
210
else if($Language == 'de'){
209
} else if($Language === 'de') {
211
  $l_ChilliError	= "Die Authentifizierung ist erfolgreich durch die Nutzung des Portals erfolgt.";
210
	$l_ChilliError		= "Die Authentifizierung ist erfolgreich durch die Nutzung des Portals erfolgt.";
212
  $l_login		= "Erfolgreiche Authentifizierung.<HR>Schlißen dieses fensters unterbricht die sitzung";
211
	$l_login		= "Erfolgreiche Authentifizierung.<HR>Schlißen dieses fensters unterbricht die sitzung";
213
  $l_logout		= "Beenden der Verbindung";
212
	$l_logout		= "Beenden der Verbindung";
214
  $l_loginfailed	= "Authentifizierungsfehler Eigenverbrauch";
213
	$l_loginfailed		= "Authentifizierungsfehler Eigenverbrauch";
215
  $l_loggingin		= "Kennzeichnung auf dem Eigenverbrauch";
214
	$l_loggingin		= "Kennzeichnung auf dem Eigenverbrauch";
Line 237... Line 236...
237
  $l_reply_5		= "You have reached the maximum number of simultaneous logins";
236
	$l_reply_5		= "You have reached the maximum number of simultaneous logins";
238
  $l_reply_6		= "Your authorized connexion time has been reached";
237
	$l_reply_6		= "Your authorized connexion time has been reached";
239
  $l_online_time	= "Online-zeit";
238
	$l_online_time		= "Online-zeit";
240
  $l_remaining_time	= "Restzeit";
239
	$l_remaining_time	= "Restzeit";
241
  $l_uam_domain		= "Autorisierten websites : ";
240
	$l_uam_domain		= "Autorisierten websites : ";
242
  $l_autoregistration   = "Automatische registrierung";}
241
	$l_autoregistration	= "Automatische registrierung";
243
else if($Language == 'nl'){
242
} else if($Language === 'nl') {
244
  $l_ChilliError	= "De authenticatie moet een succes worden via de captive portal dienst.";
243
	$l_ChilliError		= "De authenticatie moet een succes worden via de captive portal dienst.";
245
  $l_login		= "Succesvolle authenticatie.<HR>Dit venster te sluiten onderbreekt uw sessie.";
244
	$l_login		= "Succesvolle authenticatie.<HR>Dit venster te sluiten onderbreekt uw sessie.";
246
  $l_logout		= "Slotkoers verbinding";
245
	$l_logout		= "Slotkoers verbinding";
247
  $l_loginfailed	= "Authenticatie mislukt";
246
	$l_loginfailed		= "Authenticatie mislukt";
248
  $l_loggingin		= "Identificatie van de captive-portaal";
247
	$l_loggingin		= "Identificatie van de captive-portaal";
Line 270... Line 269...
270
  $l_reply_5		= "You have reached the maximum number of simultaneous logins";
269
	$l_reply_5		= "You have reached the maximum number of simultaneous logins";
271
  $l_reply_6		= "Your authorized connexion time has been reached";
270
	$l_reply_6		= "Your authorized connexion time has been reached";
272
  $l_online_time	= "Online tijd";
271
	$l_online_time		= "Online tijd";
273
  $l_remaining_time	= "Reterende tijd";
272
	$l_remaining_time	= "Reterende tijd";
274
  $l_uam_domain		= "Geautoriseerde website : ";
273
	$l_uam_domain		= "Geautoriseerde website : ";
275
  $l_autoregistration   = "Automatische registratie";}
274
	$l_autoregistration	= "Automatische registratie";
276
else if($Language == 'fr'){
275
} else if($Language === 'fr') {
277
  $l_ChilliError	= "L'authentification doit être réussie sur le portail captif.";
276
	$l_ChilliError		= "L'authentification doit être réussie sur le portail captif.";
278
  $l_login		= "Authentification réussie.<HR>La fermeture de cette fenêtre interrompt votre session.";
277
	$l_login		= "Authentification réussie.<HR>La fermeture de cette fenêtre interrompt votre session.";
279
  $l_logout		= "Fermeture de la session";
278
	$l_logout		= "Fermeture de la session";
280
  $l_loginfailed	= "Echec d'authentification";
279
	$l_loginfailed		= "Echec d'authentification";
281
  $l_loggingin		= "Identification sur le portail captif";
280
	$l_loggingin		= "Identification sur le portail captif";
Line 303... Line 302...
303
  $l_reply_5		= "Vous avez atteint le nombre maximum de connexions simultanées";
302
	$l_reply_5		= "Vous avez atteint le nombre maximum de connexions simultanées";
304
  $l_reply_6		= "Votre durée de connexion autorisée a été atteinte";
303
	$l_reply_6		= "Votre durée de connexion autorisée a été atteinte";
305
  $l_online_time	= "Temps de connexion";
304
	$l_online_time		= "Temps de connexion";
306
  $l_remaining_time	= "Temps restant";
305
	$l_remaining_time	= "Temps restant";
307
  $l_uam_domain		= "Sites autorisés : ";
306
	$l_uam_domain		= "Sites autorisés : ";
308
  $l_autoregistration	= "Auto enregistrement (sms)";}
307
	$l_autoregistration	= "Auto enregistrement (sms)";
309
else{
308
} else {
310
  $l_ChilliError	= "The authentication must be successful through the captive portal service.";
309
	$l_ChilliError		= "The authentication must be successful through the captive portal service.";
311
  $l_login		= "Successful authentication.<HR>Closing this window interrupts your session";
310
	$l_login		= "Successful authentication.<HR>Closing this window interrupts your session";
312
  $l_logout		= "Closing connection";
311
	$l_logout		= "Closing connection";
313
  $l_loginfailed	= "Authentication Failed";
312
	$l_loginfailed		= "Authentication Failed";
314
  $l_loggingin		= "Identification on the captive portal";
313
	$l_loggingin		= "Identification on the captive portal";
Line 340... Line 339...
340
  $l_uam_domain		= "Authorized websites : ";
339
	$l_uam_domain		= "Authorized websites : ";
341
  $l_autoregistration	= "Auto registration (sms)";
340
	$l_autoregistration	= "Auto registration (sms)";
342
}
341
}
343
 
342
 
344
# If https not use, tell it's wrong
343
# If https not use, tell it's wrong
345
if (!(isset($_SERVER['HTTPS'])&&($_SERVER['HTTPS'] == 'on'))) {
344
if ((!isset($_SERVER['HTTPS'])) || (empty($_SERVER['HTTPS'])) || ($_SERVER['HTTPS'] === 'off')) {
-
 
345
	?>
346
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
346
	<!doctype html>
347
<html>
347
	<html>
348
<head>
348
	<head>
349
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
349
		<meta charset="utf-8">
350
  <title>$l_loggedcont</title>
350
		<title><?= $l_loggedcont ?></title>
351
  <meta http-equiv=\"Cache-control\" content=\"no-cache\">
351
		<meta http-equiv="Cache-control" content="no-cache">
352
  <meta http-equiv=\"Pragma\" content=\"no-cache\">
352
		<meta http-equiv="Pragma" content="no-cache">
353
</head>
353
	</head>
354
<body bgColor = 'white'>
354
	<body style="background-color: white;">
355
  <h1 style=\"text-align: center;\">$l_loginfailed</h1>
355
		<h1 style="text-align: center;"><?= $l_loginfailed ?></h1>
356
  <center>$l_encrypted</center>
356
		<center><?= $l_encrypted ?></center> 
357
</body>
357
	</body>
358
</html>";
358
	</html>
-
 
359
	<?php
359
    exit(0);
360
	exit();
360
}
361
}
361
 
362
 
362
# Read form parameters which we care about
363
# Read form parameters which we care about
363
# avoid the "user as a MAC address" attempts
364
# avoid the "user as a MAC address" attempts
364
if ((isset($_POST['UserName'])) && (preg_match('/^([0-9A-F]{2}-){5}[0-9A-F]{2}$/',$_POST['UserName'])!=1)){
365
if ((isset($_POST['UserName'])) && (preg_match('/^([0-9A-F]{2}-){5}[0-9A-F]{2}$/', $_POST['UserName']) !== 1)) {
365
				$username	= $_POST['UserName'];} else {$username="";}
366
				$username	= $_POST['UserName'];}	else {$username="";}
366
if (isset($_POST['Password'])){	$password	= $_POST['Password'];} else {$password="";}
367
if (isset($_POST['Password'])){	$password	= $_POST['Password'];}	else {$password="";}
367
if (isset($_POST['challenge'])){$challenge	= $_POST['challenge'];} else {$challenge="";}
368
if (isset($_POST['challenge'])){$challenge	= $_POST['challenge'];}	else {$challenge="";}
368
if (isset($_POST['button'])){	$button		= $_POST['button'];} else { $button="";}
369
if (isset($_POST['button'])){	$button		= $_POST['button'];}	else {$button="";}
369
//if (isset($_POST['logout'])){	$logout		= $_POST['logout'];} else {$logout="";}
370
// if (isset($_POST['logout'])){	$logout		= $_POST['logout'];}	else {$logout="";}
Line 392... Line 393...
392
  case 'Your maximum monthly usage time has been reached' : $reply = $l_reply_2 ; break;
393
		case 'Your maximum monthly usage time has been reached'	: $reply = $l_reply_2 ; break;
393
  case 'You are calling outside your allowed timespan' : $reply = $l_reply_3 ; break;
394
		case 'You are calling outside your allowed timespan'	: $reply = $l_reply_3 ; break;
394
  case 'Password Has Expired' : $reply =  $l_reply_4 ; break;
395
		case 'Password Has Expired'				: $reply = $l_reply_4 ; break;
395
  case 'You are already logged in - access denied' : $reply = $l_reply_5 ; break;
396
		case 'You are already logged in - access denied'	: $reply = $l_reply_5 ; break;
396
  case 'Your maximum never usage time has been reached' : $reply = $l_reply_6 ; break;
397
		case 'Your maximum never usage time has been reached'	: $reply = $l_reply_6 ; break;
397
  }}
398
	}
-
 
399
}
398
 
400
 
399
# If attempt to login
401
// If attempt to login
400
if ("$button" == "$l_boutonO") {
402
if ($button === $l_boutonO) {
401
  #correction password length in coova-chilli
403
	//correction password length in coova-chilli
402
  #thanks to http://www.stochasticgeometry.ie/2009/09/09/maximum-password-length-in-coova-chilli/
404
	//thanks to http://www.stochasticgeometry.ie/2009/09/09/maximum-password-length-in-coova-chilli/
403
  $hexchal = pack ("H*", $challenge);
405
	$hexchal = pack('H*', $challenge);
404
  $newchal = pack ("H*", md5($hexchal . $uamsecret));
406
	$newchal = pack('H*', md5($hexchal . $uamsecret));
405
 
407
 
406
  # If challenge isn't long enough, repeat it until it is
408
	// If challenge isn't long enough, repeat it until it is
407
  while (strlen($newchal) < strlen($password)){
409
	while (strlen($newchal) < strlen($password)){
408
                       $newchal .= $newchal;
410
		$newchal .= $newchal;
409
  }
411
	}
410
 
412
 
411
  $response = md5("\0" . $password . $newchal);
-
 
412
  $newpwd = pack("a*", $password);
413
	$newpwd   = pack('a*', $password);
413
  # Encode plain text password with challenge
414
	// Encode plain text password with challenge
414
  $pappassword = implode ("", unpack("H*", ($newpwd ^ $newchal)));
415
	$pappassword = implode('', unpack('H*', ($newpwd ^ $newchal)));
-
 
416
	?>
415
  echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
417
	<!doctype html>
416
<html>
418
	<html>
417
<head>
419
	<head>
418
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
420
		<meta charset="utf-8">
419
  <title>$l_loggingin</title>
421
		<title><?= $l_loggingin ?></title>
420
  <meta http-equiv=\"Cache-control\" content=\"no-cache\">
422
		<meta http-equiv="Cache-control" content="no-cache">
421
  <meta http-equiv=\"Pragma\" content=\"no-cache\">
423
		<meta http-equiv="Pragma" content="no-cache">
422
  <meta http-equiv=\"refresh\" content=\"0;url=http://$uamip:$uamport/logon?username=$username&password=$pappassword&userurl=$userurl\">
424
		<meta http-equiv="refresh" content="0;url=<?= "http://$uamip:$uamport/logon?username=$username&password=$pappassword&userurl=$userurl" ?>">
423
  </head>
425
	</head>
424
<body bgColor = 'white'>
426
	<body style="background-color: white;">
425
<h1 style=\"text-align: center;\">$l_loggingin</h1>
427
		<h1 style="text-align: center;"><?= $l_loggingin ?></h1>
426
  <center>
-
 
427
    $l_wait
-
 
428
  </center>
428
		<center><?= $l_wait ?></center> 
429
</body>
429
	</body>
430
</html>";
430
	</html>
-
 
431
	<?php
431
exit(0);
432
	exit();
432
}
433
}
433
 
434
 
434
switch($res) {
435
switch($res) {
435
  case 'success':     $result =  1; break; // If login successful
436
	case 'success':	$result = 1; break; // If login successful
436
  case 'failed':      $result =  2; break; // If login failed
437
	case 'failed':	$result = 2; break; // If login failed
Line 439... Line 440...
439
  case 'notyet':      $result =  5; break; // If not logged in yet
440
	case 'notyet':	$result = 5; break; // If not logged in yet
440
  default: $result = 0; // Default: It was not a form request -> client go to login form
441
	default:	$result = 0; // Default: It was not a form request -> client go to login form
441
}
442
}
442
 
443
 
443
//check if we need to warn user about the imputability logs.
444
//check if we need to warn user about the imputability logs.
444
if($result == 1)
445
if($result === 1) {
445
{
-
 
446
        if ((is_file("./acc/manager/lib/sql/drivers/mysql/functions.php"))&&(is_file("/etc/freeradius-web/config.php"))){
446
	if ((is_file('./acc/manager/lib/sql/drivers/mysql/functions.php')) && (is_file('/etc/freeradius-web/config.php'))) {
447
        include_once("/etc/freeradius-web/config.php");
447
		include_once('/etc/freeradius-web/config.php');
448
        include_once("./acc/manager/lib/sql/drivers/mysql/functions.php");
448
		include_once('./acc/manager/lib/sql/drivers/mysql/functions.php');
449
        $link = @da_sql_pconnect($config); // on affiche pas les erreurs
449
		$link = @da_sql_pconnect($config); // on affiche pas les erreurs
450
        $user_uid=da_sql_escape_string($link, $_GET['uid']);
-
 
451
        $sql = "SELECT attribute, value FROM radreply WHERE username='$user_uid'";
-
 
452
        if ($link){
450
		if ($link) {
-
 
451
			$user_uid = da_sql_escape_string($link, $_GET['uid']);
-
 
452
			$sql = "SELECT attribute, value FROM radreply WHERE username='$user_uid' AND attribute='Filter-Id'";
453
                $res = @da_sql_query($link,$config,$sql); // on affiche pas les erreurs
453
			$res = @da_sql_query($link, $config, $sql); // on affiche pas les erreurs
454
                if ($res){
454
			if ($res) {
455
                        while(($row = @da_sql_fetch_array($res,$config))){
455
				$row = @da_sql_fetch_array($res, $config);
456
                                if ($row['attribute'] == "Filter-Id") $filter_id = $row['value']; // on obtient le Filter-Id de l'utilisateur
456
				$filter_id = $row['value']; // on obtient le Filter-Id de l'utilisateur
457
                        }
-
 
458
                        if($filter_id[3] == '1')
457
				if($filter_id[3] === '1') {
459
                        {
-
 
460
                                #set the fourth bit of filter-id to '0'
458
					//set the fourth bit of filter-id to '0'
461
                                $sql = "set @CurrentFilter=(SELECT value from radreply where username='$user_uid');set @CurrentFilterLeft=(SELECT LEFT(@CurrentFilter,3));set @CurrentFilterRight=(SELECT RIGHT(@CurrentFilter,4));UPDATE radreply SET value = CONCAT((@CurrentFilterLeft),'0', (@CurrentFilterRight)) WHERE username='$user_uid'";
459
					$sql = "set @CurrentFilter=(SELECT value from radreply where username='$user_uid');set @CurrentFilterLeft=(SELECT LEFT(@CurrentFilter,3));set @CurrentFilterRight=(SELECT RIGHT(@CurrentFilter,4));UPDATE radreply SET value = CONCAT((@CurrentFilterLeft),'0', (@CurrentFilterRight)) WHERE username='$user_uid'";
462
                                $res = mysqli_multi_query($link,$sql);
460
					$res = mysqli_multi_query($link,$sql);
463
                                $user_url = urlencode($_GET['userurl']);
-
 
464
                                header("Location: http://alcasar/index.php?warn=1&url=$user_url");   //we present to user information about imputability logs 
461
					header('Location: https://'.trim($conf['HOSTNAME']).'.'.trim($conf['DOMAIN']).'/index.php?warn=1&url='.urlencode($_GET['userurl']));   //we present to user information about imputability logs 
465
                                exit;
462
					exit();
466
                        }
463
				}
467
                }
464
			}
468
        }
465
		}
469
        }
466
	}
470
        
-
 
471
}
467
}
472
 
468
 
473
 
469
 
474
# Otherwise it was not a form request
470
// Otherwise it was not a form request
475
# Send out an error message
471
// Send out an error message
476
if ($result == 0) {	//erreur
472
if ($result === 0) {	//erreur
-
 
473
	?>
477
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
474
	<!doctype html>
478
<html>
475
	<html>
479
<head>
476
	<head>
480
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
477
		<meta charset="utf-8">
481
  <title>$l_loggingin</title>
478
		<title><?= $l_loggingin ?></title>
482
  <meta http-equiv=\"Cache-control\" content=\"no-cache\">
479
		<meta http-equiv="Cache-control" content="no-cache">
483
  <meta http-equiv=\"Pragma\" content=\"no-cache\">
480
		<meta http-equiv="Pragma" content="no-cache">
484
  <meta http-equiv=\"refresh\" content=\"0;url=http://$uamip:$uamport/prelogin\">
481
		<meta http-equiv="refresh" content="0;url=<?= "http://$uamip:$uamport/prelogin" ?>">
485
  </head>
482
	</head>
486
<body bgColor = 'white'>
483
	<body style="background-color: white;">
487
<h1 style=\"text-align: center;\">$l_loggingin</h1>
484
		<h1 style="text-align: center;"><?= $l_loggingin ?></h1>
488
  <center>
-
 
489
    $l_wait
-
 
490
  </center>
485
		<center><?= $l_wait ?></center> 
491
</body>
486
	</body>
492
</html>";
487
	</html>
-
 
488
	<?php
493
    exit(0);
489
	exit();
494
}
490
}
495
# Generate the output
491
?>
496
echo "<!DOCTYPE html>
492
<!doctype html>
497
<html>
493
<html>
498
<head>
494
<head>
499
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
495
	<meta charset="utf-8">
500
  <title>$l_loggingin</title>
496
	<title><?= $l_loggingin ?></title>
501
  <meta http-equiv=\"Cache-control\" content=\"no-cache\">
497
	<meta http-equiv="Cache-control" content="no-cache">
502
  <meta http-equiv=\"Pragma\" content=\"no-cache\">
498
	<meta http-equiv="Pragma" content="no-cache">
503
  <script type=\"text/javascript\" language=\"JavaScript\">
499
	<script type="text/javascript">
504
	alcasar_popup = null;
500
	var alcasar_popup = null;
505
	function popUp(URL) {
501
	function popUp(URL) {
506
		if (self.name != \"alcasar_popup\") {
502
		if (self.name !== "alcasar_popup") {
507
			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');
503
			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');
508
		}
504
		}
509
	}
505
	}
510
	function doOnLoad(result, userurl, redirurl, adminurl, timeleft) {
506
	function doOnLoad(result, userurl, redirurl, adminurl, timeleft) {
511
		if ((result == 1)||(result == 4)) {	//success or already
507
		if ((result === 1) || (result === 4)) {	//success or already
512
			//window.location = userurl;
508
			//window.location = userurl;
513
			if (alcasar_popup != null) alcasar_popup.focus();
509
			if (alcasar_popup !== null) alcasar_popup.focus();
514
			if (adminurl != ''){
510
			if (adminurl !== '') {
515
				window.location = adminurl;
511
				window.location = adminurl;
516
			} else if (redirurl != '') {
512
			} else if (redirurl !== '') {
517
				window.location = redirurl;
513
				window.location = redirurl;
518
				} else if (userurl != '') {
514
				} else if (userurl !== '') {
519
					window.location = userurl;
515
					window.location = userurl;
520
				} else {
516
				} else {
521
				window.home();
517
				window.home();
522
			}
518
			}
523
		}
519
		}
524
		if ((result == 2) || (result == 3) || result == 5) { //failed or logoff or notyet
520
		if ((result === 2) || (result === 3) || result === 5) { //failed or logoff or notyet
525
			if (alcasar_popup != null) alcasar_popup.close();
521
			if (alcasar_popup !== null) alcasar_popup.close();
526
			document.form1.UserName.focus();
522
			document.form1.UserName.focus();
527
		}
523
		}
528
	}
524
	}
529
</script>
525
	</script>
530
<link rel=\"stylesheet\" href=\"/css/style_intercept.css\" type=\"text/css\">
526
	<link rel="stylesheet" href="/css/style_intercept.css" type="text/css">
531
</head>
527
</head>
532
<body onLoad=\"javascript:doOnLoad($result,'$userurl','$redirurl','$adminurl','$timeleft')\">
528
<body onLoad="javascript:doOnLoad(<?= $result ?>,'<?= $userurl ?>','<?= $redirurl ?>','<?= $adminurl ?>','<?= $timeleft ?>')">
533
  <center>";
529
	<center>
-
 
530
 
534
if ($result == 2 || $result == 3 || $result == 5) { //failed or logoff or notyet
531
	<?php if ($result === 2 || $result === 3 || $result === 5): //failed or logoff or notyet ?>
535
  echo "
-
 
536
	<div id=\"logon\">
532
	<div id="logon">
537
	<h1>$organisme</h1>
533
		<h1><?= $organisme ?></h1>
538
	<h2>$l_loggedcont</h2>";
534
		<h2><?= $l_loggedcont ?></h2>
539
	if ($result == 2) { //failed
535
		<?php if ($result === 2): //failed ?>
540
		echo "	
-
 
541
		<h3>$l_loginfailed</h3>";
536
			<h3><?= $l_loginfailed ?></h3>
542
		if ($reply) {
-
 
543
		#traitement du reply ...
537
			<?php if ($reply): //traitement du reply ... ?>
544
		echo "<center> $reply <br /><br /></center>";
538
				<center><?= $reply ?><br><br></center>
545
		}
539
			<?php endif; ?>
546
	}
540
		<?php endif;
547
	if ($userurl == "http://logout/") $userurl="http://www.google.com"; //avoid cyclic logout
541
		if ($userurl === 'http://logout/') $userurl = 'http://www.google.com'; // Avoid cyclic logout
548
	echo "
542
		?>
549
	<img id=\"logo-alcasar\" src=\"/images/logo-alcasar.png\">
543
		<img id="logo-alcasar" src="/images/logo-alcasar.png">
550
	<form name=\"form1\" method=\"post\" action=\"$loginpath\">
544
		<form name="form1" method="post" action="<?= $loginpath ?>">
551
	<input type=\"hidden\" name=\"challenge\" value=\"$challenge\">
545
			<input type="hidden" name="challenge" value="<?= $challenge ?>">
552
	<input type=\"hidden\" name=\"uamip\" value=\"$uamip\">
546
			<input type="hidden" name="uamip" value="<?= $uamip ?>">
553
	<input type=\"hidden\" name=\"uamport\" value=\"$uamport\">
547
			<input type="hidden" name="uamport" value="<?= $uamport ?>">
554
	<input type=\"hidden\" name=\"userurl\" value=\"$userurl\">
548
			<input type="hidden" name="userurl" value="<?= $userurl ?>">
555
	<table id=\"boite-logon\">
549
			<table id="boite-logon">
556
		<tr>
550
				<tr>
557
			<td width=\"20%\" rowspan=\"4\"><img id=\"logo-organ\" src=\"/images/organisme.png\"></td>
551
					<td width="20%" rowspan="4"><img id="logo-organ" src="/images/organisme.png"></td>
558
			<td width=\"30%\" align=\"right\">$l_user</td>
552
					<td width="30%" align="right"><?= $l_user ?></td>
559
			<td width=\"50%\" align=\"left\"><INPUT type=\"text\" maxLength=\"32\" name=\"UserName\" autocomplete=\"off\"></td>
553
					<td width="50%" align="left"><input type="text" maxLength="32" name="UserName" autocomplete="off"></td>
560
		</tr>
554
				</tr>
561
		<tr>
555
				<tr>
562
			<td align=\"right\">$l_password</td>
556
					<td align="right"><?= $l_password ?></td>
563
			<td align=\"left\"><INPUT maxLength=\"32\" type=\"password\" name=\"Password\" autocomplete=\"off\"></td>
557
					<td align="left"><input maxLength="32" type="password" name="Password" autocomplete="off"></td>
564
		</tr>
558
				</tr>
565
		";
-
 
566
 
-
 
567
	echo "	</tr>
559
				<tr>
568
			<td height=\"23\"  align=\"left\"><INPUT value=\"$l_boutonO\" type=\"submit\" name=\"button\" onclick=\"window.open('$statuspath', '_blank');\"></td>
560
					<td height="23" align="left"><input value="<?= $l_boutonO ?>" type="submit" name="button" onclick="window.open('<?= $statuspath ?>', '_blank');"></td>
569
		";
561
					<?php
570
 
-
 
571
 
-
 
572
	$service_SMS_status=false;
562
					$service_SMS_status = false;
573
	if($service_SMS_status){
563
					if ($service_SMS_status): ?>
574
		echo "	<td><a href=\"./autoregistrationinfo.php\">".$l_autoregistration."</a></td>";
564
						<td><a href="./autoregistrationinfo.php"><?= $l_autoregistration ?></a></td>
575
	}
565
					<?php endif; ?>
576
 
-
 
577
	echo "	</tr>
566
				</tr>
578
	</table>
567
			</table>
579
 
-
 
580
	</form>
568
		</form>
581
	<table id=\"boite-info\" cellSpacing=\"0\" cellPadding=\"0\" width=\"80%\">
569
		<table id="boite-info" cellSpacing="0" cellPadding="0" width="80%">
582
		<tr>
570
			<tr>
583
			<td align=\"center\"><FONT color=\"red\"><B>$l_loggedin_stringl1</B></FONT></td>
571
				<td align="center"><font color="red"><b><?= $l_loggedin_stringl1 ?></b></font></td>
584
		</tr>
572
			</tr>
585
		<tr>
573
			<tr>
586
			<td align=\"left\">
574
				<td align="left">
587
				<ul>
575
					<ul>
588
					<LI>$l_loggedin_stringl2</LI>
576
						<li><?= $l_loggedin_stringl2 ?></li>
589
					<LI>$l_loggedin_stringl4</LI>
577
						<li><?= $l_loggedin_stringl4 ?></li>
590
					<LI>$l_loggedin_stringl3</LI>
578
						<li><?= $l_loggedin_stringl3 ?></li>
591
					<LI>$l_loggedin_stringl5</LI>
579
						<li><?= $l_loggedin_stringl5 ?></li>
592
					<LI>$l_loggedin_stringl6</LI>
580
						<li><?= $l_loggedin_stringl6 ?></li>
593
				</ul>
581
					</ul>
594
			</td>
582
				</td>
595
		</tr>
583
			</tr>
596
	</table>";
584
		</table>
597
 
585
		<?php
598
// Read the "Domain allowed" file
586
		// Read the "Domain allowed" file
599
$tab=file(DOMAIN_ALLOWED_LIST);
587
		$tab = file(DOMAIN_ALLOWED_LIST);
600
if ($tab)  # the file isn't empty
588
		if ($tab) { // the file isn't empty
601
	{
-
 
602
	echo "<div id=\"authorized_domain\">$l_uam_domain";
589
			echo '<div id="authorized_domain">'.$l_uam_domain;
603
	foreach ($tab as $line)
590
			foreach ($tab as $line) {
604
		{
-
 
605
		if (trim($line) != '') # the line isn't empty
591
				if (trim($line) !== '') { // the line isn't empty
606
			{
-
 
607
			$domain_allowed=explode("#", $line);
592
					$domain_allowed = explode("#", $line);
608
			if (trim($domain_allowed[1]) != ''){
593
					if (trim($domain_allowed[1]) !== '') {
609
				$domain=explode("\"", $domain_allowed[0]);
594
						$domain = explode('"', $domain_allowed[0]);
610
				#remove every '.' from the beginning of domain
595
						// remove every '.' from the beginning of domain
611
                                $domain[1] = ltrim($domain[1], '.');
596
						$domain[1] = ltrim($domain[1], '.');
612
				echo "<a href=\"http://".trim($domain[1])."\">".trim($domain_allowed[1])."</a> ";}
597
						echo '<a href="http://'.trim($domain[1]).'">'.trim($domain_allowed[1]).'</a>';
613
			}	
598
					}
614
		}
599
				}
615
	}
600
			}
-
 
601
		}
616
echo "	
602
		?>
617
</div>
603
	</div>
-
 
604
	<?php endif; ?>
-
 
605
 
618
</center>
606
	</center>
619
</body>
607
</body>
620
</html>";
608
</html>
621
}
-
 
622
exit(0);
-
 
623
?>
-