primeros archivos de administración

git-svn-id: https://opengnsys.es/svn/trunk@522 a21b9725-9963-47de-94b9-378ad31fedc9
remotes/github/debian-pkg
alonso 2009-11-07 15:28:42 +00:00
parent a2bd9322aa
commit 902e3b6db4
6 changed files with 701 additions and 681 deletions

View File

@ -1,292 +1,293 @@
<?
// *************************************************************************************************************************************************
// 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: Marzo-2005
// Nombre del fichero: gestor_tareas.php
// Descripción :
// Gestiona el mantenimiento de la tabla de tareas
// *************************************************************************************************************************************************
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");
include_once("./relaciones/tareas_eliminacion.php");
//________________________________________________________________________________________________________
$opcion=0; // Inicializa parametros
$idtarea=0;
$descripcion="";
$comentarios="";
$grupoid=0;
$swc=0; // switch de cliente, esta pagina la llama el cliente a través del browser
if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros
if (isset($_GET["idtarea"])) $idtarea=$_GET["idtarea"];
if (isset($_GET["descripcion"])) $descripcion=$_GET["descripcion"];
if (isset($_GET["comentarios"])) $comentarios=$_GET["comentarios"];
if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"];
if (isset($_GET["identificador"])) $idtarea=$_GET["identificador"];
if (isset($_GET["swc"])) $swc=$_GET["swc"];
$tablanodo=""; // Arbol para nodos insertados
$cmd=CreaComando($cadenaconexion); // Crea objeto comando
$resul=false;
if ($cmd){
$resul=Gestiona();
$cmd->Conexion->Cerrar();
}
// *************************************************************************************************************************************************
?>
<HTML>
<?
// *************************************************************************************************************************************************
// 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: Marzo-2005
// Nombre del fichero: gestor_tareas.php
// Descripción :
// Gestiona el mantenimiento de la tabla de tareas
// *************************************************************************************************************************************************
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");
include_once("./relaciones/tareas_eliminacion.php");
//________________________________________________________________________________________________________
$opcion=0; // Inicializa parametros
$idtarea=0;
$descripcion="";
$comentarios="";
$grupoid=0;
$swc=0; // switch de cliente, esta pagina la llama el cliente a través del browser
if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros
if (isset($_GET["idtarea"])) $idtarea=$_GET["idtarea"];
if (isset($_GET["descripcion"])) $descripcion=$_GET["descripcion"];
if (isset($_GET["comentarios"])) $comentarios=$_GET["comentarios"];
if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"];
if (isset($_GET["identificador"])) $idtarea=$_GET["identificador"];
if (isset($_GET["swc"])) $swc=$_GET["swc"];
$tablanodo=""; // Arbol para nodos insertados
$cmd=CreaComando($cadenaconexion); // Crea objeto comando
$resul=false;
if ($cmd){
$resul=Gestiona();
$cmd->Conexion->Cerrar();
}
// *************************************************************************************************************************************************
?>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<BODY>
<?
$literal="";
switch($opcion){
case $op_alta :
$literal="resultado_insertar_tareas";
break;
case $op_modificacion:
$literal="resultado_modificar_tareas";
break;
case $op_eliminacion :
$literal="resultado_eliminar_tareas";
break;
case $op_movida :
$literal="resultado_mover";
break;
case $op_ejecucion :
$literal="resultado_ejecutar_tareas";
break;
default:
break;
}
echo '<p><span id="arbol_nodo">'.$tablanodo.'</span></p>';
if ($resul){
if(empty($swc)){
echo '<SCRIPT language="javascript">'.chr(13);
echo 'var oHTML'.chr(13);
echo 'var cTBODY=document.all.tags("TBODY");'.chr(13);
echo 'o=cTBODY.item(1);'.chr(13);
if ($opcion==$op_alta )
echo 'window.parent.'.$literal."(1,'".$cmd->DescripUltimoError()." ',".$idtarea.",o.innerHTML);".chr(13);
else
echo 'window.parent.'.$literal."(1,'".$cmd->DescripUltimoError()." ',".$idtarea.");".chr(13);
echo '</SCRIPT>';
}
else{
echo '<SCRIPT language="javascript">'.chr(13);
echo 'alert("El item se ha ejecutado correctamente");'.chr(13);
echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13);
echo '</SCRIPT>';
}
}
else{
if(empty($swc)){
echo '<SCRIPT language="javascript">';
echo " window.parent.".$literal."(0,'".$cmd->DescripUltimoError()."',".$idtarea.")";
echo '</SCRIPT>';
}
else{
echo '<SCRIPT language="javascript">'.chr(13);
echo 'alert("***ATENCIÓN:El item NO se ha podido ejecutar");'.chr(13);
echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13);
echo '</SCRIPT>';
}
}
?>
</BODY>
</HTML>
<?
/**************************************************************************************************************************************************
Inserta, modifica o elimina datos en la tabla tareas
________________________________________________________________________________________________________*/
function Gestiona(){
global $EJECUCION_TAREA;
global $cmd;
global $opcion;
global $idcentro;
global $idtarea;
global $descripcion;
global $comentarios;
global $grupoid;
global $op_alta;
global $op_modificacion;
global $op_eliminacion;
global $op_movida;
global $op_ejecucion;
global $tablanodo;
$cmd->CreaParametro("@idcentro",$idcentro,1);
$cmd->CreaParametro("@idtarea",$idtarea,1);
$cmd->CreaParametro("@descripcion",$descripcion,0);
$cmd->CreaParametro("@comentarios",$comentarios,0);
$cmd->CreaParametro("@grupoid",$grupoid,1);
switch($opcion){
case $op_alta :
$cmd->texto="INSERT INTO tareas (descripcion,comentarios,idcentro,grupoid) VALUES (@descripcion,@comentarios,@idcentro,@grupoid)";
$resul=$cmd->Ejecutar();
if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta
$idtarea=$cmd->Autonumerico();
$arbolXML=SubarbolXML_tareas($idtarea,$descripcion,"");
$baseurlimg="../images/signos"; // Url de las imagenes de signo
$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol
$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault);
$tablanodo=$arbol->CreaArbolVistaXML();
}
break;
case $op_modificacion:
$cmd->texto="UPDATE tareas SET descripcion=@descripcion,comentarios=@comentarios WHERE idtarea=@idtarea";
$resul=$cmd->Ejecutar();
break;
case $op_eliminacion :
$resul=EliminaTareas($cmd,$idtarea,"idtarea");
break;
case $op_movida :
$cmd->texto="UPDATE tareas SET grupoid=@grupoid WHERE idtarea=@idtarea";
$resul=$cmd->Ejecutar();
break;
case $op_ejecucion :
$resul=EjecutandoTareas();
break;
default:
break;
}
return($resul);
}
/*________________________________________________________________________________________________________
Crea un arbol XML para el nuevo nodo insertado
________________________________________________________________________________________________________*/
function SubarbolXML_tareas($idtarea,$descripcion,$urlimg){
global $LITAMBITO_TAREAS;
$cadenaXML='<TAREA';
// Atributos`
if ($urlimg!="")
$cadenaXML.=' imagenodo="'.$urlimg;
else
$cadenaXML.=' imagenodo="../images/iconos/tareas.gif"';
$cadenaXML.=' infonodo="'.$descripcion;
$cadenaXML.=' nodoid='.$LITAMBITO_TAREAS.'-'.$idtarea;
$cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_TAREAS."'" .')"';
$cadenaXML.='>';
$cadenaXML.='</TAREA>';
return($cadenaXML);
}
//________________________________________________________________________________________________________
function EjecutandoTareas(){
global $EJECUCION_COMANDO;
global $EJECUCION_TAREA;
global $PROCESOS;
global $ACCION_INICIADA;
global $ACCION_SINERRORES;
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_SINERRORES,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);
}
?>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<BODY>
<?
$literal="";
switch($opcion){
case $op_alta :
$literal="resultado_insertar_tareas";
break;
case $op_modificacion:
$literal="resultado_modificar_tareas";
break;
case $op_eliminacion :
$literal="resultado_eliminar_tareas";
break;
case $op_movida :
$literal="resultado_mover";
break;
case $op_ejecucion :
$literal="resultado_ejecutar_tareas";
break;
default:
break;
}
echo '<p><span id="arbol_nodo">'.$tablanodo.'</span></p>';
if ($resul){
if(empty($swc)){
echo '<SCRIPT language="javascript">'.chr(13);
echo 'var oHTML'.chr(13);
echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13);
echo 'o=cTBODY.item(1);'.chr(13);
if ($opcion==$op_alta )
echo 'window.parent.'.$literal."(1,'".$cmd->DescripUltimoError()." ',".$idtarea.",o.innerHTML);".chr(13);
else{
echo 'window.parent.'.$literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13);
}
echo '</SCRIPT>';
}
else{
echo '<SCRIPT language="javascript">'.chr(13);
echo 'alert("El item se ha ejecutado correctamente");'.chr(13);
echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13);
echo '</SCRIPT>';
}
}
else{
if(empty($swc)){
echo '<SCRIPT language="javascript">';
echo " window.parent.".$literal."(0,'".$cmd->DescripUltimoError()."',".$idtarea.")";
echo '</SCRIPT>';
}
else{
echo '<SCRIPT language="javascript">'.chr(13);
echo 'alert("***ATENCIÓN:El item NO se ha podido ejecutar");'.chr(13);
echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13);
echo '</SCRIPT>';
}
}
?>
</BODY>
</HTML>
<?
/**************************************************************************************************************************************************
Inserta, modifica o elimina datos en la tabla tareas
________________________________________________________________________________________________________*/
function Gestiona(){
global $EJECUCION_TAREA;
global $cmd;
global $opcion;
global $idcentro;
global $idtarea;
global $descripcion;
global $comentarios;
global $grupoid;
global $op_alta;
global $op_modificacion;
global $op_eliminacion;
global $op_movida;
global $op_ejecucion;
global $tablanodo;
$cmd->CreaParametro("@idcentro",$idcentro,1);
$cmd->CreaParametro("@idtarea",$idtarea,1);
$cmd->CreaParametro("@descripcion",$descripcion,0);
$cmd->CreaParametro("@comentarios",$comentarios,0);
$cmd->CreaParametro("@grupoid",$grupoid,1);
switch($opcion){
case $op_alta :
$cmd->texto="INSERT INTO tareas (descripcion,comentarios,idcentro,grupoid) VALUES (@descripcion,@comentarios,@idcentro,@grupoid)";
$resul=$cmd->Ejecutar();
if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta
$idtarea=$cmd->Autonumerico();
$arbolXML=SubarbolXML_tareas($idtarea,$descripcion,"");
$baseurlimg="../images/signos"; // Url de las imagenes de signo
$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol
$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault);
$tablanodo=$arbol->CreaArbolVistaXML();
}
break;
case $op_modificacion:
$cmd->texto="UPDATE tareas SET descripcion=@descripcion,comentarios=@comentarios WHERE idtarea=@idtarea";
$resul=$cmd->Ejecutar();
break;
case $op_eliminacion :
$resul=EliminaTareas($cmd,$idtarea,"idtarea");
break;
case $op_movida :
$cmd->texto="UPDATE tareas SET grupoid=@grupoid WHERE idtarea=@idtarea";
$resul=$cmd->Ejecutar();
break;
case $op_ejecucion :
$resul=EjecutandoTareas();
break;
default:
break;
}
return($resul);
}
/*________________________________________________________________________________________________________
Crea un arbol XML para el nuevo nodo insertado
________________________________________________________________________________________________________*/
function SubarbolXML_tareas($idtarea,$descripcion,$urlimg){
global $LITAMBITO_TAREAS;
$cadenaXML='<TAREA';
// Atributos`
if ($urlimg!="")
$cadenaXML.=' imagenodo="'.$urlimg;
else
$cadenaXML.=' imagenodo="../images/iconos/tareas.gif"';
$cadenaXML.=' infonodo="'.$descripcion;
$cadenaXML.=' nodoid='.$LITAMBITO_TAREAS.'-'.$idtarea;
$cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_TAREAS."'" .')"';
$cadenaXML.='>';
$cadenaXML.='</TAREA>';
return($cadenaXML);
}
//________________________________________________________________________________________________________
function EjecutandoTareas(){
global $EJECUCION_COMANDO;
global $EJECUCION_TAREA;
global $PROCESOS;
global $ACCION_INICIADA;
global $ACCION_SINERRORES;
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_SINERRORES,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);
}
?>

View File

@ -1,368 +1,368 @@
<?
// *************************************************************************************************************************************************
// 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: Marzo-2005
// Nombre del fichero: gestor_trabajos.php
// Descripción :
// Gestiona el mantenimiento de la tabla de trabajos
// *************************************************************************************************************************************************
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/opciones.php");
include_once("./relaciones/trabajos_eliminacion.php");
//________________________________________________________________________________________________________
$opcion=0; // Inicializa parametros
$idtrabajo=0;
$descripcion="";
$comentarios="";
$grupoid=0;
$swc=0; // switch de cliente, esta pagina la llama el cliente a través del browser
if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros
if (isset($_GET["idtrabajo"])) $idtrabajo=$_GET["idtrabajo"];
if (isset($_GET["descripcion"])) $descripcion=$_GET["descripcion"];
if (isset($_GET["comentarios"])) $comentarios=$_GET["comentarios"];
if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"];
if (isset($_GET["identificador"])) $idtrabajo=$_GET["identificador"];
if (isset($_GET["swc"])) $swc=$_GET["swc"];
$tablanodo=""; // Arbol para nodos insertados
$cmd=CreaComando($cadenaconexion); // Crea objeto comando
$resul=false;
if ($cmd){
$resul=Gestiona();
$cmd->Conexion->Cerrar();
}
// *************************************************************************************************************************************************
?>
<HTML>
<?
// *************************************************************************************************************************************************
// 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: Marzo-2005
// Nombre del fichero: gestor_trabajos.php
// Descripción :
// Gestiona el mantenimiento de la tabla de trabajos
// *************************************************************************************************************************************************
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/opciones.php");
include_once("./relaciones/trabajos_eliminacion.php");
//________________________________________________________________________________________________________
$opcion=0; // Inicializa parametros
$idtrabajo=0;
$descripcion="";
$comentarios="";
$grupoid=0;
$swc=0; // switch de cliente, esta pagina la llama el cliente a través del browser
if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros
if (isset($_GET["idtrabajo"])) $idtrabajo=$_GET["idtrabajo"];
if (isset($_GET["descripcion"])) $descripcion=$_GET["descripcion"];
if (isset($_GET["comentarios"])) $comentarios=$_GET["comentarios"];
if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"];
if (isset($_GET["identificador"])) $idtrabajo=$_GET["identificador"];
if (isset($_GET["swc"])) $swc=$_GET["swc"];
$tablanodo=""; // Arbol para nodos insertados
$cmd=CreaComando($cadenaconexion); // Crea objeto comando
$resul=false;
if ($cmd){
$resul=Gestiona();
$cmd->Conexion->Cerrar();
}
// *************************************************************************************************************************************************
?>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<BODY>
<?
$literal="";
switch($opcion){
case $op_alta :
$literal="resultado_insertar_trabajos";
break;
case $op_modificacion:
$literal="resultado_modificar_trabajos";
break;
case $op_eliminacion :
$literal="resultado_eliminar_trabajos";
break;
case $op_movida :
$literal="resultado_mover";
break;
case $op_ejecucion :
$literal="resultado_ejecutar_trabajos";
default:
break;
}
echo '<p><span id="arbol_nodo">'.$tablanodo.'</span></p>';
if ($resul){
if(empty($swc)){
echo '<SCRIPT language="javascript">'.chr(13);
echo 'var oHTML'.chr(13);
echo 'var cTBODY=document.all.tags("TBODY");'.chr(13);
echo 'o=cTBODY.item(1);'.chr(13);
if ($opcion==$op_alta )
echo 'window.parent.'.$literal."(1,'".$cmd->DescripUltimoError()." ',".$idtrabajo.",o.innerHTML);".chr(13);
else
echo 'window.parent.'.$literal."(1,'".$cmd->DescripUltimoError()." ',".$idtrabajo.");".chr(13);
echo '</SCRIPT>';
}
else{
echo '<SCRIPT language="javascript">'.chr(13);
echo 'alert("El item se ha ejecutado correctamente");'.chr(13);
echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13);
echo '</SCRIPT>';
}
}
else{
if(empty($swc)){
echo '<SCRIPT language="javascript">';
echo " window.parent.".$literal."(0,'".$cmd->DescripUltimoError()."',".$idtrabajo.")";
echo '</SCRIPT>';
}
else{
echo '<SCRIPT language="javascript">'.chr(13);
echo 'alert("***ATENCIÓN:El item NO se ha podido ejecutar");'.chr(13);
echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13);
echo '</SCRIPT>';
}
}
?>
</BODY>
</HTML>
<?
/**************************************************************************************************************************************************
Inserta, modifica o elimina datos en la tabla tareas
________________________________________________________________________________________________________*/
function Gestiona(){
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<BODY>
<?
$literal="";
switch($opcion){
case $op_alta :
$literal="resultado_insertar_trabajos";
break;
case $op_modificacion:
$literal="resultado_modificar_trabajos";
break;
case $op_eliminacion :
$literal="resultado_eliminar_trabajos";
break;
case $op_movida :
$literal="resultado_mover";
break;
case $op_ejecucion :
$literal="resultado_ejecutar_trabajos";
default:
break;
}
echo '<p><span id="arbol_nodo">'.$tablanodo.'</span></p>';
if ($resul){
if(empty($swc)){
echo '<SCRIPT language="javascript">'.chr(13);
echo 'var oHTML'.chr(13);
echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13);
echo 'o=cTBODY.item(1);'.chr(13);
if ($opcion==$op_alta )
echo 'window.parent.'.$literal."(1,'".$cmd->DescripUltimoError()." ',".$idtrabajo.",o.innerHTML);".chr(13);
else
echo 'window.parent.'.$literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13);
echo '</SCRIPT>';
}
else{
echo '<SCRIPT language="javascript">'.chr(13);
echo 'alert("El item se ha ejecutado correctamente");'.chr(13);
echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13);
echo '</SCRIPT>';
}
}
else{
if(empty($swc)){
echo '<SCRIPT language="javascript">';
echo " window.parent.".$literal."(0,'".$cmd->DescripUltimoError()."',".$idtrabajo.")";
echo '</SCRIPT>';
}
else{
echo '<SCRIPT language="javascript">'.chr(13);
echo 'alert("***ATENCIÓN:El item NO se ha podido ejecutar");'.chr(13);
echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13);
echo '</SCRIPT>';
}
}
?>
</BODY>
</HTML>
<?
/**************************************************************************************************************************************************
Inserta, modifica o elimina datos en la tabla tareas
________________________________________________________________________________________________________*/
function Gestiona(){
global $EJECUCION_TRABAJO;
global $cmd;
global $opcion;
global $idcentro;
global $idtrabajo;
global $descripcion;
global $comentarios;
global $grupoid;
global $op_alta;
global $op_modificacion;
global $op_eliminacion;
global $op_movida;
global $op_ejecucion;
global $tablanodo;
$cmd->CreaParametro("@idcentro",$idcentro,1);
$cmd->CreaParametro("@idtrabajo",$idtrabajo,1);
$cmd->CreaParametro("@descripcion",$descripcion,0);
$cmd->CreaParametro("@comentarios",$comentarios,0);
$cmd->CreaParametro("@grupoid",$grupoid,1);
switch($opcion){
case $op_alta :
$cmd->texto="INSERT INTO trabajos (descripcion,comentarios,idcentro,grupoid) VALUES (@descripcion,@comentarios,@idcentro,@grupoid)";
$resul=$cmd->Ejecutar();
if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta
$idtrabajo=$cmd->Autonumerico();
$arbolXML=SubarbolXML_trabajos($idtrabajo,$descripcion,"");
$baseurlimg="../images/signos"; // Url de las imagenes de signo
$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol
$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault);
$tablanodo=$arbol->CreaArbolVistaXML();
}
break;
case $op_modificacion:
$cmd->texto="UPDATE trabajos SET descripcion=@descripcion,comentarios=@comentarios WHERE idtrabajo=@idtrabajo";
$resul=$cmd->Ejecutar();
break;
case $op_eliminacion :
$resul=EliminaTrabajos($cmd,$idtrabajo,"idtrabajo");
break;
case $op_movida :
$cmd->texto="UPDATE trabajos SET grupoid=@grupoid WHERE idtrabajo=@idtrabajo";
$resul=$cmd->Ejecutar();
break;
case $op_ejecucion :
$resul=ejecutando_trabajos();
break;
default:
break;
}
return($resul);
}
/*________________________________________________________________________________________________________
Crea un arbol XML para el nuevo nodo insertado
________________________________________________________________________________________________________*/
function SubarbolXML_trabajos($idtrabajo,$descripcion,$urlimg){
global $LITAMBITO_TRABAJOS;
$cadenaXML='<TRABAJO';
// Atributos
if ($urlimg!="")
$cadenaXML.=' imagenodo="'.$urlimg;
else
$cadenaXML.=' imagenodo="../images/iconos/trabajos.gif"';
$cadenaXML.=' infonodo="'.$descripcion;
$cadenaXML.=' nodoid='.$LITAMBITO_TRABAJOS.'-'.$idtrabajo;
$cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_TRABAJOS."'" .')"';
$cadenaXML.='>';
$cadenaXML.='</TRABAJO>';
return($cadenaXML);
}
//________________________________________________________________________________________________________
function ejecutando_trabajos(){
global $EJECUCION_COMANDO;
global $EJECUCION_TAREA;
global $EJECUCION_TRABAJO;
global $PROCESOS;
global $ACCION_INICIADA;
global $ACCION_SINERRORES;
global $idcentro;
global $idtrabajo;
global $cmd;
$ambitrabajo="";
$paramtrabajo="tsk=";
$tbTareas="";
$tabla_tareas="";
$cont_tareas=0;
$rs=new Recordset;
// Recorre trabajos_tareas
$cmd->texto="SELECT trabajos_tareas.idtrabajotarea,trabajos_tareas.idtarea,trabajos_tareas.ambitskwrk FROM trabajos_tareas INNER JOIN tareas ON trabajos_tareas.idtarea=tareas.idtarea WHERE trabajos_tareas.idtrabajo=".$idtrabajo;
$cmd->texto.=" ORDER BY trabajos_tareas.orden";
$rs->Comando=&$cmd;
if (!$rs->Abrir()) return(false); // Error al abrir recordset
if ($rs->EOF) return(true); // Error al abrir recordset
$rs->Primero();
// Recorre trabajos-tareas
while (!$rs->EOF){
$tbTareas["idnotificador"]=$rs->campos["idtrabajotarea"];
$tbTareas["idtarea"]=$rs->campos["idtarea"];
$tabla_tareas[$cont_tareas]=$tbTareas;
$cont_tareas++;
$ambitrabajo.=$rs->campos["ambitskwrk"].";";
$paramtrabajo.=$rs->campos["idtrabajotarea"].";";
$rs->Siguiente();
}
$rs->Cerrar();
global $EJECUCION_TRABAJO;
global $cmd;
global $opcion;
global $idcentro;
global $idtrabajo;
global $descripcion;
global $comentarios;
global $grupoid;
global $op_alta;
global $op_modificacion;
global $op_eliminacion;
global $op_movida;
global $op_ejecucion;
global $tablanodo;
$cmd->CreaParametro("@idcentro",$idcentro,1);
$cmd->CreaParametro("@idtrabajo",$idtrabajo,1);
$cmd->CreaParametro("@descripcion",$descripcion,0);
$cmd->CreaParametro("@comentarios",$comentarios,0);
$cmd->CreaParametro("@grupoid",$grupoid,1);
switch($opcion){
case $op_alta :
$cmd->texto="INSERT INTO trabajos (descripcion,comentarios,idcentro,grupoid) VALUES (@descripcion,@comentarios,@idcentro,@grupoid)";
$resul=$cmd->Ejecutar();
if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta
$idtrabajo=$cmd->Autonumerico();
$arbolXML=SubarbolXML_trabajos($idtrabajo,$descripcion,"");
$baseurlimg="../images/signos"; // Url de las imagenes de signo
$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol
$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault);
$tablanodo=$arbol->CreaArbolVistaXML();
}
break;
case $op_modificacion:
$cmd->texto="UPDATE trabajos SET descripcion=@descripcion,comentarios=@comentarios WHERE idtrabajo=@idtrabajo";
$resul=$cmd->Ejecutar();
break;
case $op_eliminacion :
$resul=EliminaTrabajos($cmd,$idtrabajo,"idtrabajo");
break;
case $op_movida :
$cmd->texto="UPDATE trabajos SET grupoid=@grupoid WHERE idtrabajo=@idtrabajo";
$resul=$cmd->Ejecutar();
break;
case $op_ejecucion :
$resul=ejecutando_trabajos();
break;
default:
break;
}
return($resul);
}
/*________________________________________________________________________________________________________
Crea un arbol XML para el nuevo nodo insertado
________________________________________________________________________________________________________*/
function SubarbolXML_trabajos($idtrabajo,$descripcion,$urlimg){
global $LITAMBITO_TRABAJOS;
$cadenaXML='<TRABAJO';
// Atributos
if ($urlimg!="")
$cadenaXML.=' imagenodo="'.$urlimg;
else
$cadenaXML.=' imagenodo="../images/iconos/trabajos.gif"';
$cadenaXML.=' infonodo="'.$descripcion;
$cadenaXML.=' nodoid='.$LITAMBITO_TRABAJOS.'-'.$idtrabajo;
$cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_TRABAJOS."'" .')"';
$cadenaXML.='>';
$cadenaXML.='</TRABAJO>';
return($cadenaXML);
}
//________________________________________________________________________________________________________
function ejecutando_trabajos(){
global $EJECUCION_COMANDO;
global $EJECUCION_TAREA;
global $EJECUCION_TRABAJO;
global $PROCESOS;
global $ACCION_INICIADA;
global $ACCION_SINERRORES;
global $idcentro;
global $idtrabajo;
global $cmd;
$ambitrabajo="";
$paramtrabajo="tsk=";
$tbTareas="";
$tabla_tareas="";
$cont_tareas=0;
$rs=new Recordset;
// Recorre trabajos_tareas
$cmd->texto="SELECT trabajos_tareas.idtrabajotarea,trabajos_tareas.idtarea,trabajos_tareas.ambitskwrk FROM trabajos_tareas INNER JOIN tareas ON trabajos_tareas.idtarea=tareas.idtarea WHERE trabajos_tareas.idtrabajo=".$idtrabajo;
$cmd->texto.=" ORDER BY trabajos_tareas.orden";
$rs->Comando=&$cmd;
if (!$rs->Abrir()) return(false); // Error al abrir recordset
if ($rs->EOF) return(true); // Error al abrir recordset
$rs->Primero();
// Recorre trabajos-tareas
while (!$rs->EOF){
$tbTareas["idnotificador"]=$rs->campos["idtrabajotarea"];
$tbTareas["idtarea"]=$rs->campos["idtarea"];
$tabla_tareas[$cont_tareas]=$tbTareas;
$cont_tareas++;
$ambitrabajo.=$rs->campos["ambitskwrk"].";";
$paramtrabajo.=$rs->campos["idtrabajotarea"].";";
$rs->Siguiente();
}
$rs->Cerrar();
$ambitrabajo=substr($ambitrabajo,0,strlen($ambitrabajo)-1); // Quita la coma final
$paramtrabajo=substr($paramtrabajo,0,strlen($paramtrabajo)-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_SINERRORES,0);
$cmd->CreaParametro("@idcentro",$idcentro,1);
$cmd->CreaParametro("@parametros","",0);
$cmd->CreaParametro("@accionid",0,1);
$cmd->CreaParametro("@idnotificador",0,1);
// Insertar accion:trabajo --------------------------------------------------------------------
$cmd->ParamSetValor("@tipoaccion",$EJECUCION_TRABAJO);
$cmd->ParamSetValor("@idtipoaccion",$idtrabajo);
$cmd->ParamSetValor("@ambito",0);
$cmd->ParamSetValor("@idambito",0);
$cmd->ParamSetValor("@ambitskwrk",$ambitrabajo);
$cmd->ParamSetValor("@fechahorareg",date("d/m/y H:i:s"));
$cmd->ParamSetValor("@parametros",$paramtrabajo);
$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:tareas --------------------------------------------------------------------
for ($i=0;$i<$cont_tareas;$i++){
$tbTareas=$tabla_tareas[$i];
$resul=EjecutandoTareas($tbTareas["idtarea"],$accionid,$tbTareas["idnotificador"]);
if(!$resul) return(false);
}
return(true);
}
//________________________________________________________________________________________________________
function EjecutandoTareas($idtarea,$accionid,$idnotificador){
global $EJECUCION_COMANDO;
global $EJECUCION_TAREA;
global $PROCESOS;
global $ACCION_INICIADA;
global $ACCION_SINERRORES;
global $idcentro;
global $servidorhidra;
global $hidraport;
global $cmd;
$shidra=new SockHidra($servidorhidra,$hidraport);
$ambitarea="";
$paramtarea="cmd=";
$tbComandos="";
$tabla_comandos="";
$cont_comandos=0;
// Recorre tareas-comandos
$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();
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
// 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->ParamSetValor("@accionid",$accionid);
$cmd->ParamSetValor("@idnotificador",$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);
$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);
}
?>
$ambitrabajo=substr($ambitrabajo,0,strlen($ambitrabajo)-1); // Quita la coma final
$paramtrabajo=substr($paramtrabajo,0,strlen($paramtrabajo)-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_SINERRORES,0);
$cmd->CreaParametro("@idcentro",$idcentro,1);
$cmd->CreaParametro("@parametros","",0);
$cmd->CreaParametro("@accionid",0,1);
$cmd->CreaParametro("@idnotificador",0,1);
// Insertar accion:trabajo --------------------------------------------------------------------
$cmd->ParamSetValor("@tipoaccion",$EJECUCION_TRABAJO);
$cmd->ParamSetValor("@idtipoaccion",$idtrabajo);
$cmd->ParamSetValor("@ambito",0);
$cmd->ParamSetValor("@idambito",0);
$cmd->ParamSetValor("@ambitskwrk",$ambitrabajo);
$cmd->ParamSetValor("@fechahorareg",date("d/m/y H:i:s"));
$cmd->ParamSetValor("@parametros",$paramtrabajo);
$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:tareas --------------------------------------------------------------------
for ($i=0;$i<$cont_tareas;$i++){
$tbTareas=$tabla_tareas[$i];
$resul=EjecutandoTareas($tbTareas["idtarea"],$accionid,$tbTareas["idnotificador"]);
if(!$resul) return(false);
}
return(true);
}
//________________________________________________________________________________________________________
function EjecutandoTareas($idtarea,$accionid,$idnotificador){
global $EJECUCION_COMANDO;
global $EJECUCION_TAREA;
global $PROCESOS;
global $ACCION_INICIADA;
global $ACCION_SINERRORES;
global $idcentro;
global $servidorhidra;
global $hidraport;
global $cmd;
$shidra=new SockHidra($servidorhidra,$hidraport);
$ambitarea="";
$paramtarea="cmd=";
$tbComandos="";
$tabla_comandos="";
$cont_comandos=0;
// Recorre tareas-comandos
$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();
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
// 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->ParamSetValor("@accionid",$accionid);
$cmd->ParamSetValor("@idnotificador",$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);
$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);
}
?>

View File

@ -54,7 +54,6 @@ function resultado_cambiar_ordenadores(resul,descrierror,id){
var ncel=corte_currentNodo.CeldaVista;
var celdaHTML=ncel.parentNode.innerHTML; // Recupera celda del nodo
alert(celdaHTML)
if(IE)
var patron = new RegExp("<TD width=16><SPAN><IMG","gi")
else
@ -62,7 +61,6 @@ function resultado_cambiar_ordenadores(resul,descrierror,id){
var patron = new RegExp("<TD width=\"16px\"><SPAN><IMG","gi")
var p=celdaHTML.search(patron);
alert(p)
if(p<0) return // Ha habido algn problema
var nwceldaHTML='<TABLE border="0" cellspacing="0" cellpadding="0"><TBODY><TR height=16><TD width=3></TD>';
nwceldaHTML+=celdaHTML.substring(p);

View File

@ -1,4 +1,4 @@
// *************************************************************************************************************************************************
// *************************************************************************************************************************************************
// Libreria de scripts de Javascript
// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
// Fecha Creación:2003-2004
@ -541,22 +541,35 @@ var NS=(navigator.appName=="Netscape");
}
//________________________________________________________________________________________________________
function ver_notificaciones(o,sw,ida){
o=o.parentNode
o.childNodes[sw].style.display="none"
return;
o=o.parentNode // Elemento HREF
o=o.parentNode // Elemento TD
var IMG=o.childNodes[0].childNodes[sw] // Imagen
IMG.style.display="none"
sw++
if(sw>1)sw=0
o.childNodes[sw].style.display="block"
IMG.style.display="block"
while (o.tagName!="TBODY"){
o=o.parentNode
}
var oTRs=o.getElementsByTagName('TR')
for(var i=0;i<oTRs.length;i++){
if(oTRs[i].getAttribute("id")=='NOT_'+ida || oTRs[i].getAttribute("id")=='PAR_'+ida)
if (oTRs[i].style.visibility=="hidden") oTRs[i].style.visibility="visible"
else
oTRs[i].style.visibility="hidden"
}
/*
for(var i=0;i<oTRs.length;i++){
if(oTRs[i].getAttribute("id")=='NOT_'+ida || oTRs[i].getAttribute("id")=='PAR_'+ida)
if (oTRs[i].style.display=="none") oTRs[i].style.display="block"
else
oTRs[i].style.display="none"
}
}
*/
}
//________________________________________________________________________________________________________
function vertabla_calendario(ofecha){

View File

@ -1,4 +1,4 @@
// *************************************************************************************************************************************************
// *************************************************************************************************************************************************
// Libreria de scripts de Javascript
// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
// Fecha Creación:2003-2004
@ -280,6 +280,7 @@ function resultado_mover(resul,descrierror,id){
}
var ncel=corte_currentNodo.CeldaVista;
var celdaHTML=ncel.parentNode.innerHTML; // Recupera celda del nodo
if(IE)
var patron = new RegExp("<TD width=16><SPAN><IMG","gi")
else

View File

@ -336,6 +336,8 @@ if (isset($_POST["wrk_accionid"])) $wrk_accionid=$_POST["wrk_accionid"];
if (isset($_POST["wrk_idTipoAccion"])) $wrk_idTipoAccion=$_POST["wrk_idTipoAccion"];
if (isset($_POST["wrk_TipoAccion"])) $wrk_TipoAccion=$_POST["wrk_TipoAccion"];
if (isset($_POST["wrk_NombreTipoAccion"])) $wrk_NombreTipoAccion=$_POST["wrk_NombreTipoAccion"];
$dblock=' style="visibility:visible" ';
//________________________________________________________________________________________________________
?>
<HTML>
@ -350,6 +352,7 @@ if (isset($_POST["wrk_NombreTipoAccion"])) $wrk_NombreTipoAccion=$_POST["wrk_Nom
<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/colasacciones_'.$idioma.'.js"></SCRIPT>'?>
</HEAD>
<BODY OnContextMenu="return false">
<?
$flotante=new MenuContextual(); // Crea objeto MenuContextual
$XMLcontextual=ContextualXMLComando(); // Crea contextual de las acciones
@ -479,7 +482,7 @@ if($accionid>0){
echo '<span align=center class=subcabeceras>'.$textoaccion.':'.$NombreTipoAccion.'</span>&nbsp;&nbsp;<IMG src="'.$urlimg.'">&nbsp;&nbsp;&nbsp;<span class=notas><A href="javascript:ver_accionpadre('.$TipoAccion.');">Volver >></A></span>';
}
else{
echo '<span align=center class=subcabeceras><U>'.$TbMsg[11].':'.$textambito.'</U>,&nbsp'.$nombreambito.'</span>&nbsp;&nbsp;<IMG src="'.$urlimg.'"></span>';
echo '<span align=center class=subcabeceras><U>'.$TbMsg[11].':'.$textambito.'</U>,&nbsp;'.$nombreambito.'</span>&nbsp;&nbsp;<IMG src="'.$urlimg.'"></span>';
}
?>
<BR><BR>
@ -691,8 +694,8 @@ function ListandoAcciones($cmd){
if($porcen>=$porcendesde && $porcen<=$porcenhasta){
$mulaccion.=$rs->campos["idaccion"].":"; // Formato idaccion:estado:resultado;
echo '<TR id="ACC_'.$rs->campos["idaccion"].'" name='.$rs->campos["tipoaccion"].' value='.$rs->campos["ambito"].' height=20>'.chr(13);
echo '<TD align=center><IMG onclick=ver_notificaciones(this,0,'.$rs->campos["idaccion"].'); style="cursor:hand;display:block" src="../images/tsignos/contra.gif">';
echo '<IMG onclick=ver_notificaciones(this,1,'.$rs->campos["idaccion"].'); style="cursor:hand;display:none" src="../images/tsignos/desple.gif">';
echo '<TD align=center><A href="#vernotcontra"><IMG border=0 onclick="ver_notificaciones(this,0,'.$rs->campos["idaccion"].');" style="display:block" src="../images/tsignos/contra.gif"></A>';
echo '<A href="#vernotdesple"><IMG border=0 onclick="ver_notificaciones(this,1,'.$rs->campos["idaccion"].');" style="display:none" src="../images/tsignos/desple.gif"></A>';
echo '</TD>'.chr(13);
switch($rs->campos["tipoaccion"]){
@ -703,17 +706,17 @@ function ListandoAcciones($cmd){
$nombreaccion=$Datos["descripcion"];
// Visualización de los parametros de un comando
$HTMLparametros=infoparametros($cmd,$rs->campos["idaccion"],$rs->campos["parametros"],$Datos["visuparametros"],$ipesnotificadas);
echo '<TD align=center><IMG name="'.$rs->campos["idtipoaccion"].'" id='.$rs->campos["idaccion"].' src="../images/iconos/comandos.gif" style="cursor:hand" oncontextmenu="resalta(this,'.$EJECUCION_COMANDO.','."'".$nombreaccion.".'".')"></TD>'.chr(13);
echo '<TD align=center><A href="#vernotcontra"><IMG border=0 name="'.$rs->campos["idtipoaccion"].'" id='.$rs->campos["idaccion"].' src="../images/iconos/comandos.gif" oncontextmenu="resalta(this,'.$EJECUCION_COMANDO.','."'".$nombreaccion.".'".')"></A></TD>'.chr(13);
break;
case $EJECUCION_TAREA :
$HTMLparametros=infoparametrosTskWrk($cmd,$rs->campos["idaccion"],$rs->campos["parametros"]);
$nombreaccion=TomaDato($cmd,0,'tareas',$rs->campos["idtipoaccion"],'idtarea','descripcion');
echo '<TD align=center><IMG name="'.$rs->campos["idtipoaccion"].'" id='.$rs->campos["idaccion"].' src="../images/iconos/tareas.gif" style="cursor:hand" oncontextmenu="resalta(this,'.$EJECUCION_TAREA.','."'".$nombreaccion.".'".')"></TD>'.chr(13);
echo '<TD align=center><A href="#vernotcontra"><IMG name="'.$rs->campos["idtipoaccion"].'" id='.$rs->campos["idaccion"].' src="../images/iconos/tareas.gif" oncontextmenu="resalta(this,'.$EJECUCION_TAREA.','."'".$nombreaccion.".'".')"></A></TD>'.chr(13);
break;
case $EJECUCION_TRABAJO :
$HTMLparametros=infoparametrosTskWrk($cmd,$rs->campos["idaccion"],$rs->campos["parametros"]);
$nombreaccion=TomaDato($cmd,0,'trabajos',$rs->campos["idtipoaccion"],'idtrabajo','descripcion');
echo '<TD align=center><IMG name="'.$rs->campos["idtipoaccion"].'" id='.$rs->campos["idaccion"].' src="../images/iconos/trabajos.gif" style="cursor:hand" oncontextmenu="resalta(this,'.$EJECUCION_TRABAJO.','."'".$nombreaccion.".'".')"></TD>'.chr(13);
echo '<TD align=center><A href="#accion"><IMG name="'.$rs->campos["idtipoaccion"].'" id='.$rs->campos["idaccion"].' src="../images/iconos/trabajos.gif" oncontextmenu="resalta(this,'.$EJECUCION_TRABAJO.','."'".$nombreaccion.".'".')"></A></TD>'.chr(13);
break;
}
echo '<TD align=center>&nbsp;'.$nombreaccion.'&nbsp;</TD>'.chr(13);
@ -793,8 +796,10 @@ function ListandoAcciones($cmd){
Dibuja la tabla de parametros de una tarea o un trabajo
________________________________________________________________________________________________________*/
function infoparametrosTskWrk($cmd,$idaccion,$parametros){
global $dblock;
$HTMLparametros="";
$HTMLparametros.='<TR id="PAR_'.$idaccion.'" style="display:none">'.chr(13);
$HTMLparametros.='<TR id="PAR_'.$idaccion.'"'.$dblock.'>'.chr(13);
$HTMLparametros.= '<TD>&nbsp;</TD>'.chr(13);
$HTMLparametros.= '<TH align=center style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #D4D4D4; " >Nº</TH>'.chr(13);
$HTMLparametros.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #D4D4D4;" colspan=10>Acción</TH>'.chr(13);
@ -813,7 +818,7 @@ function infoparametrosTskWrk($cmd,$idaccion,$parametros){
if($rs->EOF) return("");
$valor=$rs->campos["descripcion"];
$rs->Cerrar();
$HTMLparametros.='<TR id="PAR_'.$idaccion.'" style="display:none">'.chr(13);
$HTMLparametros.='<TR id="PAR_'.$idaccion.'"'.$dblock.'>'.chr(13);
$HTMLparametros.= '<TD>&nbsp;</TD>'.chr(13);
$HTMLparametros.= '<TD align=center style="BACKGROUND-COLOR: #b5daad;" >'.($j+1).'</TD>'.chr(13);
$HTMLparametros.= '<TD style="BACKGROUND-COLOR: #b5daad;" colspan=10>'.$valor.'</TD>'.chr(13);
@ -828,9 +833,10 @@ function infoparametros($cmd,$idaccion,$parametros,$visuparametros,$ipesnotifica
global $tabla_parametros;
global $cont_parametros;
global $MAXLONVISUSCRIPT; // longitud Maxima de visualización del script
global $dblock;
$HTMLparametros="";
$HTMLparametros.='<TR id="PAR_'.$idaccion.'" style="display:none">'.chr(13);
$HTMLparametros.='<TR id="PAR_'.$idaccion.'"'.$dblock.'>'.chr(13);
$HTMLparametros.= '<TD>&nbsp;</TD>'.chr(13);
$HTMLparametros.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #D4D4D4; " colspan=3>Parameter</TH>'.chr(13);
$HTMLparametros.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #D4D4D4;" colspan=8>Value</TH>'.chr(13);
@ -845,7 +851,7 @@ function infoparametros($cmd,$idaccion,$parametros,$visuparametros,$ipesnotifica
$posp=busca_indicebinariodual($dualparam[0],$tabla_parametros,$cont_parametros); // Busca datos del parámetro en la tabla cargada previamentre con todos los parámetros
if ($posp>=0){
$auxtabla_parametros=$tabla_parametros[$posp][1];
$HTMLparametros.='<TR id="PAR_'.$idaccion.'" style="display:none">'.chr(13);
$HTMLparametros.='<TR id="PAR_'.$idaccion.'"'.$dblock.'>'.chr(13);
$HTMLparametros.= '<TD>&nbsp;</TD>'.chr(13);
$HTMLparametros.= '<TD style="BACKGROUND-COLOR: #b5daad;" colspan=3>&nbsp;'.$auxtabla_parametros["descripcion"].'</TD>'.chr(13);
if($auxtabla_parametros["tipopa"]==1){
@ -881,7 +887,8 @@ function notificaciones($cmd,$idaccion,$numnot,$TipoAccion,$parametros,$ipesnoti
global $NOTIFICADOR_ORDENADOR;
global $NOTIFICADOR_COMANDO;
global $NOTIFICADOR_TAREA;
global $dblock;
$HTMLnotificaciones="";
$numnot=0;
$rs=new Recordset;
@ -919,7 +926,7 @@ function notificaciones($cmd,$idaccion,$numnot,$TipoAccion,$parametros,$ipesnoti
while (!$rs->EOF){
$numnot++;
if($numreg==0){
$HTMLnotificaciones.='<TR id="NOT_'.$idaccion.'" style="display:none" >'.chr(13);
$HTMLnotificaciones.='<TR id="NOT_'.$idaccion.'"'.$dblock.'>'.chr(13);
$HTMLnotificaciones.= '<TD>&nbsp;</TD>'.chr(13);
$HTMLnotificaciones.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #D4D4D4;">&nbsp;</TH>'.chr(13);
$HTMLnotificaciones.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #D4D4D4;">'.$TbMsg[23].'</TH>'.chr(13);
@ -940,7 +947,7 @@ function notificaciones($cmd,$idaccion,$numnot,$TipoAccion,$parametros,$ipesnoti
break;
}
}
$HTMLnotificaciones.='<TR id="NOT_'.$idaccion.'" style="display:none" height=20 value="'.$idaccion.'">'.chr(13);
$HTMLnotificaciones.='<TR id="NOT_'.$idaccion.'"'.$dblock.' height=20 value="'.$idaccion.'">'.chr(13);
$HTMLnotificaciones.='<TD>&nbsp;</TD>'.chr(13);
$HTMLnotificaciones.='<TD style="BACKGROUND-COLOR: #E3D8C6;" align=center>';
$HTMLnotificaciones.='<IMG id="'.$rs->campos["accionid"].'" name="'.$rs->campos["idnotificacion"].'" value="'.$rs->campos["identificadornot"].'" oncontextmenu="resaltanot(this,'.$TipoNotificador.');" src='.$urlimg.'</TD>'.chr(13);
@ -1262,7 +1269,7 @@ function CriteriosBusquedas(){
$HTMLCriterios.='<TR>'.chr(13);
$HTMLCriterios.='<TD>';
// Lupa
$HTMLCriterios.='<IMG src="../images/iconos/busquedas.gif" onclick="javascript:fdatos.submit()" style="cursor:hand" alt="Buscar">';
$HTMLCriterios.='<A href="#busca"><IMG border=0 src="../images/iconos/busquedas.gif" onclick="javascript:fdatos.submit()" alt="Buscar"></A>';
$HTMLCriterios.='</TD>';
$HTMLCriterios.='<TD>';
@ -1412,7 +1419,7 @@ function ContextualXMLComando(){
if($accionid==0){
$layerXML.='<ITEM';
$layerXML.=' alpulsar="eliminar_accion()"';
$layerXML.=' imgitem="../images/iconos/Eliminar.gif"';
$layerXML.=' imgitem="../images/iconos/eliminar.gif"';
$layerXML.=' textoitem='.$TbMsg[46];
$layerXML.='></ITEM>';
}