Rev 640 | Rev 734 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log
<?php
#
# status.php for Alcasar captive portal
# by steweb57
#
$organisme = "";
$remote_ip = ($_SERVER['REMOTE_ADDR']);
$connection_history = "";
$nb_connection_history = 3;
//On récupère le nom de connexion de la session active. //on a l'info en ajax, mais trop tard -> A MODIFIER
exec ("sudo /usr/sbin/chilli_query list|grep $remote_ip" , $tab);
$user = explode (" ", $tab[0]);
#### Affichage des 3 dernières connexions de $user[5]
function secondsToDuration($seconds = null){
if ($seconds == null) return "";
$temp = $seconds % 3600;
$time[0] = ( $seconds - $temp ) / 3600 ; // hours
$time[2] = $temp % 60 ; // seconds
$time[1] = ( $temp - $time[2] ) / 60; // minutes
return $time[0]." h ".$time[2]." m ".$time[1]." s";
}
$l_connected = "connected"; // a traduire (choix de la langue ci-dessous mais nécessitant de $connection_history)
// si on a pas d'accès à la bdd, la page s'affiche quand même correctement
if (isset($user[5])){
if ((is_file("./acc/manager/lib/sql/drivers/mysql/functions.php"))&&(is_file("/etc/freeradius-web/config.php"))){
include_once("/etc/freeradius-web/config.php");
include_once("./acc/manager/lib/sql/drivers/mysql/functions.php");
$sql = "SELECT UserName, AcctStartTime, AcctStopTime, acctsessiontime FROM radacct WHERE UserName='$user[5]' ORDER BY AcctStartTime DESC LIMIT 0 , $nb_connection_history";
$link = @da_sql_pconnect($config); // on affiche pas les erreurs
if ($link){
$res = @da_sql_query($link,$config,$sql); // on affiche pas les erreurs
if ($res){
$connection_history.= "<ul>";
while(($row = @da_sql_fetch_array($res,$config))){
$connected = "";
if ($row[acctstoptime] == "") $connected = " ($l_connected)";
$connection_history.="<li title='$row[username] $row[acctstarttime] $row[acctstoptime] (".secondsToDuration($row[acctsessiontime]).")'>$row[acctstarttime] (".secondsToDuration($row[acctsessiontime]).") $connected</li>";
}
$connection_history.="</ul>";
}
}
}
}
####
# Choice of language
//reste quelques traductions à faire
$Language = 'en';
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
$Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
$Language = strtolower(substr(chop($Langue[0]),0,2)); }
if($Language == 'es'){
$l_login1 = "El éxito de la autenticación.";
$l_login2 = "Cierre esta ventana interrumpte la sesion.";
$l_logout = "Conexión de cierre";
$l_logout_question = "Are you sure you want to disconnect now?"; //à traduire
$l_loggedout = "Su sesión se cierra";
$l_wait = "Por favor, espere un momento ...";
$l_state_label = "State"; //à traduire
$l_session_id_label = "Session ID"; //à traduire
$l_max_session_time_label = "Max Session Time"; //à traduire
$l_max_idle_time_label = "Max Idle Time"; //à traduire
$l_start_time_label = "Start Time"; //à traduire
$l_session_time_label = "Tiempo de conexión";
$l_idle_time_label = "Idle Time"; //à traduire
$l_downloaded_label = "Downloaded"; //à traduire
$l_uploaded_label = "Uploaded"; //à traduire
$l_original_url_label = "Original URL"; //à traduire
$l_not_available = "Not available"; //à traduire
$l_na = "N/A"; //à traduire
$l_error = "error"; //à traduire
$l_welcome = "Welcome"; //à traduire
$l_conn_history = "$nb_connection_history last connections"; //à traduire
}
else if($Language == 'de'){
$l_login1 = "Erfolgreiche Authentifizierung.";
$l_login2 = "Schlißen dieses fensters unterbricht die sitzung";
$l_logout = "Beenden der Verbindung";
$l_logout_question = "Are you sure you want to disconnect now?"; //à traduire
$l_loggedout = "Ihre Sitzung ist geschlossen";
$l_wait = "Bitte warten Sie einen Moment ...";
$l_state_label = "State"; //à traduire
$l_session_id_label = "Session ID"; //à traduire
$l_max_session_time_label = "Max Session Time"; //à traduire
$l_max_idle_time_label = "Max Idle Time"; //à traduire
$l_start_time_label = "Start Time"; //à traduire
$l_session_time_label = "Online-zeit";
$l_idle_time_label = "Idle Time"; //à traduire
$l_downloaded_label = "Downloaded"; //à traduire
$l_uploaded_label = "Uploaded"; //à traduire
$l_original_url_label = "Original URL"; //à traduire
$l_not_available = "Not available"; //à traduire
$l_na = "N/A"; //à traduire
$l_error = "error"; //à traduire
$l_welcome = "Welcome"; //à traduire
$l_conn_history = "$nb_connection_history last connections"; //à traduire
}
else if($Language == 'nl'){
$l_login1 = "Succesvolle authenticatie.";
$l_login2 = "Dit venster te sluiten onderbreekt uw sessie.";
$l_logout = "Slotkoers verbinding";
$l_logout_question = "Are you sure you want to disconnect now?"; //à traduire
$l_loggedout = "Uw sessie is gesloten";
$l_wait = "Wacht een moment ...";
$l_state_label = "State"; //à traduire
$l_session_id_label = "Session ID"; //à traduire
$l_max_session_time_label = "Max Session Time"; //à traduire
$l_max_idle_time_label = "Max Idle Time"; //à traduire
$l_start_time_label = "Start Time"; //à traduire
$l_session_time_label = "Online tijd";
$l_idle_time_label = "Idle Time"; //à traduire
$l_downloaded_label = "Downloaded"; //à traduire
$l_uploaded_label = "Uploaded"; //à traduire
$l_original_url_label = "Original URL"; //à traduire
$l_not_available = "Not available"; //à traduire
$l_na = "N/A"; //à traduire
$l_error = "error"; //à traduire
$l_welcome = "Welcome"; //à traduire
$l_conn_history = "$nb_connection_history last connections"; //à traduire
}
else if($Language == 'fr'){
$l_login1 = "Authentification réussie.";
$l_login2 = "La fermeture de cette fenêtre interrompt votre session.";
$l_logout = "Fermeture de la session";
$l_logout_question = "Etes vous sûr de vouloir vous déconnecter?";
$l_loggedout = "Votre session est fermée";
$l_wait = "Patientez un instant ....";
$l_state_label = "Etat";
$l_session_id_label = "Session ID";
$l_max_session_time_label = "Temps de connexion autorisé";
$l_max_idle_time_label = "Inactivité max. autorisée";
$l_start_time_label = "Début de connexion";
$l_session_time_label = "Durée de connexion";
$l_idle_time_label = "Inactivité";
$l_downloaded_label = "Données téléchargées";
$l_uploaded_label = "Données envoyées";
$l_original_url_label = "URL demandée";
$l_not_available = "Non disponible";
$l_na = "N/D"; //à traduire
$l_error = "erreur";
$l_welcome = "Bienvenue";
$l_conn_history = "$nb_connection_history dernières connexions";
}
else {
$l_login1 = "Successful authentication.";
$l_login2 = "Closing this window interrupts your session.";
$l_logout = "Closing connection";
$l_logout_question = "Are you sure you want to disconnect now?";
$l_loggedout = "Your session is closed";
$l_wait = "Please wait a moment ...";
$l_state_label = "State";
$l_session_id_label = "Session ID";
$l_max_session_time_label = "Max Session Time";
$l_max_idle_time_label = "Max Idle Time";
$l_start_time_label = "Start Time";
$l_session_time_label = "Session Time";
$l_idle_time_label = "Idle Time";
$l_downloaded_label = "Downloaded";
$l_uploaded_label = "Uploaded";
$l_original_url_label = "Original URL";
$l_not_available = "Not available";
$l_na = "N/A";
$l_error = "error";
$l_welcome = "Welcome";
$l_conn_history = "$nb_connection_history last connections";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="fr">
<!-- written by steweb57 -->
<head>
<title>Alcasar - <?php echo $organisme; ?></title>
<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="./js/ChilliLibrary.js"></script>
<script type="text/javascript" src="./js/statusControler.js"></script>
<link type="text/css" href="./css/status.css" rel="stylesheet">
</head>
<body>
<div id="Chilli">
<div id="locationName"></div>
<div id="chilliPage">
<div id="loggedOutPage" class="c1">
<table id="disconnectTable">
<tr>
<td><img height="150" src="./images/logo-alcasar.png" alt="logo"></td>
<td>
<p class="text_auth"><?php echo $l_loggedout; ?></p>
</td>
</tr>
</table>
</div>
<div id="statusPage" class="c1">
<table border="0" id="statusTable">
<tr>
<td rowspan="2" valign="top"><img height="150" src="./images/logo-alcasar.png" alt="logo"></td>
<td>
<p class="text_auth"><?php echo $l_welcome; ?> <span id="userName"></span>.</p>
<p class="text_auth"><?php echo $l_login1; ?></p>
<hr>
<?php echo $l_login2; ?></td>
</tr>
<tr>
<td align="center"><br>
<a href="#" onclick="return logoutWithConfirmation('<?php echo $l_logout_question;?>');" class="lien_deco"><?php echo $l_logout; ?></a><br>
<br></td>
</tr>
<!--tr id="connectRow">
<td id="statusMessageLabel" class="chilliLabel"><strong><?php echo $l_state_label; ?></strong></td>
<td id="statusMessage" class="chilliValue">Connected</td>
</tr-->
<!--tr id="sessionIdRow">
<td id="sessionIdLabel" class="chilliLabel"><strong><?php echo $l_session_id_label; ?></strong></td>
<td id="sessionId" class="chilliValue"><?php echo $l_not_available; ?></td>
</tr-->
<tr id="sessionTimeoutRow">
<td id="sessionTimeoutLabel" class="chilliLabel"><strong><?php echo $l_max_session_time_label; ?></strong></td>
<td id="sessionTimeout" class="chilliValue"><?php echo $l_not_available; ?></td>
</tr>
<tr id="idleTimeoutRow">
<td id="idleTimeoutLabel" class="chilliLabel"><strong><?php echo $l_max_idle_time_label; ?></strong></td>
<td id="idleTimeout" class="chilliValue"><?php echo $l_not_available; ?></td>
</tr>
<tr id="startTimeRow">
<td id="startTimeLabel" class="chilliLabel"><strong><?php echo $l_start_time_label; ?></strong></td>
<td id="startTime" class="chilliValue"><?php echo $l_not_available; ?></td>
</tr>
<tr id="sessionTimeRow">
<td id="sessionTimeLabel" class="chilliLabel"><strong><?php echo $l_session_time_label; ?></strong></td>
<td id="sessionTime" class="chilliValue"><?php echo $l_not_available; ?></td>
</tr>
<tr id="idleTimeRow">
<td id="idleTimeLabel" class="chilliLabel"><strong><?php echo $l_idle_time_label; ?></strong></td>
<td id="idleTime" class="chilliValue"><?php echo $l_not_available; ?></td>
</tr>
<tr id="inputOctetsRow">
<td id="inputOctetsLabel" class="chilliLabel"><strong><?php echo $l_downloaded_label; ?></strong></td>
<td id="inputOctets" class="chilliValue"><?php echo $l_na; ?></td>
</tr>
<tr id="outputOctetsRow">
<td id="outputOctetsLabel" class="chilliLabel"><strong><?php echo $l_uploaded_label; ?></strong></td>
<td id="outputOctets" class="chilliValue"><?php echo $l_na; ?></td>
</tr>
<!--tr id="originalURLRow">
<td id="originalURLLabel" class="chilliLabel"><strong><?php echo $l_original_url_label; ?></strong></td>
<td id="originalURL" class="chilliValue"><?php echo $l_na; ?></td>
</tr-->
<tr id="conHistoryRow">
<td id="conHistoryLabel" class="chilliLabel"><strong><?php echo $l_conn_history; ?></strong></td>
<td id="conHistory" class="chilliValue"><?php echo $connection_history; ?></td>
</tr>
</table>
</div>
<div id="waitPage">
<table id="waitTable">
<tr>
<td><img height="150" src="./images/logo-alcasar.png" alt="logo"></td>
<td>
<p class="text_auth"><img src="./images/wait.gif" width="16" height="16" class="wait" alt="<?php echo $l_wait; ?>"><?php echo $l_wait; ?></p>
</td>
</tr>
</table>
</div>
<div id="errorPage">
<table id="errorTable">
<tr>
<td><img height="150" src="./images/logo-alcasar.png" alt="logo"></td>
<td><span id="errorMessage"><?php echo $l_error; ?></span></td>
</tr>
</table>
</div>
</div>
<!--div id="debugPage" style="display:inline;">
<textarea id="debugarea" rows="20" cols="60">
</textarea>
</div--></div>
</body>
</html>