1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
<!--#include file=header.inc-->
<%
$Response->{Clean} = 0;
use File::Basename;
my $file = $Request->QueryString('file');
if($file) {
## print contents of file here
local *FILE;
my $basefile = &File::Basename::basename($file);
$basefile =~ s/[^a-z\.\_]//sg;
unless(open(FILE, $basefile)) {
print "Can't read $basefile\n";
$Response->End();
}
local $/ = undef;
my $data = <FILE>;
close FILE;
$data =~ s|^\#\!\/[^\n]+\n||sg;
$data =~ s/^\s+//s;
$data =~ s/\s+$//s;
my $escaped = $Server->HTMLEncode($data);
$escaped =~ s/(<%=?)(.*?)(%>)/
"<b><font color=#cc0000 face=\"courier new\">$1<font color=#000099>$2<\/font>$3<\/font><\/b>";
/egsx;
$escaped =~ s/(<\!\-\-\s*\#include\s*file\s*\=)(.*?)(\-\->)/
"<b><font color=#009900 face=\"courier new\">$1<font color=#555555>$2<\/font>$3<\/font><\/b>";
/egsx;
$escaped =~ s/(<\/?)([\w-]+:[\w-]+)/$1\<font color=\#008000\><b>$2<\/b>\<\/font\>/isg;
$escaped =~ s/(<\/?)([a-z]+)/$1\<font color=#007070\><b>$2<\/b>\<\/font\>/isg;
%>
<h3>Source of file <%=$file%>:</h3>
<pre>
<%= $escaped %>
</pre>
<%
} else {
$Response->Write("No file to be displayed");
}
%>
<!--#include file=footer.inc-->
|