]> git.llucax.com Git - mecon/yatta.git/blob - sistema/www/archivos.php
Agregados
[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/Tabla.php';
30 require_once 'MECON/HTML/Image.php';
31 require_once 'MECON/HTML/Link.php';
32 //}}}
33
34 //TODO Este path es el del tacho segun el usuario, etc.
35 $path = '/var/www/sistemas/yatta/test/'. $_SESSION['usuario'];
36
37 //TODO Definir la cuota en algun lado (Kb)
38 $cuota = 2048;
39
40 //TODO Agregar class para manejar los colores y fuentes
41
42 //Actuar segun la accion, etc {{{
43 $accion = @$_REQUEST['accion'];
44 $archivo = @$_REQUEST['archivo'];
45 if (@$accion && @$archivo) {
46     $archivo2 = $path.'/'.$archivo;
47     switch ($accion) {
48         case 'download':
49             header("Content-Disposition: attachment; filename=".$archivo);
50             header("Pragma: no-cache");
51             header("Expires: 0");
52             header("Content-Type: application");
53             header("Content-Length: ".filesize($archivo2));
54             readfile ($archivo2);
55             exit;
56             break;
57     case 'borrar':
58             system ('rm '.$archivo2);
59             header ('Location:archivos');
60             break;
61     }
62 }
63 //}}}
64
65 //Obtengo la Lista de Archivos del Directorio en Cuestion {{{
66 if ($dh = @opendir($path)) {
67     $ocupado =0;
68     while (($file = readdir($dh)) !== false) {
69         //FIXME Sacar el .svn cuando se pase a produccion
70         if ($file != '.' && $file != '..' && $file != '.svn') {
71             $archivos[$file]['ext']    = strtoupper(substr($file, strrpos($file, '.') + 1));
72             $archivos[$file]['nombre'] = $file; 
73             $archivos[$file]['tam']    = round((filesize($path.'/'.$file) / 1024),2);
74             $archivos[$file]['porc']   = round((filesize($path.'/'.$file) / 1024) * 100 /
75                 $cuota, 2);
76
77             $ocupado += $archivos[$file]['porc'];
78         }
79     }
80     closedir($dh);
81 }
82 //}}}
83
84 //Tabla de Archivos {{{
85 $TABLA_2 =& new MECON_HTML_Tabla ();
86 $TABLA_2->addRow(array(
87             'Lista de Archivos Disponibles'
88             ), 'cabecera colspan="6" align="left"');
89 $TABLA_2->addRow(array(
90             'Ext', 'Nombre', 'Tam. Kb', 'Tam. %', 'Bajar', 'Borrar'
91             ), 'Titulo');
92 if (@$archivos) {
93     asort($archivos);
94     foreach ($archivos as $arch) {
95         $TABLA_2->addRow(array( 
96             new MECON_HTML_Image ('/MECON/images/EXTENSION_'.$arch['ext'].'.gif', $arch['ext']),
97             $arch['nombre'],
98             $arch['tam'].' Kb',
99             $arch['porc'].' %',
100             new MECON_HTML_Link ('archivos', new
101                 MECON_HTML_Image('/MECON/images/general_download.gif', 'Bajar'),
102                 array (
103                     'accion'=>'download',
104                     'archivo'=>$arch['nombre'],
105                     )),
106             new MECON_HTML_Link ('archivos', new MECON_HTML_Image
107                 ('/MECON/images/general_eliminar.gif', 'Eliminar'), 
108                 array (
109                     'accion'=>'borrar', 
110                     'archivo'=>$arch['nombre'])            
111                 , 'OnClick="return confirm(\'Esta Seguro Bestia?\')"'))
112             );
113     }
114     $TABLA_2->addRow(array(
115                 '*Recuerde que los archivos se borran a los 7 dias
116                 de antiguedad'
117                 ), 'colspan="6" align="center" class="msg_rojo"'); 
118 }
119 else {
120     $TABLA_2->addRow(array('No se encontraron archivos'), 'colspan="6"
121             class="msg_rojo"');
122 }
123 $TABLA_2->updateColAttributes(0,'width="5%"');
124 $TABLA_2->updateColAttributes(2,'width="10%"');
125 $TABLA_2->updateColAttributes(3,'width="10%"');
126 $TABLA_2->updateColAttributes(4,'width="8%"');
127 $TABLA_2->updateColAttributes(5,'width="8%"');
128 //}}}
129
130 //Tabla de Espacio Disponible {{{
131 $TABLA_1 =& new HTML_Table ('width="100%"');
132 $TABLA_1->addRow(array(
133             '<b>Espacio Utilizado: </b>',
134             (@$ocupado) ? $ocupado.' %' : '0'.' %'
135             ));
136 $TABLA_1->updateColAttributes(0,'width="95%" align="right"');
137 $TABLA_1->updateColAttributes(1,'align="center"');
138 if (@$ocupado > 80) {
139     $TABLA_1->updateCellAttributes(0,1,'class="msg_rojo"');
140 }
141 else {
142     $TABLA_1->updateCellAttributes(0,1,'class="msg_negro"');
143 }
144 $TABLA_1->updateCellAttributes(0,0,'class="msg_negro"');
145 //}}}
146
147 //Agrego la info al marco y la muestro {{{
148 $MARCO->addBody($TABLA_1);
149 $MARCO->addBody('<BR>');
150 $MARCO->addBody($TABLA_2);
151 $MARCO->addStyleSheet('css/yatta.css');
152 $MARCO->display();
153 //}}}
154
155 ?>