<?php
/* minibrowser ver.2018-08-21
 * MIT-licensed, ed <irc.rizon.net>
 * https://ocv.me/dev/minibrowser/
 */
if (isset($_GET['dat']) && $_GET['dat']=='sauce')
    die(
highlight_file('index.php'));

?><!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>minibrowser</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=0.6">
    <style>
html,body,table,tr,td,div {
    font-family: monospace, monospace;
}
td {
    padding: .2em .6em;
}
td:first-child {
    white-space: nowrap;
}
td:first-child+td {
    text-align: right;
}
td+td+td {
    font-family: sans-serif;
}
a {
    display: block;
}
.txt {
    color: #999;
    padding-left: .8em;
    font-family: monospace, monospace;
    font-size: .8em;
}
h1 {
    font-size: 1.5em;
    padding-left: .4em;
    border-bottom: 1px solid #999;
}
</style>
</head>
<body>
    <a style="float:right" href="?dat=sauce">src</a>
    <h1>index of <?php print($_SERVER[REQUEST_URI]); ?></h1>

    <table><tr><td>time</td><td>size</td><td>name</td></tr>

<?php

date_default_timezone_set
('UTC');
function 
car($hay,$nee) { return (substr($hay,0,strlen($nee))===$nee); }
function 
cdr($hay,$nee) { return (substr($hay, -strlen($nee))===$nee); }
function 
hsc($str)
{
    return 
str_replace(
        array(
'<','>',"\n"),
        array(
'&lt;','&gt;',"<br />\n"),
        
$str);
}

$files = array();
$dh opendir('.');
if (!
$dh) die('fug');
while (
false !== ($file readdir($dh)))
{
    if (
car($file'.') || car($file'index.'))
        continue;
    
    
$files[] = array(filemtime($file), $file);
}
closedir($dh);
usort($files, function($a,$b)
{
    return 
$a[0] < $b[0];
});
foreach (
$files as $file)
{
    
$time date('Y-m-d H:i:s'$file[0]);
    
$name $file[1];
    
$size filesize($name);
    
$url rawurlencode($name);
    echo 
"<tr><td>$time</td><td>$size</td><td><a href=\"$url\">$name</a></td></tr>\n";

    
# display contents of txt files
    
if (cdr($name'.txt'))
    {
        
$body file_get_contents($name);
        
$body explode("\n"$body);
        echo 
"<tr><td></td><td></td><td class=\"txt\">";
        foreach (
$body as $line)
        {
            if (
strlen($line) > 40 || !car($line'('))
                echo 
hsc($line) . "<br />\n";
        }
        echo 
"</td></tr>\n";
    }
}

1