summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole
diff options
context:
space:
mode:
authorRamón M. Gómez <ramongomez@us.es>2020-01-09 13:50:09 +0100
committerRamón M. Gómez <ramongomez@us.es>2020-01-09 13:50:09 +0100
commit22391cf8091ccaa1a2f9fe08ebe64647d5459a4c (patch)
tree61c2548986ee77c713cc8ce57bc59fc6b9c440aa /admin/WebConsole
parent25318fb013a332cf29994784b4631bcaa00e525a (diff)
#949: Add session info to the computer properties form.
Diffstat (limited to 'admin/WebConsole')
-rw-r--r--admin/WebConsole/idiomas/php/cat/configuraciones_cat.php10
-rw-r--r--admin/WebConsole/idiomas/php/eng/configuraciones_eng.php8
-rw-r--r--admin/WebConsole/idiomas/php/esp/configuraciones_esp.php10
-rw-r--r--admin/WebConsole/principal/configuraciones.php115
4 files changed, 128 insertions, 15 deletions
diff --git a/admin/WebConsole/idiomas/php/cat/configuraciones_cat.php b/admin/WebConsole/idiomas/php/cat/configuraciones_cat.php
index 6eaf723a..9c9cb33f 100644
--- a/admin/WebConsole/idiomas/php/cat/configuraciones_cat.php
+++ b/admin/WebConsole/idiomas/php/cat/configuraciones_cat.php
@@ -1,8 +1,8 @@
<?php
//____________________________________________________
//
-// Fitxer d'idiomes php: configuraciones_cat.php
-// Idioma: Català
+// Fitxer d'idiomes php: configuraciones_cat.php
+// Idioma: Català
//____________________________________________________
if (empty ($TbMsg)) $TbMsg=array();
$TbMsg[0]='Configuracions';
@@ -61,4 +61,10 @@ $TbMsg[45]='Afegeixi Perfil per obtenir dades';
$TbMsg[495]='Data/Caché';
$TbMsg[4951]='Caché lliure';
+$TbMsg["SECT_SESSIONS"]='Sesiones';
+$TbMsg["SESS_DATETIME"]='Fecha y Hora';
+$TbMsg["SESS_OPERATION"]='Operaci&oacute;n';
+$TbMsg["SESS_OPSYS"]='Sistema Operativo';
+$TbMsg["SESS_USER"]='Usuario';
+$TbMsg["SESS_NOSESSIONS"]='No hay sesiones registradas.';
diff --git a/admin/WebConsole/idiomas/php/eng/configuraciones_eng.php b/admin/WebConsole/idiomas/php/eng/configuraciones_eng.php
index bd821959..f896603a 100644
--- a/admin/WebConsole/idiomas/php/eng/configuraciones_eng.php
+++ b/admin/WebConsole/idiomas/php/eng/configuraciones_eng.php
@@ -60,3 +60,11 @@ $TbMsg[44]='Host without hardware profile';
$TbMsg[45]='Add Profile to obtain data';
$TbMsg[495]='Cache data';
$TbMsg[4951]='Free cache';
+
+$TbMsg["SECT_SESSIONS"]='Sessions';
+$TbMsg["SESS_DATETIME"]='Date and Time';
+$TbMsg["SESS_OPERATION"]='Operation';
+$TbMsg["SESS_OPSYS"]='Operating System';
+$TbMsg["SESS_USER"]='User';
+$TbMsg["SESS_NOSESSIONS"]='No sessions logged.';
+
diff --git a/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php b/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php
index ac830a8d..cce9ceed 100644
--- a/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php
+++ b/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php
@@ -1,7 +1,7 @@
<?php
//______________________________________________________
//
-// Fichero de idiomas php: configuraciones_esp.php
+// Fichero de idiomas php: configuraciones_esp.php
// Idioma: Español
//______________________________________________________
if (empty ($TbMsg)) $TbMsg=array();
@@ -43,7 +43,7 @@ $TbMsg[29]='Desconocido';
$TbMsg[30]='Sistema de Ficheros';
$TbMsg[31]='Nombre del S.O.';
$TbMsg[32]='Tama&ntilde;o de partici&oacute;n';
-$TbMsg[33]='Nombre de la Imagen ';
+$TbMsg[33]='Nombre de la Imagen';
$TbMsg[34]='Perfil software';
$TbMsg[35]='Disco';
$TbMsg[36]='Particiones Primarias';
@@ -61,4 +61,10 @@ $TbMsg[45]='Agregue perfil para obtener datos';
$TbMsg[495]='Fecha/Cach&eacute;';
$TbMsg[4951]='Cach&eacute; libre';
+$TbMsg["SECT_SESSIONS"]='Sesiones';
+$TbMsg["SESS_DATETIME"]='Fecha y Hora';
+$TbMsg["SESS_OPERATION"]='Operaci&oacute;n';
+$TbMsg["SESS_OPSYS"]='Sistema Operativo';
+$TbMsg["SESS_USER"]='Usuario';
+$TbMsg["SESS_NOSESSIONS"]='No hay sesiones registradas.';
diff --git a/admin/WebConsole/principal/configuraciones.php b/admin/WebConsole/principal/configuraciones.php
index 39093914..19ecff7d 100644
--- a/admin/WebConsole/principal/configuraciones.php
+++ b/admin/WebConsole/principal/configuraciones.php
@@ -16,6 +16,8 @@ include_once("../includes/constantes.php");
include_once("../idiomas/php/".$idioma."/configuraciones_".$idioma.".php");
include_once("../includes/ConfiguracionesParticiones.php");
+define("LOG_FILE", "/opt/opengnsys/log/ogagent.log");
+
//________________________________________________________________________________________________________
//
// Captura parámetros
@@ -53,13 +55,13 @@ if (!$cmd)
Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
//________________________________________________________________________________________________________
?>
-<HTML>
-<TITLE>Administración web de aulas</TITLE>
-<HEAD>
- <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<LINK rel="stylesheet" type="text/css" href="../estilos.css">
-</HEAD>
-<BODY>
+<html lang="es">
+<head>
+ <title>Administración web de aulas</title>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<link rel="stylesheet" type="text/css" href="../estilos.css">
+</head>
+<body>
<?php
switch($ambito){
case $AMBITO_AULAS :
@@ -137,10 +139,13 @@ if (!$cmd)
<?php
}
$sws=$fk_sysFi | $fk_nombreSO | $fk_tamano | $fk_imagen | $fk_perfil | $fk_cache;
- pintaConfiguraciones($cmd,$idambito,$ambito,9,$sws,false);
+ pintaConfiguraciones($cmd,$idambito,$ambito,9,$sws,false);
+ if ($ambito == $AMBITO_ORDENADORES) {
+ datos_sesiones($cmd, $idambito);
+ }
?>
-</BODY>
-</HTML>
+</body>
+</html>
<?php
//________________________________________________________________________________________________________
@@ -329,5 +334,93 @@ function datosGruposOrdenadores($cmd,$idgrupo)
</TABLE>
<?php
}
-?>
+
+/**
+ * @param object $cmd
+ * @param int $idordenador
+ */
+function datos_sesiones($cmd, $idordenador)
+{
+ global $TbMsg;
+ $os_color = ['Windows' => "blue", 'Linux' => "magenta", 'MacOS' => "orange"];
+ $html = "";
+ $ip = "";
+
+ $cmd->texto = "SELECT ip FROM ordenadores WHERE idordenador = $idordenador";
+ $rs = new Recordset;
+ $rs->Comando=&$cmd;
+ if ($rs->Abrir()){
+ $rs->Primero();
+ $ip = $rs->campos["ip"];
+ $rs->Cerrar();
+ }
+ if ($ip) {
+ foreach (file(LOG_FILE) as $line) {
+ if (strstr($line, "ip=$ip")) {
+ $fields = preg_split("/[:,=]/", rtrim($line, ". \t\n\r\0\x0B"));
+ $date_time = str_replace("T", " ", $fields[0]) . ":" . $fields[1] . ":" .
+ preg_replace("/\+.*$/", "", $fields[2]);
+ $operation = trim($fields[3]);
+ $username = $os_type = $os_version = "";
+ switch ($operation) {
+ case "OGAgent started":
+ $operation = "Iniciar";
+ $os_type = $fields[14] ?? "";
+ $os_version = trim($fields[15] ?? "");
+ break;
+ case "OGAgent stopped":
+ $operation = "Apagar";
+ $os_type = $fields[14] ?? "";
+ $os_version = trim($fields[15] ?? "");
+ break;
+ case "User logged in":
+ $operation = "Entrar";
+ $username = $fields[7] ?? "";
+ $os_type = $fields[11] ?? "";
+ $os_version = trim($fields[12] ?? "");
+ break;
+ case "User logged out":
+ $operation = "Salir";
+ $username = $fields[7] ?? "-";
+ break;
+ default:
+ $operation = "ERROR";
+ }
+ $color = $os_color[$os_type] ?? "";
+ $html .= <<<EOT
+ <tr>
+ <td>$date_time</td>
+ <td>$operation</td>
+ <td style="background-color: $color; color: white;">$os_version</td>
+ <td>$username</td>
+ </tr>
+EOT;
+ }
+ }
+ if (!empty($html)) {
+ echo <<<EOT
+<table class="tabla_datos" style="margin-left: auto; margin-right: auto;">
+ <tr>
+ <th colspan="5">${TbMsg["SECT_SESSIONS"]}</th>
+ </tr>
+ <tr>
+ <th>${TbMsg["SESS_DATETIME"]}</th>
+ <th>${TbMsg["SESS_OPERATION"]}</th>
+ <th>${TbMsg["SESS_OPSYS"]}</th>
+ <th>${TbMsg["SESS_USER"]}</th>
+ </tr>
+$html
+</table>
+EOT;
+ } else {
+ echo <<<EOT
+<table class="tabla_datos" style="margin-left: auto; margin-right: auto;">
+ <tr>
+ <th>${TbMsg["SESS_NOSESSIONS"]}</th>
+ </tr>
+</table>
+EOT;
+ }
+ }
+}