diff options
Diffstat (limited to 'admin/WebConsole/gestores')
-rw-r--r-- | admin/WebConsole/gestores/gestor_colasacciones.php | 43 | ||||
-rw-r--r-- | admin/WebConsole/gestores/gestor_ejecutaracciones.php | 55 | ||||
-rw-r--r-- | admin/WebConsole/gestores/gestor_pxe.php | 1 | ||||
-rw-r--r-- | admin/WebConsole/gestores/gestor_tareas.php | 107 | ||||
-rw-r--r-- | admin/WebConsole/gestores/gestor_tareascomandos.php | 122 | ||||
-rw-r--r-- | admin/WebConsole/gestores/gestor_ubicarordenadores.php | 1 | ||||
-rw-r--r-- | admin/WebConsole/gestores/gestor_usuarios.php | 1 |
7 files changed, 22 insertions, 308 deletions
diff --git a/admin/WebConsole/gestores/gestor_colasacciones.php b/admin/WebConsole/gestores/gestor_colasacciones.php index a8212f33..0821e6a1 100644 --- a/admin/WebConsole/gestores/gestor_colasacciones.php +++ b/admin/WebConsole/gestores/gestor_colasacciones.php @@ -15,7 +15,7 @@ include_once("../clases/AdoPhp.php"); include_once("../includes/constantes.php"); include_once("../includes/comunes.php"); include_once("../includes/CreaComando.php"); -include_once("../clases/SockHidra.php"); +include_once("../includes/restfunctions.php"); //________________________________________________________________________________________________________ $opcion=0; // Inicializa parametros @@ -85,14 +85,14 @@ function gestiona($cmd,$opcion,$acciones){ /* Update de la tabla */ $cmd->texto="UPDATE acciones - SET estado=".$ACCION_INICIADA.",resultado=".$ACCION_SINRESULTADO.",descrinotificacion='',fechahorafin=''"; + SET estado=".$ACCION_INICIADA.",resultado=".$ACCION_SINRESULTADO.",descrinotificacion='',fechahorafin=DEFAULT"; if(!empty($idaccion)) $cmd->texto.=" WHERE idaccion=".$idaccion; else $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." AND sesion=".$sesion; $resul=$cmd->Ejecutar(); if($resul) - $resul=enviaComandoActualizar($aplicacion); + run_schedule($rs->campos["cadenaip"]); break; case 3: // Para acciones ============================================================ @@ -139,40 +139,3 @@ function gestiona($cmd,$opcion,$acciones){ } return($resul); } -// _________________________________________________________________________ -// -// Envía un comando de actualizar a los ordenadores tras reinicio de acción -// _________________________________________________________________________ - -function enviaComandoActualizar($aplicacion) -{ - global $servidorhidra; - global $hidraport; - global $LONCABECERA; - global $LONHEXPRM; - - $funcion="Actualizar"; // Nombre de la función que procesa la petición - //________________________________________________________________________________________________________ - // - // Envio al servidor de la petición - //________________________________________________________________________________________________________ - $trama=""; - $shidra=new SockHidra($servidorhidra,$hidraport); - if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra - $parametros="nfn=".$funcion.chr(13); - $parametros.=$aplicacion; - $shidra->envia_comando($parametros); - $trama=$shidra->recibe_respuesta(); - $shidra->desconectar(); - } - else - return(false); // Error de actualización - - $hlonprm=hexdec(substr($trama,$LONCABECERA,$LONHEXPRM)); - $parametros=substr($trama,$LONCABECERA+$LONHEXPRM,$hlonprm); - $ValorParametros=extrae_parametros($parametros,chr(13),'='); - $trama_notificacion=$ValorParametros["res"]; - if($trama_notificacion==1) return(true); // Devuelve respuesta - return(false); // Error de actualización -} - diff --git a/admin/WebConsole/gestores/gestor_ejecutaracciones.php b/admin/WebConsole/gestores/gestor_ejecutaracciones.php index 8e27d1be..edb976f2 100644 --- a/admin/WebConsole/gestores/gestor_ejecutaracciones.php +++ b/admin/WebConsole/gestores/gestor_ejecutaracciones.php @@ -12,13 +12,15 @@ include_once("../includes/ctrlacc.php"); include_once("../clases/AdoPhp.php"); include_once("../clases/XmlPhp.php"); include_once("../clases/ArbolVistaXML.php"); -include_once("../clases/SockHidra.php"); include_once("../includes/CreaComando.php"); include_once("../includes/constantes.php"); include_once("../includes/comunes.php"); include_once("../includes/RecopilaIpesMacs.php"); +include_once("../includes/restfunctions.php"); //________________________________________________________________________________________________________ +define('OG_CMD_ID_WAKEUP', 1); + $opcion=0; // Inicializa parametros $idprocedimiento=0; @@ -48,7 +50,6 @@ if (isset($_GET["swc"])) $swc=$_GET["swc"]; // Switch que indica que la página $cmd=CreaComando($cadenaconexion); // Crea objeto comando $resul=false; if ($cmd){ - $shidra=new SockHidra($servidorhidra,$hidraport); $cadenaid=""; $cadenaip=""; $cadenamac=""; @@ -156,8 +157,12 @@ function ejecucionTarea($idtarea) //________________________________________________________________________________________________________ function recorreProcedimientos($idprocedimiento,$ambito,$idambito) { - global $cmd; + global $cadenamac; + global $cadenaip; global $sesion; + global $cmd; + + $wol_params; $cmd->texto="SELECT idcomando,procedimientoid,parametros FROM procedimientos_acciones @@ -184,11 +189,19 @@ function recorreProcedimientos($idprocedimiento,$ambito,$idambito) $sesion=$nwsesion; $cmd->ParamSetValor("@sesion",$sesion); // Fin ticket 681. + if ($idcomando == OG_CMD_ID_WAKEUP) + $wol_params = $parametros; if(!insertaComando($idcomando,$parametros,$idprocedimiento,$ambito,$idambito)) return(false); } $rs->Siguiente(); } + + if (isset($wol_params)) { + $atributos = substr(trim($wol_params), -1); + include("../comandos/gestores/wakeonlan_repo.php"); + } + return(true); } //________________________________________________________________________________________________________ @@ -268,43 +281,13 @@ function insertaComando($idcomando,$parametros,$idprocedimiento,$ambito,$idambit $resul=$cmd->Ejecutar(); //echo $cmd->texto; if(!$resul) return(false); - - /* Sólo envía por la red el primer comando, el resto, si hubiera, - lo encontrará el cliente a través de los comandos pendientes */ + + // Let the clients know they can start executing pending commands. if(empty($vez)){ - if(!enviaComando($parametros,$sesion)) return(false); + run_schedule($cadenaip); $vez++; } } return(true); } -//________________________________________________________________________________________________________ -// -// Envia un procedimiento a un grupo de ordenadores a través de la red -//________________________________________________________________________________________________________ -function enviaComando($parametros,$sesion) -{ - global $cadenaid; - global $cadenaip; - global $cadenamac; - global $servidorhidra; - global $hidraport; - global $LONCABECERA; - global $shidra; - - // Envio al servidor - - $aplicacion=chr(13)."ido=".$cadenaid.chr(13)."mac=".$cadenamac.chr(13)."iph=".$cadenaip.chr(13); - $acciones=chr(13)."ids=".$sesion.chr(13); // Para seguimiento - - if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra - $parametros.=$aplicacion; - $parametros.=$acciones; - $shidra->envia_comando($parametros); - $trama=$shidra->recibe_respuesta(); - $shidra->desconectar(); - } - return(true); -} - diff --git a/admin/WebConsole/gestores/gestor_pxe.php b/admin/WebConsole/gestores/gestor_pxe.php index ee3bb751..22a5e292 100644 --- a/admin/WebConsole/gestores/gestor_pxe.php +++ b/admin/WebConsole/gestores/gestor_pxe.php @@ -3,7 +3,6 @@ include_once("../includes/ctrlacc.php"); include_once("../clases/AdoPhp.php"); include_once("../clases/XmlPhp.php"); include_once("../clases/MenuContextual.php"); -include_once("../clases/SockHidra.php"); include_once("../includes/constantes.php"); include_once("../includes/comunes.php"); include_once("../includes/CreaComando.php"); diff --git a/admin/WebConsole/gestores/gestor_tareas.php b/admin/WebConsole/gestores/gestor_tareas.php index 47928c92..9bb4498e 100644 --- a/admin/WebConsole/gestores/gestor_tareas.php +++ b/admin/WebConsole/gestores/gestor_tareas.php @@ -12,7 +12,6 @@ include_once("../includes/ctrlacc.php"); include_once("../clases/AdoPhp.php"); include_once("../clases/XmlPhp.php"); include_once("../clases/ArbolVistaXML.php"); -include_once("../clases/SockHidra.php"); include_once("../includes/CreaComando.php"); include_once("../includes/constantes.php"); include_once("../includes/opciones.php"); @@ -140,7 +139,6 @@ function Gestiona(){ global $op_modificacion; global $op_eliminacion; global $op_movida; - global $op_ejecucion; global $tablanodo; $resul=false; @@ -179,9 +177,6 @@ function Gestiona(){ $cmd->texto="UPDATE tareas SET grupoid=@grupoid WHERE idtarea=@idtarea"; $resul=$cmd->Ejecutar(); break; - case $op_ejecucion : - $resul=EjecutandoTareas(); - break; default: break; } @@ -206,106 +201,4 @@ function SubarbolXML_tareas($idtarea,$descripcion,$urlimg){ return($cadenaXML); } //________________________________________________________________________________________________________ -function EjecutandoTareas(){ - - global $EJECUCION_COMANDO; - global $EJECUCION_TAREA; - global $PROCESOS; - global $ACCION_INICIADA; - global $ACCION_SINRESULTADO; - global $idcentro; - global $servidorhidra; - global $hidraport; - global $idtarea; - global $cmd; - - $shidra=new SockHidra($servidorhidra,$hidraport); - - $ambitarea=""; - $paramtarea="cmd="; - - $tbComandos=""; - $tabla_comandos=""; - $cont_comandos=0; - - $rs=new Recordset; - $cmd->texto="SELECT * FROM tareas_comandos WHERE idtarea=".$idtarea; - $cmd->texto.=" ORDER by tareas_comandos.orden"; - $rs->Comando=&$cmd; - if (!$rs->Abrir()) return(false); // Error al abrir recordset - $rs->Primero(); - // Recorre tareas-comandos - while (!$rs->EOF){ - $tbComandos["idcomando"]=$rs->campos["idcomando"]; - $tbComandos["ambito"]=$rs->campos["ambito"]; - $tbComandos["idambito"]=$rs->campos["idambito"]; - $tbComandos["parametros"]=$rs->campos["parametros"]; - $tbComandos["idnotificador"]=$rs->campos["idtareacomando"]; - $tabla_comandos[$cont_comandos]=$tbComandos; - $cont_comandos++; - - $ambitarea.=$rs->campos["ambito"].":".$rs->campos["idambito"].";"; - $paramtarea.=$rs->campos["idtareacomando"].";"; - - $rs->Siguiente(); - } - $rs->Cerrar(); - - $ambitarea=substr($ambitarea,0,strlen($ambitarea)-1); // Quita la coma final - $paramtarea=substr($paramtarea,0,strlen($paramtarea)-1); // Quita la coma final - - //Creación parametros para inserción - $cmd->CreaParametro("@tipoaccion","",1); - $cmd->CreaParametro("@idtipoaccion",0,1); - $cmd->CreaParametro("@cateaccion",$PROCESOS,1); - $cmd->CreaParametro("@ambito",0,1); - $cmd->CreaParametro("@idambito",0,1); - $cmd->CreaParametro("@ambitskwrk","",0); - $cmd->CreaParametro("@fechahorareg","",0); - $cmd->CreaParametro("@estado",$ACCION_INICIADA,0); - $cmd->CreaParametro("@resultado",$ACCION_SINRESULTADO,0); - $cmd->CreaParametro("@idcentro",$idcentro,1); - $cmd->CreaParametro("@parametros","",0); - $cmd->CreaParametro("@accionid",0,1); - $cmd->CreaParametro("@idnotificador",0,1); - - // Insertar accion:tarea -------------------------------------------------------------------- - $cmd->ParamSetValor("@tipoaccion",$EJECUCION_TAREA); - $cmd->ParamSetValor("@idtipoaccion",$idtarea); - $cmd->ParamSetValor("@ambito",0); - $cmd->ParamSetValor("@idambito",0); - $cmd->ParamSetValor("@ambitskwrk",$ambitarea); - $cmd->ParamSetValor("@fechahorareg",date("d/m/y H:i:s")); - $cmd->ParamSetValor("@parametros",$paramtarea); - $cmd->texto="INSERT INTO acciones (tipoaccion,idtipoaccion,cateaccion,ambito,idambito,ambitskwrk,fechahorareg,estado,resultado,idcentro,parametros,accionid,idnotificador) VALUES (@tipoaccion,@idtipoaccion,@cateaccion,@ambito,@idambito,@ambitskwrk,@fechahorareg,@estado,@resultado,@idcentro,@parametros,0,0)"; - $resul=$cmd->Ejecutar(); - if(!$resul) return(false); - - $accionid=$cmd->Autonumerico(); // Toma identificador dela acción - - // Insertar acciones:comandos - $shidra=new SockHidra($servidorhidra,$hidraport); - for ($i=0;$i<$cont_comandos;$i++){ - $tbComandos=$tabla_comandos[$i]; - $cmd->ParamSetValor("@tipoaccion",$EJECUCION_COMANDO); - $cmd->ParamSetValor("@idtipoaccion",$tbComandos["idcomando"]); - $cmd->ParamSetValor("@ambito",$tbComandos["ambito"]); - $cmd->ParamSetValor("@idambito",$tbComandos["idambito"]); - $cmd->ParamSetValor("@ambitskwrk",""); - $cmd->ParamSetValor("@fechahorareg",date("d/m/y H:i:s")); - $cmd->ParamSetValor("@parametros",$tbComandos["parametros"]); - $cmd->ParamSetValor("@accionid",$accionid); - $cmd->ParamSetValor("@idnotificador",$tbComandos["idnotificador"]); - $cmd->texto="INSERT INTO acciones (tipoaccion,idtipoaccion,cateaccion,ambito,idambito,ambitskwrk,fechahorareg,estado,resultado,idcentro,parametros,accionid,idnotificador) VALUES (@tipoaccion,@idtipoaccion,@cateaccion,@ambito,@idambito,@ambitskwrk,@fechahorareg,@estado,@resultado,@idcentro,@parametros,@accionid,@idnotificador)"; - $resul=$cmd->Ejecutar(); - if(!$resul) return(false); - $tbComandos["parametros"].="ids=".$cmd->Autonumerico().chr(13); - - if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra - $shidra->envia_comando($tbComandos["parametros"]); - $shidra->desconectar(); - } - } - return(true); -} diff --git a/admin/WebConsole/gestores/gestor_tareascomandos.php b/admin/WebConsole/gestores/gestor_tareascomandos.php deleted file mode 100644 index ceffb695..00000000 --- a/admin/WebConsole/gestores/gestor_tareascomandos.php +++ /dev/null @@ -1,122 +0,0 @@ -<?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: Agosto-2010 -// Nombre del fichero: gestor_tareascomandos.php -// Descripción : -// Gestiona el mantenimiento de la tabla de tareas_comandos -// ************************************************************************************************************************************************* -include_once("../includes/ctrlacc.php"); -include_once("../clases/AdoPhp.php"); -include_once("../includes/CreaComando.php"); -include_once("../includes/opciones.php"); -include_once("../clases/SockHidra.php"); -include_once("../includes/constantes.php"); -//________________________________________________________________________________________________________ -$opcion=0; // Inicializa parametros -$idtareacomando=0; -$orden=0; - -if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros -if (isset($_POST["idtareacomando"])) $idtareacomando=$_POST["idtareacomando"]; -if (isset($_POST["orden"])) $orden=$_POST["orden"]; - -$cmd=CreaComando($cadenaconexion); // Crea objeto comando -$resul=false; -if ($cmd){ - $resul=Gestiona(); - $cmd->Conexion->Cerrar(); -} -$literal=""; -switch($opcion){ - case $op_eliminacion : - $literal="resultado_eliminar_tareacomando"; - break; - case $op_modificacion : - $literal="resultado_modificar_tareacomando"; - break; - case $op_ejecucion : - $literal="resultado_ejecutar_tareacomando"; - break; - default: - break; -} -if ($resul){ - echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idtareacomando.");".chr(13); -} -else{ - echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idtareacomando.")"; -} -// ************************************************************************************************************************************************* -function Gestiona(){ - global $cmd; - global $opcion; - global $op_modificacion; - global $op_eliminacion; - global $op_ejecucion; - global $EJECUCION_COMANDO; - global $PROCESOS; - global $ACCION_INICIADA; - global $ACCION_SINERRORES; - global $ACCION_SINRESULTADO; - global $servidorhidra; - global $hidraport; - global $idcentro; - global $idtareacomando; - global $orden; - $resul=true; - - $cmd->CreaParametro("@orden",$orden,1); - - switch($opcion){ - case $op_modificacion : - $cmd->texto='UPDATE tareas_comandos set orden=@orden WHERE idtareacomando='.$idtareacomando; - $resul=$cmd->Ejecutar(); - break; - case $op_eliminacion : - $cmd->texto='DELETE FROM tareas_comandos WHERE idtareacomando='.$idtareacomando; - $resul=$cmd->Ejecutar(); - break; - case $op_ejecucion : - $nombreliterales[0]="idcomando"; - $nombreliterales[1]="ambito"; - $nombreliterales[2]="idambito"; - $nombreliterales[3]="parametros"; - $Datos=TomanDatos($cmd,"tareas_comandos",$idtareacomando,"idtareacomando",$nombreliterales); - if(empty($Datos)) return(false); - - $idtipoaccion=$Datos["idcomando"]; - $ambito=$Datos["ambito"]; - $idambito=$Datos["idambito"]; - $parametros=$Datos["parametros"]; - - $cmd->CreaParametro("@tipoaccion",$EJECUCION_COMANDO,1); - $cmd->CreaParametro("@idtipoaccion",$idtipoaccion,1); - $cmd->CreaParametro("@cateaccion",$PROCESOS,1); - $cmd->CreaParametro("@ambito",$ambito,1); - $cmd->CreaParametro("@idambito",$idambito,1); - $cmd->CreaParametro("@ambitskwrk","",0); - $cmd->CreaParametro("@fechahorareg",date("y/m/d H:i:s"),0); - $cmd->CreaParametro("@estado",$ACCION_INICIADA,0); - $cmd->CreaParametro("@resultado",$ACCION_SINRESULTADO,0); - $cmd->CreaParametro("@idcentro",$idcentro,1); - $cmd->CreaParametro("@parametros",$parametros,0); - $cmd->texto="INSERT INTO acciones (tipoaccion,idtipoaccion,cateaccion,ambito,idambito,ambitskwrk,fechahorareg,estado,resultado,idcentro,parametros,accionid) VALUES (@tipoaccion,@idtipoaccion,@cateaccion,@ambito,@idambito,@ambitskwrk,@fechahorareg,@estado,@resultado,@idcentro,@parametros,0)"; - $resul=$cmd->Ejecutar(); - if($resul){ - $parametros.="ids=".$cmd->Autonumerico().chr(13); - } - $shidra=new SockHidra($servidorhidra,$hidraport); - if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra - $shidra->envia_comando($parametros); - $shidra->desconectar(); - } - break; - default: - break; - } - return($resul); -} - diff --git a/admin/WebConsole/gestores/gestor_ubicarordenadores.php b/admin/WebConsole/gestores/gestor_ubicarordenadores.php index 2a7c2e35..98c5bc2e 100644 --- a/admin/WebConsole/gestores/gestor_ubicarordenadores.php +++ b/admin/WebConsole/gestores/gestor_ubicarordenadores.php @@ -3,7 +3,6 @@ include_once("../includes/ctrlacc.php"); include_once("../clases/AdoPhp.php"); include_once("../clases/XmlPhp.php"); include_once("../clases/MenuContextual.php"); -include_once("../clases/SockHidra.php"); include_once("../includes/constantes.php"); include_once("../includes/comunes.php"); include_once("../includes/CreaComando.php"); diff --git a/admin/WebConsole/gestores/gestor_usuarios.php b/admin/WebConsole/gestores/gestor_usuarios.php index 12aa67fd..f346d10b 100644 --- a/admin/WebConsole/gestores/gestor_usuarios.php +++ b/admin/WebConsole/gestores/gestor_usuarios.php @@ -9,7 +9,6 @@ // Gestiona el mantenimiento de la tabla de usuarios // ******************************************************************************************************* include_once("../includes/ctrlacc.php"); -include_once("../clases/SockHidra.php"); include_once("../clases/AdoPhp.php"); include_once("../clases/XmlPhp.php"); include_once("../clases/ArbolVistaXML.php"); |