From f485a92ad5f11f2d70726b8138fd11f77bb9e9e8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mart=C3=ADn=20Marrese?= Date: Thu, 15 Apr 2004 20:18:17 +0000 Subject: [PATCH 1/1] BugFixes. --- lib/YATTA/Controlador.php | 25 ++++++++++--------- test/casos/caso_3_protocolizacion/clase.php | 27 ++++++++++++++------- 2 files changed, 31 insertions(+), 21 deletions(-) diff --git a/lib/YATTA/Controlador.php b/lib/YATTA/Controlador.php index d33ed81..fbf5474 100644 --- a/lib/YATTA/Controlador.php +++ b/lib/YATTA/Controlador.php @@ -159,14 +159,25 @@ class YATTA_Controlador { function terminarProceso($db, $id_proceso, $id_server, $status, $nota = null, $archivo = null, $notificar = 0) { - //Actualizo la base procesos + //NOTIFICO + if (@$notificar) { + $this->_emailUsuario ($db, $id_proceso, $status, $nota, $archivo); + } + + //COPIO EL ARCHIVO + if (@$archivo) { + $arch = basename ($archivo); + rename ($archivo, PATH_TACHO.$arch); + } + + //ACTUALIZO LA BASE PROCESOS $sql = 'UPDATE yatta.procesos SET status = '. $db->quoteSmart($status); if (@$nota) { $sql.= ', nota = '. $db->quoteSmart($nota); } if (@$archivo) { - $sql.= ', archivo = '. $db->quoteSmart($archivo); + $sql.= ', archivo = '. $db->quoteSmart(PATH_TACHO.$arch); } if (@$notificar) { $sql.= ', notificar = '. $db->quoteSmart($notificar); @@ -178,17 +189,7 @@ class YATTA_Controlador { return $res; } - //NOTIFICO - if (@$notificar) { - $this->_emailUsuario ($db, $id_proceso, $status, $nota, $archivo); - } - //COPIO EL ARCHIVO - if (@$archivo) { - $arch = basename ($archivo); - rename ($archivo, PATH_TACHO.$arch); - } - //Actualizo los servidores $SERVER =& new YATTA_Servidor; return $SERVER->quitarProceso($db, $id_server); diff --git a/test/casos/caso_3_protocolizacion/clase.php b/test/casos/caso_3_protocolizacion/clase.php index fece5f7..0fa352e 100755 --- a/test/casos/caso_3_protocolizacion/clase.php +++ b/test/casos/caso_3_protocolizacion/clase.php @@ -1,5 +1,7 @@ error = $res->getMessage(); + print '
';var_dump($res);print '
'; return; } @@ -56,8 +59,10 @@ class Caso_03_Protocolizacion extends YATTA_Proceso { /** * Obtengo el pdf del firmante pasado por parametro */ - function _obtenerPdfFirmante($param, $id_fimante) { + function _obtenerPdfFirmante($param, $id_firmante) { //CONSULTAS + $base = $param['base']; + $anio = $param['anio']; $sql_normas = ' SELECT n.id_norma as id_norma, n.n_norma AS n_norma, n.bis AS bis, n.fecha_norma AS fecha_norma, n.tema AS tema, n.proesgral AS proesgral, @@ -68,9 +73,9 @@ class Caso_03_Protocolizacion extends YATTA_Proceso { n.comentario AS comentario, n.interinato AS interinato, n.sale_por_exp AS sale_por_exp, n.activo as activo, n.fecha_ult_modif AS fecha_ult_modif, n.destino_nombre_breve AS destino_nombre_breve - FROM '. $param['base'] .'.norma AS n + FROM '. $base .'.norma AS n WHERE n.activo = 1 AND n.id_firmante = '. $id_firmante .' - AND YEAR(n.fecha_norma) = '. $param['anio'] .' + AND YEAR(n.fecha_norma) = '. $anio .' ORDER BY YEAR(n.fecha_norma), n.n_norma, n.bis'; $sql_firmante_activo = ' @@ -100,8 +105,10 @@ class Caso_03_Protocolizacion extends YATTA_Proceso { AND f.id_firmante = '. $id_firmante; //Obtengo los datos del firmante + $dbh = $this->_db->prepare($sql_firmante_activo); - $res = $this->_db->execute($dbh); + $res = $this->_db->execute($dbh); + if ($res->numRows()) { $t_firmante =& new MECON_HTML_TablaDB (); while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) { @@ -181,7 +188,7 @@ class Caso_03_Protocolizacion extends YATTA_Proceso { * EjecuciĆ³n del script. */ function run($param) { - + $base = $param['base'] ; //Creo la conexion a la base de datos. $this->_db = DB::connect( "mysql://intranet:intranet@intranet-db/". $base, "persistent=true"); @@ -191,7 +198,7 @@ class Caso_03_Protocolizacion extends YATTA_Proceso { } //Obtengo cada uno de los expedientes - foreach ($this->_obtenerFirmantes as $firmante) { + foreach ($this->_obtenerFirmantes($param) as $firmante) { $pdfs[] =& $this->_obtenerPdfFirmante($param, $firmante); } @@ -201,12 +208,14 @@ class Caso_03_Protocolizacion extends YATTA_Proceso { //Aca deberia utilizar nombres aleatorios del sistema. $fh = fopen ('/tmp/PROTOCOLIZACION_'.$i.'.pdf', 'w'); fwrite ($fh, $pdf->toPDF()); + $i++; + break; } //Comprimo los archivos. - system ('find . -name "PROTOCOLIZACION_*.pdf" -print | zip - PROTOCOLIZACION_'.$base.' -@'); - system ('rm *.pdf -f'); + system ('find /tmp/. -name "PROTOCOLIZACION_*.pdf" -print | zip '. + '/tmp/PROTOCOLIZACION_'.$base.' -@'); + system ('rm /tmp/PROTOCOLIZACION_*.pdf -f'); $this->error = null; $this->archivo = '/tmp/PROTOCOLIZACION_'.$base.'.zip'; -- 2.43.0