X-Git-Url: https://git.llucax.com/mecon/yatta.git/blobdiff_plain/c950556cd6cab3d706f5e036cdc072e97b7daee5..ac4b40ecf55021f9d6439e0d692b7e598e4d040e:/lib/YATTA/Archivo.php diff --git a/lib/YATTA/Archivo.php b/lib/YATTA/Archivo.php index 318cdee..27bc683 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/yatta/tacho/'); /** * Clase para el manejo de los archivos. @@ -69,6 +68,14 @@ class YATTA_Archivo extends MECON_DBO { */ var $descripcion = null; + /** + * Identificador del usuario duenio del archivo. + * + * @var string $owner + * @access public + */ + var $owner = null; + /** * Identificador del usuario con el que se esta trabajando. * @@ -93,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. * @@ -126,9 +125,9 @@ 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; } @@ -145,10 +144,14 @@ class YATTA_Archivo extends MECON_DBO { */ function borrar($db = null) { - trigger_error('Not implemented!', E_USER_WARNING); - //@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.'); + } } /** @@ -166,10 +169,10 @@ class YATTA_Archivo extends MECON_DBO { // Armo el WHERE. $where = array(); if (!is_null($this->id)) { - $where[] = 'p.id = '.$this->id; + $where[] = 'p.id = '.$this->id .' '; } if (!is_null($this->id_sistema)) { - $where[] = 'p.id_sistema = '. $this->id_sistema; + $where[] = 'p.id_sistema = '. $this->id_sistema .''; } if (!is_null($this->nombre_sistema)) { $where[] = 's.nombre_sistema LIKE '. $db->quote("%$this->nombre_sistema%"); @@ -181,7 +184,7 @@ 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 '. + $where[] = ' (p.owner LIKE '. $db->quote("$this->usuario") .' OR '. 'p.destinos LIKE '. $db->quote("%$this->usuario%") .')'; } if ($where) { @@ -190,8 +193,7 @@ class YATTA_Archivo extends MECON_DBO { ", $where).') '; } else { - $where = 'WHERE p.owner = '. $db->quote("$this->owner"). - 'AND p.id_sistema = s.id_sistema'; + $where = 'WHERE p.id_sistema = s.id_sistema '; } // Armo el ORDER BY. if (is_string($orden)) { @@ -207,7 +209,7 @@ class YATTA_Archivo extends MECON_DBO { return $db->query( "SELECT p.id AS id, p.id_sistema AS id_sistema, s.nombre_sistema ". "AS nombre_sistema, p.descripcion AS descripcion, p.resultado ". - "AS resultado, p.archivo AS archivo ". + "AS resultado, p.archivo AS archivo, p.owner AS owner ". "FROM yatta.procesos AS p, samurai.sistema AS s ". "$where ". "$orden"); @@ -238,8 +240,8 @@ class YATTA_Archivo extends MECON_DBO { $this->descripcion = null; $this->resultado = null; $this->archivo = null; - $this->path = null; - $this->usuario = null; + $this->owner = null; + //$this->usuario = null; } } ?> \ No newline at end of file