From 0d8ee0dcc365fda25bd7723fa5e146706fddb191 Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Wed, 14 Apr 2004 19:06:59 +0000 Subject: [PATCH] BugFixes. --- lib/YATTA/Controlador.php | 7 ++-- script/servidores/YATTA_Server.php | 62 +++++++++++++++++------------- script/servidores/YATTA_Tacho.php | 2 +- test/casos/caso_1_alta_proceso.php | 7 ++-- 4 files changed, 44 insertions(+), 34 deletions(-) diff --git a/lib/YATTA/Controlador.php b/lib/YATTA/Controlador.php index 63b1d42..4d9a8cd 100644 --- a/lib/YATTA/Controlador.php +++ b/lib/YATTA/Controlador.php @@ -162,15 +162,16 @@ class YATTA_Controlador { //Actualizo la base procesos $sql = 'UPDATE yatta.procesos SET status = '. $status; if (@$nota) { - $sql.= ', nota = '. $nota; + $sql.= ', nota = '. $db->quoteSmart($nota); } if (@$archivo) { - $sql.= ', archivo = '. $archivo; + $sql.= ', archivo = '. $db->quoteSmart($archivo); } if (@$notificar) { - $sql.= ', notificar = '. $notificar; + $sql.= ', notificar = '. $db->quoteSmart($notificar); } $sql.= ' WHERE id = '. $id_proceso; + $res = $db->query($sql); if (DB::isError($res)) { return $res; diff --git a/script/servidores/YATTA_Server.php b/script/servidores/YATTA_Server.php index bb82bf3..2f502c4 100755 --- a/script/servidores/YATTA_Server.php +++ b/script/servidores/YATTA_Server.php @@ -100,7 +100,8 @@ while (1) { if (@$proceso) { yatta_log ('Hay un nuevo proceso. Se forkea'); - $pid = pcntl_fork(); +// $pid = pcntl_fork(); + $pid = -1; //FORK ERROR {{{ if ($pid == -1) { @@ -110,6 +111,7 @@ while (1) { if (PEAR::isError($res)) { yatta_log('ERROR: YATTA_Controlador. '.$res->getMessage()); } + } //}}} @@ -136,41 +138,47 @@ while (1) { //FORK HIJO {{{ else { yatta_log ('Fork Hijo.'); - require_once $proceso['script']; - - yatta_log ('Se crea el proceso..'); - if (function_exists('create_process')) { - $SCRIPT =& create_process(); - yatta_log ('Se instancio el proceso. Se ejecuta el metodo run.'); - if (!method_exists($SCRIPT, 'run')) { - yatta_log ('No existe el metodo run en el proceso.'); + + if (is_readable($proceso['script'])) { + require_once $proceso['script']; + yatta_log ('Se crea el proceso..'); + if (function_exists('create_process')) { + $SCRIPT =& create_process(); + yatta_log ('Se instancio el proceso. Se ejecuta el metodo run.'); + if (!method_exists($SCRIPT, 'run')) { + yatta_log ('No existe el metodo run en el proceso.'); + require_once 'YATTA/Proceso.php'; + $SCRIPT =& new YATTA_Proceso; + $SCRIPT->error = 'No existe el metodo run en'. + $proceso['script']; + } + else { + yatta_log ('Comienza la ejecución del proceso.'); + $SCRIPT->run(unserialize($proceso['parametros'])); + yatta_log ('Finaliza la ejecución del proceso.'); + } + } + else { require_once 'YATTA/Proceso.php'; $SCRIPT =& new YATTA_Proceso; - $SCRIPT->error = 'No existe el metodo run en'. + $SCRIPT->error = 'No existe la funcion create_process en'. $proceso['script']; } + + if (@$SCRIPT->error) { + $estado = 3; + } else { - yatta_log ('Comienza la ejecución del proceso.'); - $SCRIPT->run(unserialize($proceso['parametros'])); - yatta_log ('Finaliza la ejecución del proceso.'); + $estado = 2; } + $CONROLADOR->terminarProceso($db, $proceso['id'], + $YATTA_SERVER['id'], $estado, @$SCRIPT->error, + @$SCRIPT->archivo, @$SCRIPT->notificar); } else { - require_once 'YATTA/Proceso.php'; - $SCRIPT =& new YATTA_Proceso; - $SCRIPT->error = 'No existe la funcion create_process en'. - $proceso['script']; - } - - if (@$SCRIPT->error) { - $estado = 3; - } - else { - $estado = 2; + yatta_log('No se puede alcanzar el archivo.'); } - $CONROLADOR->terminarProceso($db, $proceso['id'], - $YATTA_SERVER['id'], $estado, @$SCRIPT->error, - @$SCRIPT->archivo, @$SCRIPT->notificar); + yatta_log ('Fin fork Hijo.'); } diff --git a/script/servidores/YATTA_Tacho.php b/script/servidores/YATTA_Tacho.php index 22a44bc..cbfaf3b 100755 --- a/script/servidores/YATTA_Tacho.php +++ b/script/servidores/YATTA_Tacho.php @@ -129,7 +129,6 @@ if ($dh = opendir($YATTA_SERVER['path_tacho'])) { //VERIFICO LAS CUOTAS DE LOS USUARIOS{{{ //OBTENGO LA LISTA DE USUARIOS QUE TIENEN AL MENOS UNA ENTRADA EN EL MYSQL {{{ $res = $CONTROLADOR->obtenerListaOwners($db, true); -$res = $res->fetchRow(DB_FETCHMODE_ASSOC); if (PEAR::isError($res)) { trigger_error('Error: ' . $res->getMessage() . "\n", E_USER_ERROR); } @@ -143,6 +142,7 @@ if (PEAR::isError($cuotas)) { } yatta_log('Se obtienen las cuotas excepcionales.'); //}}} + //WHILEO POR USUARIO {{{ yatta_log('Se verifica que los usuarios no superen la cuota asignada.'); while ($usuario = $res->fetchRow(DB_FETCHMODE_ASSOC)) { diff --git a/test/casos/caso_1_alta_proceso.php b/test/casos/caso_1_alta_proceso.php index 45d80a2..cd43c92 100755 --- a/test/casos/caso_1_alta_proceso.php +++ b/test/casos/caso_1_alta_proceso.php @@ -35,14 +35,14 @@ require_once 'PEAR.php'; //}}} //{{{Creo una conexion mysql al servidor -$db =& DB::connect('mysql://intranet:intranet@bal747f/yatta', true); +$db =& DB::connect('mysql://yatta:75f22dcd27c9b24e7@unix(/var/run/mysqld/mysqld.sock)/yatta', true); if (DB::isError($db)) { trigger_error($db->getMessage(), E_USER_ERROR); } //}}} //{{{Identificador del sistema al cual pertenecen los procesos. -$id_sistema = 74 //Identificador de YATTA en bal747f +$id_sistema = 74; //Identificador de YATTA //}}} //{{{Proceso con array de datos obligatorios solamente. @@ -52,7 +52,8 @@ $datos = array ( 'descripcion' => 'Proceso unicamente con datos obligatorios.', 'owner' => 'mmarre@mecon', ); -$res = YATTA_Controlador::agregarProceso($db, $datos); +$controlador =& new YATTA_Controlador; +$res = $controlador->agregarProceso($db, $datos); if (PEAR::isError($res)) { trigger_error('Error: ' . $res->getMessage() . "\n", E_USER_ERROR); } -- 2.43.0