summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOpenGnSys Support Team <soporte-og@soleta.eu>2020-03-28 14:38:06 +0100
committerOpenGnSys Support Team <soporte-og@soleta.eu>2020-06-02 12:32:36 +0200
commit5a9ed93cd193065c4476c2af566d21f146f9397d (patch)
tree694a025f19e44f27aa606693573b65243a95f213
parentbb385571e14182588fe1c5361e986ca533cc6d0e (diff)
#942 Add /run/task to API REST (web)
-rw-r--r--admin/WebConsole/gestores/gestor_ejecutaracciones.php50
-rw-r--r--admin/WebConsole/includes/restfunctions.php7
2 files changed, 8 insertions, 49 deletions
diff --git a/admin/WebConsole/gestores/gestor_ejecutaracciones.php b/admin/WebConsole/gestores/gestor_ejecutaracciones.php
index edb976f2..05a0ffa4 100644
--- a/admin/WebConsole/gestores/gestor_ejecutaracciones.php
+++ b/admin/WebConsole/gestores/gestor_ejecutaracciones.php
@@ -95,7 +95,7 @@ if ($cmd){
$cmd->ParamSetValor("@idtipoaccion",$idtarea);
$cmd->ParamSetValor("@descriaccion",$descritarea);
$cmd->ParamSetValor("@idtarea",$idtarea);
- $resul=ejecucionTarea($idtarea);
+ $resul=run_task($idtarea);
$literal="resultado_ejecutar_tareas";
break;
}
@@ -147,14 +147,6 @@ function ejecucionProcedimiento($idprocedimiento,$ambito,$idambito)
return(recorreProcedimientos($idprocedimiento,$ambito,$idambito));
}
//________________________________________________________________________________________________________
-//
-// Ejecuta una tarea: la registra en acciones y la envía por la red
-//________________________________________________________________________________________________________
-function ejecucionTarea($idtarea)
-{
- return(recorreTareas($idtarea));
-}
-//________________________________________________________________________________________________________
function recorreProcedimientos($idprocedimiento,$ambito,$idambito)
{
global $cadenamac;
@@ -205,46 +197,6 @@ function recorreProcedimientos($idprocedimiento,$ambito,$idambito)
return(true);
}
//________________________________________________________________________________________________________
-function recorreTareas($idtarea)
-{
- global $cadenaid;
- global $cadenaip;
- global $cadenamac;
- global $cmd;
-
- $cmd->texto="SELECT tareas_acciones.orden,tareas_acciones.idprocedimiento,tareas_acciones.tareaid,
- tareas.ambito,tareas.idambito,tareas.restrambito
- FROM tareas
- INNER JOIN tareas_acciones ON tareas_acciones.idtarea=tareas.idtarea
- WHERE tareas_acciones.idtarea=".$idtarea."
- ORDER BY tareas_acciones.orden";
- //echo $cmd->texto;
- $rs=new Recordset;
- $rs->Comando=&$cmd;
- if (!$rs->Abrir()) return(false); // Error al abrir recordset
- while (!$rs->EOF){
- $tareaid=$rs->campos["tareaid"];
- if($tareaid>0){ // Tarea recursiva
- if(!recorreTareas($tareaid)){
- return(false);
- }
- }
- else{
- $ambito=$rs->campos["ambito"];
- $idambito=$rs->campos["idambito"];
- if($ambito==0 && $idambito==0){ // Ámbito restringido
- $idambito=$rs->campos["restrambito"];
- }
- RecopilaIpesMacs($cmd,$ambito,$idambito); // Recopila Ipes del ámbito
- $idprocedimiento=$rs->campos["idprocedimiento"];
- if(!recorreProcedimientos($idprocedimiento,$ambito,$idambito))
- return(false);
- }
- $rs->Siguiente();
- }
- return(true);
-}
-//________________________________________________________________________________________________________
//
// Registra un procedimiento para un ambito concreto
//________________________________________________________________________________________________________
diff --git a/admin/WebConsole/includes/restfunctions.php b/admin/WebConsole/includes/restfunctions.php
index 653fcbf3..4813c010 100644
--- a/admin/WebConsole/includes/restfunctions.php
+++ b/admin/WebConsole/includes/restfunctions.php
@@ -26,6 +26,7 @@ define('OG_REST_CMD_CREATE_INCREMENTAL_IMAGE', 'image/create/incremental');
define('OG_REST_CMD_RESTORE_BASIC_IMAGE', 'image/restore/basic');
define('OG_REST_CMD_RESTORE_INCREMENTAL_IMAGE', 'image/restore/incremental');
define('OG_REST_CMD_RUN_SCHEDULE', 'run/schedule');
+define('OG_REST_CMD_RUN_TASK', 'task/run');
define('OG_REST_PARAM_CLIENTS', 'clients');
define('OG_REST_PARAM_ADDR', 'addr');
@@ -59,6 +60,7 @@ define('OG_REST_PARAM_DIFF_ID', 'diff_id');
define('OG_REST_PARAM_DIFF_NAME', 'diff_name');
define('OG_REST_PARAM_METHOD', 'method');
define('OG_REST_PARAM_ECHO', 'echo');
+define('OG_REST_PARAM_TASK', 'task');
$conf_file = parse_ini_file(__DIR__ . '/../../etc/ogAdmServer.cfg');
define('OG_REST_API_TOKEN', 'Authorization: ' . $conf_file['APITOKEN']);
@@ -544,6 +546,11 @@ function run_schedule($string_ips) {
common_request(OG_REST_CMD_RUN_SCHEDULE, POST, $data);
}
+function run_task($task_id) {
+ $data = array(OG_REST_PARAM_TASK => $task_id);
+ return common_request(OG_REST_CMD_RUN_TASK, POST, $data);
+}
+
/*
* @function multiRequest.
* @param URLs array (may include header and POST data), cURL options array.