X-Git-Url: https://git.llucax.com/mecon/yatta.git/blobdiff_plain/fe215f7a74d6656c178d78fd5e67d5a03bc957c4..85bf75618ce08e9d9c419a63f2a08e3f321bf12c:/lib/YATTA/Archivo.php diff --git a/lib/YATTA/Archivo.php b/lib/YATTA/Archivo.php index 0bdcf49..90a410e 100644 --- a/lib/YATTA/Archivo.php +++ b/lib/YATTA/Archivo.php @@ -27,6 +27,7 @@ $Id$ require_once 'MECON/DBO.php'; require_once 'PEAR.php'; +define ('PATH_TACHO', '/var/www/yatta/tacho/'); /** * Clase para el manejo de los archivos. @@ -125,7 +126,7 @@ class YATTA_Archivo extends MECON_DBO { $this->nombre_sistema = $res['nombre_sistema']; $this->descripcion = $res['descripcion']; $this->resultado = $res['resultado']; - $this->archivo = $res['archivo']; + $this->archivo = PATH_TACHO.$res['archivo']; $this->owner = $res['owner']; return true; @@ -143,10 +144,14 @@ class YATTA_Archivo extends MECON_DBO { */ function borrar($db = null) { - print '
';var_dump($this);print ''; - //@TODO Solo permitir que el owner borre sus archivos. - //@TODO Borra el registro de la base. - //@TODO Borrar el archivo del tacho. + $res = $db->query('DELETE FROM yatta.procesos WHERE id = '. $this->id); + if (PEAR::isError($res)) { + trigger_error('Error: ' . $res->getMessage() . "\n", E_USER_ERROR); + } + //Borro el archivo del tacho + if (!unlink($this->archivo)) { + return new PEAR_Error('No se pudo borrar el archivo del tacho.'); + } } /** @@ -155,11 +160,14 @@ class YATTA_Archivo extends MECON_DBO { * @param DB $db Conexion a la base de datos. * @param string $operador Indica como deben concatenarse las condiciones de busqueda * @param string $orden Indica de que manera deben ordenarse los resultados de la busqueda + * @param string $destinos Indica si hay que incluir en la busqueda los + * destinos. * * @return mixed * @access public */ - function buscar($db = null, $operador = MECON_DBO_OR, $orden = null) + function buscar($db = null, $operador = MECON_DBO_OR, $orden = null, + $destinos = true) { // Armo el WHERE. $where = array(); @@ -179,13 +187,18 @@ class YATTA_Archivo extends MECON_DBO { $where[] = 'p.resultado LIKE '. $db->quote("%$this->resultado%"); } if (!is_null($this->usuario)) { - $where[] = ' (p.owner LIKE '. $db->quote("$this->usuario") .' OR '. - 'p.destinos LIKE '. $db->quote("%$this->usuario%") .')'; + $where[] = ' p.owner LIKE '. $db->quote("$this->usuario"); + if ($destinos) { + $where[] = ' p.destinos LIKE '. $db->quote("%$this->usuario%"); + } + } + if (!is_null($this->archivo)) { + $where[] = 'p.archivo LIKE '. $db->quote("$this->archivo"); } if ($where) { $where = 'WHERE p.status = 2 AND p.resultado is not null '. - 'AND p.id_sistema = s.id_sistema AND ('. join ("$operador - ", $where).') '; + 'AND p.id_sistema = s.id_sistema AND ('. join ("$operador " + , $where).') '; } else { $where = 'WHERE p.id_sistema = s.id_sistema ';