source.php
Suche:
[php]while (list($key,$val)=each($legal_dirs)){
//echo "<pre>$key</pre>";
$skey = substr($key,strlen($subdir));
//echo $skey." ".$key;
if ($key==dirname($_SERVER[SCRIPT_NAME])) $skey="";
$d = dir("./$skey");
if (substr($key,0,2)=="//") $key = substr($key,1);
if ($key=="//") $key="/";
while (false !== ($entry = $d->read())) {
if (substr($entry,strrpos($entry,"."))==".php"){
$zeit=filemtime("$skey$entry");
$zeit = gmdate("d M Y",$zeit);
if ($illegal_files["$key$entry"]!=""){
if ($illegal_files["$key$entry"]!="X"){
//we're hiding the file completely.
echo "<li>$zeit - $skey$entry — Datei kann nicht angezeigt werden: ".$illegal_files["$key$entry"]."</li>\n";
}
}else{
echo "<li>$zeit - <a href='source.php?url=$key$entry'>$skey$entry</a></li>\n";
$legal_files["$key$entry"]=true;
}
}
}
$d->close();
}
echo "</ul>";[/php]
Ersetze mit:[php]
$dircount = 0;
while (list($key,$val)=each($legal_dirs)){
$dircount++;
//echo "<pre>$key</pre>";
$skey = substr($key,strlen($subdir));
//echo $skey." ".$key;
if ($key==dirname($_SERVER[SCRIPT_NAME])) $skey="";
$d = dir("./$skey");
if (substr($key,0,2)=="//") $key = substr($key,1);
if ($key=="//") $key="/";
while (false !== ($entry = $d->read())) {
if (substr($entry,strrpos($entry,"."))==".php"){
if ($illegal_files["$key$entry"]!=""){
if ($illegal_files["$key$entry"]=="X"){
//we're hiding the file completely.
}else{
//echo "<li>$skey$entry — Datei kann nicht angezeigt werden: ".$illegal_files["$key$entry"]."</li>\n";
$all_legal_files[$dircount.$skey.$entry] = "<li>$skey$entry — Datei kann nicht angezeigt werden: ".$illegal_files["$key$entry"]."</li>\n";
}
}else{
//echo "<li><a href='source.php?url=$key$entry'>$skey$entry</a></li>\n";
$all_legal_files[$dircount.$skey.$entry] = "<li><a href='source.php?url=$key$entry'>$skey$entry</a></li>\n";
$legal_files["$key$entry"]=true;
}
}
}
$d->close();
}
$all_legal_files = array_change_key_case($all_legal_files);
ksort($all_legal_files);
foreach($all_legal_files as $sith)
{
echo $sith;
}
echo "</ul>";[/php]
Mit Devils "ksort"
