]> git.llucax.com Git - mecon/yatta.git/blobdiff - sistema/www/archivos.php
BugFixes.
[mecon/yatta.git] / sistema / www / archivos.php
index e64bf19789c4e87af078404ef8ca9f60a9d984f9..0c46e3d96e8ab12db7e4fd5fe29e3856e002f33c 100644 (file)
@@ -32,18 +32,16 @@ require_once 'MECON/HTML/Link.php';
 require_once 'YATTA/Archivo.php';
 //}}}
 
-//TODO Definir la cuota en algun lado (Kb)
-$cuota = 2048;
-
 //Actuar segun la accion, etc {{{
 $accion = @$_REQUEST['accion'];
 $id = @$_REQUEST['_id'];
 if (@$id && @$accion) {
     $ARCHIVO =& new YATTA_Archivo;
     $ARCHIVO->id = $id;
+    $ARCHIVO->usuario = $_SESSION['usuario'];
     $res = $ARCHIVO->buscar($DB);
     if (PEAR::isError($res)) {
-        die('Error: ' . $res->getMessage() . "\n");
+         trigger_error('Error: ' . $res->getMessage() . "\n", E_USER_ERROR);
     }
     $ARCHIVO->cargar($res);
     switch ($accion) {
@@ -53,13 +51,17 @@ if (@$id && @$accion) {
             header("Pragma: no-cache");
             header("Expires: 0");
             header("Content-Type: application");
-            header("Content-Length: ".filesize($ARCHIVO->path.$ARCHIVO->archivo));
-            readfile ($ARCHIVO->path.$ARCHIVO->archivo);
+            header("Content-Length: ".filesize($ARCHIVO->archivo));
+            readfile ($ARCHIVO->archivo);
             exit;
             break;
     case 'borrar':
-            system ('rm '.$ARCHIVO->path.$ARCHIVO->archivo);
+            $res = $ARCHIVO->borrar($DB);
+            if (PEAR::isError($res)) {
+                 trigger_error('Error: ' . $res->getMessage() . "\n", E_USER_ERROR);
+            }
             header ('Location:archivos');
+            exit;
             break;
     }
 }
@@ -71,11 +73,11 @@ $ARCHIVO->usuario = $_SESSION['usuario'];
 
 $res = $ARCHIVO->buscar($DB);
 if (PEAR::isError($res)) {
-    die('Error: ' . $res->getMessage() . "\n");
+     trigger_error('Error: ' . $res->getMessage() . "\n", E_USER_ERROR);
 }
 
 
-$TABLADB = new MECON_HTML_TablaDB ('Archivos');
+$TABLADB = new MECON_HTML_TablaDB ('Archivos', 'width="760"');
 $TABLADB->addRow(array(
             'Lista de Archivos Disponibles'
             ), 'cabecera colspan="5" align="left"');
@@ -90,12 +92,11 @@ $TABLADB->addRowsData(
             'prepend'
         );
 
+//Funcion de callback para el addRowsData de la linea anterior {{{
 function extension_callback($resultado) {
     return strtoupper(substr($resultado, strrpos($resultado, '.') + 1));
 }
-
-//@TODO Hacer un addRowsData que agregue el tamanio del archivo (posiblemente
-//con una funcion callback)
+//}}}
 
 $TABLADB->addRowsData(
             new MECON_HTML_Link('archivos',
@@ -106,8 +107,23 @@ $TABLADB->addRowsData(
             )
         );
 
-$TABLADB->addRowsIcon('borrar', array ('id'), new MECON_HTML_Link ('archivos', '', array
-            ('accion' => 'borrar')));
+$TABLADB->addRowsData('%s',
+            array (array (array ('owner', 'id'), 'owner_callback'))
+        );
+
+//Funcion de callback para el addRowsData de la linea anterior {{{
+function owner_callback($owner) {
+    if ($owner['owner'] == $_SESSION['usuario']) {
+        $txt = '<a href="archivos?accion=borrar&_id='.$owner['id'].'">'.
+            '<img src="/MECON/images/general_eliminar.gif">'.
+            '</a>';
+    }
+    else {
+        $txt = '<img src="/MECON/images/general_eliminar_des.gif">';
+    }
+    return $txt;
+}
+//}}}
 
 $pager = $TABLADB->addPager($res, null, 
             new MECON_HTML_Link
@@ -116,8 +132,9 @@ $pager = $TABLADB->addPager($res, null,
         );
 
 $TABLADB->addRows($pager, array ('nombre_sistema', 'descripcion'));
-$TABLADB->addRow(array('*Recuerde que los archivos se borran a los 7 dias
-            de antiguedad'), 
+$TABLADB->addRow(array('*Recuerde que los archivos se borran a los ' 
+            . $CONF['tacho']['cantidad_dias'] .
+            ' dias de antiguedad'), 
             'colspan="5" align="center" class="msg_rojo"'); 
 
 $TABLADB->updateColAttributes(0,'width="4%"');