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 | |
parent | 81b43511317aad3531f28c8d3b204b9f62c9c32a (diff) |
git-svn-id: https://opengnsys.es/svn/trunk@1074 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin')
-rw-r--r-- | admin/Services/includes/ogAdmLib.c | 28 | ||||
-rw-r--r-- | admin/Services/includes/ogAdmLib.h | 3 | ||||
-rw-r--r-- | admin/Services/ogAdmClient/sources/ogAdmClient.c | 19 | ||||
-rw-r--r-- | admin/Services/ogAdmClient/sources/ogAdmClient.h | 1 | ||||
-rw-r--r-- | admin/Services/ogAdmServer/sources/ogAdmServer.cpp | 61 | ||||
-rw-r--r-- | admin/Services/ogAdmServer/sources/ogAdmServer.h | 1 | ||||
-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 |
11 files changed, 347 insertions, 74 deletions
diff --git a/admin/Services/includes/ogAdmLib.c b/admin/Services/includes/ogAdmLib.c index 87d74d00..819eefec 100644 --- a/admin/Services/includes/ogAdmLib.c +++ b/admin/Services/includes/ogAdmLib.c @@ -191,7 +191,35 @@ char * toma_parametro(const char* nombre_parametro,char *parametros) } return(NULL); } +//______________________________________________________________________________________________________ +// Función: copiaParametro +// +// Descripción: +// Devuelve una copia del valor de un parámetro +// Parámetros: +// - ptrTrama: contenido del mensaje +// - parametro: Nombre del parámetro +// Devuelve: +// Un puntero a la cadena que contiene el valor del parámetro +// ________________________________________________________________________________________________________ +char* copia_parametro(const char*nombre,char *parametros) +{ + int lon; + char *prm,*buffer; + + prm=toma_parametro(nombre,parametros); // Toma parámetro + if(prm) + lon=strlen(prm); + else + return(NULL); + buffer = (char*) malloc(lon); // Toma memoria + if (buffer == NULL) { // No hay memoria suficiente para el buffer + return (NULL); + } + strcpy(buffer,prm); + return(buffer); +} // ________________________________________________________________________________________________________ // Función: split_parametros // diff --git a/admin/Services/includes/ogAdmLib.h b/admin/Services/includes/ogAdmLib.h index aebcb3e3..a964fa9a 100644 --- a/admin/Services/includes/ogAdmLib.h +++ b/admin/Services/includes/ogAdmLib.h @@ -1,5 +1,5 @@ - +#define LONPRM 512 #define LONGITUD_PARAMETROS 4000 // Longitud mínima de la información de la trama (parametros) #define LONGITUD_CABECERATRAMA 11 // Longitud mínima de la trama completa #define LONGITUD_TRAMA LONGITUD_PARAMETROS+LONGITUD_CABECERATRAMA // Longitud mínima de la trama completa @@ -97,6 +97,7 @@ int IgualIP(char *,char *); void RegistraLog(const char *,int); struct tm * TomaHora(); char * toma_parametro(const char* ,char *); +char* copia_parametro(const char*,char *); int SplitParametros(char**,char*, char*); int recibe_trama(SOCKET sock,TRAMA* trama); char* Encriptar(char *); diff --git a/admin/Services/ogAdmClient/sources/ogAdmClient.c b/admin/Services/ogAdmClient/sources/ogAdmClient.c index b7eb195c..f9054fdc 100644 --- a/admin/Services/ogAdmClient/sources/ogAdmClient.c +++ b/admin/Services/ogAdmClient/sources/ogAdmClient.c @@ -1092,6 +1092,10 @@ int GestionTramas(TRAMA *trama) res=strcmp(nombrefuncion,"Actualizar"); if(res==0) return(Actualizar()); + + res=strcmp(nombrefuncion,"Sondeo"); + if(res==0) + return(Sondeo()); res=strcmp(nombrefuncion,"ConsolaRemota"); if(res==0) @@ -1517,6 +1521,21 @@ int Actualizar() return(res); } //______________________________________________________________________________________________________ +// Función: Sondeo +// +// Descripción: +// Sondea a los clientes para comprobar su estatus +// Parámetros: +// Ninguno +// Devuelve: +// true si el proceso fue correcto o false en caso contrario +//______________________________________________________________________________________________________ +int Sondeo() +{ + //MuestraMensaje(23,NULL); + return(true); +} +//______________________________________________________________________________________________________ // Función: CrearPerfilSoftware // // Descripción: diff --git a/admin/Services/ogAdmClient/sources/ogAdmClient.h b/admin/Services/ogAdmClient/sources/ogAdmClient.h index 5d3627df..4f37db9c 100644 --- a/admin/Services/ogAdmClient/sources/ogAdmClient.h +++ b/admin/Services/ogAdmClient/sources/ogAdmClient.h @@ -270,6 +270,7 @@ int Apagar(TRAMA*,TRAMA*); int Reiniciar(TRAMA*,TRAMA*); int IniciarSesion(TRAMA*,TRAMA*); int Actualizar(); +int Sondeo(); int CrearPerfilSoftware(TRAMA*,TRAMA*); int CrearPerfil(char*,char*,char*,char*,char*); int Nemonico(char*); diff --git a/admin/Services/ogAdmServer/sources/ogAdmServer.cpp b/admin/Services/ogAdmServer/sources/ogAdmServer.cpp index 848f2c47..2f2cdeda 100644 --- a/admin/Services/ogAdmServer/sources/ogAdmServer.cpp +++ b/admin/Services/ogAdmServer/sources/ogAdmServer.cpp @@ -1890,15 +1890,27 @@ int EjecutarItem(SOCKET s, char *parametros) { // ________________________________________________________________________________________________________ int DisponibilidadComandos(SOCKET s, char *parametros) { char *iph, *swd; - int resul = 0, i; + int resul, i; iph = toma_parametro("iph", parametros); // Toma ip swd = toma_parametro("swd", parametros); // Toma switch de diponibilidad - if (strcmp(swd, "1") == 0) // Cliente disponible - resul = Coloca_estado(iph, CLIENTE_REMBO, s); - else { - if (cliente_existente(iph, &i)) // Si ya existe la IP ... + if (strcmp(swd, "1") == 0){ // Cliente disponible + if (cliente_existente(iph, &i)) { // Si ya existe la IP ... + resul = Coloca_estado(iph, CLIENTE_REMBO, s); + } + else { + if (hay_hueco(&i)) { // Busca hueco para el nuevo cliente + strcpy(tbsockets[i].ip, iph);// Copia IP + tbsockets[i].sock = s; // Guarda el socket + strcpy(tbsockets[i].estado, CLIENTE_REMBO); // Actualiza el estado del cliente + } + else + return (false); // No hay huecos + } + } + else{ + if (cliente_existente(iph, &i)) // Si ya existe la IP ... resul = borra_entrada(i); // Cliente apagado } swcSocket=true; @@ -2138,11 +2150,17 @@ int enviaEcoConsola(SOCKET s, const char *eco) { // - parametros: Parámetros de la trama enviada // ________________________________________________________________________________________________________ int Sondeo(SOCKET s, char *parametros) { - char *iph; + char *iph,*sws; char nwparametros[LONGITUD_PARAMETROS]; int j; - iph = toma_parametro("iph", parametros); // Toma ip + iph = copia_parametro("iph", parametros); // Toma ip + sws = toma_parametro("sws", parametros); // swtich de sondeo "S": sondeo a clientes "T": Lectura de tabla sockets + if (sws){ // Sondeo previo a clientes + if (strcmp(sws, "S") == 0) // Sondeo previo a clientes + Sondear(iph); + } + // Devuelve estado de la tabla de sockets nwparametros[0] = '\0'; strcat(nwparametros, "tso="); // Compone retorno tso ( sistemas operativos de los clientes ) for (j = 0; j < MAXIMOS_SOCKETS; j++) { @@ -2158,6 +2176,35 @@ int Sondeo(SOCKET s, char *parametros) { return (manda_comando(s, nwparametros)); } // ________________________________________________________________________________________________________ +// Función: Sondeo +// +// Descripción: +// Esta función hace un sondeo a los clientes para comprobar su estatus +// Parámetros: +// - iph: cadena con las ipes +// ________________________________________________________________________________________________________ +int Sondear(char *iph) +{ + char parametros[32]; + int i,estado_cliente; + for (i = 0; i < MAXIMOS_SOCKETS; i++) { + if (strncmp(tbsockets[i].ip, "\0", 1) != 0) { // Si es un cliente activo + if (IgualIP(iph, tbsockets[i].ip)) { // Si existe la IP en la cadena + estado_cliente = strcmp(tbsockets[i].estado, CLIENTE_OCUPADO); + if (estado_cliente != 0) { // Cliente NO OCUPADO ... + estado_cliente = strcmp(tbsockets[i].estado,CLIENTE_INICIANDO); + if (estado_cliente != 0) { // Cliente NO INICIANDO ... + strcpy(parametros,"nfn=Sondeo\r"); + manda_comando(tbsockets[i].sock,parametros); + borra_entrada(i); + } + } + } + } + } + return (true); +} +// ________________________________________________________________________________________________________ // Función: Actualizar // // Descripción: diff --git a/admin/Services/ogAdmServer/sources/ogAdmServer.h b/admin/Services/ogAdmServer/sources/ogAdmServer.h index e2ac4006..9161d3b0 100644 --- a/admin/Services/ogAdmServer/sources/ogAdmServer.h +++ b/admin/Services/ogAdmServer/sources/ogAdmServer.h @@ -102,6 +102,7 @@ int inclusion_REPO(SOCKET,char *); int inclusion_cliWINLNX(SOCKET ,char *); int Sondeo(SOCKET ,char *); +int Sondear(char *); int EcoConsola(SOCKET ,char *); int enviaEcoConsola(SOCKET ,const char *); int Arrancar(char *); 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 + } +?> |