$servers = array (
'demka' => array(
"title" => "Gdynska Piwnica FFA",
"prefix" => "demos"
),
);
$filesPerPage = 35;
# Size in bytes
function format_size($size, $round = 0)
{
$sizes = array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
for ($i=0; $size > 1024 && isset($sizes[$i+1]); $i++)
$size /= 1024;
return round($size, $round)." ".$sizes[$i];
}
function browse($path)
{
global $servers;
global $filesPerPage;
$data = array();
$page = $_GET['page'];
$page = !isset($page) || $page < 1 ? 0 : $page - 1;
$prefix = $servers[$path]['prefix'];
$prefix_sz = strlen($prefix) + 1;
$offsets = array(
year => $prefix_sz + 1,
month => $prefix_sz + 3,
day => $prefix_sz + 5,
hour => $prefix_sz + 8,
minute => $prefix_sz + 10,
map => $prefix_sz + 13
);
if(is_dir($path))
{
$files = glob($path."/*.dem.7z");
$count = count($files);
$pages = ceil( $count / $filesPerPage );
$page = $page >= $pages ? $pages - 1 : $page;
$begin = $count - ($page + 1) * $filesPerPage;
$end = $count - $page * $filesPerPage;
for($i = $begin < 0 ? 0 : $begin; $i < $end; ++$i)
{
$file = end( explode('/', $files[$i]) );
$name_end = strrpos($file, ".dem");
$name_end = $name_end === FALSE ? strrpos($file, ".gz") : $name_end;
$tmpfilesize = @filesize($files[$i]);
if($name_end === FALSE)
continue;
$tmp = array();
$tmp[year] = substr($file, $offsets[year], 2);
$tmp[month] = substr($file, $offsets[month], 2);
$tmp[day] = substr($file, $offsets[day], 2);
$tmp[hour] = substr($file, $offsets[hour], 2);
$tmp[minute] = substr($file, $offsets[minute], 2);
$tmp[map] = substr($file, $offsets[map], $name_end - $offsets[map]);
$tmp[file] = $file;
$tmp[size] = format_size($tmpfilesize);
$tmp[path] = $files[$i];
$data[] = $tmp;
}
$files = array();
}
echo '
Data |
Godzina (start) |
Mapa |
Rozmiar |
Link |
';
if($count > 0)
{
$ll = 0;
foreach($data as $field)
{
echo '
'.$field[day].'.'.$field[month].'.'.$field[year].' |
'.$field[hour].':'.$field[minute].' |
'.$field[map].' |
'.$field[size].' |
'.$field[file].' |
';
$ll = !$ll;
}
}
else
{
echo '- BRAK DEM - |
';
}
echo '
';
if($pages > 1)
{
echo '';
}
}
?>
ARCHIWUM DEM FFA
if(is_array($servers))
{
$count = count($servers);
if($count > 1)
{
?>
}
if($count == 1)
{
end($servers);
browse( key($servers) );
}
else if($count == 0)
{
echo "- Lista serwerów jest pusty -";
}
elseif( isset( $servers[$_GET['server']] ) )
browse($_GET['server']);
}
else
{
echo "- Skrypt nie jest skonfigurowany -";
}
?>