X-Git-Url: https://git.llucax.com/mecon/yatta.git/blobdiff_plain/efaaf1d8176f9bbc45d588d4382d43c933663ef6..55c5e8e63057c9d9488e70101290fc46511844c3:/lib/YATTA/Archivo.php diff --git a/lib/YATTA/Archivo.php b/lib/YATTA/Archivo.php index efbc06c..36c0892 100644 --- a/lib/YATTA/Archivo.php +++ b/lib/YATTA/Archivo.php @@ -27,8 +27,7 @@ $Id$ require_once 'MECON/DBO.php'; require_once 'PEAR.php'; - -define ('PATH', '/var/www/sistemas/yatta/test/'); +define ('PATH_TACHO', '/var/www/sistemas/yatta/tacho/'); /** * Clase para el manejo de los archivos. @@ -101,14 +100,6 @@ class YATTA_Archivo extends MECON_DBO { */ var $archivo = null; - /** - * Path del archivo - * - * @var string $path - * @access public - */ - var $path = null; - /** * Carga el objeto con los datos que se pasan por parametro. * @@ -134,9 +125,8 @@ class YATTA_Archivo extends MECON_DBO { $this->id = $res['id']; $this->nombre_sistema = $res['nombre_sistema']; $this->descripcion = $res['descripcion']; - $this->path = PATH; $this->resultado = $res['resultado']; - $this->archivo = $res['archivo']; + $this->archivo = PATH_TACHO.$res['archivo']; $this->owner = $res['owner']; return true; @@ -154,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(PATH_TACHO.basename($this->archivo))) { + return new PEAR_Error('No se pudo borrar el archivo del tacho.'); + } } /** @@ -166,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(); @@ -190,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 '; @@ -246,7 +248,6 @@ class YATTA_Archivo extends MECON_DBO { $this->descripcion = null; $this->resultado = null; $this->archivo = null; - $this->path = null; $this->owner = null; //$this->usuario = null; }