source: admin/WebConsole/gestores/gestor_colasacciones.php

qndtest
Last change on this file was 5cef356, checked in by OpenGnSys Support Team <soporte-og@…>, 5 years ago

#915 Remove all references to SocketHidra?

This patch removes all remaining references to SocketHidra?. The existing
code uses the REST API ogAdmServer.

  • Property mode set to 100644
File size: 5.9 KB
Line 
1<?php
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: colasacciones.php
8// Descripción :
9//              Gestiona las operaciones realizadas sobre las acciones registradas
10// *************************************************************************************************************************************************
11
12include_once("../includes/ctrlacc.php");
13include_once("../includes/TomanDatos.php");
14include_once("../clases/AdoPhp.php");
15include_once("../includes/constantes.php");
16include_once("../includes/comunes.php");
17include_once("../includes/CreaComando.php");
18include_once("../includes/restfunctions.php");
19//________________________________________________________________________________________________________
20       
21$opcion=0; // Inicializa parametros
22$acciones="";
23
24if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; 
25if (isset($_POST["acciones"])) $acciones=$_POST["acciones"]; 
26
27$cmd=CreaComando($cadenaconexion); // Crea objeto comando
28$resul=false;
29if ($cmd){
30        $resul=gestiona($cmd,$opcion,$acciones);
31        $cmd->Conexion->Cerrar();
32}
33if($resul) 
34        echo $opcion; // Proceso con éxito, devuelve la opción
35else 
36        echo 0; // Proceso con algún error, devuelve cero
37//
38// *****************************************************************************************************************
39//
40function gestiona($cmd,$opcion,$acciones){
41
42        global $ACCION_EXITOSA; 
43        global $ACCION_FALLIDA; 
44        global $ACCION_SINRESULTADO; 
45       
46        global $LITACCION_EXITOSA;
47        global $LITACCION_FALLIDA;
48       
49        global $ACCION_DETENIDA;
50        global $ACCION_INICIADA;
51        global $ACCION_FINALIZADA;
52
53        $tbAcciones=explode(";",$acciones);
54        for($i=0;$i<sizeof($tbAcciones)-1;$i++){
55                list($tipoaccion,$idtipoaccion,$sesion,$idaccion)=explode(",",$tbAcciones[$i]);
56                switch($opcion){
57               
58                        case 1: // Eliminar ============================================================
59                                $cmd->texto="DELETE  FROM  acciones ";
60                                if(!empty($idaccion))
61                                        $cmd->texto.=" WHERE idaccion=".$idaccion;
62                                else
63                                        $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." AND sesion=".$sesion;
64                                $resul=$cmd->Ejecutar();
65                                break;
66                               
67                        case  2: // Reiniciar ============================================================
68                                /* Recordset para envío de comando actualizar */
69                                $cmd->texto="SELECT     count(*) as con,
70                                                                        group_concat(cast(ordenadores.idordenador AS char( 11 ) ) SEPARATOR ',' ) AS cadenaid,
71                                                                        group_concat(ordenadores.ip SEPARATOR ';' ) AS cadenaip
72                                                                FROM acciones
73                                                                INNER JOIN ordenadores ON ordenadores.idordenador=acciones.idordenador";
74                                if(!empty($idaccion))
75                                        $cmd->texto.=" WHERE idaccion=".$idaccion;
76                                else   
77                                        $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion."
78                                                                        AND sesion=".$sesion;
79                                                       
80                                $rs=new Recordset; 
81                                $rs->Comando=&$cmd; 
82                                if (!$rs->Abrir()) return(false); // Error al abrir recordset
83                                if ($rs->EOF) return(true); // No existen registros                     
84                                $aplicacion="ido=".$rs->campos["cadenaid"].chr(13)."iph=".$rs->campos["cadenaip"].chr(13);
85
86                                /* Update de la tabla */
87                                $cmd->texto="UPDATE acciones
88                                                SET estado=".$ACCION_INICIADA.",resultado=".$ACCION_SINRESULTADO.",descrinotificacion='',fechahorafin=DEFAULT";
89                                if(!empty($idaccion))
90                                        $cmd->texto.=" WHERE idaccion=".$idaccion;
91                                else   
92                                        $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." AND sesion=".$sesion;
93                                $resul=$cmd->Ejecutar();
94                                if($resul)
95                                        run_schedule($rs->campos["cadenaip"]);
96                                break; 
97                               
98                        case  3: // Para acciones ============================================================
99                                $cmd->texto="UPDATE acciones SET estado=".$ACCION_DETENIDA;
100                                if(!empty($idaccion))
101                                        $cmd->texto.=" WHERE idaccion=".$idaccion." AND estado=".$ACCION_INICIADA;
102                                else   
103                                        $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." AND sesion=".$sesion." AND estado=".$ACCION_INICIADA;
104                                $resul=$cmd->Ejecutar();
105                                break; 
106                               
107                        case  4: // Reanuda acciones ============================================================
108                                $cmd->texto="UPDATE acciones SET estado=".$ACCION_INICIADA;
109                                if(!empty($idaccion))
110                                        $cmd->texto.=" WHERE idaccion=".$idaccion." AND estado=".$ACCION_DETENIDA;
111                                else
112                                        $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." AND sesion=".$sesion." AND estado=".$ACCION_DETENIDA;
113                                $resul=$cmd->Ejecutar();
114                                break; 
115                               
116                        case  5: // Finalizar sin errores ============================================================
117                                $ahora=date("y/m/d H:i:s");
118                                $cmd->texto="UPDATE acciones SET estado=".$ACCION_FINALIZADA.",resultado=".$ACCION_EXITOSA.",
119                                                        fechahorafin='".$ahora."'".",descrinotificacion='".$LITACCION_EXITOSA."'";
120                                if(!empty($idaccion))
121                                        $cmd->texto.=" WHERE idaccion=".$idaccion." AND estado=".$ACCION_INICIADA;
122                                else
123                                        $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." AND sesion=".$sesion." AND estado=".$ACCION_INICIADA;
124                                $resul=$cmd->Ejecutar();
125                                break; 
126                               
127                        case  6: // Finalizar con errores ============================================================
128                                $ahora=date("y/m/d H:i:s");
129                                $cmd->texto="UPDATE acciones SET estado=".$ACCION_FINALIZADA.",resultado=".$ACCION_FALLIDA.",
130                                                        fechahorafin='".$ahora."'".",descrinotificacion='".$LITACCION_FALLIDA."'";
131                                if(!empty($idaccion))
132                                        $cmd->texto.=" WHERE idaccion=".$idaccion." AND estado=".$ACCION_INICIADA;
133                                else
134                                        $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." AND sesion=".$sesion." AND estado=".$ACCION_INICIADA;
135                                $resul=$cmd->Ejecutar();
136                                break;                                 
137                }
138                //echo $cmd->texto;
139        }
140        return($resul);
141}
Note: See TracBrowser for help on using the repository browser.