1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80 foldmethod=marker:
2 -------------------------------------------------------------------------------
5 -------------------------------------------------------------------------------
6 This file is part of YATTA!.
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)
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.
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 -------------------------------------------------------------------------------
25 -----------------------------------------------------------------------------*/
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';
34 //TODO Este path es el del tacho segun el usuario, etc.
35 $path = '/var/www/sistemas/yatta/test/'. $_SESSION['usuario'];
37 //TODO Definir la cuota en algun lado (Kb)
40 //TODO Agregar class para manejar los colores y fuentes
42 //Actuar segun la accion, etc {{{
43 $accion = @$_REQUEST['accion'];
44 $archivo = @$_REQUEST['archivo'];
45 if (@$accion && @$archivo) {
46 $archivo2 = $path.'/'.$archivo;
49 header("Content-Disposition: attachment; filename=".$archivo);
50 header("Pragma: no-cache");
52 header("Content-Type: application");
53 header("Content-Length: ".filesize($archivo2));
58 system ('rm '.$archivo2);
59 header ('Location:archivos');
65 //Obtengo la Lista de Archivos del Directorio en Cuestion {{{
66 if ($dh = @opendir($path)) {
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 /
77 $ocupado += $archivos[$file]['porc'];
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'
94 foreach ($archivos as $arch) {
95 $TABLA_2->addRow(array(
96 new MECON_HTML_Image ('/MECON/images/EXTENSION_'.$arch['ext'].'.gif', $arch['ext']),
100 new MECON_HTML_Link ('archivos', new
101 MECON_HTML_Image('/MECON/images/general_download.gif', 'Bajar'),
103 'accion'=>'download',
104 'archivo'=>$arch['nombre'],
106 new MECON_HTML_Link ('archivos', new MECON_HTML_Image
107 ('/MECON/images/general_eliminar.gif', 'Eliminar'),
110 'archivo'=>$arch['nombre'])
111 , 'OnClick="return confirm(\'Esta Seguro Bestia?\')"'))
114 $TABLA_2->addRow(array(
115 '*Recuerde que los archivos se borran a los 7 dias
117 ), 'colspan="6" align="center" class="msg_rojo"');
120 $TABLA_2->addRow(array('No se encontraron archivos'), 'colspan="6"
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%"');
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'.' %'
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"');
142 $TABLA_1->updateCellAttributes(0,1,'class="msg_negro"');
144 $TABLA_1->updateCellAttributes(0,0,'class="msg_negro"');
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');