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.
*/
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.
*
$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;
*/
function borrar($db = null)
{
- print '<PRE>';var_dump($this);print '</PRE>';
- //@TODO Solo permitir que el owner borre sus archivos.
- //@TODO Borra el registro de la base.
- //@TODO Borrar el archivo del tacho.
+ //Borro el archivo del tacho
+ if (!unlink(PATH_TACHO.basename($this->archivo))) {
+ return new PEAR_Error('No se pudo 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);
+ }
}
/**
* @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();
$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 ';
$this->descripcion = null;
$this->resultado = null;
$this->archivo = null;
- $this->path = null;
$this->owner = null;
//$this->usuario = null;
}