------------------------------------------------------------------------------- $Id$ -----------------------------------------------------------------------------*/ //Require Once {{{ require_once 'HTML/Table.php'; require_once 'MECON/HTML/Tabla.php'; require_once 'MECON/HTML/Image.php'; require_once 'MECON/HTML/Link.php'; //}}} //TODO Este path es el del tacho segun el usuario, etc. $path = '/var/www/sistemas/yatta/test/'. $_SESSION['usuario']; //TODO Definir la cuota en algun lado (Kb) $cuota = 2048; //TODO Agregar class para manejar los colores y fuentes //Actuar segun la accion, etc {{{ $accion = @$_REQUEST['accion']; $archivo = @$_REQUEST['archivo']; if (@$accion && @$archivo) { $archivo2 = $path.'/'.$archivo; switch ($accion) { case 'download': header("Content-Disposition: attachment; filename=".$archivo); header("Pragma: no-cache"); header("Expires: 0"); header("Content-Type: application"); header("Content-Length: ".filesize($archivo2)); readfile ($archivo2); exit; break; case 'borrar': system ('rm '.$archivo2); header ('Location:archivos'); break; } } //}}} //Obtengo la Lista de Archivos del Directorio en Cuestion {{{ if ($dh = @opendir($path)) { $ocupado =0; while (($file = readdir($dh)) !== false) { //FIXME Sacar el .svn cuando se pase a produccion if ($file != '.' && $file != '..' && $file != '.svn') { $archivos[$file]['ext'] = strtoupper(substr($file, strrpos($file, '.') + 1)); $archivos[$file]['nombre'] = $file; $archivos[$file]['tam'] = round((filesize($path.'/'.$file) / 1024),2); $archivos[$file]['porc'] = round((filesize($path.'/'.$file) / 1024) * 100 / $cuota, 2); $ocupado += $archivos[$file]['porc']; } } closedir($dh); } //}}} //Tabla de Archivos {{{ $TABLA_2 =& new MECON_HTML_Tabla (); $TABLA_2->addRow(array( 'Lista de Archivos Disponibles' ), 'cabecera colspan="6" align="left"'); $TABLA_2->addRow(array( 'Ext', 'Nombre', 'Tam. Kb', 'Tam. %', 'Bajar', 'Borrar' ), 'Titulo'); if (@$archivos) { asort($archivos); foreach ($archivos as $arch) { $TABLA_2->addRow(array( new MECON_HTML_Image ('/MECON/images/EXTENSION_'.$arch['ext'].'.gif', $arch['ext']), $arch['nombre'], $arch['tam'].' Kb', $arch['porc'].' %', new MECON_HTML_Link ('archivos', new MECON_HTML_Image('/MECON/images/general_download.gif', 'Bajar'), array ( 'accion'=>'download', 'archivo'=>$arch['nombre'], )), new MECON_HTML_Link ('archivos', new MECON_HTML_Image ('/MECON/images/general_eliminar.gif', 'Eliminar'), array ( 'accion'=>'borrar', 'archivo'=>$arch['nombre']) , 'OnClick="return confirm(\'Esta Seguro Bestia?\')"')) ); } $TABLA_2->addRow(array( '*Recuerde que los archivos se borran a los 7 dias de antiguedad' ), 'colspan="6" align="center" class="msg_rojo"'); } else { $TABLA_2->addRow(array('No se encontraron archivos'), 'colspan="6" class="msg_rojo"'); } $TABLA_2->updateColAttributes(0,'width="5%"'); $TABLA_2->updateColAttributes(2,'width="10%"'); $TABLA_2->updateColAttributes(3,'width="10%"'); $TABLA_2->updateColAttributes(4,'width="8%"'); $TABLA_2->updateColAttributes(5,'width="8%"'); //}}} //Tabla de Espacio Disponible {{{ $TABLA_1 =& new HTML_Table ('width="100%"'); $TABLA_1->addRow(array( 'Espacio Utilizado: ', (@$ocupado) ? $ocupado.' %' : '0'.' %' )); $TABLA_1->updateColAttributes(0,'width="95%" align="right"'); $TABLA_1->updateColAttributes(1,'align="center"'); if (@$ocupado > 80) { $TABLA_1->updateCellAttributes(0,1,'class="msg_rojo"'); } else { $TABLA_1->updateCellAttributes(0,1,'class="msg_negro"'); } $TABLA_1->updateCellAttributes(0,0,'class="msg_negro"'); //}}} //Agrego la info al marco y la muestro {{{ $MARCO->addBody($TABLA_1); $MARCO->addBody('
'); $MARCO->addBody($TABLA_2); $MARCO->addStyleSheet('css/yatta.css'); $MARCO->display(); //}}} ?>