From eae83a7e4e02df9d58e7307d3977e0b717472670 Mon Sep 17 00:00:00 2001 From: "Ramón M. Gómez" Date: Fri, 13 Dec 2019 12:34:44 +0100 Subject: #944: Show the lab. grid. --- admin/WebConsole/principal/aula.php | 111 ++++++++++++++++++++++++++---------- 1 file changed, 80 insertions(+), 31 deletions(-) (limited to 'admin/WebConsole/principal') diff --git a/admin/WebConsole/principal/aula.php b/admin/WebConsole/principal/aula.php index 05f38a4d..47809398 100644 --- a/admin/WebConsole/principal/aula.php +++ b/admin/WebConsole/principal/aula.php @@ -32,10 +32,13 @@ if (isset($_GET["nombreambito"])) $nombreambito=$_GET["nombreambito"]; $Midordenador= Array(); $Mnombreordenador= Array(); $MimgOrdenador=Array(); +$Mrow=[]; +$Mcol=[]; $Mip= Array(); $Mmac= Array(); +$map=[]; // Mapa del aula $k=0; // Indice de la Matriz - + $cadenaip=""; $idaula=0; $nombreaula=""; @@ -187,7 +190,7 @@ function RecorreAulas($cmd){ $idaula=$rs->campos["idaula"]; $nombreaula=$rs->campos["nombreaula"]; $idordprofesor=(isset($rs->campos["idordprofesor"]) ? $rs->campos["idordprofesor"] : 0); - $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE idaula=".$idaula; + $cmd->texto="SELECT idordenador,nombreordenador,n_row,n_col,ip,mac FROM ordenadores WHERE idaula=".$idaula; $k=0; $cadenaip=""; RecorreOrdenadores($cmd); @@ -206,7 +209,7 @@ while (!$rs->EOF){ $idgrupo=$rs->campos["idgrupo"]; $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposOrdenadores WHERE grupoid=".$idgrupo." ORDER BY nombregrupoordenador"; RecorreGruposOrdenadores($cmd); - $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE grupoid=".$idgrupo; + $cmd->texto="SELECT idordenador,nombreordenador,n_row,n_col,ip,mac FROM ordenadores WHERE grupoid=".$idgrupo; RecorreOrdenadores($cmd); $rs->Siguiente(); } @@ -217,23 +220,36 @@ function RecorreOrdenadores($cmd){ global $Midordenador; global $Mnombreordenador; global $MimgOrdenador; + global $Mrow; + global $Mcol; global $Mip; global $Mmac; + global $map; // Mapa del aula + global $max_col; // Nº máximo de columnas del aula global $k; // Indice de la Matriz global $cadenaip; - $cmd->texto.= " ORDER BY nombreordenador"; + $cmd->texto.= " ORDER BY n_row, n_col"; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); - + $max_col=0; while (!$rs->EOF){ $idordenador=$rs->campos["idordenador"]; $Midordenador[$k]=$rs->campos["idordenador"]; $Mnombreordenador[$k]=$rs->campos["nombreordenador"]; $MimgOrdenador[$k]="ordenador_OFF.png"; + $Mrow[$k]=$rs->campos["n_row"]; + $Mcol[$k]=$rs->campos["n_col"]; + // Calcula nº máximo de columnas para pintar el aula (-1, modo antiguo) + if ($max_col === -1 or $Mrow[$k] === 0 or $Mcol[$k] === 0 or isset($map[$Mrow[$k]][$Mcol[$k]])) { + $max_col = -1; + } else { + $max_col = max($max_col, $Mcol[$k]); + $map[$Mrow[$k]][$Mcol[$k]]=$k; + } $Mip[$k]=$rs->campos["ip"]; $Mmac[$k]=$rs->campos["mac"]; $cadenaip.=$rs->campos["ip"].";"; @@ -252,6 +268,8 @@ function pintaordenadores(){ global $Midordenador; global $Mnombreordenador; global $MimgOrdenador; + global $Mrow; + global $Mcol; global $Mip; global $Mmac; global $k; // Indice de la Matriz @@ -261,6 +279,8 @@ function pintaordenadores(){ global $idordprofesor; global $servidorhidra,$hidraport; global $TbMsg; + global $map; + global $max_col; $ntr=0; // Numero de ordenadores por fila if ($nombreaula!=""){ @@ -268,35 +288,64 @@ function pintaordenadores(){ echo '

  '.$TbMsg[23].'
'.$nombreaula.'

'; } - echo ''; - for($i=0;$i<$k;$i++){ // Vuelve a recorrer los datos de ordenadores para crear HTML - $ntr++; - echo ''; - if ($ntr>4){ - $ntr=0; - echo ''; + for($i=0;$i<$k;$i++){ // Vuelve a recorrer los datos de ordenadores para crear HTML + $ntr++; + echo ''; + if ($ntr>4){ + $ntr=0; + echo ''; + } + } + } else { + foreach ($map as $i => $tmp) { + echo ""; + for ($j=1; $j<=$max_col; $j++) { + echo ''; + } } } - echo '
'; - echo ''; - echo ''; - echo ' '; - echo ''; + echo '
'; - echo ' '; - echo '
'; + if ($max_col === -1) { // Modo antiguo echo ''; - echo ''; - echo ''; - echo '
'; - echo ' '.$Mnombreordenador[$i].($Midordenador[$i]==$idordprofesor?' *':'').''; - echo '
'; - echo ' '; - echo ' '.$Mip[$i].''; - echo '
'; - echo ' '.$Mmac[$i].''; - echo '
'; - echo '
'; + echo ''; + echo ''; + echo ' '; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
'; + echo ' '; + echo '
'; + echo ' '.$Mnombreordenador[$i].($Midordenador[$i]==$idordprofesor?' *':'').''; + echo '
'; + echo ' '; + echo ' '.$Mip[$i].''; + echo '
'; + echo ' '.$Mmac[$i].''; + echo '
'; + echo '
'; + echo ''; + echo ''; + echo ' '; + echo ''; + echo '
'; + if (isset($map[$i][$j])) { + $n=$map[$i][$j]; + echo '
'; + echo ' '; + echo '
'; + echo ' '.$Mnombreordenador[$n].($Midordenador[$n]==$idordprofesor?' *':'').''; + echo '
'; + echo ' '; + echo ' '.$Mip[$n].''; + echo '
'; + echo ' '.$Mmac[$n].''; + } + echo '
'; + echo '
'; + echo ''; echo '

'; echo ''; echo ' '; -- cgit v1.2.3-18-g5258