-------------------------------------------------------------------------------
$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();
//}}}
?>