<?="<?"?>xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="Content-Language" content="de" />
        <meta name="language" content="de" />
        <meta name="copyright" content="Henrik Gebauer" />
        <meta name="description" content="Homepage von Henrik Gebauer" />
        <meta name="keywords" content="henrik gebauer,gebauer,henrik,homepage,harsewinkel,gruene,grüne,die grünen,grünen" />
        <meta name="robots" content="index,follow" />
        <link rel="author" title="Kontakt" href="mailto:post%40henrik-gebauer.de" />
        <link rel="copyright" title="Henrik Gebauer" href="http://www.henrik-gebauer.de" />

        <title>Index</title>
        
        <style type="text/css">
        </style>
    </head>
<body>
<?php
/**
* descr: Zeigt diese Liste an und stellt den Quellcode dar
*/

$files = array();
$subdirs = array();
liesDir('.'$files$subdirs);

function 
liesDir($dirname, &$files, &$subdirs) {
    
$dir dir($dirname);
    while (
$f $dir->read()) {
        if (!
$f or $f{0}=='.') continue;
        
$fn "$dirname/$f";
        if (
is_dir($fn)) {
            if (
$fn == './img' or $fn == './mathjax') continue;
            
$subdirs[] = $fn;
            
liesDir($fn$files$subdirs);
            continue;
        }
        if (
$f == 'DESCR') continue;
        
$files[] = $fn;
    }
}

if (isset(
$_REQUEST['f']) and in_array($_REQUEST['f'], $files)) {
    
highlight_file($_REQUEST['f']);
    exit;
}

sort($subdirs);
sort($files);

$d = (isset($_REQUEST['d']) and in_array($_REQUEST['d'], $subdirs)) ? $_REQUEST['d'] : '.';

echo 
"<table>";

if (
$d != '.') {
    
$s htmlspecialchars(dirname($d));
    echo 
"<tr><td><img src='img/file-home.png' alt='home' width='16' height='16' /></td><td><a href='$_SERVER[PHP_SELF]?d=$s'>..</a></td><td>Ebene höher</td><td></td></tr>";       
} else {
    echo 
"<tr><td><img src='img/file-home.png' alt='home' width='16' height='16' /></td><td><a href='/'>..</a></td><td>Zurück zur Webseite</td><td></td></tr>";       
}

foreach (
$subdirs as $f) {
    if (
dirname($f) != $d) continue;
    
$s htmlspecialchars($f);
    
$sn htmlspecialchars(basename($f));
    
$descr = (is_file("$f/DESCR")) ? htmlspecialchars(file_get_contents("$f/DESCR")) : '';
    echo 
"<tr><td><img src='img/file-folder.png' alt='folder' width='16' height='16' /></td><td><a href='$_SERVER[PHP_SELF]?d=$s'>$sn</a></td><td>$descr</td><td></td></tr>";       
}

foreach (
$files as $f) {
    if (
dirname($f) != $d) continue;
    
$s htmlspecialchars($f);
    
$sn htmlspecialchars(basename($f));
    
$c file_get_contents($f);
    
preg_match('/\*\s*descr: (?P<descr>[^\n]+)\n\*/s'$c$matches);
    
$descr = (!empty($matches['descr'])) ? htmlspecialchars($matches['descr']) : '';
    
preg_match('/\\.(?P<ext>[^\\.]+)$/'$f$matches);
    
$im '';
    
$source false;
    if (isset(
$matches['ext'])) switch (strtolower($matches['ext'])) {
        case 
'js'$im 'script'$source true; break;
        case 
'png': case 'jpg'$im 'image'; break;
        case 
'php': case 'php4': case 'php5': case 'htm': case 'html'$im 'html'$source true; break;
        case 
'txt': case 'css'$im 'text'; break;
    }
    
$sourceHtml $source "<a href='$_SERVER[PHP_SELF]?f=$s'>Quellcode anzeigen</a>" '';
    if (
$im$im "<img src='img/file-$im.png' alt='$im' width='16' height='16' />";
    echo 
"<tr><td>$im</td><td><a href='$s'>$sn</a></td><td>$descr</td><td>$sourceHtml</td></tr>";
}
echo 
"</table>";

?>
</body>
</html>