]> git.llucax.com Git - mecon/yatta.git/blob - sistema/www/archivos.php
Interfaz de usuario casi completa.
[mecon/yatta.git] / sistema / www / archivos.php
1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80 foldmethod=marker:
2 -------------------------------------------------------------------------------
3                              Ministerio de Economía
4                                     YATTA!
5 -------------------------------------------------------------------------------
6 This file is part of YATTA!.
7
8 YATTA! is free software; you can redistribute it and/or modify it under
9 the terms of the GNU General Public License as published by the Free
10 Software Foundation; either version 2 of the License, or (at your option)
11 any later version.
12
13 YATTA! is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16  
17 You should have received a copy of the GNU General Public License; if not,
18 write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
19 Boston, MA  02111-1307  USA
20 -------------------------------------------------------------------------------
21 Creado: jue nov 27 18:58:19 ART 2003
22 Autor:  Martin Marrese <mmarre@mecon.gov.ar>
23 -------------------------------------------------------------------------------
24 $Id$
25 -----------------------------------------------------------------------------*/
26
27 //Require Once {{{
28 require_once 'HTML/Table.php';
29 require_once 'MECON/HTML/TablaDB.php';
30 require_once 'MECON/HTML/Image.php';
31 require_once 'MECON/HTML/Link.php';
32 require_once 'YATTA/Archivo.php';
33 //}}}
34
35 //TODO Definir la cuota en algun lado (Kb)
36 $cuota = 2048;
37
38 //Actuar segun la accion, etc {{{
39 $accion = @$_REQUEST['accion'];
40 $id = @$_REQUEST['_id'];
41 if (@$id && @$accion) {
42     $ARCHIVO =& new YATTA_Archivo;
43     $ARCHIVO->id = $id;
44     $res = $ARCHIVO->buscar($DB);
45     if (PEAR::isError($res)) {
46         die('Error: ' . $res->getMessage() . "\n");
47     }
48     $ARCHIVO->cargar($res);
49     switch ($accion) {
50         case 'download':
51             header("Content-Disposition: attachment;
52                     filename=".$ARCHIVO->resultado);
53             header("Pragma: no-cache");
54             header("Expires: 0");
55             header("Content-Type: application");
56             header("Content-Length: ".filesize($ARCHIVO->path.$ARCHIVO->archivo));
57             readfile ($ARCHIVO->path.$ARCHIVO->archivo);
58             exit;
59             break;
60     case 'borrar':
61             system ('rm '.$ARCHIVO->path.$ARCHIVO->archivo);
62             header ('Location:archivos');
63             break;
64     }
65 }
66 //}}}
67
68 //Obtengo la lista de archivos y lo agrego a la tabla {{{
69 $ARCHIVO =& new YATTA_Archivo;
70 $ARCHIVO->usuario = $_SESSION['usuario'];
71
72 $res = $ARCHIVO->buscar($DB);
73 if (PEAR::isError($res)) {
74     die('Error: ' . $res->getMessage() . "\n");
75 }
76
77
78 $TABLADB = new MECON_HTML_TablaDB ('Archivos');
79 $TABLADB->addRow(array(
80             'Lista de Archivos Disponibles'
81             ), 'cabecera colspan="5" align="left"');
82 $TABLADB->addRow(array(
83             'Ext', 'Sistema', 'Descripcion', 'Bajar', 'Borrar'
84             ), 'Titulo');
85
86
87 $TABLADB->addRowsData(
88             '<img src="/MECON/images/EXTENSION_%s" alt="Ext">',
89             array (array ('resultado', 'extension_callback')),
90             'prepend'
91         );
92
93 function extension_callback($resultado) {
94     return strtoupper(substr($resultado, strrpos($resultado, '.') + 1));
95 }
96
97 //@TODO Hacer un addRowsData que agregue el tamanio del archivo (posiblemente
98 //con una funcion callback)
99
100 $TABLADB->addRowsData(
101             new MECON_HTML_Link('archivos',
102                 new MECON_HTML_Image('/MECON/images/general_download.gif',
103                     'Bajar'),
104                 array ($TABLADB->getGetVarPrefix().'id' => "%s", 
105                     'accion' => 'download')
106             )
107         );
108
109 $TABLADB->addRowsIcon('borrar', array ('id'), new MECON_HTML_Link ('archivos', '', array
110             ('accion' => 'borrar')));
111
112 $pager = $TABLADB->addPager($res, null, 
113             new MECON_HTML_Link
114                 ('archivos', null 
115                 )
116         );
117
118 $TABLADB->addRows($pager, array ('nombre_sistema', 'descripcion'));
119 $TABLADB->addRow(array('*Recuerde que los archivos se borran a los 7 dias
120             de antiguedad'), 
121             'colspan="5" align="center" class="msg_rojo"'); 
122
123 $TABLADB->updateColAttributes(0,'width="4%"');
124 $TABLADB->updateColAttributes(1,'width="30%"');
125 $TABLADB->updateColAttributes(2,'width="50%"');
126 $TABLADB->updateColAttributes(3,'width="8%"');
127 $TABLADB->updateColAttributes(4,'width="8%"');
128 //}}}
129
130 //Agrego la info al marco y la muestro {{{
131 $MARCO->addStyleSheet('css/yatta.css');
132 $MARCO->addBody($TABLADB);
133 $MARCO->display();
134 //}}}
135 ?>