<?
function printFileRow( $n, $p, $f ) {
global $repos, $hideforbidden;
$lnk= htmlspecialchars($n);
$isdir= is_dir($f);
$islink= is_link($f);
$isdot= ($n[0] == '.');
$isdeny= !checkAccess($p, $f);
if ( $isdeny && $hideforbidden ) return false;
if ( !$isdeny ) {
$u= rvURL($repos, $p);
$lnk= "<a href='$u'>$lnk</a>";
if (!$isdir) {
$r= rvURL($repos, $p, 'raw=1');
$lnk.= "<small class='rawlink'> <a href='$r'>^</a></small>";
}
}
if ($isdir) $sz= 'DIR';
else $sz= @filesize($f);
if ($sz===NULL || $sz===false) $sz= 'n/a';
@$date= filemtime($f);
if ($date===NULL || $date===false) $date= 'n/a';
else $date= date("Y-m-d h:i:s", $date);
$cls= '';
if ($isdir) $cls.= 'dirfile ';
if ($isdot) $cls.= 'dotfile ';
if ($isdeny) $cls.= 'denyfile ';
if ($islink) $cls.= 'linkfile ';
?>
<tr class="<?= $cls ?>">
<td class='filename'><?= $lnk ?></td>
<td class='filesize'><?= $sz ?></td>
<td class='filedate'><?= $date ?></td>
</tr>
<?
return true;
}
function printFiles( $path, $dir, $glob, $dirs = NULL) {
$ff= glob("$dir/$glob");
foreach ($ff as $f) {
$n= basename($f);
if ($n=='.' || $n=='..') continue;
$p= $path == '/' ? $n : $path.'/'.$n;
if ($dirs !== NULL) {
if (is_dir($f) != $dirs) continue;
}
printFileRow($n, $p, $f);
}
}
?>
<table summary="files" class="files">
<tr>
<th>name</th>
<th>size</th>
<th>date</th>
</tr>
<?
#TODO: sort
printFiles( $path, $file, '.*', true); #dot dirs
printFiles( $path, $file, '*', true); #dirs
printFiles( $path, $file, '.*', false); #dot files
printFiles( $path, $file, '*', false); #files
?>
</table>dirview.php
application/x-php, 1974 bytes (load raw)

