source: admin/WebConsole/gestores/gestor_tareas.php @ fe6843b

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since fe6843b was 3ec149c, checked in by alonso <alonso@…>, 15 years ago

git-svn-id: https://opengnsys.es/svn/trunk@1314 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 11.2 KB
Line 
1<?
2// *************************************************************************************************************************************************
3// Aplicación WEB: ogAdmWebCon
4// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
5// Fecha Creación: Año 2009-2010
6// Fecha Última modificación: Agosto-2010
7// Nombre del fichero: gestor_tareas.php
8// Descripción :
9//              Gestiona el mantenimiento de la tabla de tareas
10// *************************************************************************************************************************************************
11include_once("../includes/ctrlacc.php");
12include_once("../clases/AdoPhp.php");
13include_once("../clases/XmlPhp.php");
14include_once("../clases/ArbolVistaXML.php");
15include_once("../clases/SockHidra.php");
16include_once("../includes/CreaComando.php");
17include_once("../includes/constantes.php");
18include_once("../includes/opciones.php");
19include_once("./relaciones/tareas_eliminacion.php");
20//________________________________________________________________________________________________________
21$opcion=0; // Inicializa parametros
22
23$idtarea=0;
24$descripcion="";
25$comentarios="";
26$ambito="";
27$idambito="";
28
29
30$grupoid=0;
31$swc=0; // switch de cliente, esta pagina la llama el cliente a través del browser
32
33if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros
34
35if (isset($_POST["idtarea"])) $idtarea=$_POST["idtarea"];
36if (isset($_POST["descripcion"])) $descripcion=$_POST["descripcion"];
37if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"];
38if (isset($_POST["ambito"])) $ambito=$_POST["ambito"];
39if (isset($_POST["idambito"])) $idambito=$_POST["idambito"];
40if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"];
41if (isset($_POST["identificador"])) $idtarea=$_POST["identificador"];
42if (isset($_POST["swc"])) $swc=$_POST["swc"];
43
44$tablanodo=""; // Arbol para nodos insertados
45
46$cmd=CreaComando($cadenaconexion); // Crea objeto comando
47$resul=false;
48if ($cmd){
49        $resul=Gestiona();
50        $cmd->Conexion->Cerrar();
51}
52
53$literal="";
54switch($opcion){
55        case $op_alta :
56                $literal="resultado_insertar_tareas";
57                break;
58        case $op_modificacion:
59                $literal="resultado_modificar_tareas";
60                break;
61        case $op_eliminacion :
62                $literal="resultado_eliminar_tareas";
63                break;
64        case $op_movida :
65                $literal="resultado_mover";
66                break;
67        case $op_ejecucion :
68                $literal="resultado_ejecutar_tareas";
69                break;
70        default:
71                break;
72}
73if($opcion!=$op_movida){
74        echo '<HTML>';
75        echo '<HEAD>';
76        echo '  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">';
77        echo '<BODY>';
78        echo '  <SCRIPT language="javascript" src="../jscripts/propiedades_tareas.js"></SCRIPT>';
79        echo '<p><span style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</span></p>';
80        if ($resul){
81                if(empty($swc)){
82                        echo '<SCRIPT language="javascript">'.chr(13);
83                        echo 'var oHTML'.chr(13);
84                        echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13);
85                        echo 'o=cTBODY.item(1);'.chr(13);
86                        if ($opcion==$op_alta )
87                                echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idtarea.",o.innerHTML);".chr(13);
88                        else{
89                                echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13);
90                        }
91                        echo '</SCRIPT>';
92                }
93                else{
94                        echo '<SCRIPT language="javascript">'.chr(13);
95                        echo 'alert("El item se ha ejecutado correctamente");'.chr(13);
96                        echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13);
97                        echo '</SCRIPT>';
98                }               
99        }
100        else{
101                if(empty($swc)){
102                        echo '<SCRIPT language="javascript">';
103                        echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idtarea.")";
104                        echo '</SCRIPT>';
105                }
106                else{
107                        echo '<SCRIPT language="javascript">'.chr(13);
108                        echo 'alert("***ATENCIÓN:El item NO se ha podido ejecutar");'.chr(13);
109                        echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13);
110                        echo '</SCRIPT>';
111                }
112        }
113        echo '</BODY>';
114        echo '</HTML>';
115}
116else{
117        if ($resul)
118                                echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13);
119        else
120                        echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idtarea.")";
121}
122/**************************************************************************************************************************************************
123        Inserta, modifica o elimina datos en la tabla tareas
124________________________________________________________________________________________________________*/
125function Gestiona(){
126        global $EJECUCION_TAREA;
127
128        global  $cmd;
129        global  $opcion;
130
131        global  $idcentro;
132        global  $idtarea;
133        global  $descripcion;
134        global  $comentarios;
135        global  $ambito;
136        global  $idambito;     
137        global  $grupoid;
138
139        global  $op_alta;
140        global  $op_modificacion;
141        global  $op_eliminacion;
142        global  $op_movida;
143        global  $op_ejecucion;
144
145        global  $tablanodo;
146
147        $cmd->CreaParametro("@idcentro",$idcentro,1);
148        $cmd->CreaParametro("@idtarea",$idtarea,1);
149        $cmd->CreaParametro("@descripcion",$descripcion,0);
150        $cmd->CreaParametro("@comentarios",$comentarios,0);
151        $cmd->CreaParametro("@ambito",$ambito,1);
152        $cmd->CreaParametro("@idambito",$idambito,1);
153        $cmd->CreaParametro("@grupoid",$grupoid,1);
154
155        switch($opcion){
156                case $op_alta :
157                        $cmd->texto="INSERT INTO tareas (descripcion,comentarios,ambito,idambito,idcentro,grupoid)
158                                                VALUES (@descripcion,@comentarios,@ambito,@idambito,@idcentro,@grupoid)";
159                        $resul=$cmd->Ejecutar();
160                        if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta
161                                $idtarea=$cmd->Autonumerico();
162                                $arbolXML=SubarbolXML_tareas($idtarea,$descripcion,"");
163                                $baseurlimg="../images/signos"; // Url de las imagenes de signo
164                                $clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol
165                                $arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault);
166                                $tablanodo=$arbol->CreaArbolVistaXML();
167                        }
168                        break;
169                case $op_modificacion:
170                        $cmd->texto="UPDATE tareas SET descripcion=@descripcion,comentarios=@comentarios,
171                                                        ambito=@ambito,idambito=@idambito
172                                                        WHERE idtarea=@idtarea";
173                        $resul=$cmd->Ejecutar();
174                        //echo $cmd->texto;
175                        break;
176                case $op_eliminacion :
177                        $resul=EliminaTareas($cmd,$idtarea,"idtarea"); 
178                        break;
179                case $op_movida :
180                        $cmd->texto="UPDATE tareas SET  grupoid=@grupoid WHERE idtarea=@idtarea";
181                        $resul=$cmd->Ejecutar();
182                        break;
183                case $op_ejecucion :
184                                        $resul=EjecutandoTareas();
185                        break;
186                default:
187                        break;
188        }
189        return($resul);
190}
191/*________________________________________________________________________________________________________
192        Crea un arbol XML para el nuevo nodo insertado
193________________________________________________________________________________________________________*/
194function SubarbolXML_tareas($idtarea,$descripcion,$urlimg){
195                global $LITAMBITO_TAREAS;
196                $cadenaXML='<TAREA';
197                // Atributos`
198                if      ($urlimg!="")
199                        $cadenaXML.=' imagenodo="'.$urlimg;
200                else
201                        $cadenaXML.=' imagenodo="../images/iconos/tareas.gif"';
202                $cadenaXML.=' infonodo="'.$descripcion;
203                $cadenaXML.=' nodoid='.$LITAMBITO_TAREAS.'-'.$idtarea;
204                $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_TAREAS."'" .')"';
205                $cadenaXML.='>';
206                $cadenaXML.='</TAREA>';
207                return($cadenaXML);
208}
209//________________________________________________________________________________________________________
210function EjecutandoTareas(){
211
212        global $EJECUCION_COMANDO;
213        global $EJECUCION_TAREA;
214        global $PROCESOS;
215        global $ACCION_INICIADA;
216        global $ACCION_SINERRORES;
217        global $idcentro;
218        global $servidorhidra;
219        global $hidraport;
220        global  $idtarea;
221        global  $cmd;
222
223        $shidra=new SockHidra($servidorhidra,$hidraport);
224
225        $ambitarea="";
226        $paramtarea="cmd=";
227
228        $tbComandos="";
229        $tabla_comandos="";
230        $cont_comandos=0;
231
232        $rs=new Recordset;
233        $cmd->texto="SELECT * FROM tareas_comandos WHERE idtarea=".$idtarea;
234        $cmd->texto.=" ORDER by tareas_comandos.orden";
235        $rs->Comando=&$cmd;
236        if (!$rs->Abrir()) return(false); // Error al abrir recordset
237        $rs->Primero();
238        // Recorre tareas-comandos
239        while (!$rs->EOF){
240                        $tbComandos["idcomando"]=$rs->campos["idcomando"];
241                        $tbComandos["ambito"]=$rs->campos["ambito"];
242                        $tbComandos["idambito"]=$rs->campos["idambito"];
243                        $tbComandos["parametros"]=$rs->campos["parametros"];
244                        $tbComandos["idnotificador"]=$rs->campos["idtareacomando"];
245                        $tabla_comandos[$cont_comandos]=$tbComandos;
246                        $cont_comandos++;
247
248                        $ambitarea.=$rs->campos["ambito"].":".$rs->campos["idambito"].";";
249                        $paramtarea.=$rs->campos["idtareacomando"].";";
250                       
251                        $rs->Siguiente();
252        }
253        $rs->Cerrar();
254
255        $ambitarea=substr($ambitarea,0,strlen($ambitarea)-1); // Quita la coma final
256        $paramtarea=substr($paramtarea,0,strlen($paramtarea)-1); // Quita la coma final
257
258        //Creación parametros para inserción
259        $cmd->CreaParametro("@tipoaccion","",1);
260        $cmd->CreaParametro("@idtipoaccion",0,1);
261        $cmd->CreaParametro("@cateaccion",$PROCESOS,1);
262        $cmd->CreaParametro("@ambito",0,1);
263        $cmd->CreaParametro("@idambito",0,1);
264        $cmd->CreaParametro("@ambitskwrk","",0);
265        $cmd->CreaParametro("@fechahorareg","",0);
266        $cmd->CreaParametro("@estado",$ACCION_INICIADA,0);
267        $cmd->CreaParametro("@resultado",$ACCION_SINRESULTADO,0);
268        $cmd->CreaParametro("@idcentro",$idcentro,1);
269        $cmd->CreaParametro("@parametros","",0);       
270        $cmd->CreaParametro("@accionid",0,1);   
271        $cmd->CreaParametro("@idnotificador",0,1);     
272
273        // Insertar accion:tarea --------------------------------------------------------------------
274        $cmd->ParamSetValor("@tipoaccion",$EJECUCION_TAREA);
275        $cmd->ParamSetValor("@idtipoaccion",$idtarea);
276        $cmd->ParamSetValor("@ambito",0);
277        $cmd->ParamSetValor("@idambito",0);
278        $cmd->ParamSetValor("@ambitskwrk",$ambitarea);
279        $cmd->ParamSetValor("@fechahorareg",date("d/m/y H:i:s"));
280        $cmd->ParamSetValor("@parametros",$paramtarea);
281        $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)";
282        $resul=$cmd->Ejecutar();
283        if(!$resul) return(false);
284
285        $accionid=$cmd->Autonumerico(); // Toma identificador dela acción
286
287        // Insertar acciones:comandos
288        $shidra=new SockHidra($servidorhidra,$hidraport);
289        for ($i=0;$i<$cont_comandos;$i++){
290                $tbComandos=$tabla_comandos[$i];
291                $cmd->ParamSetValor("@tipoaccion",$EJECUCION_COMANDO);
292                $cmd->ParamSetValor("@idtipoaccion",$tbComandos["idcomando"]);
293                $cmd->ParamSetValor("@ambito",$tbComandos["ambito"]);
294                $cmd->ParamSetValor("@idambito",$tbComandos["idambito"]);
295                $cmd->ParamSetValor("@ambitskwrk","");
296                $cmd->ParamSetValor("@fechahorareg",date("d/m/y H:i:s"));
297                $cmd->ParamSetValor("@parametros",$tbComandos["parametros"]);
298                $cmd->ParamSetValor("@accionid",$accionid);
299                $cmd->ParamSetValor("@idnotificador",$tbComandos["idnotificador"]);
300                $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)";
301                $resul=$cmd->Ejecutar();
302                if(!$resul) return(false);
303                $tbComandos["parametros"].="ids=".$cmd->Autonumerico().chr(13);
304
305                if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra
306                        $shidra->envia_comando($tbComandos["parametros"]);
307                        $shidra->desconectar();
308                }
309        }
310        return(true);
311}
312?>
Note: See TracBrowser for help on using the repository browser.