diff options
Diffstat (limited to 'admin/WebConsole')
45 files changed, 2168 insertions, 69 deletions
diff --git a/admin/WebConsole/asistentes/jscripts/asistentes.js b/admin/WebConsole/asistentes/jscripts/asistentes.js index b26eef01..ccfcd0cc 100644 --- a/admin/WebConsole/asistentes/jscripts/asistentes.js +++ b/admin/WebConsole/asistentes/jscripts/asistentes.js @@ -298,9 +298,13 @@ if [ $EVAL -eq 0 ]; then \n \ ogSetPartitionActive "+n_disk+" 1 \n \ ogEcho log session \"[90] $MSG_HELP_ogListPartitions "+n_disk+"\"\n \ ogUpdatePartitionTable "+n_disk+" \n \ - ms-sys /dev/sda | grep unknow && ms-sys /dev/sda \n \ + ogGetBootMbr "+n_disk+" | grep unknow && ogBootMbrGeneric "+n_disk+" \n \ ogExecAndLog command session log ogListPartitions "+n_disk+" \n\ "+ swapCode +"\ + if ogFindCache &>/dev/null; then \n\ + ogMountCache || ogFormatCache \n\ + updateBootCache \n \ + fi \n \ else \n \ ogEcho session log \"[100] ERROR: $MSG_HELP_ogCreatePartitions\" \n \ return $EVAL \n \ @@ -399,8 +403,12 @@ if [ $EVAL -eq 0 ]; then \n \ ogSetPartitionActive "+n_disk+" 1 \n \ ogEcho log session \"[90] $MSG_HELP_ogListPartitions "+n_disk+"\"\n \ ogUpdatePartitionTable "+n_disk+" \n \ - ms-sys /dev/sda | grep unknow && ms-sys /dev/sda \n \ + ogGetBootMbr "+n_disk+" | grep -e unknow -e zeroed && ogBootMbrGeneric "+n_disk+" \n \ ogExecAndLog command session log ogListPartitions "+n_disk+" \n \ + if ogFindCache &>/dev/null; then \n\ + ogMountCache || ogFormatCache \n\ + updateBootCache \n \ + fi \n \ else \n \ ogEcho session log \"[100] ERROR: $MSG_HELP_ogCreatePartitions\" \n \ return $EVAL \n \ diff --git a/admin/WebConsole/comandos/CrearImagen.php b/admin/WebConsole/comandos/CrearImagen.php index 1944872a..fe9412ad 100644 --- a/admin/WebConsole/comandos/CrearImagen.php +++ b/admin/WebConsole/comandos/CrearImagen.php @@ -123,8 +123,8 @@ function HTMLSELECT_imagenes($cmd,$idrepositorio,$idperfilsoft,$disk,$particion, imagenes.idperfilsoft, repositorios.nombrerepositorio, repositorios.ip FROM imagenes INNER JOIN repositorios USING (idrepositorio) WHERE imagenes.tipo=".$IMAGENES_MONOLITICAS." - AND repositorios.idrepositorio IN (SELECT idrepositorio FROM ordenadores WHERE ordenadores.ip='".$masterip."') - OR repositorios.ip='".$masterip."' ORDER BY imagenes.descripcion"; + AND repositorios.idcentro=".$_SESSION["widcentro"]." + ORDER BY imagenes.descripcion"; $rs=new Recordset; $rs->Comando=&$cmd; diff --git a/admin/WebConsole/comandos/MoverordenadoresAulas.php b/admin/WebConsole/comandos/MoverordenadoresAulas.php new file mode 100644 index 00000000..fc2d0020 --- /dev/null +++ b/admin/WebConsole/comandos/MoverordenadoresAulas.php @@ -0,0 +1,233 @@ +<?php +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: Alberto García Padilla (UMA - Universidad de Málaga) +// Fecha Creación: Año 2020 +// Fecha Última modificación: Mayo-2020 +// Nombre del fichero: MoverordenadoresAulas.php +// Descripción : +// Implementación del Reubicador de masivo de ordenadores entre Aulas +// fecha 2020/05/01 +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../includes/HTMLCTESELECT.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/RecopilaIpesMacs.php"); +include_once("../includes/opcionesprotocolos.php"); +include_once("../idiomas/php/".$idioma."/comandos/moverordenadoresAulas_".$idioma.".php"); +//________________________________________________________________________________________________________ +//include_once("./includes/capturaacciones.php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +// +// Captura parámetros +//________________________________________________________________________________________________________ +$ambito=0; +$idambito=0; +$nombreambito=0; +$movordaul=0; +$moverordenadoresAulas=0; +$confmovord="no"; + +if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; +$ambito="4"; +if (isset($_GET["nombreambito"])) $nombreambito=$_GET["nombreambito"]; +if ($_POST["funcion"] == "si"){$confmovord=$_POST["funcion"];} +if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; +if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; +if (isset($_POST["nombreambito"])) $nombreambito=$_POST["nombreambito"]; + + +//________________________________________________________________________________________________________ + +// Buscamos el idcentro +$cmd->texto="SELECT idcentro FROM aulas WHERE idaula=$idambito"; +$rs=new Recordset; +$rs->Comando=&$cmd; +if (!$rs->Abrir()) return(true); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ $idcentro=$rs->campos["idcentro"];} + $rs->Cerrar(); +//________________________________________________________________________________________________________ +// Buscamos el idcentro +$cmd->texto="SELECT netmask FROM aulas WHERE idaula=$idambito"; +$rs=new Recordset; +$rs->Comando=&$cmd; +if (!$rs->Abrir()) return(true); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ $netmaskaulaori=$rs->campos["netmask"];} + $rs->Cerrar(); +//________________________________________________________________________________________________________ +//________________________________________________________________________________________________________ +?> +<HTML> +<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"> +<STYLE TYPE="text/css"></STYLE> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + +<script type="text/javascript"> + +function aceptar() {document.fdatos.submit();} +function comprobaridaula(){ alert( "<?php echo $TbMsg[4]?>" );} +function comprobarord(){ alert( "<?php echo $TbMsg[5]?>" );} +function actualiza_frame_principal(){ + window.parent.frames[2].location="../nada.php" + window.parent.frames[1].location="../principal/aulas.php" +} +function comprobarnetmask(){ + alert( "<?php echo $TbMsg[6]?>" ); +} + +</script> +</HEAD> +<BODY> +<?php + //________________________________________________________________________________________________________ + echo '<BR>'; + echo '<p align=center><span class=cabeceras>'.$TbMsg[0].' </span><br>'; + //________________________________________________________________________________________________________ +?> + <FORM action="MoverordenadoresAulas.php" name="fdatos" method="POST"> + <?php + //________________________________________________________________________________________________________ + include_once("./includes/FiltradoAmbitoMovAulas.php"); + //________________________________________________________________________________________________________ + ?> +<?php +// Recorremos todos los checkbox del FiltroAmbito +// ############################################## +// Comprobamos si hay algun equipo seleccionado +for ( $i=0; $i<$num; $i++){ + $idordmov=$_POST["chk-".$i]; + if ( isset($idordmov) ){$sihaysel="si";break;} +} + +//________________________________________________________________________________________________________ + +if ( isset($_POST['select_idaula']) ){ + $selectidaula=$_POST["select_idaula"]; + // Buscamos el idcentro + $cmd->texto="SELECT netmask FROM aulas WHERE idaula=$selectidaula"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(true); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ $netmaskauladest=$rs->campos["netmask"];} + $rs->Cerrar(); + +} + +//________________________________________________________________________________________________________ +if($confmovord == "si" ){ + if ( $netmaskaulaori != $netmaskauladest ){echo "<script>comprobarnetmask();</script>";} + // ###################################### + // Abrimos la conexion a la base de datos + $rsm=new Recordset; + $rsm->Comando=&$cmd; + //_______________________________________ + if (!$rsm->Abrir()) return; // Error al abrir recordset + // Si son las Mismas Aulas salimos + if ( $idambito != $selectidaula ) + { + // Si NO hay equipos seleccionados salimos + if ($sihaysel=="si"){ + $idaulamov=$_POST['select_idaula']; + for ( $i=0; $i<$num; $i++){ + $idordmov=$_POST["chk-".$i]; + if ( isset($idordmov) ){ + ### AGP ###################################################################################### + // ########################################## + // Aqui actualizamos los ordenadores + // ########################################## + $cmd->texto = "UPDATE ordenadores SET idaula=$idaulamov, grupoid=0 WHERE idordenador=$idordmov"; + $resulm=$cmd->Ejecutar(); + ### AGP ###################################################################################### + } + } + }else{echo "<script>comprobarord();</script>";} + }else{ + echo "<script>comprobaridaula();</script>"; + } +$rsm->Cerrar(); +$confmovord="no"; +echo "<script>actualiza_frame_principal();</script>"; +} + +//________________________________________________________________________________________________________ +?> + <INPUT type="hidden" name="idambito" value="<?php echo $idambito?>"> + <INPUT type="hidden" name="ambito" value="<?php echo $ambito?>"> + <INPUT type="hidden" name="cadenaid" value="<?php echo $cadenaid?>"> + <INPUT type="hidden" name="nombreambito" value="<?php echo $nombreambito?>"> + <INPUT type="hidden" name="idcomando" value="<?php echo $idcomando?>"> + <INPUT type="hidden" name="descricomando" value="<?php echo $descricomando?>"> + <INPUT type="hidden" name="gestor" value="<?php echo $gestor;?>"> + <INPUT type="hidden" name="filtro" value="<?php echo $filtro;?>"> + <INPUT type="hidden" name="funcion" value="<?php echo "si";?>"> + <TABLE name=masivo id=masivo align=center border=7 cellPadding=3 cellSpacing=1 class=tabla_listados > + <TR> + <TH align=center> <?php echo $TbMsg[3]?> </TH> + <?php echo '<TD colspan=3>'.HTMLSELECT_aulas($cmd,$idcentro,$idambito).'</TD>'; ?> + </TR> + </TABLE> + + <TABLE align=center> + <TR><TD width=300></TD></TR> + <TR><TD width=300></TD></TR> + <TR><TD width=300></TD></TR> + <TR> + <TH height=20 align="left" colspan=14> + <A href=#><IMG border=0 src="../images/boton_confirmar_<?php echo $idioma ?>.gif" onClick="aceptar();"></A></TD> + </TR> + </TABLE> + </FORM> + +<SCRIPT language="javascript"> + Sondeo(); +</SCRIPT> +</BODY> +</HTML> +<?php +/*________________________________________________________________________________________________________ + Crea la etiqueta html <SELECT> de las Aulas +// Version 0.1 +// UMA - Alberto García Padilla 30-04-2020 +________________________________________________________________________________________________________*/ +/*________________________________________________________________________________________________________ + Crea la etiqueta html <SELECT> de los repositorios +________________________________________________________________________________________________________*/ +function HTMLSELECT_aulas($cmd,$idcentro,$idaula){ + global $idcentro; + $SelectHtml=""; + $rs=new Recordset; + + $cmd->texto="SELECT nombreaula,idaula FROM aulas WHERE idcentro=$idcentro"; + $rs->Comando=&$cmd; + + if (!$rs->Abrir()) return($SelectHtml); // Error al abrir recordset + $SelectHtml.= '<SELECT class="formulariodatos" name="select_idaula" style="WIDTH: 200">'; + $rs->Primero(); + while (!$rs->EOF){ + $SelectHtml.='<OPTION value="'.$rs->campos["idaula"].'"'; + if($rs->campos["idaula"]==$idaula) $SelectHtml.=" selected "; + $SelectHtml.='>'; + $SelectHtml.= $rs->campos["nombreaula"]; + $SelectHtml.='</OPTION>'; + $rs->Siguiente(); + } + $SelectHtml.= '</SELECT>'; + $rs->Cerrar(); + return($SelectHtml); +} +?>
\ No newline at end of file diff --git a/admin/WebConsole/comandos/gestores/gestor_Comandos.php b/admin/WebConsole/comandos/gestores/gestor_Comandos.php index b0780f1f..d7704509 100644 --- a/admin/WebConsole/comandos/gestores/gestor_Comandos.php +++ b/admin/WebConsole/comandos/gestores/gestor_Comandos.php @@ -29,6 +29,7 @@ define('OG_CMD_ID_SOFTWARE', 7); define("OG_CMD_ID_SCRIPT", 8); define('OG_CMD_ID_SESSION', 9); define('OG_CMD_ID_SETUP', 10); +define('OG_CMD_ID_DELETE_CACHED_IMAGE', 11); define('OG_CMD_ID_CREATE_BASIC_IMAGE', 12); define('OG_CMD_ID_RESTORE_BASIC_IMAGE', 13); define('OG_CMD_ID_CREATE_INCREMENTAL_IMAGE', 14); @@ -78,6 +79,7 @@ function run_command($idcomando, $cadenaip, $cadenamac, $atributos) { software($cadenaip, $atributos); break; case OG_CMD_ID_SCRIPT: + case OG_CMD_ID_DELETE_CACHED_IMAGE: shell(3, $cadenaip, $atributos); break; } diff --git a/admin/WebConsole/comandos/includes/FiltradoAmbitoMovAulas.php b/admin/WebConsole/comandos/includes/FiltradoAmbitoMovAulas.php new file mode 100644 index 00000000..37e76afd --- /dev/null +++ b/admin/WebConsole/comandos/includes/FiltradoAmbitoMovAulas.php @@ -0,0 +1,285 @@ +<?php +// ****************************************************************************************************************** +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Año 2012 +// Fecha última modificación: Febrero-2012 +// Nombre del fichero: FiltradoAmbito.php +// Descripción: +// Colección de funciones en php y javascript que implementan la posibilidad de aplicar filtro de selección +// a un determinado grupo de ordenadores dentro de un aula para aplicarles comandos. +// +// ******************************************************************************************************************** +// +include_once("../idiomas/php/".$idioma."/estados_".$idioma.".php"); + +$cadenaip=""; +$cid=0; // Identificadores para tablas de ordenadores + + + $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idaula=".$idambito; + RecorriendoAulas($cmd); + + +echo '<P><INPUT type="hidden" id="cadenaip" value="'.$cadenaip.'"></P>'; +echo '<P><INPUT type="hidden" name="num" value="'.$num.'"></P>'; +//________________________________________________________________________________________________________ +// +//________________________________________________________________________________________________________ +// +//________________________________________________________________________________________________________ +// +function RecorriendoAulas($cmd) +{ + global $TbMsg; + global $netmask; + + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idaula=$rs->campos["idaula"]; + $nombreaula=$rs->campos["nombreaula"]; + $netmask=$rs->campos["netmask"]; + + $urlimg='../images/iconos/aula.gif'; + $ambito=$TbMsg[2]; + echo '<p align=center><IMG src="'.$urlimg.'"> + <span class=subcabeceras><U>'.$ambito.':'.$nombreaula.'</U></span></p>'; + + $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE idaula=".$idaula; + RecorriendoOrdenadores($cmd); + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +// +//____________________________________________________________________________________________________ +// +function RecorriendoOrdenadores($cmd) +{ + global $TbMsg; + global $cadenaip; + global $cid; + global $movordaul; + global $num; + global $cadenaidord; + + $cid++; + $cmd->texto.= " ORDER BY nombreordenador"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + $htmlCode=""; + $con=0; + $num=0; + + $htmlCode.='<BR>'; + $htmlCode.='<TABLE id="tbo-'.$cid.'" border=0 align=center>'; + $htmlCode.='<TR>'; + + while (!$rs->EOF){ + $htmlCode.= '<TD style="border: 1px solid #999999;">'; + $idordenador=$rs->campos["idordenador"]; + $nombreordenador=$rs->campos["nombreordenador"]; + $ip=$rs->campos["ip"]; + $cadenaip.=$ip.";"; + $htmlCode.='<TABLE cellspacing=1 cellpadding=0>'; + $htmlCode.=' <TR><TD align="center"><img sondeo="ordenador_OFF.png" id="img-'.$ip.'" width=24 src="../images/ordenador_OFF.png"></TD></TR>'; + $htmlCode.=' <TR><TD align="center"><SPAN style="FONT-SIZE:9px; COLOR: #4f4f4f;">'.$nombreordenador.'</SPAN></TD></TR>'; + $htmlCode.=' <TR><TD align="center"><SPAN style="FONT-SIZE:8px; COLOR: #4f4f4f;">'.$ip.'</SPAN></TD></TR>'; + $htmlCode.=' <TR><TD align="center"><INPUT type="checkbox" name="chk-'.$num.'" value="'.$idordenador.'"></TD></TR>'; + $htmlCode.=' <TR><TD align="center"><INPUT type="hidden" name="select_num" value="'.$num.'"></TD></TR>'; + $htmlCode.='</TABLE>'; + $htmlCode.='</TD>'; + $con++; + if($con>15){ + $htmlCode.='</TR>'; + $htmlCode.='<TR>'; + $con=0; + } + $num++; + $rs->Siguiente(); + } + $htmlCode.='</TR>'; + $htmlCode.='</TABLE>'; + echo $htmlCode; +} +//______________________________________________________________________________________________________ +// +echo '<SCRIPT language="javascript">'; +echo 'var cid='.$cid.';'; +echo '</SCRIPT>'; +?> +<SCRIPT language="javascript"> +function Sondeo(){ + var ambito=<?php echo $ambito?>; + var idambito=<?php echo $idambito?>; + var wurl="../principal/sondeo.php"; + var prm="ambito="+ambito+"&idambito="+idambito+"&sw=1"; + CallPage(wurl,prm,"retornoSondeo","POST"); + setTimeout("respuestaSondeo();",100); +} +//______________________________________________________________________________________________________ +// +function retornoSondeo(resul) +{ + // No se hace nada +} +//________________________________________________________________________________________________________ +// +function respuestaSondeo(){ + var ambito=<?php echo $ambito?>; + var idambito=<?php echo $idambito?>; + var wurl="../principal/sondeo.php"; + var prm="ambito="+ambito+"&idambito="+idambito+"&sw=2"; + CallPage(wurl,prm,"retornorespuestaSondeo","POST"); + setTimeout("respuestaSondeo();",5000); +} +//______________________________________________________________________________________________________ +// +function retornorespuestaSondeo(resul) +{ + if(resul.length>0){ + var ip=""; // Dirección IP del ordenador + var so=""; // Sistema operativo activo + var objOrd=null; // Objeto ordenador + var imgOrd=""; + var cadena=resul.split(";"); + for (var i=0;i<cadena.length;i++){ + var dual=cadena[i].split("/"); + ip=dual[0].replace(/\n*/,""); + so=dual[1]; + objOrd=document.getElementById("img-"+ip); + if(objOrd){ + imgOrd=soIMG(so); + if(objOrd.getAttribute("sondeo")!=imgOrd){ + objOrd.setAttribute("src", "../images/"+imgOrd); + objOrd.setAttribute("sondeo",imgOrd); + var objChk=document.getElementById("chk-"+ip); + if(objChk) + objChk.checked=true; + } + } + } + } +} +//______________________________________________________________________________________________________ +// +function soIMG(so) +{ + var MimgOrdenador=""; + switch(so){ + case 'INI': + MimgOrdenador="ordenador_INI.png"; // Cliente iniciando + break; + case 'BSY': + MimgOrdenador="ordenador_BSY.png"; // Cliente ocupado + break; + case 'OPG': + MimgOrdenador="ordenador_OPG.png"; // Cliente OpenGnsys + break; + case 'WIN': + case 'WXP': + MimgOrdenador="ordenador_WIN.png"; // Windows + break; + case 'WINS': + MimgOrdenador="ordenador_WINS.png"; // Sesión Windows + break; + case 'LNX': + MimgOrdenador="ordenador_LNX.png"; // Linux + break; + case 'LNXS': + MimgOrdenador="ordenador_LNXS.png"; // Sesión Linux + break; + case 'OSX': + MimgOrdenador="ordenador_OSX.png"; // macOS + break; + default: + MimgOrdenador="ordenador_OFF.png"; // Apagado + break; + } + return(MimgOrdenador); +} +//______________________________________________________________________________________________________ +// +function selector(oSLCT,op,id) +{ + var sw=oSLCT.checked; + var objTB=document.getElementById("tbo-"+id); + + if(objTB){ + var imagenes = objTB.getElementsByTagName('img'); + for(var i=0;i<imagenes.length;i++){ + var ip=imagenes[i].id.split("-")[1]; + var estado=imagenes[i].getAttribute("sondeo"); + var oCHK = document.getElementById('chk-'+ip); // Recupera checkbox + + switch(parseInt(op)){ + case 1: // Apagados + if(estado=="ordenador_OFF.png") + oCHK.checked=sw; + break; + case 2: // Ocupados + if(estado=="ordenador_BSY.png") + oCHK.checked=sw; + break; + case 3: // OpenGnsys + if(estado=="ordenador_OPG.png") + oCHK.checked=sw; + break; + case 4: // Windows + if(estado=="ordenador_WIN.png") + oCHK.checked=sw; + break; + case 5: // Sesión Windows + if(estado=="ordenador_WINS.png") + oCHK.checked=sw; + break; + case 6: // Linux + if(estado=="ordenador_LNX.png") + oCHK.checked=sw; + break; + case 7: // Sesión Linux + if(estado=="ordenador_LNXS.png") + oCHK.checked=sw; + break; + case 8: // macOS + if(estado=="ordenador_OSX.png") + oCHK.checked=sw; + break; + } + } + } +} + +//______________________________________________________________________________________________________ +// +function filtrado() +{ + var ipes=""; + for(var j=1; j<=cid; j++){ + + var objTB=document.getElementById("tbo-"+j); + if(objTB){ + var imagenes = objTB.getElementsByTagName('img'); + for(var i=0;i<imagenes.length;i++){ + var ip=imagenes[i].id.split("-")[1]; + var oCHK = document.getElementById('chk-'+ip); // Recupera checkbox + if(oCHK.checked){ + ipes+=ip+";"; + } + } + } + } + var preipes=document.getElementById("cadenaip").value; + if(preipes!=ipes) + document.fdatosejecucion.filtro.value=ipes; + else + document.fdatosejecucion.filtro.value=""; +} +</SCRIPT> + diff --git a/admin/WebConsole/descargas/README.es.html b/admin/WebConsole/descargas/README.es.html index 3a543735..e7470107 100644 --- a/admin/WebConsole/descargas/README.es.html +++ b/admin/WebConsole/descargas/README.es.html @@ -17,24 +17,35 @@ <h2>Instalar los agentes</h2> +<p>Para descargar el fichero con el agente OGAgent, acceder a la web del servidor OpenGnsys, entrar en la pantalla "Propiedades" de cualquier ordenador y elegir el paquete correspondiente al sistema operativo del cliente en el desplegable de la sección "Descargas disponibles".</p> + <h3>Ubuntu, Debian y derivados:</h3> <ul> <li>Ejecutar los comandos desde una terminal.</li> - <li>Descargar el fichero e instalar el agente con sus dependencias: - <pre> + <li>Instalar el agente con sus dependencias: + <ul> + <li>Para escritorios GNOME: + <pre> sudo apt update - sudo apt install <em>DirectorioDescarga</em>/ogagent_<em>Version</em>_all.deb</pre></li> + sudo apt install <em>DirectorioDescarga</em>/ogagent_<em>Version</em>_all.deb</pre> + </li> + <li>Para escrigorios KDE: + <pre> + sudo apt update + sudo apt install --no-install-recommends <em>DirectorioDescarga</em>/ogagent_<em>Version</em>_all.deb</pre> + </ul> + </li> <li>Configurar el agente: <pre> sudo sed -i "0,/remote=/ s,remote=.*,remote=https://<em>IPServidorOpenGnsys</em>/opengnsys/rest/," /usr/share/OGAgent/cfg/ogagent.cfg</pre></li> <li>Para sistemas con GNOME 3: ejecutar GNOME Tweaks y habilitar la extensión TopIcons Plus.</li> <li>Reiniciar el equipo o ejecutar el servicio <em>(se iniciará automáticamente en el proceso de arranque)</em>: - <pre> sudo service ogagent start</pre></li> + <pre> sudo systemctl start ogagent</pre></li> </ul> <h3>Red Hat, Fedora y derivados (como root):</h3> <ul> <li>Ejecutar los comandos desde una terminal.</li> - <li>Descargar el fichero e instalar el agente con sus dependencias: + <li>Instalar el agente con sus dependencias: <pre> yum install ogagent-<em>Version</em>.noarch.rpm</pre></li> <li>Configurar el agente: <pre> sed -i "0,/remote=/ s,remote=.*,remote=https://<em>IPServidorOpenGnsys</em>/opengnsys/rest/," /usr/share/OGAgent/cfg/ogagent.cfg</pre></li> @@ -47,11 +58,22 @@ <li>Ejecutar GNOME Tweaks y habilitar la extensión TopIcons Plus.</li> </ul> <li>Reiniciar el equipo o ejecutar el servicio <em>(se iniciará automáticamente en el proceso de arranque)</em>: - <pre> service ogagent start</pre></li> + <pre> systemctl start ogagent</pre></li> </ul> <h3>OpenSuSE:</h3> -<p><em>(en preparación)</em></p> +<ul> + <li>Ejecutar los comandos desde una terminal.</li> + <li>Instalar el agente con sus dependencias: + <pre> sudo zypper install -f ogagent-opensuse-<em>Version</em>.noarch.rpm</pre></li> + <li>Configurar el agente: + <pre> sudo sed -i "0,/remote=/ s,remote=.*,remote=https://<em>IPServidorOpenGnsys</em>/opengnsys/rest/," /usr/share/OGAgent/cfg/ogagent.cfg</pre></li> + <li>Para sistemas con GNOME 3: instalar y habilitar la extensión TopIcons Plus.</li> + <li>Puede ser necesario habilitar el acceso al agente en el cortafuegos del sistema: + <pre> sudo firewall-cmd --permanent --add-port=8000/tcp --zone=public; sudo firewall-cmd --reload</pre></li> + <li>Reiniciar el equipo o ejecutar el servicio <em>(se iniciará automáticamente en el proceso de arranque)</em>: + <pre> sudo systemctl start ogagent</pre></li> +</ul> <h3>macOS X:</h3> <ul> @@ -60,7 +82,7 @@ <pre> sudo easy_install pip sudo pip install -U --ignore-installed netifaces requests six</pre></li> - <li>Descargar el fichero e instalar el agente: + <li>Instalar el agente: <pre> sudo installer -pkg OGAgentInstaller-<em>Version</em>.pkg -target /</pre></li> <li>Configurar el agente: <pre> @@ -72,7 +94,7 @@ <h3>Windows (como usuario administrador):</h3> <ul> - <li>Descargar el fichero e instalar el agente ejecutando <code>OGAgentSetup-<em>Version</em>.exe</code></li> + <li>Instalar el agente ejecutando <code>OGAgentSetup-<em>Version</em>.exe</code></li> <li>Seguir las instrucciones del instalador.</li> <li>Editar el fichero de configuación <code>C:\Program Files\OGAgent\cfg\ogagent.cfg</code> (o <code>C:\Archivos de programa\OGAgent\cfg\ogagent.cfg</code>) y modificar el valor de la cláusula <code>remote</code> de la sección <code>[OGAgent]</code> inclyendo la dirección IP del servidor OpenGnsys.</li> <li>Reiniciar el equipo o ejecutar el servicio <em>(se iniciará automáticamente en el proceso de arranque)</em>: @@ -85,7 +107,7 @@ <h2>Actualizar los agentes</h2> -<p>Se recomienda desinstalar el agente OGAgent, reiniciar el equipo e instalar una nueva versión del programa.</p> +<p>Es necesario desinstalar el agente OGAgent, reiniciar el equipo e instalar una nueva versión del programa.</p> </body> </html> diff --git a/admin/WebConsole/gestores/gestor_entidades.php b/admin/WebConsole/gestores/gestor_entidades.php index 7c89d30b..3afe104a 100644 --- a/admin/WebConsole/gestores/gestor_entidades.php +++ b/admin/WebConsole/gestores/gestor_entidades.php @@ -119,7 +119,7 @@ function Gestiona(){ $cmd->CreaParametro("@identidad",$identidad,1); $cmd->CreaParametro("@nombreentidad",$nombreentidad,0); $cmd->CreaParametro("@comentarios",$comentarios,0); - $cmd->CreaParametro("@ogunit",$ogunit,0); + $cmd->CreaParametro("@ogunit",$ogunit,1); switch($opcion){ case $op_alta : diff --git a/admin/WebConsole/idiomas/php/cat/aulas_cat.php b/admin/WebConsole/idiomas/php/cat/aulas_cat.php index 8e5b9dae..da72cb32 100644 --- a/admin/WebConsole/idiomas/php/cat/aulas_cat.php +++ b/admin/WebConsole/idiomas/php/cat/aulas_cat.php @@ -54,7 +54,6 @@ $TbMsg[46]='Identificador àmbit'; $TbMsg[47]='"Log històric"'; $TbMsg[48]='"Log en temps real"'; - $TbMsg[49]='"Sincronización"'; - $TbMsg[50]='"Sincronización 2"'; - - + $TbMsg[49]='"Sincronización"'; + $TbMsg[50]='"Sincronización 2"'; + $TbMsg[51]='"Moure ordinadors d Aula"'; diff --git a/admin/WebConsole/idiomas/php/cat/ayuda_cat.php b/admin/WebConsole/idiomas/php/cat/ayuda_cat.php index ee47be1d..347fea4a 100644 --- a/admin/WebConsole/idiomas/php/cat/ayuda_cat.php +++ b/admin/WebConsole/idiomas/php/cat/ayuda_cat.php @@ -7,6 +7,7 @@ // Mensajes. if (empty ($TbMsg)) $TbMsg=array(); $TbMsg["HELP_TITLE"]='Ayuda'; +$TbMsg["OU_STATS"]='Estadísticas de la Unidad Organizativa'; $TbMsg["MANUAL"]='Manual de usuario'; $TbMsg["API"]='Documentación de la API del Motor de Clonación'; $TbMsg["CFG"]='Configuración de los clientes'; diff --git a/admin/WebConsole/idiomas/php/cat/comandos/ejecutarscripts_cat.php b/admin/WebConsole/idiomas/php/cat/comandos/ejecutarscripts_cat.php index f0035057..4921ef9f 100644 --- a/admin/WebConsole/idiomas/php/cat/comandos/ejecutarscripts_cat.php +++ b/admin/WebConsole/idiomas/php/cat/comandos/ejecutarscripts_cat.php @@ -20,11 +20,10 @@ $TbMsg[12]=' Modo de ejecución* '; $TbMsg[13]='Sistema'; $TbMsg[14]='Usuario'; - $TbMsg[15]="AVISO El modo de ejecución sólo se aplica a los agentes de sistema operativo nuevos: <br>\n + $TbMsg[15]="AVISOS: * El modo usuario sólo es válido si está iniciada la sesión en modo gráfico.<br>\n * El lenguaje del script a enviar debe corresponder al estado de cliente.<br>\n - * Para Windows hay que escapar las contrabarras."; - + * Solo en OGAgent para Windows anterior a 1.1.1b: hay que escapar las contrabarras (\\\\)."; $TbMsg["WDI10"]='Modificar código'; $TbMsg["WDI11"]='Asistent de Desplegament de la imatge'; $TbMsg["WDI12"]='Generar Instrucció OG'; diff --git a/admin/WebConsole/idiomas/php/cat/comandos/moverordenadoresAulas_cat.php b/admin/WebConsole/idiomas/php/cat/comandos/moverordenadoresAulas_cat.php new file mode 100644 index 00000000..c688d855 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/comandos/moverordenadoresAulas_cat.php @@ -0,0 +1,15 @@ +<?php +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: moverordenadoresAulas_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + // Mover Equipos de Aulas + $TbMsg[0]='Moure Equips d Aules'; + $TbMsg[1]=' ¿ Segur que vol moure equips ?'; + $TbMsg[2]='d Aules'; + $TbMsg[3]='Selecciona el d Aules'; + $TbMsg[4]='Ha seleccionat el mateix Aules'; + $TbMsg[5]='Selecciona un ordinador'; + $TbMsg[6]='!!! Atenció !!! Les Aules Seleccionada tenen diferents Màscares de Xarxa'; 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ón'; +$TbMsg["SESS_OPSYS"]='Sistema Operativo'; +$TbMsg["SESS_USER"]='Usuario'; +$TbMsg["SESS_NOSESSIONS"]='No hay sesiones registradas.'; diff --git a/admin/WebConsole/idiomas/php/cat/estadisticas_cat.php b/admin/WebConsole/idiomas/php/cat/estadisticas_cat.php new file mode 100644 index 00000000..2ac726a5 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/estadisticas_cat.php @@ -0,0 +1,28 @@ +<?php +//________________________________________________________ +// +// Fichero de idiomas php: estadisticas_cat.php +// Idioma: Català +//________________________________________________________ +if (empty($TbMsg)) $TbMsg = []; +$TbMsg += [ + "TITLE_STATS" => 'Estadísticas de la Unidad Organizativa', + "LABEL_LABS" => 'Aulas definidas', + "LABEL_HASPROF" => 'Aulas con ordenador de profesor', + "LABEL_REMOTELAB" => 'Aulas con acceso remoto habilitado', + "LABEL_CLIENTS" => 'Ordenadores definidos', + "LABEL_HASCONFIG" => 'Ordenadores con configuración guardada', + "LABEL_HASREPO" => 'Ordenadores con repositorio asignado', + "LABEL_HASHARD" => "Ordenadores con perfil de hardware", + "LABEL_HASSERIAL" => 'Ordenadores con número de serie', + "LABEL_REPOS" => 'Repositorios de imágenes definidos', + "LABEL_IMAGES" => 'Imágenes definidas', + "LABEL_MONOIMG" => 'Imágenes monolíticas', + "LABEL_HASSOFT" => 'Imágenes con perfil de software', + "LABEL_REMOTEIMG" => 'Imágenes con acceso remoto habilitado', + "LABEL_OSES" => 'Sistemas operativos distintos', + "LABEL_MENUS" => 'Menús definidos', + "LABEL_PROCS" => 'Procedimientos definidos', + "LABEL_TASKS" => 'Tareas definidas', + "MSG_UNAVAILABLE" => 'Estadísticas no disponibles', + ]; diff --git a/admin/WebConsole/idiomas/php/cat/nada_cat.php b/admin/WebConsole/idiomas/php/cat/nada_cat.php index dd13b722..cfb94f2d 100644 --- a/admin/WebConsole/idiomas/php/cat/nada_cat.php +++ b/admin/WebConsole/idiomas/php/cat/nada_cat.php @@ -32,3 +32,11 @@ $TipOfDay[7]="<b>Curso Online</b><p>Todos los miembros de organizaciones que estén federadas en el Servicio de Identidad de RedIRIS pueden acceder al curso 'Curso Básico de OpenGnsys 1.1.0' en la <a href='https://docencia-net.cv.uma.es' class='help_menu' target='blank'>Plataforma de Formación del Grupo Docencia-Net.</p>"; $TipOfDay[8]="El nuevo agente de OpenGnsys para el sistema operativo permite mandar mensajes a los usuarios y ejecutar comandos sobre el equipo."; $TipOfDay[9]="En la web de OpenGnsys puedes encontrar <a href='https://opengnsys.es/trac/wiki/EjemploPracticos' class='help_menu' target='blank'>ejemplos prácticos y recetas</a>, como por ejemplo la postconfiguración necesario para la activación de Windows con KMS."; + $TipOfDay[10]="OpenGnsys soporta discos Nvme, utilizando el ogLive bionic 5.0."; + $TipOfDay[11]="Para evitar conflictos en la transferencia multicast conviene configurar en cada aula un puerto distinto."; + $TipOfDay[12]="Puede definir la prioridad de ejecución de torrent en <br>/etc/default/opengnsys. Los valores recomendados son: \n". + "<ul>\n". + " <li> 8 para el Servidor de Administración o un Repositorio sin torrent.</li>\n". + " <li> 0 para el Servidor de Administración junto al Repositorio con torrent.</li>\n". + " <li>-8 para el repositorio con torrent.</li>\n". + "</ul>\n<br>\n"; diff --git a/admin/WebConsole/idiomas/php/cat/propiedades_imagenes_cat.php b/admin/WebConsole/idiomas/php/cat/propiedades_imagenes_cat.php index bada5225..4eec6785 100644 --- a/admin/WebConsole/idiomas/php/cat/propiedades_imagenes_cat.php +++ b/admin/WebConsole/idiomas/php/cat/propiedades_imagenes_cat.php @@ -30,6 +30,7 @@ $TbMsg[20]="Fecha de creación"; $TbMsg[21]='"Descripción Nombre fichero-imagen existe : Introduzca otra Descripción"'; $TbMsg[22]="Introduzca otra Descripción"; $TbMsg['PROP_OS']="Sistema operativo"; +$TbMsg['DATA_SIZE']="Tamaño de los datos"; $TbMsg['PROP_REMOTEACCESS']="Acceso remoto"; $TbMsg['COMM_REMOTEACCESS']="permitir gestión de acceso remoto a los ordenadores"; diff --git a/admin/WebConsole/idiomas/php/eng/aulas_eng.php b/admin/WebConsole/idiomas/php/eng/aulas_eng.php index 627c6ac7..e24eeaa7 100644 --- a/admin/WebConsole/idiomas/php/eng/aulas_eng.php +++ b/admin/WebConsole/idiomas/php/eng/aulas_eng.php @@ -56,3 +56,4 @@ $TbMsg[48]='"Real time log"'; $TbMsg[49]='"Synchronization'; $TbMsg[50]='"Synchronization 2'; + $TbMsg[51]='"Moving Classroom Computers'; diff --git a/admin/WebConsole/idiomas/php/eng/ayuda_eng.php b/admin/WebConsole/idiomas/php/eng/ayuda_eng.php index eaf1d084..21d0befa 100644 --- a/admin/WebConsole/idiomas/php/eng/ayuda_eng.php +++ b/admin/WebConsole/idiomas/php/eng/ayuda_eng.php @@ -7,6 +7,7 @@ // Mensajes. if (empty ($TbMsg)) $TbMsg=array(); $TbMsg["HELP_TITLE"]='Help'; +$TbMsg["OU_STATS"]='Statistics of the Organizational Unit'; $TbMsg["MANUAL"]='User Manual'; $TbMsg["API"]='Engine API documentation'; $TbMsg["CFG"]='Client configuration'; diff --git a/admin/WebConsole/idiomas/php/eng/comandos/ejecutarscripts_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/ejecutarscripts_eng.php index fa00a89f..eae397d0 100644 --- a/admin/WebConsole/idiomas/php/eng/comandos/ejecutarscripts_eng.php +++ b/admin/WebConsole/idiomas/php/eng/comandos/ejecutarscripts_eng.php @@ -20,11 +20,10 @@ $TbMsg[12]=' Execution mode * '; $TbMsg[13]='System'; $TbMsg[14]='User'; - $TbMsg[15]="Warning: Execution mode is only applied to new OS agents: <br>\n + $TbMsg[15]="Warning: * User mode is only valid if a graphic mode session is started.<br>\n * Script language to send must correspond with the client status.<br>\n - * For Windows you have to escape backslash."; - + * OGAgent for Windows prior to 1.1.1b only: you must escape backslash (\\\\)."; $TbMsg["WDI10"]='Modify code'; $TbMsg["WDI11"]='Deploy Image Wizard'; $TbMsg["WDI12"]='Generate OG Code'; diff --git a/admin/WebConsole/idiomas/php/eng/comandos/moverordenadoresAulas_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/moverordenadoresAulas_eng.php new file mode 100644 index 00000000..5c23ec6b --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/moverordenadoresAulas_eng.php @@ -0,0 +1,15 @@ +<?php +//________________________________________________________________________________________________________ +// +// Language file php: moverordenadoresAulas_eng.php (Commands) +// Language: English +//________________________________________________________________________________________________________ + $TbMsg=array(); + // Moving Classroom Computers + $TbMsg[0]='Moving Classroom Computers'; + $TbMsg[1]=' ¿ Are you sure you want to move equipment?'; + $TbMsg[2]='Classrooms'; + $TbMsg[3]='Select the Classroom'; + $TbMsg[4]='You have selected the same Classroom'; + $TbMsg[5]='Select a computer'; + $TbMsg[6]='!!! Attention !!! Selected Classrooms have different Netmasks'; 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/eng/estadisticas_eng.php b/admin/WebConsole/idiomas/php/eng/estadisticas_eng.php new file mode 100644 index 00000000..40d71b3c --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/estadisticas_eng.php @@ -0,0 +1,28 @@ +<?php +//________________________________________________________ +// +// Php language file: estadisticas_eng.php +// Language: English +//________________________________________________________ +if (empty($TbMsg)) $TbMsg = []; +$TbMsg += [ + "TITLE_STATS" => 'Statístics of the Organizational Unit', + "LABEL_LABS" => 'Defined labs', + "LABEL_HASPROF" => "Labs with teacher's computer", + "LABEL_REMOTELAB" => 'Labs with remote access enabled', + "LABEL_CLIENTS" => 'Defined computers', + "LABEL_HASCONFIG" => 'Computers with saved configuration', + "LABEL_HASREPO" => 'Computers assigned to a repository', + "LABEL_HASHARD" => "Computers with hardware profile", + "LABEL_HASSERIAL" => 'Computers with serial number', + "LABEL_REPOS" => 'Defined image repositories', + "LABEL_IMAGES" => 'Defined images', + "LABEL_MONOIMG" => 'Imágenes monolíticas', + "LABEL_HASSOFT" => 'Images with software profile', + "LABEL_REMOTEIMG" => 'Images with remote access enabled', + "LABEL_OSES" => 'Different operating systems', + "LABEL_MENUS" => 'Defined menus', + "LABEL_PROCS" => 'Defined procedures', + "LABEL_TASKS" => 'Defined tasks', + "MSG_UNAVAILABLE" => 'Statistics are not available', + ]; diff --git a/admin/WebConsole/idiomas/php/eng/nada_eng.php b/admin/WebConsole/idiomas/php/eng/nada_eng.php index b998688d..7afd9446 100644 --- a/admin/WebConsole/idiomas/php/eng/nada_eng.php +++ b/admin/WebConsole/idiomas/php/eng/nada_eng.php @@ -16,8 +16,8 @@ // Los mensajes pueden tener imágenes asociadas llamadas images/tipOfDay_N.png $TipOfDay=Array(); - $TipOfDay[0]="OpenGnsys client can create and restore images from all repositories in organization unit." - $TipOfDay[1]="OpenGnsys can manage UEFI computers form version 1.1.1 (Espeto)." + $TipOfDay[0]="OpenGnsys client can create and restore images from all repositories in organization unit."; + $TipOfDay[1]="OpenGnsys can manage UEFI computers form version 1.1.1 (Espeto)."; $TipOfDay[2]="<a href='https://opengnsys.es' class='help_menu' target='blank'>New OpenGnsys website</a> aimed at the user, where you will easily find: \n". "<ul>\n". " <li>Download OpenGnsys last version.</li>\n". @@ -27,8 +27,16 @@ "</ul>\n<br>\n"; $TipOfDay[3]="OpenGnsys allows users to install several ogLive, being able to select on each computer the one that best recognizes your hardware."; $TipOfDay[4]="OpenGnsys allows independent hosting of images from different organizational units within the same repository."; - $TipOfDay[5]="For facilitate OpenGnsys migration, there are scripts to export and import data." + $TipOfDay[5]="For facilitate OpenGnsys migration, there are scripts to export and import data."; $TipOfDay[6]="RemotePC combines OpenGnsys with UDS to offer remote access to classroom computers outside teaching hours."; $TipOfDay[7]="<b>Course Online</b><p>All members of organizations that are federated in the RedIRIS Identity Service can access the course 'OpenGnsys Basic Course 1.1.0' in the <a href='https://docencia-net.cv.uma.es' class='help_menu' target='blank'>Training Platform of the Docencia-Net group.</p>"; - $TipOfDay[8]="The new OpenGnsys agent for the operating system allows users to send messages and execute commands on the computer." + $TipOfDay[8]="The new OpenGnsys agent for the operating system allows users to send messages and execute commands on the computer."; $TipOfDay[9]="On the OpenGnsys web project you can find <a href='https://opengnsys.es/trac/wiki/EjemploPracticos' class='help_menu' target='blank'>practical examples and recipes</a>, such as the postconfiguration required for Windows activation with KMS."; + $TipOfDay[10]="OpenGnsys support Nvme disks, you must use ogLive bionic 5.0."; + $TipOfDay[11]="To avoid multicast transfer conflicts, it is necessary to configure different multicast ports in the properties of each class."; + $TipOfDay[12]="You can define nice priority to seed torrent files in <br> /etc/default/opengnsys. The recommended values are:\n". + "<ul>\n". + " <li> 8 for Admin Server or Repo without Torrent.</li>\n". + " <li> 0 for Admin Server and Repo with Torrent.</li>\n". + " <li>-8 for Repo with Torrent.</li>\n". + "</ul>\n<br>\n"; diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_imagenes_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_imagenes_eng.php index ad76aa91..586a9dac 100644 --- a/admin/WebConsole/idiomas/php/eng/propiedades_imagenes_eng.php +++ b/admin/WebConsole/idiomas/php/eng/propiedades_imagenes_eng.php @@ -30,5 +30,6 @@ $TbMsg[20]="Creation date"; $TbMsg[21]='"Description Image file name exists: Enter another Description"'; $TbMsg[22]="Enter another Description"; $TbMsg['PROP_OS']="Operating system"; +$TbMsg['DATA_SIZE']="Data size"; $TbMsg['PROP_REMOTEACCESS']="Remote access"; $TbMsg['COMM_REMOTEACCESS']="allow remote access management to computers"; diff --git a/admin/WebConsole/idiomas/php/esp/aulas_esp.php b/admin/WebConsole/idiomas/php/esp/aulas_esp.php index 0afef7c1..3c725bcc 100644 --- a/admin/WebConsole/idiomas/php/esp/aulas_esp.php +++ b/admin/WebConsole/idiomas/php/esp/aulas_esp.php @@ -56,5 +56,4 @@ $TbMsg[48]='"Log en tiempo real"'; $TbMsg[49]='"Sincronización"'; $TbMsg[50]='"Sincronización 2"'; - - + $TbMsg[51]='"Mover ordenadores de Aula"'; diff --git a/admin/WebConsole/idiomas/php/esp/ayuda_esp.php b/admin/WebConsole/idiomas/php/esp/ayuda_esp.php index bd211813..8dee4f04 100644 --- a/admin/WebConsole/idiomas/php/esp/ayuda_esp.php +++ b/admin/WebConsole/idiomas/php/esp/ayuda_esp.php @@ -7,6 +7,7 @@ // Mensajes. if (empty ($TbMsg)) $TbMsg=array(); $TbMsg["HELP_TITLE"]='Ayuda'; +$TbMsg["OU_STATS"]='Estadísticas de la Unidad Organizativa'; $TbMsg["MANUAL"]='Manual de usuario'; $TbMsg["API"]='Documentación de la API del Motor de Clonación'; $TbMsg["CFG"]='Configuración de los clientes'; diff --git a/admin/WebConsole/idiomas/php/esp/comandos/ejecutarscripts_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/ejecutarscripts_esp.php index ad4db994..2ba9e90b 100644 --- a/admin/WebConsole/idiomas/php/esp/comandos/ejecutarscripts_esp.php +++ b/admin/WebConsole/idiomas/php/esp/comandos/ejecutarscripts_esp.php @@ -20,11 +20,10 @@ $TbMsg[12]=' Modo de ejecución * '; $TbMsg[13]='Sistema'; $TbMsg[14]='Usuario'; - $TbMsg[15]="AVISO El modo de ejecución sólo se aplica a los agentes de sistema operativo nuevos: <br> + $TbMsg[15]="AVISOS: * El modo usuario sólo es válido si está iniciada la sesión en modo gráfico.<br> * El lenguaje del script a enviar debe corresponder al estado de cliente.<br> - * Para Windows hay que escapar las contrabarras."; - + * Solo en OGAgent para Windows anterior a 1.1.1b: hay que escapar las contrabarras (\\\\)."; $TbMsg["WDI10"]='Modificar código'; $TbMsg["WDI11"]='Asistente de Despliegue de la imagen'; $TbMsg["WDI12"]='Generar Instrucción OG'; diff --git a/admin/WebConsole/idiomas/php/esp/comandos/moverordenadoresAulas_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/moverordenadoresAulas_esp.php new file mode 100644 index 00000000..93e43449 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/moverordenadoresAulas_esp.php @@ -0,0 +1,15 @@ +<?php +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: moverordenadoresAulas_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + // Mover Equipos de Aulas + $TbMsg[0]='Mover Equipos de Aulas'; + $TbMsg[1]=' ¿ Esta seguro que quiere mover equipos ?'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Selecciona el Aula'; + $TbMsg[4]='Ha seleccionado el mismo Aula'; + $TbMsg[5]='Selecciona un equipo'; + $TbMsg[6]='!!! Atención !!! Las Aulas Seleccionada tienen diferentes Máscaras de Red'; 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ño de partició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é'; $TbMsg[4951]='Caché libre'; +$TbMsg["SECT_SESSIONS"]='Sesiones'; +$TbMsg["SESS_DATETIME"]='Fecha y Hora'; +$TbMsg["SESS_OPERATION"]='Operación'; +$TbMsg["SESS_OPSYS"]='Sistema Operativo'; +$TbMsg["SESS_USER"]='Usuario'; +$TbMsg["SESS_NOSESSIONS"]='No hay sesiones registradas.'; diff --git a/admin/WebConsole/idiomas/php/esp/estadisticas_esp.php b/admin/WebConsole/idiomas/php/esp/estadisticas_esp.php new file mode 100644 index 00000000..2344f6ba --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/estadisticas_esp.php @@ -0,0 +1,28 @@ +<?php +//________________________________________________________ +// +// Fichero de idiomas php: estadisticas_esp.php +// Idioma: Español +//________________________________________________________ +if (empty($TbMsg)) $TbMsg = []; +$TbMsg += [ + "TITLE_STATS" => 'Estadísticas de la Unidad Organizativa', + "LABEL_LABS" => 'Aulas definidas', + "LABEL_HASPROF" => 'Aulas con ordenador de profesor', + "LABEL_REMOTELAB" => 'Aulas con acceso remoto habilitado', + "LABEL_CLIENTS" => 'Ordenadores definidos', + "LABEL_HASCONFIG" => 'Ordenadores con configuración guardada', + "LABEL_HASREPO" => 'Ordenadores con repositorio asignado', + "LABEL_HASHARD" => "Ordenadores con perfil de hardware", + "LABEL_HASSERIAL" => 'Ordenadores con número de serie', + "LABEL_REPOS" => 'Repositorios de imágenes definidos', + "LABEL_IMAGES" => 'Imágenes definidas', + "LABEL_MONOIMG" => 'Imágenes monolíticas', + "LABEL_HASSOFT" => 'Imágenes con perfil de software', + "LABEL_REMOTEIMG" => 'Imágenes con acceso remoto habilitado', + "LABEL_OSES" => 'Sistemas operativos distintos', + "LABEL_MENUS" => 'Menús definidos', + "LABEL_PROCS" => 'Procedimientos definidos', + "LABEL_TASKS" => 'Tareas definidas', + "MSG_UNAVAILABLE" => 'Estadísticas no disponibles', + ]; diff --git a/admin/WebConsole/idiomas/php/esp/nada_esp.php b/admin/WebConsole/idiomas/php/esp/nada_esp.php index fd77e246..e30817a5 100644 --- a/admin/WebConsole/idiomas/php/esp/nada_esp.php +++ b/admin/WebConsole/idiomas/php/esp/nada_esp.php @@ -32,3 +32,11 @@ $TipOfDay[7]="<b>Curso Online</b><p>Todos los miembros de organizaciones que estén federadas en el Servicio de Identidad de RedIRIS pueden acceder al curso 'Curso Básico de OpenGnsys 1.1.0' en la <a href='https://docencia-net.cv.uma.es' class='help_menu' target='blank'>Plataforma de Formación del Grupo Docencia-Net.</p>"; $TipOfDay[8]="El nuevo agente de OpenGnsys para el sistema operativo permite mandar mensajes a los usuarios y ejecutar comandos sobre el equipo."; $TipOfDay[9]="En la web de OpenGnsys puedes encontrar <a href='https://opengnsys.es/trac/wiki/EjemploPracticos' class='help_menu' target='blank'>ejemplos prácticos y recetas</a>, como por ejemplo la postconfiguración necesario para la activación de Windows con KMS."; + $TipOfDay[10]="OpenGnsys soporta discos Nvme, utilizando el ogLive bionic 5.0."; + $TipOfDay[11]="Para evitar conflictos en la transferencia multicast conviene configurar en cada aula un puerto distinto."; + $TipOfDay[12]="Puede definir la prioridad de ejecución de torrent en <br>/etc/default/opengnsys. Los valores recomendados son: \n". + "<ul>\n". + " <li> 8 para el Servidor de Administración o un Repositorio sin torrent.</li>\n". + " <li> 0 para el Servidor de Administración junto al Repositorio con torrent.</li>\n". + " <li>-8 para el repositorio con torrent.</li>\n". + "</ul>\n<br>\n"; diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_imagenes_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_imagenes_esp.php index b9e4972d..dcd24d06 100644 --- a/admin/WebConsole/idiomas/php/esp/propiedades_imagenes_esp.php +++ b/admin/WebConsole/idiomas/php/esp/propiedades_imagenes_esp.php @@ -30,6 +30,7 @@ $TbMsg[20]="Fecha de creación"; $TbMsg[21]='"Descripción Nombre fichero-imagen existe : Introduzca otra Descripción"'; // JavaScript $TbMsg[22]="Introduzca otra Descripción"; $TbMsg['PROP_OS']="Sistema operativo"; +$TbMsg['DATA_SIZE']="Tamaño de los datos"; $TbMsg['PROP_REMOTEACCESS']="Acceso remoto"; $TbMsg['COMM_REMOTEACCESS']="permitir gestión de acceso remoto a los ordenadores"; diff --git a/admin/WebConsole/images/tipOfDay_10.png b/admin/WebConsole/images/tipOfDay_10.png Binary files differnew file mode 100644 index 00000000..3735f802 --- /dev/null +++ b/admin/WebConsole/images/tipOfDay_10.png diff --git a/admin/WebConsole/images/tipOfDay_11.png b/admin/WebConsole/images/tipOfDay_11.png Binary files differnew file mode 100644 index 00000000..de13ae19 --- /dev/null +++ b/admin/WebConsole/images/tipOfDay_11.png diff --git a/admin/WebConsole/images/tipOfDay_12.png b/admin/WebConsole/images/tipOfDay_12.png Binary files differnew file mode 100644 index 00000000..fb98abe4 --- /dev/null +++ b/admin/WebConsole/images/tipOfDay_12.png diff --git a/admin/WebConsole/includes/comunes.php b/admin/WebConsole/includes/comunes.php index 7f326fd5..f6598c86 100644 --- a/admin/WebConsole/includes/comunes.php +++ b/admin/WebConsole/includes/comunes.php @@ -369,7 +369,7 @@ $selecHtml=HTMLSELECT($cmd,$idcentro,'aulas',$idambito,'idaula','nombreaula',$wdth); break; case $AMBITO_GRUPOSORDENADORES : - $selecHtml=HTMLSELECT($cmd,0,'gruposordenadores',$idambito,'idgrupo ','nombregrupoordenador',$wdth); + $selecHtml=HTMLSELECT($cmd,0,'gruposordenadores',$idambito,'idgrupo','nombregrupoordenador',$wdth); break; case $AMBITO_ORDENADORES : $clsWhere=" idaula IN (SELECT idaula FROM aulas WHERE idcentro=".$idcentro.")"; diff --git a/admin/WebConsole/jscripts/aulas.js b/admin/WebConsole/jscripts/aulas.js index b580c2fc..03489517 100644 --- a/admin/WebConsole/jscripts/aulas.js +++ b/admin/WebConsole/jscripts/aulas.js @@ -372,13 +372,28 @@ function ver_boot(){ } function ver_ubicarordenadores(){ reset_contextual(-1,-1); // Oculta menu contextual + var idcentro; var idambito=currentNodo.toma_identificador(); var litambito=currentNodo.toma_sufijo(); var nombreambito=currentNodo.toma_infonodo(); - //alert(idambito); + if (litambito==="centros"){idcentro=idambito;} + //alert(idcentro); //alert('nombreambito' + nombreambito); //alert('litambito' + litambito); - var whref="ubicarordenadores.php?litambito="+litambito+"&idambito="+idambito+"&nombreambito="+nombreambito; + var whref="ubicarordenadores.php?idcentro="+idcentro+"&litambito="+litambito+"&idambito="+idambito+"&nombreambito="+nombreambito; + window.open(whref,"frame_contenidos") +} +function ver_movordenadoresAulas(){ + reset_contextual(-1,-1); // Oculta menu contextual + var idambito=currentNodo.toma_identificador(); + var litambito=currentNodo.toma_sufijo(); + var nombreambito=currentNodo.toma_infonodo(); + //if (litambito==="centros"){idcentro=idambito;} + //alert(idcentro); + //alert('nombreambito' + nombreambito); + //alert('litambito' + litambito); + //alert('idambito = ' + idambito); + var whref="../comandos/MoverordenadoresAulas.php?litambito="+litambito+"&idambito="+idambito+"&nombreambito="+nombreambito; + //alert(whref); window.open(whref,"frame_contenidos") } - diff --git a/admin/WebConsole/principal/aulas.device.php b/admin/WebConsole/principal/aulas.device.php new file mode 100644 index 00000000..bfc12330 --- /dev/null +++ b/admin/WebConsole/principal/aulas.device.php @@ -0,0 +1,1113 @@ +<?php +// ************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Año 2009-2010 +// Fecha Última modificación: Marzo-2006 +// Nombre del fichero: aulas.php +// Descripción : +// Administra grupos,aulas y ordenadores de un determinado Centro +// **************************************************************************** +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../clases/MenuContextual.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/aulas_".$idioma.".php"); +include_once("../idiomas/php/".$idioma."/comandos/mensajes_".$idioma.".php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idcentro,$nombrecentro); // Crea el arbol XML con todos los datos de aulas del Centro +// Creación del árbol +$baseurlimg="../images/signos"; // Url de las imágenes de signo +$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol +$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault,1,0,5); // Crea el árbol (formato XML) +//________________________________________________________________________________________________________ +?> +<HTML> +<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"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/aulas.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> + <?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/aulas_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY OnContextMenu="return false"> +<FORM name="fcomandos" action="" method="post" target="frame_contenidos"> + <INPUT type="hidden" name="idcomando" value=""> + <INPUT type="hidden" name="descricomando" value=""> + <INPUT type="hidden" name="ambito" value=""> + <INPUT type="hidden" name="idambito" value=""> + <INPUT type="hidden" name="nombreambito" value=""> + <INPUT type="hidden" name="gestor" value=""> + <INPUT type="hidden" name="funcion" value=""> +</FORM> +<?php +//________________________________________________________________________________________________________ +echo $arbol->CreaArbolVistaXML(); // Crea árbol (HTML) a partir del XML +$flotante=new MenuContextual(); // Crea objeto MenuContextual + +// Crea contextual de los Centros y aulas +$XMLcontextual=ContextualXMLCentros(); // Centros +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLGruposAulas(); // Grupos de aulas +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLAulas(); // Aulas +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLUsuarios(); // Operadores +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLGruposOrdenadores(); // Grupos de ordenadores +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLOrdenadores(); // Ordenadores +echo $flotante->CreaMenuContextual($XMLcontextual); + +// Crea contextual de los comandos para los distintos �bitos +$XMLcontextual=ContextualXMLComandos($LITAMBITO_CENTROS,$AMBITO_CENTROS); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLComandos($LITAMBITO_GRUPOSAULAS,$AMBITO_GRUPOSAULAS); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLComandos($LITAMBITO_AULAS,$AMBITO_AULAS); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLComandos($LITAMBITO_GRUPOSORDENADORES,$AMBITO_GRUPOSORDENADORES); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLComandos($LITAMBITO_ORDENADORES,$AMBITO_ORDENADORES); +echo $flotante->CreaMenuContextual($XMLcontextual); + +// Crea contextual de los comandos para los distintos �bitos +$XMLcontextual=ContextualXMLSincronizacion($LITAMBITO_AULAS,$AMBITO_AULAS); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLSincronizacion($LITAMBITO_GRUPOSORDENADORES,$AMBITO_GRUPOSORDENADORES); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLSincronizacion($LITAMBITO_ORDENADORES,$AMBITO_ORDENADORES); +echo $flotante->CreaMenuContextual($XMLcontextual); + + +// Crea submenu contextual de clase de gestion de arranque pxe +$XMLcontextual=ContextualXMLNetBoot(); // Crea submenu contextual de acciones +echo $flotante->CreaMenuContextual($XMLcontextual); + +// Crea submenu contextual de la clase de asistentes. +$XMLcontextual=ContextualXMLAsistentes($LITAMBITO_CENTROS,$AMBITO_CENTROS); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLAsistentes($LITAMBITO_GRUPOSAULAS,$AMBITO_GRUPOSAULAS); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLAsistentes($LITAMBITO_AULAS,$AMBITO_AULAS); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLAsistentes($LITAMBITO_GRUPOSORDENADORES,$AMBITO_GRUPOSORDENADORES); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLAsistentes($LITAMBITO_ORDENADORES,$AMBITO_ORDENADORES); +echo $flotante->CreaMenuContextual($XMLcontextual); + + + +//___________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<?php +// ************************************************************************************************************************************************* +// Devuelve una cadena con formato XML con toda la informaci� de aulas y ordenadores registrados en un Centro concreto +// Parametros: +// - cmd:Una comando ya operativo ( con conexiónabierta) +// - idcentro: El identificador del centro +// - nombrecentro: El nombre del centro +//________________________________________________________________________________________________________ +function CreaArbol($cmd,$idcentro,$nombrecentro){ + global $TbMsg; + global $LITAMBITO_CENTROS; + $cadenaXML='<CENTRO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/centros.gif"'; + $cadenaXML.=' nodoid='.$LITAMBITO_CENTROS."-".$idcentro; + $cadenaXML.=' infonodo="'.$nombrecentro.'"'; + $cadenaXML.=' clicksupnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_CENTROS."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_aulas($cmd,$idcentro,0); + $cadenaXML.='</CENTRO>'; + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_grupos_aulas($cmd,$idcentro,$grupoid){ + global $TbMsg; + global $LITAMBITO_GRUPOSAULAS; + global $LITAMBITO_AULAS; + global $AMBITO_GRUPOSAULAS; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSAULAS." ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSAULAS'; + // Atributos + $cadenaXML.=' clicksupnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_GRUPOSAULAS."'" .');"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSAULAS.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_aulas($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSAULAS>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." order by nombreaula"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<AULA '; + // Atributos + $cadenaXML.=' clicksupnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_AULAS."'" .')"'; + $cadenaXML.=' clicksupnodo="ver_aulas();"'; + $cadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreaula"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_AULAS.'-'.$rs->campos["idaula"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_aulas_ordenadores($cmd,$rs->campos["idaula"],0); + // La siguiente línea está prevista para añadir operatores de aulas. + //$cadenaXML.=SubarbolXML_aulas_operadores($cmd,$rs->campos["idaula"],$cc); + $cadenaXML.='</AULA>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_aulas_operadores($cmd,$idaula,$cont){ + global $TbMsg; + global $LITAMBITO_USUARIOS; + global $cadenaXML; + global $OPERADOR; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idusuario,nombre FROM usuarios WHERE idtipousuario=".$OPERADOR." AND idambito=".$idaula." ORDER by nombre"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + if ($rs->EOF) return(""); + while (!$rs->EOF){ + $cont++; + $cadenaXML.='<USUARIO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/operadores.gif"'; + $cadenaXML.=' clicksupnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_USUARIOS."'" .')"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombre"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_USUARIOS.'-'.$rs->campos["idusuario"]; + $cadenaXML.='></USUARIO>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_aulas_ordenadores($cmd,$idaula,$grupoid){ + global $TbMsg; + global $LITAMBITO_GRUPOSORDENADORES; + global $LITAMBITO_ORDENADORES; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupoordenador,grupoid FROM gruposordenadores WHERE grupoid=".$grupoid." AND idaula=".$idaula." ORDER BY nombregrupoordenador"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSORDENADORES'; + // Atributos + $cadenaXML.=' clicksupnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_GRUPOSORDENADORES."'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupoordenador"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSORDENADORES.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_aulas_ordenadores($cmd,$idaula,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSORDENADORES>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cmd->texto="SELECT idordenador,nombreordenador FROM ordenadores WHERE grupoid=".$grupoid." AND idaula=".$idaula." order by nombreordenador desc"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<ORDENADOR'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/ordenador.gif"'; + $wpages="../propiedades/propiedades_ordenadores.php"; + $wParam="0,0,0,0,'". $wpages."'"; + $cadenaXML.=' clicksupnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_ORDENADORES."'" .')"'; + $cadenaXML.=' clicksupnodo="modificar('.$wParam.')"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreordenador"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_ORDENADORES.'-'.$rs->campos["idordenador"]; + $cadenaXML.='></ORDENADOR>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +// +// Mens Contextuales +//________________________________________________________________________________________________________ +function ContextualXMLCentros(){ + global $TbMsg; + global $AMBITO_CENTROS; + global $AMBITO_AULAS; + global $AMBITO_GRUPOSAULAS; + global $LITAMBITO_GRUPOSAULAS; + global $AMBITO_CENTROS; + global $LITAMBITO_CENTROS; + global $RESERVA_CONFIRMADA; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_CENTROS.'"'; + $layerXML.=' maxanchu=160'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_aulas()"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_acciones()"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSAULAS.',' ."'".$LITAMBITO_GRUPOSAULAS."',1". ')"'; + + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=480; + $wpages="../propiedades/propiedades_aulas.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.',1)"'; + $layerXML.=' imgitem="../images/iconos/aula.gif"'; + $layerXML.=' textoitem='.$TbMsg[3]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="actualizar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/actualizar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="purgar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/purgar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="consola_remota('.$AMBITO_CENTROS.')"'; + $layerXML.=' imgitem="../images/iconos/shell.gif"'; + $layerXML.=' textoitem='.$TbMsg[33]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_comandos_'.$LITAMBITO_CENTROS.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarprocedimiento('.$AMBITO_CENTROS.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[28]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLGruposAulas(){ + global $TbMsg; + global $AMBITO_AULAS; + global $AMBITO_GRUPOSAULAS; + global $LITAMBITO_GRUPOSAULAS; + global $RESERVA_CONFIRMADA; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSAULAS.'"'; + $layerXML.=' maxanchu=155'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_aulas()"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_acciones()"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSAULAS.',' ."'".$LITAMBITO_GRUPOSAULAS."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=480; + $wpages="../propiedades/propiedades_aulas.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/aula.gif"'; + $layerXML.=' textoitem='.$TbMsg[3]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="actualizar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/actualizar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="purgar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/purgar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="consola_remota('.$AMBITO_GRUPOSAULAS.')"'; + $layerXML.=' imgitem="../images/iconos/shell.gif"'; + $layerXML.=' textoitem='.$TbMsg[33]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_comandos_'.$LITAMBITO_GRUPOSAULAS.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarprocedimiento('.$AMBITO_GRUPOSAULAS.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[28]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLAulas(){ + global $TbMsg; + global $AMBITO_AULAS; + global $LITAMBITO_AULAS; + global $RESERVA_CONFIRMADA; + global $OPERADOR; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_AULAS.'"'; + $layerXML.=' maxanchu=190'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + // Pasar al menú la única opción del submenú "NetBoot Gestión". + //$layerXML.=' subflotante="flo_netboot"'; + $layerXML.=' alpulsar="ver_boot()"'; + $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + $layerXML.=' textoitem='.$TbMsg[40]; + $layerXML.='></ITEM>'; + +//adv compatiblidad Configurador de Startpages + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_ubicarordenadores()"'; + $layerXML.=' textoitem='.$TbMsg[41]; + $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + $layerXML.='></ITEM>'; +//adv compatiblidad Configurador de Startpages + +//agp mover equipos de Aulas + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_movordenadoresAulas()"'; + $layerXML.=' textoitem='.$TbMsg[51]; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.='></ITEM>'; +//agp mover equipos de Aulas + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_aulas()"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_acciones()"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_AULAS.',' ."'".$LITAMBITO_AULAS."'". ')"'; + + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar_ordenador(1)"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[11]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=480; + $wpages="../propiedades/propiedades_ordenadores.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/ordenador.gif"'; + $layerXML.=' textoitem='.$TbMsg[9]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="incorporarordenador()"'; + $layerXML.=' imgitem="../images/iconos/aula.gif"'; + $layerXML.=' textoitem='.$TbMsg[27]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="actualizar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/actualizar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="purgar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/purgar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="consola_remota('.$AMBITO_AULAS.')"'; + $layerXML.=' imgitem="../images/iconos/shell.gif"'; + $layerXML.=' textoitem='.$TbMsg[33]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_comandos_'.$LITAMBITO_AULAS.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_sincronizacion_'.$LITAMBITO_AULAS.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[49]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_asistentes_'.$LITAMBITO_AULAS.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[38]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarprocedimiento('.$AMBITO_AULAS.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[28]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="configuraciones('.$AMBITO_AULAS.')"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.=' imgitem="../images/iconos/configuraciones.gif"'; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=480; + $wpages="../propiedades/propiedades_aulas.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[14]; + $layerXML.='></ITEM>'; + /* + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + // Crear operador + $wLeft=140; + $wTop=115; + $wWidth=400; + $wHeight=320; + $wpages="../propiedades/propiedades_usuarios.php?idtipousuario=".$OPERADOR; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.',3)"'; + $layerXML.=' imgitem="../images/iconos/operadores.gif"'; + $layerXML.=' textoitem='.$TbMsg[37]; + $layerXML.='></ITEM>'; + */ + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLUsuarios(){ + global $LITAMBITO_USUARIOS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_USUARIOS.'"'; + $layerXML.=' maxanchu=130'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + // Modificar usuarios + $wLeft=140; + $wTop=115; + $wWidth=400; + $wHeight=320; + $wpages="../propiedades/propiedades_usuarios.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[36]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLGruposOrdenadores(){ + global $TbMsg; + global $AMBITO_GRUPOSORDENADORES; + global $LITAMBITO_GRUPOSORDENADORES; + $layerXML='<MENUCONTEXTUAL'; + + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSORDENADORES.'"'; + $layerXML.=' maxanchu=195'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + + $layerXML.='<ITEM'; + // Pasar al menú la única opción del submenú "NetBoot Gestión". + //$layerXML.=' subflotante="flo_netboot"'; + $layerXML.=' alpulsar="ver_boot()"'; + $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + $layerXML.=' textoitem='.$TbMsg[40]; + $layerXML.='></ITEM>'; + + + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_aulas()"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_acciones()"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSORDENADORES.',' ."'".$LITAMBITO_GRUPOSORDENADORES."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=480; + $wpages="../propiedades/propiedades_ordenadores.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/ordenador.gif"'; + $layerXML.=' textoitem='.$TbMsg[9]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="actualizar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/actualizar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="purgar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/purgar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="consola_remota('.$AMBITO_GRUPOSORDENADORES.')"'; + $layerXML.=' imgitem="../images/iconos/shell.gif"'; + $layerXML.=' textoitem='.$TbMsg[33]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_comandos_'.$LITAMBITO_GRUPOSORDENADORES.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_sincronizacion_'.$LITAMBITO_GRUPOSORDENADORES.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[49]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_asistentes_'.$LITAMBITO_GRUPOSORDENADORES.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[38]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarprocedimiento('.$AMBITO_GRUPOSORDENADORES.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[28]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar_ordenador(0)"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[11]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="configuraciones('.$AMBITO_GRUPOSORDENADORES.')"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.=' imgitem="../images/iconos/configuraciones.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[16]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLOrdenadores(){ + global $TbMsg; + global $AMBITO_ORDENADORES; + global $LITAMBITO_ORDENADORES; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_ORDENADORES.'"'; + $layerXML.=' maxanchu=140'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_acciones()"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_log('.$AMBITO_ORDENADORES.')"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[47]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_log_seguimiento('.$AMBITO_ORDENADORES.')"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[48]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="mover_ordenador()"'; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.=' textoitem='.$TbMsg[17]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="actualizar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/actualizar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="purgar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/purgar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="consola_remota('.$AMBITO_ORDENADORES.')"'; + $layerXML.=' imgitem="../images/iconos/shell.gif"'; + $layerXML.=' textoitem='.$TbMsg[33]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eco_remoto()"'; + $layerXML.=' imgitem="../images/iconos/ecocon.gif"'; + $layerXML.=' textoitem='.$TbMsg[39]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_comandos_'.$LITAMBITO_ORDENADORES.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_sincronizacion_'.$LITAMBITO_ORDENADORES.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[49]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_asistentes_'.$LITAMBITO_ORDENADORES.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[38]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarprocedimiento('.$AMBITO_ORDENADORES.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[28]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="configuraciones('.$AMBITO_ORDENADORES.')"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.=' imgitem="../images/iconos/configuraciones.gif"'; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=400; + $wpages="../propiedades/propiedades_ordenadores.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[18]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLComandos($litambito,$ambito){ + global $cmd; + global $TbMsg; + $maxlongdescri=0; + $rs=new Recordset; + $cmd->texto="SELECT idcomando,descripcion,pagina,gestor,funcion + FROM comandos + WHERE activo=1 AND submenu='' AND aplicambito & ".$ambito.">0 + ORDER BY descripcion"; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $layerXML=""; + $rs->Primero(); + while (!$rs->EOF){ + $descrip=$TbMsg["COMMAND_".$rs->campos["funcion"]]; + if (empty ($descrip)) { + $descrip=$rs->campos["descripcion"]; + } + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarcomando('."'".$ambito."'".','.$rs->campos["idcomando"].',\''.$rs->campos["descripcion"].'\',\''.$rs->campos["pagina"]. '\',\''.$rs->campos["gestor"]. '\',\''.$rs->campos["funcion"]. '\')"'; + $layerXML.=' textoitem="'.$descrip.'"'; + $layerXML.='></ITEM>'; + if ($maxlongdescri < strlen($descrip)) // Toma la Descripción de mayor longitud + $maxlongdescri=strlen($descrip); + $rs->Siguiente(); + } + $layerXML.='</MENUCONTEXTUAL>'; + $prelayerXML='<MENUCONTEXTUAL'; + $prelayerXML.=' idctx="flo_comandos_'.$litambito.'"'; + $prelayerXML.=' maxanchu='.$maxlongdescri*6; + $prelayerXML.=' clase="menu_contextual"'; + $prelayerXML.='>'; + $finallayerXML=$prelayerXML.$layerXML; + return($finallayerXML); + } +} + +//________________________________________________________________________________________________________ + +function ContextualXMLSincronizacion($litambito,$ambito){ + global $cmd; + global $TbMsg; + $maxlongdescri=0; + $rs=new Recordset; + $cmd->texto="SELECT idcomando,descripcion,pagina,gestor,funcion + FROM comandos + WHERE activo=1 AND submenu='Sincronizacion' AND aplicambito & ".$ambito.">0 + ORDER BY descripcion"; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $layerXML=""; + $rs->Primero(); + while (!$rs->EOF){ + $descrip=$TbMsg["COMMAND_".$rs->campos["funcion"]]; + if (empty ($descrip)) { + $descrip=$rs->campos["descripcion"]; + } + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarcomando('."'".$ambito."'".','.$rs->campos["idcomando"].',\''.$rs->campos["descripcion"].'\',\''.$rs->campos["pagina"]. '\',\''.$rs->campos["gestor"]. '\',\''.$rs->campos["funcion"]. '\')"'; + $layerXML.=' textoitem="'.$descrip.'"'; + $layerXML.='></ITEM>'; + if ($maxlongdescri < strlen($descrip)) // Toma la Descripción de mayor longitud + $maxlongdescri=strlen($descrip); + $rs->Siguiente(); + } + $layerXML.='</MENUCONTEXTUAL>'; + $prelayerXML='<MENUCONTEXTUAL'; + $prelayerXML.=' idctx="flo_sincronizacion_'.$litambito.'"'; + $prelayerXML.=' maxanchu='.$maxlongdescri*6; + $prelayerXML.=' clase="menu_contextual"'; + $prelayerXML.='>'; + $finallayerXML=$prelayerXML.$layerXML; + return($finallayerXML); + } +} +//________________________________________________________________________________________________________ +function ContextualXMLAsistentes($litambito,$ambito){ + global $cmd; + global $TbMsg; + $maxlongdescri=0; + $rs=new Recordset; + $cmd->texto="SELECT idcomando,descripcion,pagina,gestor,funcion + FROM asistentes + WHERE activo=1 AND aplicambito & ".$ambito.">0 + ORDER BY descripcion"; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $layerXML=""; + $rs->Primero(); + while (!$rs->EOF){ + $descrip=$TbMsg["WIZARD_".$rs->campos["descripcion"]]; + if (empty ($descrip)) { + $descrip=$rs->campos["descripcion"]; + } + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarcomando('."'".$ambito."'".','.$rs->campos["idcomando"].',\''.$rs->campos["descripcion"].'\',\''.$rs->campos["pagina"]. '\',\''.$rs->campos["gestor"]. '\',\''.$rs->campos["funcion"]. '\')"'; + $layerXML.=' textoitem="'.$descrip.'"'; + $layerXML.='></ITEM>'; + if($maxlongdescri<strlen($descrip)) // Toma la Descripción de mayor longitud + $maxlongdescri=strlen($descrip); + $rs->Siguiente(); + } + $layerXML.='</MENUCONTEXTUAL>'; + $prelayerXML='<MENUCONTEXTUAL'; + $prelayerXML.=' idctx="flo_asistentes_'.$litambito.'"'; + $prelayerXML.=' maxanchu='.$maxlongdescri*6; + $prelayerXML.=' clase="menu_contextual"'; + $prelayerXML.='>'; + $finallayerXML=$prelayerXML.$layerXML; + return($finallayerXML); + } +} + + +function ContextualXMLNetBoot(){ + #global $TbMsg; + #global $EJECUCION_COMANDO; + #global $EJECUCION_TAREA; + #global $EJECUCION_TRABAJO; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_netboot"'; + $layerXML.=' maxanchu=190'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + +//adv compatiblidad Gestor de arranque remoto + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_boot()"'; + $layerXML.=' textoitem="NetBoot AVANZADO"'; + $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + $layerXML.='></ITEM>'; +//adv compatiblidad Gestor de arranque remoto +//adv compatiblidad Configurador de Startpages + // $layerXML.='<ITEM'; + // $layerXML.=' alpulsar="ver_startpages()"'; + // $layerXML.=' textoitem="Gestor Startpages"'; + // $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + // $layerXML.='></ITEM>'; +//adv compatiblidad Configurador de Startpages + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} + +?> diff --git a/admin/WebConsole/principal/aulas.php b/admin/WebConsole/principal/aulas.php index 631e68dc..309681fd 100644 --- a/admin/WebConsole/principal/aulas.php +++ b/admin/WebConsole/principal/aulas.php @@ -78,7 +78,7 @@ $XMLcontextual=ContextualXMLComandos($LITAMBITO_CENTROS,$AMBITO_CENTROS); echo $flotante->CreaMenuContextual($XMLcontextual); $XMLcontextual=ContextualXMLComandos($LITAMBITO_GRUPOSAULAS,$AMBITO_GRUPOSAULAS); echo $flotante->CreaMenuContextual($XMLcontextual); -$XMLcontextual=ContextualXMLComandos($LITAMBITO_AULAS,$AMBITO_AULAS); +$XMLcontextual=ContextualXMLComandos($LITAMBITO_AULAS,$AMBITO_AULAS,$AMBITO_CENTROS); echo $flotante->CreaMenuContextual($XMLcontextual); $XMLcontextual=ContextualXMLComandos($LITAMBITO_GRUPOSORDENADORES,$AMBITO_GRUPOSORDENADORES); echo $flotante->CreaMenuContextual($XMLcontextual); @@ -356,6 +356,7 @@ function ContextualXMLCentros(){ //________________________________________________________________________________________________________ function ContextualXMLGruposAulas(){ global $TbMsg; + global $AMBITO_CENTROS; global $AMBITO_AULAS; global $AMBITO_GRUPOSAULAS; global $LITAMBITO_GRUPOSAULAS; @@ -464,6 +465,7 @@ function ContextualXMLGruposAulas(){ //________________________________________________________________________________________________________ function ContextualXMLAulas(){ global $TbMsg; + global $AMBITO_CENTROS; global $AMBITO_AULAS; global $LITAMBITO_AULAS; global $RESERVA_CONFIRMADA; @@ -492,6 +494,14 @@ function ContextualXMLAulas(){ $layerXML.='></ITEM>'; //adv compatiblidad Configurador de Startpages +//agp mover equipos de Aulas + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_movordenadoresAulas()"'; + $layerXML.=' textoitem='.$TbMsg[51]; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.='></ITEM>'; +//agp mover equipos de Aulas + $layerXML.='<ITEM'; $layerXML.=' alpulsar="ver_aulas()"'; $layerXML.=' textoitem='.$TbMsg[1]; diff --git a/admin/WebConsole/principal/ayuda.php b/admin/WebConsole/principal/ayuda.php index 3bd8aeae..5292f582 100644 --- a/admin/WebConsole/principal/ayuda.php +++ b/admin/WebConsole/principal/ayuda.php @@ -25,6 +25,7 @@ $version=(empty($data->project)) ? "OpenGnsys" : @$data->project.' '.@$data->ver </div> <div style="margin-left: 20%"> + <p class=subcabeceras><a class="help_menu" href="estadisticas.php"> <?php echo $TbMsg["OU_STATS"] ?> </a> </p> <p class=subcabeceras><a class="help_menu" href="manual.php"> <?php echo $TbMsg["MANUAL"] ?> </a> </p> <p class=subcabeceras><a class="help_menu" href="../api/index.html"> <?php echo $TbMsg["API"] ?> </a></p> <p class=subcabeceras><a class="help_menu" href="engine.php"> <?php echo $TbMsg["CFG"] ?> </a> </p> 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; + } + } +} diff --git a/admin/WebConsole/principal/estadisticas.php b/admin/WebConsole/principal/estadisticas.php new file mode 100644 index 00000000..ced1cc58 --- /dev/null +++ b/admin/WebConsole/principal/estadisticas.php @@ -0,0 +1,127 @@ +<?php +/* + * + */ + +include_once(__DIR__ . "/../includes/ctrlacc.php"); +include_once(__DIR__ . "/../includes/CreaComando.php"); +include_once(__DIR__ . "/../clases/AdoPhp.php"); +include_once(__DIR__ . "/../idiomas/php/$idioma/estadisticas_$idioma.php"); + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) { + header('Location: '.$pagerror.'?herror=2'); // Database connection error +} +// Retrieving statistics from the database. +$data = get_statistics($cmd, $idcentro); + +?> +<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> +<div align="center" class="cabeceras"><?php echo $TbMsg['TITLE_STATS'] ?></div> +<?php if ($data) { ?> + <div align="center" class="subcabeceras"><?php echo $data["ou"] ?></div> + <p> + <table align="center" class="tabla_listados_sin"> + <?php + print_data_row($TbMsg['LABEL_LABS'], $data['labs']); + if ($data['labs'] > 0) { + print_data_row($TbMsg['LABEL_HASPROF'], $data['hasprof'], $data['labs']); + print_data_row($TbMsg['LABEL_REMOTELAB'], $data['remotelab'], $data['labs']); + print_data_row($TbMsg['LABEL_CLIENTS'], $data['clients']); + print_data_row($TbMsg['LABEL_HASCONFIG'], $data['hasconfig'], $data['clients']); + print_data_row($TbMsg['LABEL_HASREPO'], $data['hasrepo'], $data['clients']); + print_data_row($TbMsg['LABEL_HASHARD'], $data['hashard'], $data['clients']); + print_data_row($TbMsg['LABEL_HASSERIAL'], $data['hasserial'], $data['clients']); + } + print_data_row($TbMsg['LABEL_REPOS'], $data['repos']); + if ($data['repos'] > 0) { + print_data_row($TbMsg['LABEL_IMAGES'], $data['images']); + if ($data['images'] > 0) { + print_data_row($TbMsg['LABEL_MONOIMG'], $data['monoimg'], $data['images']); + print_data_row($TbMsg['LABEL_HASSOFT'], $data['hassoft'], $data['images']); + print_data_row($TbMsg['LABEL_REMOTEIMG'], $data['remoteimg'], $data['images']); + print_data_row($TbMsg['LABEL_OSES'], $data['oses']); + } + } + print_data_row($TbMsg['LABEL_MENUS'], $data['menus']); + print_data_row($TbMsg['LABEL_PROCS'], $data['procs']); + print_data_row($TbMsg['LABEL_TASKS'], $data['tasks']); + ?> + </table> +<?php } else {?> + <p align="center"><?php echo $TbMsg['MSG_UNAVAILABLE'] ?></p> +<?php } ?> +<div align="center" class="pie"><a href="javascript:history.go(-1)">Volver</a></div> +</body> +</html> +<?php +/** + * @function get_statistics + * @param $cmd + * @param $id + * @return array + */ +function get_statistics($cmd, $id) { + $rs=new Recordset; + $cmd->texto = <<<EOT +SELECT * + FROM (SELECT nombrecentro AS ou, + COUNT(DISTINCT idaula) AS labs, + COUNT(DISTINCT IF(idordprofesor > 0, idaula, NULL)) AS hasprof, + COUNT(DISTINCT IF(inremotepc = 1, idaula, NULL)) AS remotelab, + COUNT(idordenador) AS clients, + COUNT(numserie) AS hasconfig, + COUNT(IF(idrepositorio > 0, 1, NULL)) AS hasrepo, + COUNT(IF(idperfilhard > 0, 1, NULL)) AS hashard, + COUNT(IF(numserie = '', NULL, 1)) AS hasserial + FROM centros + LEFT JOIN aulas USING(idcentro) + LEFT JOIN ordenadores USING(idaula) + WHERE idcentro = $id) AS t1, + (SELECT COUNT(*) AS repos + FROM repositorios + WHERE idcentro = $id) AS t2, + (SELECT COUNT(*) AS images, + COUNT(IF(tipo = 1, 1, NULL)) AS monoimg, + COUNT(IF(idperfilsoft > 0, 1, NULL)) AS hassoft, + COUNT(IF(inremotepc = 1, 1, NULL)) AS remoteimg, + COUNT(DISTINCT idnombreso) AS oses + FROM imagenes + LEFT JOIN perfilessoft USING(idperfilsoft) + LEFT JOIN nombresos USING(idnombreso) + WHERE imagenes.idcentro = $id) AS t3, + (SELECT COUNT(*) AS menus + FROM menus + WHERE idcentro = $id) AS t4, + (SELECT COUNT(*) as procs + FROM procedimientos + WHERE idcentro = $id) AS t5, + (SELECT COUNT(*) as tasks + FROM tareas + WHERE idcentro = $id) AS t6; +EOT; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) { + return(null); // Error opening the record set + } + $rs->Primero(); + $data = $rs->campos; + $rs->Cerrar(); + return($data); +} + +/** + * @param string $label + * @param int $value + * @param int $total + */ +function print_data_row($label, $value, $total=0) { + echo "\t\t<tr><th> $label: </th><td> $value" . + ($total>0 ? " (".intval($value*100/$total)."%)" : "") . " </td></tr>\n"; +} diff --git a/admin/WebConsole/propiedades/propiedades_imagenes.php b/admin/WebConsole/propiedades/propiedades_imagenes.php index cc108c17..116d5a95 100644 --- a/admin/WebConsole/propiedades/propiedades_imagenes.php +++ b/admin/WebConsole/propiedades/propiedades_imagenes.php @@ -107,6 +107,7 @@ if ($opcion!=$op_alta and isset($repokey)) { $result = json_decode($result[0]['data']); $imgpath = (@$result->type==="dir" ? @$result->name : @$result->name.".".@$result->type); $imgsize = humanSize(@$result->size); + $imgdatasize = humanSize(@$result->datasize); $imgbackup = @$result->backedup; $imgbksize = isset($result->backupsize) ? humanSize($result->backupsize) : 0; $imglock = @$result->locked; @@ -283,6 +284,11 @@ if ($opcion!=$op_alta and isset($repokey)) { <th align="center"> <?php echo $TbMsg['PROP_OS']?> </th> <td> <?php echo $sistoperativo?> </td> </tr> + <!-- Tamaño de los datos --> + <tr> + <th align="center"> <?php echo $TbMsg['DATA_SIZE']?> </th> + <td> <?php echo $imgdatasize?> </td> + </tr> <?php // Datos de imagen en el repositorio if (isset($imgpath)) { diff --git a/admin/WebConsole/rest/remotepc.php b/admin/WebConsole/rest/remotepc.php index c6dcda51..f8f3af75 100644 --- a/admin/WebConsole/rest/remotepc.php +++ b/admin/WebConsole/rest/remotepc.php @@ -187,20 +187,19 @@ EOD; CREATE EVENT e_timeout_$clntid ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL $timeout DO BEGIN - SET @clntid = NULL; + SET @action_id = NULL; UPDATE acciones SET estado = $ACCION_FINALIZADA, resultado = $ACCION_FALLIDA, descrinotificacion = 'Timeout' WHERE descriaccion = 'RemotePC Session' AND estado = $ACCION_INICIADA - AND idordenador = (SELECT @clntid := '$clntid'); - IF @clntid IS NOT NULL THEN + AND idordenador = '$clntid' + AND (SELECT @action_id := idaccion); + IF @action_id IS NOT NULL THEN UPDATE remotepc SET reserved=NOW() - INTERVAL 1 SECOND, urllogin=NULL, urllogout=NULL - WHERE id = @clntid; + WHERE id = '$clntid'; DELETE FROM acciones - WHERE idordenador = @clntid - AND descriaccion = 'RemotePC Session' - AND descrinotificacion = 'Timeout'; + WHERE idaccion = @action_id; END IF; END EOD; diff --git a/admin/WebConsole/rest/server.php b/admin/WebConsole/rest/server.php index 50ee5f67..c55d6709 100644 --- a/admin/WebConsole/rest/server.php +++ b/admin/WebConsole/rest/server.php @@ -167,12 +167,13 @@ EOD; } else { // Multiple responses. foreach ($stat as $ip => $st) { - $tmp = Array(); - $tmp['id'] = (int)$id[$ip]; - $tmp['ip'] = $ip; - $tmp['status'] = $stat[$ip]; - empty($logged[$ip]) || $tmp['loggedin'] = $logged[$ip]; - array_push($response, $tmp); + if (isset($id[$ip])) { + $tmp = ['id' => (int)$id[$ip], + 'ip' => $ip, + 'status' => $stat[$ip]]; + empty($logged[$ip]) || $tmp['loggedin'] = $logged[$ip]; + array_push($response, $tmp); + } } } jsonResponse(200, $response); diff --git a/admin/WebConsole/varios/incorporaordenadores.php b/admin/WebConsole/varios/incorporaordenadores.php index 63caca6a..6a4cc20c 100644 --- a/admin/WebConsole/varios/incorporaordenadores.php +++ b/admin/WebConsole/varios/incorporaordenadores.php @@ -25,6 +25,7 @@ $swf=0; $idaula=0; $nombreaula=""; $contenido=""; +$reload=""; if (isset($_GET["idaula"])) $idaula=$_GET["idaula"]; if (isset($_GET["nombreaula"])) $nombreaula=$_GET["nombreaula"]; @@ -40,6 +41,8 @@ $idrepositorio = idrepoOU($cmd,$idaula); if(!empty($contenido)){ // Se ha introducido contenido en lugar de fichero $resul=procesaLineas($cmd,$idaula,$contenido); + // Recargamos el arbol de ordenadores del frame izquierdo. + if ($resul==3) $reload='onload="recargar_arbol();"'; } //___________________________________________________________________________________________________ ?> @@ -57,9 +60,15 @@ if(!empty($contenido)){ // Se ha introducido contenido en lugar de fichero } document.fdatos.submit(); } + function cancelar(){ + document.location.href="../nada.php"; + } + function recargar_arbol(){ + parent.frame_arbol.location.reload() + } </SCRIPT> </HEAD> -<BODY> +<BODY <?php echo $reload?>> <FORM action="incorporaordenadores.php" method="post" name="fdatos"> <INPUT type="hidden" name="swf" value="1"> <INPUT type="hidden" name="idaula" value="<?php echo $idaula?>"> @@ -82,7 +91,7 @@ if(!empty($contenido)){ // Se ha introducido contenido en lugar de fichero </FORM> <TABLE align=center> <TR> - <TD><IMG src="../images/boton_cancelar.gif" style="cursor:hand" onclick=""></TD> + <TD><IMG src="../images/boton_cancelar.gif" style="cursor:hand" onclick="cancelar();"></TD> <TD width=20></TD> <TD><IMG src="../images/boton_confirmar.gif" style="cursor:hand" onclick="confirmar();"></TD> </TR> |