diff options
author | alonso <alonso@us.es> | 2010-06-30 13:55:00 +0000 |
---|---|---|
committer | alonso <alonso@us.es> | 2010-06-30 13:55:00 +0000 |
commit | e021aa874e093093ba67b1ca1877cac88590a088 (patch) | |
tree | 20f81db456faf3ecfe704753134fab666ea7b4ba /admin/WebConsole | |
parent | 81b43511317aad3531f28c8d3b204b9f62c9c32a (diff) |
git-svn-id: https://opengnsys.es/svn/trunk@1074 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin/WebConsole')
-rw-r--r-- | admin/WebConsole/controlacceso.php | 2 | ||||
-rw-r--r-- | admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php | 1 | ||||
-rw-r--r-- | admin/WebConsole/jscripts/aula.js | 174 | ||||
-rw-r--r-- | admin/WebConsole/principal/aula.php | 64 | ||||
-rwxr-xr-x | admin/WebConsole/principal/sondeo.php | 67 |
5 files changed, 242 insertions, 66 deletions
diff --git a/admin/WebConsole/controlacceso.php b/admin/WebConsole/controlacceso.php index 3c4afed3..c37c61d6 100644 --- a/admin/WebConsole/controlacceso.php +++ b/admin/WebConsole/controlacceso.php @@ -11,8 +11,6 @@ //======================================================================================================== // Variables de sessión de configuración de servidor y base de datos( Modificar aquípara cambio global) $cnx="localhost;usuog;passusuog;ogBDAdmin;mysql"; // Cadena de conexión a la base de datos - $ips="SERVERIP"; // IP del servidor de Administración - $prt="2008"; // Puerto de comunicación con el servidor $wer="OPENGNSYSURL/pagerror.php"; // Página de redireccionamiento de errores $wac="OPENGNSYSURL/acceso.php"; // Página de login de la aplicación $idi="esp"; // Idioma por defecto diff --git a/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php b/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php index 1d1b866d..64c122e0 100644 --- a/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php +++ b/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php @@ -30,6 +30,7 @@ $TbMsg=array(); $TbMsg[20]='ATENCIÓN, ha habido algún error en el proceso de Inventario Software'; $TbMsg[21]='El proceso de jecuación del script bash ha terminado correctamente'; $TbMsg[22]='ATENCIÓN, ha habido algún error en el proceso de ejecución del script bash'; + $TbMsg[23]='Sondeando, por favor espere...'; ?> diff --git a/admin/WebConsole/jscripts/aula.js b/admin/WebConsole/jscripts/aula.js index 201c4db6..546fb0ea 100644 --- a/admin/WebConsole/jscripts/aula.js +++ b/admin/WebConsole/jscripts/aula.js @@ -7,12 +7,173 @@ // Descripción : // Este fichero implementa las funciones javascript del fichero aulas.php // ************************************************************************************************************************************************* -var litambito=""; -var idambito=""; -var nombreambito=""; -var currentObj=null; -var wpadre=window.parent; // Toma frame padre -var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ + +var cadenaip; +//________________________________________________________________________________________________________ + + function NodoAux(){ + this.idambito=0; + this.ambito=0; + this.litambito=null; + this.nombreambito=null; + + this.toma_identificador= function(){ + return(idambito); + } + this.toma_sufijo= function(){ + return(litambito); + } + this.toma_infonodo= function(){ + return(nombreambito); + } + // Fin de la clase +} +currentNodo=new NodoAux(); +//________________________________________________________________________________________________________ +function nwmenucontextual(o,idmnctx){ + var menuctx=document.getElementById(idmnctx); // Toma objeto DIV + muestra_contextual(ClickX,ClickY,menuctx) // muestra menu + Toma_Datos(o); +} +//________________________________________________________________________________________________________ +// +// Toma datos +//________________________________________________________________________________________________________ +function Toma_Datos(o){ + var identificador=o.getAttribute("nod"); + litambito=identificador.split("-")[0]; + idambito=identificador.split("-")[1]; + nombreambito=o.getAttribute("value"); + currentNodo.idambito=idambito; + currentNodo.litambito=litambito; + currentNodo.nombreambito=nombreambito; +} +//________________________________________________________________________________________________________ +function wactualizar_ordenadores(o){ + Toma_Datos(o); + actualizar_ordenadores(); +} +//________________________________________________________________________________________________________ +// +// Refresca la visualizaci� del estado de los ordenadores(Clientes rembo y clientes Windows o Linux) +//________________________________________________________________________________________________________ +function Sondeo(ipes){ + cadenaip=ipes; + reset_contextual(-1,-1) // Oculta menu contextual + var wurl="../principal/sondeo.php"; + var prm="cadenaip="+cadenaip+"&sw=1"; // La primera vez se manda sondeo a los clientes + CallPage(wurl,prm,"retornoSondeo","POST"); + setTimeout("respuestaSondeo();",100); +} +//______________________________________________________________________________________________________ +function retornoSondeo(resul){ + /* + if(resul==1) + alert(TbMsg[11]); + else + alert(TbMsg[12]); +*/ +} +//________________________________________________________________________________________________________ +function respuestaSondeo(){ + var wurl="../principal/sondeo.php"; + var prm="cadenaip="+cadenaip+"&sw=2"; // La primera vez se manda sondeo a los clientes + 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(";"); // Trocea la cadena devuelta por el servidor de adminsitración + for (var i=0;i<cadena.length;i++){ + var dual=cadena[i].split("/"); + ip=dual[0]; + so=dual[1]; + objOrd=document.getElementById(ip); + tbobjOrd=getElementsByAttribute(document.body, "img","ip",ip); + if(tbobjOrd.length>0){ // Si existe el objeto + objOrd=tbobjOrd[0]; + imgOrd=soIMG(so); // Toma url de la imagen según su s.o. + if(objOrd.sondeo!=so){ // Si es distinto al que tiene ...se cambia la imagen + objOrd.src="../images/"+imgOrd; + objOrd.sondeo=imgOrd; + } + } + } + } +} +//______________________________________________________________________________________________________ +function soIMG(so) +{ + var MimgOrdenador=""; + switch(so){ + case 'INI': + MimgOrdenador="ordenador_INI.gif"; // Cliente ocupado + break; + case 'BSY': + MimgOrdenador="ordenador_BSY.gif"; // Cliente ocupado + break; + case 'OPG': + MimgOrdenador="ordenador_RMB.gif"; // Cliente Rembo + break; + case 'RMB': + MimgOrdenador="ordenador_RMB.gif"; // Cliente Rembo + break; + case 'WS2': + MimgOrdenador="ordenador_WS2.gif"; // Windows Server 2003 + break; + case 'W2K': + MimgOrdenador="ordenador_W2K.gif"; // Windows 2000 + break; + case 'WXP': + MimgOrdenador="ordenador_WXP.gif"; // Windows XP + break; + case 'WNT': + MimgOrdenador="ordenador_WNT.gif"; // Windows NT + break; + case 'W95': + MimgOrdenador="ordenador_W95.gif"; // Windows 95 + break; + case 'W98': + MimgOrdenador="ordenador_W98.gif"; // Windows 98 + break; + case 'WML': + MimgOrdenador="ordenador_WML.gif"; // Windows Millenium + break; + case 'LNX': + MimgOrdenador="ordenador_LNX.gif"; // Linux + default: + MimgOrdenador="ordenador_OFF.gif"; // Linux + break; + } + return(MimgOrdenador); +} +//______________________________________________________________________________________________________ +// Copyright Robert Nyman, http://www.robertnyman.com +// Free to use if this text is included +//______________________________________________________________________________________________________ +function getElementsByAttribute(oElm, strTagName, strAttributeName, strAttributeValue){ + var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName); + var arrReturnElements = new Array(); + var oAttributeValue = (typeof strAttributeValue != "undefined")? new RegExp("(^|\\s)" + strAttributeValue + "(\\s|$)") : null; + var oCurrent; + var oAttribute; + for(var i=0; i<arrElements.length; i++){ + oCurrent = arrElements[i]; + oAttribute = oCurrent.getAttribute && oCurrent.getAttribute(strAttributeName); + if(typeof oAttribute == "string" && oAttribute.length > 0){ + if(typeof strAttributeValue == "undefined" || (oAttributeValue && oAttributeValue.test(oAttribute))){ + arrReturnElements.push(oCurrent); + } + } + } + return arrReturnElements; +} //________________________________________________________________________________________________________ // // Muestra el formulario de captura de datos para modificación @@ -229,4 +390,5 @@ function incorporarordenador(){ var whref="../varios/incorporaordenadores.php?idaula="+idambito+"&nombreaula="+nombreambito window.open(whref,"frame_contenidos") } + diff --git a/admin/WebConsole/principal/aula.php b/admin/WebConsole/principal/aula.php index b3103f4a..72a2a5f0 100644 --- a/admin/WebConsole/principal/aula.php +++ b/admin/WebConsole/principal/aula.php @@ -56,6 +56,7 @@ if (!$cmd) <SCRIPT language="javascript" src="../jscripts/aula.js"></SCRIPT> <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/aulas_'.$idioma.'.js"></SCRIPT>'?> <BODY OnContextMenu="return false"> @@ -102,6 +103,9 @@ echo $flotante->CreaMenuContextual($XMLcontextual); include_once("../includes/iframecomun.php"); //________________________________________________________________________________________________________ ?> +<SCRIPT language="javascript"> + Sondeo('<?php echo $cadenaip?>'); +</SCRIPT> </BODY> </HTML> <? @@ -231,75 +235,19 @@ function pintaordenadores(){ global $servidorhidra,$hidraport; global $TbMsg; - $shidra=new SockHidra($servidorhidra,$hidraport); - $parametros="1"; // Ejecutor - $parametros.="nfn=Sondeo".chr(13); - $parametros.="iph=".$cadenaip.chr(13); - - $resul=$shidra->conectar(); // Se ha establecido la conexióncon el servidor hidra - if($resul){ - $resul=$shidra->envia_comando($parametros); - $trama=$shidra->recibe_respuesta(); - $parametros=substr($trama,$LONCABECERA,strlen($trama)-$LONCABECERA); - $ValorParametros=extrae_parametros($parametros,chr(13),'='); - $trama_notificacion=$ValorParametros["tso"]; - $shidra->desconectar(); - } - for($i=0;$i<$k;$i++){ // Vuelve a recorrer los datos de ordenadores para crear HTML - $patron=$Mip[$i].'/'; - $pos=EnCadena($trama_notificacion,$patron); - if($pos>-1){ - $tiposo=substr($trama_notificacion,$pos+strlen($patron),3); - switch($tiposo){ - case 'INI': - $MimgOrdenador[$i]="ordenador_INI.gif"; // Cliente ocupado - break; - case 'BSY': - $MimgOrdenador[$i]="ordenador_BSY.gif"; // Cliente ocupado - break; - case 'RMB': - $MimgOrdenador[$i]="ordenador_RMB.gif"; // Cliente Rembo - break; - case 'WS2': - $MimgOrdenador[$i]="ordenador_WS2.gif"; // Windows Server 2003 - break; - case 'W2K': - $MimgOrdenador[$i]="ordenador_W2K.gif"; // Windows 2000 - break; - case 'WXP': - $MimgOrdenador[$i]="ordenador_WXP.gif"; // Windows XP - break; - case 'WNT': - $MimgOrdenador[$i]="ordenador_WNT.gif"; // Windows NT - break; - case 'W95': - $MimgOrdenador[$i]="ordenador_W95.gif"; // Windows 95 - break; - case 'W98': - $MimgOrdenador[$i]="ordenador_W98.gif"; // Windows 98 - break; - case 'WML': - $MimgOrdenador[$i]="ordenador_WML.gif"; // Windows Millenium - break; - case 'LNX': - $MimgOrdenador[$i]="ordenador_LNX.gif"; // Linux - break; - } - } - } $ntr=0; // Numero de ordenadores por fila if ($nombreaula!=""){ echo '<DIV>'; echo '<p align=center class=cabeceras><A href="#"><img border=0 id="'.$LITAMBITO_AULAS.'-'.$idaula.'" value="'.$nombreaula.'" src="../images/iconos/aula.gif" onclick="veraulas(this);" oncontextmenu="menucontextual(this,' ."'flo_".$LITAMBITO_AULAS."'" .')" ></A> '.$TbMsg[23].'</br><span id="'.$LITAMBITO_AULAS.'-'.$idaula.'" class=subcabeceras>'.$nombreaula.'</span></p>'; } - echo '<TABLE style="BORDER-BOTTOM: #d4d0c8 1px solid;BORDER-LEFT: #d4d0c8 1px solid;BORDER-RIGHT: #d4d0c8 1px solid;BORDER-TOP: #d4d0c8 1px solid" align=center><TR>'; +echo '<TABLE style="BORDER-BOTTOM: #d4d0c8 1px solid;BORDER-LEFT: #d4d0c8 1px solid;BORDER-RIGHT: #d4d0c8 1px solid;BORDER-TOP: #d4d0c8 1px solid" align=center><TR>'; for($i=0;$i<$k;$i++){ // Vuelve a recorrer los datos de ordenadores para crear HTML $ntr++; echo '<TD>'; echo '<table border=0>'; echo '<tr>'; echo ' <td align=center width=70 height=40>'; - echo ' <a href="#"><img id="'.$LITAMBITO_ORDENADORES.'-'.$Midordenador[$i].'" border=0 value="'.$Mnombreordenador[$i].'" src="../images/'.$MimgOrdenador[$i].'" oncontextmenu="menucontextual(this,'."'flo_".$LITAMBITO_ORDENADORES."'" .')" width="32" height="32"></A>'; + echo ' <a href="#"><img sondeo="" ip="'.$Mip[$i].'" id="'.$LITAMBITO_ORDENADORES.'-'.$Midordenador[$i].'" border=0 value="'.$Mnombreordenador[$i].'" src="../images/'.$MimgOrdenador[$i].'" oncontextmenu="menucontextual(this,'."'flo_".$LITAMBITO_ORDENADORES."'" .')" width="32" height="32"></A>'; echo ' </td>'; echo '</tr>'; echo '<tr>'; diff --git a/admin/WebConsole/principal/sondeo.php b/admin/WebConsole/principal/sondeo.php new file mode 100755 index 00000000..8eb5dc70 --- /dev/null +++ b/admin/WebConsole/principal/sondeo.php @@ -0,0 +1,67 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Año 2003-2004 +// Fecha Última modificación: Febrero-2005 +// Nombre del fichero: sondeo.php +// Descripción : +// Consulta el estado de los ordenadores +// ************************************************************************************************************************************************* + include_once("../includes/ctrlacc.php"); + include_once("../clases/SockHidra.php"); + include_once("../clases/AdoPhp.php"); + include_once("../includes/constantes.php"); + include_once("../includes/comunes.php"); + include_once("../includes/CreaComando.php"); + //________________________________________________________________________________________________________ + $cadenaip=0; + $sw=0; // Swich para conmutar entre sondeo a clientes o sólo consulta a la tabla de sockets + + if (isset($_POST["cadenaip"])) $cadenaip=$_POST["cadenaip"]; + if (isset($_POST["sw"])) $sw=$_POST["sw"]; + //________________________________________________________________________________________________________ + $cmd=CreaComando($cadenaconexion); + if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. + //________________________________________________________________________________________________________ + switch($sw){ + case 1: + $funcion="Sondeo"; // Nombre de la función que procesa la petición + $atributos="sws=S"; + break; + case 2: + $funcion="Sondeo"; // Nombre de la función que procesa la petición + $atributos="sws=T"; + } + $aplicacion=""; // Ámbito de aplicación (cadena de ipes separadas por ";" y de identificadores de ordenadores por "," + $acciones=""; // Cadena de identificadores de acciones separadas por ";" para seguimiento + //________________________________________________________________________________________________________ + // Ámbito de aplicación de la petición + //________________________________________________________________________________________________________ + $aplicacion="iph=".$cadenaip.chr(13); + //________________________________________________________________________________________________________ + // Envio al servidor de la petición + //________________________________________________________________________________________________________ + $resul=false; + $trama=""; + + $parametros="1"; // Ejecutor + $parametros.="nfn=".$funcion.chr(13); + $parametros.=$atributos.chr(13); + $parametros.=$acciones.chr(13); + $parametros.=$aplicacion.chr(13); + + //die($parametros); + + $shidra=new SockHidra($servidorhidra,$hidraport); + if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra + $resul=$shidra->envia_comando($parametros); + $trama=$shidra->recibe_respuesta(); + $parametros=substr($trama,$LONCABECERA,strlen($trama)-$LONCABECERA); + $ValorParametros=extrae_parametros($parametros,chr(13),'='); + $trama_notificacion=$ValorParametros["tso"]; + $shidra->desconectar(); + echo $trama_notificacion; // Devuelve respuesta + } +?> |